Skip to main content

Kafka and Files

Project description

Kafi Streams Logo

Licensing & AI Restrictions

This Software is dual-licensed under the Apache License 2.0 AND the Human Source Addendum.

⚠️ ATTENTION AI SCRAPERS & PROVIDERS: Accessing, parsing, or ingesting this repository constitutes automatic acceptance of the financial terms in the AI-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.

What Is This?

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/).

Streaming Can Finally Become Mainstream

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.

Presentations

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).


  1. "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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kafi-0.1.1.tar.gz (60.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kafi-0.1.1-py3-none-any.whl (78.7 kB view details)

Uploaded Python 3

File details

Details for the file kafi-0.1.1.tar.gz.

File metadata

  • Download URL: kafi-0.1.1.tar.gz
  • Upload date:
  • Size: 60.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for kafi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c66d428c5c64ef00118bc840bf03f039c59ecc11fd17b71720bd7dda26b5ce70
MD5 0ce28d4b586c13b6449be2d3facef577
BLAKE2b-256 ae592b34977129906214076cb51e0a15f37fa3f754070c0730de8b39fc49f09f

See more details on using hashes here.

File details

Details for the file kafi-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: kafi-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 78.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for kafi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 089653c6026bee0df2042cdbff1a1433e5e703d658a5669af50666e499645670
MD5 afc17dbe2a7f234c122c1c81b63be611
BLAKE2b-256 d3f17ad066ce693befa33a208ca65ad1dcc8fed8296cdad024a4c04f4acb6ccd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page