This repository and the associated PyPI package (kafkoroutine) are no longer supported. No future updates will be released.
Feel free to fork or take over maintenance if needed.
This repository offers Python-based asynchronous wrappers around kafka-python
's Producer and Consumer, bridging them
seamlessly with Python's asyncio
.
- Python 3.7 or later
- A running Kafka instance (for actual message passing)
Follow these instructions to integrate the asynchronous Kafka components in your asyncio-based Python project.
Install kafkoroutine
using pip:
pip install kafkoroutine
Please note: this project requires Python 3.7 or later and is built upon the kafka-python
library.
from kafkoroutine.consumer import AsyncKafkaConsumer
async with AsyncKafkaConsumer(topics=topics, bootstrap_servers='localhost:9092', executor=None) as consumer:
async for message in consumer:
print(f"Received: {message.value.decode('utf-8')}")
from kafkoroutine.producer import AsyncKafkaProducer
async with AsyncKafkaProducer(bootstrap_servers='localhost:9092', executor=None) as producer:
for msg in messages:
await producer.send(topic, msg)
- Poetry - Packaging and dependency management
- asyncio - Asynchronous I/O, event loop, and coroutines used for the implementation.
- kafka-python - The Python client for Apache Kafka upon which these asynchronous wrappers are built.
This project follows the guidelines of the MIT License.