geniusrise-listeners


Namegeniusrise-listeners JSON
Version 0.1.7 PyPI version JSON
download
home_pagehttps://github.com/geniusrise/geniusrise-listeners
Summarylisteners bolts for geniusrise
upload_time2023-09-23 10:24:38
maintainer
docs_urlNone
authorixaxaar
requires_python>=3.10
license
keywords mlops llm geniusrise machine learning data processing
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![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"
}
        
Elapsed time: 0.46341s