This Software is dual-licensed under the Apache License 2.0 AND the Human Source Addendum.
- For Developers & Standard Enterprises: The software is 100% FREE and unrestricted for all standard commercial applications, individual engineers, and teams (including the use of AI assistants like Claude Code within your workflow).
- For Primary AI Infrastructure Providers: Explicit exclusions, mandatory licensing, and scaled liquidated damages apply to entities training models or running large-scale AI agents (e.g., OpenAI, Anthropic, xAI).
For full legal terms, please review LICENSE and the AI-ADDENDUM.
Kafi Streams1 (formerly known as Kafi) is a Python library for Kafka stream processing.
Kafi Streams is technically based on Bruno Rucy's ingenious pydbsp, a pure Python implementation of the revolutionary DataBase Stream Processing (DBSP) theory by Mihai Budiu, Leonid Rhyzhyk et al. of Feldera (https://www.feldera.com/).
With Kafi Streams, stream processing, all of a sudden, becomes easy as cake.
All - and I really mean all - the additional concepts and leaky abstractions (see this blog post) that have kept complex stateful stream processing in a niche for streaming/distributed systems experts are, all of a sudden, gone.
And, on, top, stream processing becomes cheaper and strongly consistent, not just eventually consistent.
Kafi Streams actually consists of two parts:
- Kafi - a shell-like Kafka interface for writing producers, consumers, or doing administrative tasks like backups.
- Streams - easy-as-cake complex stateful stream processing based on pydbsp in the spirit of Kafka Streams.
Kafi Streams has been presented at Current 2023 San Jose, Current 2024 Austin (you can find the Jupyter notebook here) and Berlin Buzzwords 2026 (Juypter notebook here).
Footnotes
-
"Kafi" stands for "(Ka)fka and (fi)les". And, "Kafi" is the Swiss word for a coffee or a coffee place. Kafi Streams is the successor of kash.py which is the successor of streampunk. ↩
