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.