Python Stream processing backed by Apache Kafka.
Project description
kaflow
is a simple framework that allows you to build Kafka streams processing aplications in Python with ease.
Some of the features offered by kaflow
:
- Dependency Injection system inspired by FastAPI and xpresso, and backed by di.
- Automatic deserialization of incoming messages and serialization of outgoing messages. Supports popular formats like
JSON
,Avro
orProtobuf
. - Message validation thanks to pydantic.
Requirements
Python 3.8+
Installation
pip install kaflow
Example
from kaflow import Json, Kaflow
from pydantic import BaseModel
class UserClick(BaseModel):
user_id: int
url: str
timestamp: int
app = Kaflow(name="AwesomeKakfaApp", brokers="localhost:9092")
@app.consume(topic="user_clicks", sink_topics=("user_clicks_json",))
async def consume_user_clicks(message: Json[UserClick]) -> Json[UserClick]:
print("user click", message)
return message
app.run()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kaflow-0.1.3.tar.gz
(19.8 kB
view hashes)
Built Distribution
kaflow-0.1.3-py3-none-any.whl
(20.8 kB
view hashes)