kafka-bridge-client

Python client for Strimzi Kafka Bridge


Keywords
asyncio, kafka, kafka-bridge, python
License
MIT
Install
pip install kafka-bridge-client==0.7.1

Documentation

kafka-bridge-client

Python async client for Strimzi Kafka Bridge and Confluent REST Proxy Package include consumer only.

License: MIT PRs Welcome PyPI version

Install

pip install kafka-bridge-client

Usage

By default client use Strimzi Kafka Bridge API

Consumer (async)

from kafka_bridge_client import KafkaBridgeConsumer

# Strimzi Kafka Bridge

consumer1 = KafkaBridgeConsumer(
    'topic1',
    'topic2',
    group_id='my-group,
    auto_offset_reset='earliest',
    enable_auto_commit=False,
    bootstrap_server='your-kafka-bridge-url',
    consumer_name='consumer-name',
)

# Confluent REST Proxy
consumer2 = KafkaBridgeConsumer(
    'topic1',
    'topic2',
    group_id='my-group,
    auto_offset_reset='earliest',
    enable_auto_commit=False,
    bootstrap_server='your-kafka-bridge-url',
    consumer_name='consumer-name',
    proxy='confluent'
)

async for rec in consumer1.get_records():
    print(rec['value'])
    await consumer.commit()

# or

records = await consumer1.poll_records()
print(records)
await consumer.commit()

Producer (sync)

from kafka_bridge_client import KafkaBridgeProducer

producer = KafkaBridgeProducer('http://bridge.url' timeout=5)
producer.send(Message(key='1', value='value'))

Deploy

You need to change version in pyproject.toml and run it

poetry publish --build