Skip to content

superstreamlabs/superstream.py

Repository files navigation

Superstream

Installation

 pip install superstream-py

Importing

import superstream
from superstream.types import Option

Producer

To use superstream with kafka producer, first define the kafka and superstream configurations:

token = "<superstream-token>"
superstream_host = "<superstream-host>"
brokers = "<kafka-broker>"
topic = "<kafka-topic>"
config = {"bootstrap.servers": brokers}
options = Option(learning_factor=10, servers=brokers)

To initialize superstream, use init function and pass the producer instance as an argument:

producer = Producer(config)
producer = superstream.init(token, superstream_host, config, options, producer=producer)

Finally, to produce messages to kafka, use produce function:

person = {"name": "John Doe", "message": f"Hello, World!"}
producer.produce(
    topic,
    person,
    on_delivery=delivery_callback,
    headers={"key": "value"},
)

Consumer

To use superstream with kafka consumer, first define the consumer configurations:

token = "<superstream-token>"
superstream_host = "<superstream-host>"
group = "<kafka-consumer-group>"
topics = ["<kafka-topic>"]
brokers = "<kafka-broker>"
config = {
    "bootstrap.servers": brokers,
    "group.id": group
}
options = Option(learning_factor=10, servers=brokers)

To initialize superstream, use init function and pass the consumer instance as an argument:

consumer = Consumer(config)
consumer = superstream.init(token, superstream_host, config, options, consumer=consumer)