![banner](./assets/banner.jpg)
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
# Listeners
This is a collection of generic streaming listeners (Spouts).
**Table of Contents**
- [Listeners](#listeners)
- [Usage](#usage)
- [Webhooks](#webhooks)
- [Kafka](#kafka)
- [Websockets](#websockets)
- [UDP](#udp)
- [QUIC](#quic)
- [REST API polling](#rest-api-polling)
- [RabbitMQ / AMQP](#rabbitmq--amqp)
- [MQTT](#mqtt)
- [Redis Pub-Sub](#redis-pub-sub)
- [Redis Streams](#redis-streams)
- [AWS SNS](#aws-sns)
- [AWS SQS](#aws-sqs)
- [socket.io](#socketio)
- [ActiveMQ](#activemq)
- [Kinesis](#kinesis)
- [Grpc](#grpc)
- [ZeroMQ](#zeromq)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
Includes:
| No. | Name | Description | Output Type | Input Type |
| --- | ------------------------------------------- | ----------------------------------------------------- | ----------- | ------------- |
| 1 | [Webhook](listeners/webhook.py) | Cherrypy server that accepts all HTTP API calls | Streaming | HTTP |
| 2 | [Kafka](listeners/kafka.py) | Kafka client that listens to a topic | Streaming | Kafka |
| 3 | [Websocket](listeners/websocket.py) | Websocket server that listens to a socket | Streaming | Websocket |
| 4 | [UDP](listeners/udp.py) | UDP server that listens to a given port | Streaming | UDP |
| 5 | [QUIC](listeners/quic.py) | Aioquic server that listens to a given port | Streaming | QUIC |
| 6 | [HTTP Polling](listeners/http_polling.py) | HTTP client that keeps polling an API | Streaming | HTTP |
| 7 | [RabbitMQ / AMQP](listeners/amqp.py) | RabbitMQ client that listens to a given queue | Streaming | AMQP |
| 8 | [MQTT](listeners/mqtt.py) | MQTT client that subscribes and listens to a topic | Streaming | MQTT |
| 9 | [Redis Pub-Sub](listeners/redis_pubsub.py) | Redis client that subscribes to a Pub/Sub channel | Streaming | Redis Pub-Sub |
| 10 | [Redis Streams](listeners/redis_streams.py) | Redis client that listens to a stream | Streaming | Redis Streams |
| 11 | [AWS SNS](listeners/sns.py) | AWS client that listens to SNS notifications | Streaming | AWS SNS |
| 12 | [AWS SQS](listeners/sqs.py) | AWS client that listens to messages from an SQS queue | Streaming | AWS SQS |
| 13 | [SocketIo](listeners/socketio.py) | SocketIo client that listens to a namespace | Streaming | SocketIo |
| 14 | [ActiveMQ](listeners/activemq.py) | ActiveMQ client that listens to a queue | Streaming | ActiveMQ |
| 15 | [Kinesis](listeners/kinesis.py) | Kinesis client that listens to a stream | Streaming | Kinesis |
| 16 | [Grpc](listeners/grpc.py) | gRPC client that listens to a server | Streaming | gRPC |
| 17 | [ZeroMQ](listeners/zeromq.py) | ZeroMQ client that listens to a topic | Streaming | ZeroMQ |
## Usage
To test, first bring up all related services via the supplied docker-compose:
```bash
docker compose up -d
docker compose logs -f
```
These management consoles will be available:
| Console | Link |
| -------------- | ----------------------- |
| Kafka UI | http://localhost:8088/ |
| RabbitMQ UI | http://localhost:15672/ |
| Localstack API | http://localhost:4566 |
Postgres can be accessed with:
```bash
docker exec -it geniusrise-postgres-1 psql -U postgres
```
### Webhooks
```bash
genius Webhook rise \
streaming \
--output_kafka_topic webhook_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args port=3001
```
Test:
```bash
curl -X POST \
-H "Content-Type: application/json" \
-d '{"lol": "teeeestss"}' \
http://localhost:3001
```
### Kafka
```bash
genius Kafka rise \
streaming \
--output_kafka_topic kafka_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args topic=kafka_test_input group_id=kafka_test bootstrap_servers=localhost:9094
```
### Websockets
```bash
genius Websocket rise \
streaming \
--output_kafka_topic websocket_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args host=localhost port=3002
```
Test:
```bash
cargo install websocat
echo '{"lol": "heheheheheheheh"}' | websocat ws://localhost:3002
```
### UDP
```bash
genius Udp rise \
streaming \
--output_kafka_topic udp_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args host=localhost port=3003
```
Test:
```bash
yay -S netcat
echo -n '{"key": "value"}' | nc -u -w1 localhost 3003
```
### QUIC
```bash
openssl genpkey -algorithm RSA -out ~/.ssh/quic_key.pem
openssl req -new -x509 -key ~/.ssh/quic_key.pem -out ~/.ssh/quic_cert.pem -days 365 -subj "/CN=localhost"
genius Quic rise \
streaming \
--output_kafka_topic udp_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args \
cert_path=/home/ixaxaar/.ssh/quic_cert.pem \
key_path=/home/ixaxaar/.ssh/quic_key.pem \
host=localhost \
port=3004
```
Test:
```
go install github.com/spacewander/quick@latest
quick -insecure https://localhost:3004
```
### REST API polling
```bash
genius RESTAPIPoll rise \
streaming \
--output_kafka_topic poll_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args \
url=https://reqres.in/api/users \
method=GET \
interval=6 \
body="" \
headers='{"content-type": "application/json"}' \
params='{"page": 2}'
```
### RabbitMQ / AMQP
```bash
genius RabbitMQ rise \
streaming \
--output_kafka_topic rabbitmq_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args queue_name=geniusrise_test host=localhost username=admin password=admin
```
Test:
```bash
Go to http://localhost:15672/#/queues/%2F/geniusrise_test
```
### MQTT
```bash
genius MQTT rise \
streaming \
--output_kafka_topic mqtt_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args host=localhost port=1883 topic=geniusrise_test
```
```bash
snap install mqtt-explorer # GUI, create a topic, send a message
```
or
```bash
docker exec -it streaming-spouts-mosquitto-1 mosquitto_pub -h 127.0.0.1 -t "geniusrise_test" -m '{"test": "mqtt message"}'
```
### Redis Pub-Sub
```bash
genius RedisPubSub rise \
streaming \
--output_kafka_topic redispubsub_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args channel=geniusrise_test host=localhost port=6380
```
Test:
```bash
redis-cli PUBLISH geniusrise_test '{"test": "redis pubsub message"}'
```
### Redis Streams
```bash
genius RedisStream rise \
streaming \
--output_kafka_topic redisstream_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args stream_key=geniusrise_test host=localhost
```
Test:
```bash
redis-cli XADD geniusrise_test * test "redis stream message"
```
### AWS SNS
```bash
genius SNS rise \
streaming \
--output_kafka_topic sns_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen
```
Test:
```bash
aws sns create-topic --name geniusrise_test
aws sns publish --topic-arn arn:aws:sns:ap-south-1:866011655254:geniusrise_test --message '{"test": "sns message"}'
```
### AWS SQS
```bash
genius SQS rise \
streaming \
--output_kafka_topic sqs_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args queue_url=https://sqs.ap-south-1.amazonaws.com/866011655254/geniusrise_test
```
Test:
```bash
aws sqs send-message --queue-url https://sqs.ap-south-1.amazonaws.com/866011655254/geniusrise_test --message-body '{"test": "sqs message"}'
```
### socket.io
```bash
genius SocketIo rise \
streaming \
--output_kafka_topic socketio_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args url=http://localhost:3000 namespace=/chat
```
Test:
```bash
# Use a SocketIo client to emit a message to the specified namespace.
```
### ActiveMQ
```bash
genius ActiveMQ rise \
streaming \
--output_kafka_topic activemq_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args host=localhost port=61613 destination=my_queue
```
Test:
```bash
# Use an ActiveMQ client to send a message to the specified destination.
```
### Kinesis
```bash
genius Kinesis rise \
streaming \
--output_kafka_topic kinesis_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args stream_name=my_stream shard_id=shardId-000000000000
```
Test:
```bash
# Use the AWS CLI or SDK to put a record into the specified Kinesis stream.
```
### Grpc
```bash
genius Grpc rise \
streaming \
--output_kafka_topic grpc_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args server_address=localhost:50051 request_data=my_request syntax=proto3
```
Test:
```bash
# Use a gRPC client to send a message to the specified server address.
```
### ZeroMQ
```bash
genius ZeroMQ rise \
streaming \
--output_kafka_topic zmq_test \
--output_kafka_cluster_connection_string localhost:9094 \
postgres \
--postgres_host 127.0.0.1 \
--postgres_port 5432 \
--postgres_user postgres \
--postgres_password postgres \
--postgres_database geniusrise \
--postgres_table state \
listen \
--args endpoint=tcp://localhost:5555 topic=my_topic syntax=json
```
Test:
```bash
# Use a ZeroMQ client to send a message to the specified endpoint and topic.
```
Raw data
{
"_id": null,
"home_page": "https://github.com/geniusrise/geniusrise-listeners",
"name": "geniusrise-listeners",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "",
"keywords": "mlops,llm,geniusrise,machine learning,data processing",
"author": "ixaxaar",
"author_email": "ixaxaar@geniusrise.ai",
"download_url": "https://files.pythonhosted.org/packages/48/a5/adcaf49cea16ca2ce9d9b7e47b031f86163720bf92e01dcb035861e22f9e/geniusrise-listeners-0.1.7.tar.gz",
"platform": null,
"description": "![banner](./assets/banner.jpg)\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n# Listeners\n\nThis is a collection of generic streaming listeners (Spouts).\n\n**Table of Contents**\n\n- [Listeners](#listeners)\n - [Usage](#usage)\n - [Webhooks](#webhooks)\n - [Kafka](#kafka)\n - [Websockets](#websockets)\n - [UDP](#udp)\n - [QUIC](#quic)\n - [REST API polling](#rest-api-polling)\n - [RabbitMQ / AMQP](#rabbitmq--amqp)\n - [MQTT](#mqtt)\n - [Redis Pub-Sub](#redis-pub-sub)\n - [Redis Streams](#redis-streams)\n - [AWS SNS](#aws-sns)\n - [AWS SQS](#aws-sqs)\n - [socket.io](#socketio)\n - [ActiveMQ](#activemq)\n - [Kinesis](#kinesis)\n - [Grpc](#grpc)\n - [ZeroMQ](#zeromq)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\nIncludes:\n\n| No. | Name | Description | Output Type | Input Type |\n| --- | ------------------------------------------- | ----------------------------------------------------- | ----------- | ------------- |\n| 1 | [Webhook](listeners/webhook.py) | Cherrypy server that accepts all HTTP API calls | Streaming | HTTP |\n| 2 | [Kafka](listeners/kafka.py) | Kafka client that listens to a topic | Streaming | Kafka |\n| 3 | [Websocket](listeners/websocket.py) | Websocket server that listens to a socket | Streaming | Websocket |\n| 4 | [UDP](listeners/udp.py) | UDP server that listens to a given port | Streaming | UDP |\n| 5 | [QUIC](listeners/quic.py) | Aioquic server that listens to a given port | Streaming | QUIC |\n| 6 | [HTTP Polling](listeners/http_polling.py) | HTTP client that keeps polling an API | Streaming | HTTP |\n| 7 | [RabbitMQ / AMQP](listeners/amqp.py) | RabbitMQ client that listens to a given queue | Streaming | AMQP |\n| 8 | [MQTT](listeners/mqtt.py) | MQTT client that subscribes and listens to a topic | Streaming | MQTT |\n| 9 | [Redis Pub-Sub](listeners/redis_pubsub.py) | Redis client that subscribes to a Pub/Sub channel | Streaming | Redis Pub-Sub |\n| 10 | [Redis Streams](listeners/redis_streams.py) | Redis client that listens to a stream | Streaming | Redis Streams |\n| 11 | [AWS SNS](listeners/sns.py) | AWS client that listens to SNS notifications | Streaming | AWS SNS |\n| 12 | [AWS SQS](listeners/sqs.py) | AWS client that listens to messages from an SQS queue | Streaming | AWS SQS |\n| 13 | [SocketIo](listeners/socketio.py) | SocketIo client that listens to a namespace | Streaming | SocketIo |\n| 14 | [ActiveMQ](listeners/activemq.py) | ActiveMQ client that listens to a queue | Streaming | ActiveMQ |\n| 15 | [Kinesis](listeners/kinesis.py) | Kinesis client that listens to a stream | Streaming | Kinesis |\n| 16 | [Grpc](listeners/grpc.py) | gRPC client that listens to a server | Streaming | gRPC |\n| 17 | [ZeroMQ](listeners/zeromq.py) | ZeroMQ client that listens to a topic | Streaming | ZeroMQ |\n\n## Usage\n\nTo test, first bring up all related services via the supplied docker-compose:\n\n```bash\ndocker compose up -d\ndocker compose logs -f\n```\n\nThese management consoles will be available:\n\n| Console | Link |\n| -------------- | ----------------------- |\n| Kafka UI | http://localhost:8088/ |\n| RabbitMQ UI | http://localhost:15672/ |\n| Localstack API | http://localhost:4566 |\n\nPostgres can be accessed with:\n\n```bash\ndocker exec -it geniusrise-postgres-1 psql -U postgres\n```\n\n### Webhooks\n\n```bash\ngenius Webhook rise \\\n streaming \\\n --output_kafka_topic webhook_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args port=3001\n```\n\nTest:\n\n```bash\ncurl -X POST \\\n -H \"Content-Type: application/json\" \\\n -d '{\"lol\": \"teeeestss\"}' \\\n http://localhost:3001\n```\n\n### Kafka\n\n```bash\ngenius Kafka rise \\\n streaming \\\n --output_kafka_topic kafka_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args topic=kafka_test_input group_id=kafka_test bootstrap_servers=localhost:9094\n```\n\n### Websockets\n\n```bash\ngenius Websocket rise \\\n streaming \\\n --output_kafka_topic websocket_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args host=localhost port=3002\n```\n\nTest:\n\n```bash\ncargo install websocat\necho '{\"lol\": \"heheheheheheheh\"}' | websocat ws://localhost:3002\n```\n\n### UDP\n\n```bash\ngenius Udp rise \\\n streaming \\\n --output_kafka_topic udp_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args host=localhost port=3003\n```\n\nTest:\n\n```bash\nyay -S netcat\necho -n '{\"key\": \"value\"}' | nc -u -w1 localhost 3003\n```\n\n### QUIC\n\n```bash\nopenssl genpkey -algorithm RSA -out ~/.ssh/quic_key.pem\nopenssl req -new -x509 -key ~/.ssh/quic_key.pem -out ~/.ssh/quic_cert.pem -days 365 -subj \"/CN=localhost\"\n\ngenius Quic rise \\\n streaming \\\n --output_kafka_topic udp_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args \\\n cert_path=/home/ixaxaar/.ssh/quic_cert.pem \\\n key_path=/home/ixaxaar/.ssh/quic_key.pem \\\n host=localhost \\\n port=3004\n```\n\nTest:\n\n```\ngo install github.com/spacewander/quick@latest\n\nquick -insecure https://localhost:3004\n```\n\n### REST API polling\n\n```bash\ngenius RESTAPIPoll rise \\\n streaming \\\n --output_kafka_topic poll_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args \\\n url=https://reqres.in/api/users \\\n method=GET \\\n interval=6 \\\n body=\"\" \\\n headers='{\"content-type\": \"application/json\"}' \\\n params='{\"page\": 2}'\n```\n\n### RabbitMQ / AMQP\n\n```bash\ngenius RabbitMQ rise \\\n streaming \\\n --output_kafka_topic rabbitmq_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args queue_name=geniusrise_test host=localhost username=admin password=admin\n```\n\nTest:\n\n```bash\nGo to http://localhost:15672/#/queues/%2F/geniusrise_test\n```\n\n### MQTT\n\n```bash\ngenius MQTT rise \\\n streaming \\\n --output_kafka_topic mqtt_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args host=localhost port=1883 topic=geniusrise_test\n```\n\n```bash\nsnap install mqtt-explorer # GUI, create a topic, send a message\n```\n\nor\n\n```bash\ndocker exec -it streaming-spouts-mosquitto-1 mosquitto_pub -h 127.0.0.1 -t \"geniusrise_test\" -m '{\"test\": \"mqtt message\"}'\n```\n\n### Redis Pub-Sub\n\n```bash\ngenius RedisPubSub rise \\\n streaming \\\n --output_kafka_topic redispubsub_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args channel=geniusrise_test host=localhost port=6380\n```\n\nTest:\n\n```bash\nredis-cli PUBLISH geniusrise_test '{\"test\": \"redis pubsub message\"}'\n```\n\n### Redis Streams\n\n```bash\ngenius RedisStream rise \\\n streaming \\\n --output_kafka_topic redisstream_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args stream_key=geniusrise_test host=localhost\n```\n\nTest:\n\n```bash\nredis-cli XADD geniusrise_test * test \"redis stream message\"\n```\n\n### AWS SNS\n\n```bash\ngenius SNS rise \\\n streaming \\\n --output_kafka_topic sns_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen\n```\n\nTest:\n\n```bash\naws sns create-topic --name geniusrise_test\naws sns publish --topic-arn arn:aws:sns:ap-south-1:866011655254:geniusrise_test --message '{\"test\": \"sns message\"}'\n```\n\n### AWS SQS\n\n```bash\ngenius SQS rise \\\n streaming \\\n --output_kafka_topic sqs_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args queue_url=https://sqs.ap-south-1.amazonaws.com/866011655254/geniusrise_test\n```\n\nTest:\n\n```bash\naws sqs send-message --queue-url https://sqs.ap-south-1.amazonaws.com/866011655254/geniusrise_test --message-body '{\"test\": \"sqs message\"}'\n```\n\n### socket.io\n\n```bash\ngenius SocketIo rise \\\n streaming \\\n --output_kafka_topic socketio_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args url=http://localhost:3000 namespace=/chat\n```\n\nTest:\n\n```bash\n# Use a SocketIo client to emit a message to the specified namespace.\n```\n\n### ActiveMQ\n\n```bash\ngenius ActiveMQ rise \\\n streaming \\\n --output_kafka_topic activemq_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args host=localhost port=61613 destination=my_queue\n```\n\nTest:\n\n```bash\n# Use an ActiveMQ client to send a message to the specified destination.\n```\n\n### Kinesis\n\n```bash\ngenius Kinesis rise \\\n streaming \\\n --output_kafka_topic kinesis_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args stream_name=my_stream shard_id=shardId-000000000000\n```\n\nTest:\n\n```bash\n# Use the AWS CLI or SDK to put a record into the specified Kinesis stream.\n```\n\n### Grpc\n\n```bash\ngenius Grpc rise \\\n streaming \\\n --output_kafka_topic grpc_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args server_address=localhost:50051 request_data=my_request syntax=proto3\n```\n\nTest:\n\n```bash\n# Use a gRPC client to send a message to the specified server address.\n```\n\n### ZeroMQ\n\n```bash\ngenius ZeroMQ rise \\\n streaming \\\n --output_kafka_topic zmq_test \\\n --output_kafka_cluster_connection_string localhost:9094 \\\n postgres \\\n --postgres_host 127.0.0.1 \\\n --postgres_port 5432 \\\n --postgres_user postgres \\\n --postgres_password postgres \\\n --postgres_database geniusrise \\\n --postgres_table state \\\n listen \\\n --args endpoint=tcp://localhost:5555 topic=my_topic syntax=json\n```\n\nTest:\n\n```bash\n# Use a ZeroMQ client to send a message to the specified endpoint and topic.\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "listeners bolts for geniusrise",
"version": "0.1.7",
"project_urls": {
"Bug Reports": "https://github.com/geniusrise/geniusrise-listeners/issues",
"Documentation": "https://docs.geniusrise.ai/",
"Homepage": "https://github.com/geniusrise/geniusrise-listeners",
"Source": "https://github.com/geniusrise/geniusrise-listeners"
},
"split_keywords": [
"mlops",
"llm",
"geniusrise",
"machine learning",
"data processing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cb90751217bbea57fdb9596022fbb690c865b0c273ae20b7a3b9cf5f31411458",
"md5": "a89d3731aeab5292a911bfbb8d2f35dc",
"sha256": "208a9cbf1843163e31914e5d49e58ed6139f798003e5c303f54356c4fdbd0dfa"
},
"downloads": -1,
"filename": "geniusrise_listeners-0.1.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a89d3731aeab5292a911bfbb8d2f35dc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 36828,
"upload_time": "2023-09-23T10:24:35",
"upload_time_iso_8601": "2023-09-23T10:24:35.690029Z",
"url": "https://files.pythonhosted.org/packages/cb/90/751217bbea57fdb9596022fbb690c865b0c273ae20b7a3b9cf5f31411458/geniusrise_listeners-0.1.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "48a5adcaf49cea16ca2ce9d9b7e47b031f86163720bf92e01dcb035861e22f9e",
"md5": "56bb0ce96c712ae7275d661b2e0be12a",
"sha256": "33ace1c86cc4b13e79fec944cff244d25b78a8cd3d8e7da821fda6adb6b6613b"
},
"downloads": -1,
"filename": "geniusrise-listeners-0.1.7.tar.gz",
"has_sig": false,
"md5_digest": "56bb0ce96c712ae7275d661b2e0be12a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 19646,
"upload_time": "2023-09-23T10:24:38",
"upload_time_iso_8601": "2023-09-23T10:24:38.043601Z",
"url": "https://files.pythonhosted.org/packages/48/a5/adcaf49cea16ca2ce9d9b7e47b031f86163720bf92e01dcb035861e22f9e/geniusrise-listeners-0.1.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-23 10:24:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "geniusrise",
"github_project": "geniusrise-listeners",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "geniusrise-listeners"
}