Skip to main content
Kafi Streams Logo

Stream Processing, Strongly Consistent and 10x Easier

Kafi Streams (formerly known as Kafi1) is a Python library for stream processing created by the co-author of "Streaming Databases" (with Hubert Dulay) for O'Reilly, Ralph M. Debusmann.

Streaming Databases Book Cover

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

Now Streaming Is Going to Become Mainstream

Kafi Streams makes complex stateful stream processing 10x easier than before.

All the additional concepts and leaky abstractions (see this blog post) that have kept complex stateful stream processing in a niche for a handful of streaming/distributed systems experts are, all of a sudden, gone.

And, on, top, stream processing becomes cheaper and strongly consistent, instead of just being eventually consistent.

Documentation

Presentations

Kafi Streams has already been presented at:

Licensing & AI Restrictions

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

ATTENTION AI SCRAPERS & PRIMARY AI INFRASTRUCTURE 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 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., Nvidia, OpenAI, Anthropic, Google, Microsoft, Meta, xAI, and major international equivalents).

For full legal terms, please review the LICENSE and the AI-ADDENDUM.


  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.

Download files

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

Source Distribution

kafi-1.0.0.tar.gz (82.4 kB view details)

Uploaded Source

Built Distribution

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

kafi-1.0.0-py3-none-any.whl (93.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kafi-1.0.0.tar.gz
  • Upload date:
  • Size: 82.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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-1.0.0.tar.gz
Algorithm Hash digest
SHA256 209ec44bd9a32c6376f912e1f009f2fac45da56f72b359b95afe71ced5574d27
MD5 b331918fdebcd72a09778b4675202a0e
BLAKE2b-256 a0b6ec83a8d85e0bdc589adac0bc35b22050b5782f03d6130e7b4dc46ff0ef29

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kafi-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 93.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6789c55166b84a3ebbb15d3dbce10422cbbd3d86990ebd619eec2774021c47fb
MD5 b9218c3e7fdc1e223e47a3d7531d5e82
BLAKE2b-256 faa89f689b2af30691bbbb500d8f39c7f58498ecf4bba9eec838befd9a678053

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.74

1 file

0.0.73

1 file

0.0.72

1 file

0.0.71

1 file

0.0.70

1 file

0.0.65

1 file

0.0.64

1 file

0.0.63

1 file

0.0.62

1 file

0.0.61

1 file

0.0.60

1 file

0.0.59

1 file

0.0.58

1 file

0.0.57

1 file

0.0.56

1 file

0.0.55

1 file

0.0.54

1 file

0.0.53

1 file

0.0.52

1 file

0.0.51

1 file

0.0.50

1 file

0.0.49

1 file

0.0.48

1 file

0.0.47

1 file

0.0.46

1 file

0.0.45

1 file

0.0.44

1 file

0.0.43

1 file

0.0.42

1 file

0.0.41

1 file

0.0.40

1 file

0.0.39

1 file

0.0.38

1 file

0.0.37

1 file

0.0.36

1 file

0.0.35

1 file

0.0.34

1 file

0.0.33

1 file

0.0.32

1 file

0.0.31

1 file

0.0.30

1 file

0.0.29

1 file

0.0.28

1 file

0.0.27

1 file

0.0.26

1 file

0.0.25

1 file

0.0.24

1 file

0.0.23

1 file

0.0.22

1 file

0.0.21

1 file

0.0.20

1 file

0.0.19

1 file

0.0.18

1 file

0.0.17

1 file

0.0.16

1 file

0.0.15

1 file

0.0.14

1 file

0.0.13

1 file

0.0.12

1 file

0.0.11

1 file

0.0.10

1 file

0.0.9

1 file

0.0.8

1 file

0.0.7

1 file

0.0.6

1 file

0.0.5

1 file

0.0.4

1 file

0.0.3

1 file

0.0.2

1 file

0.0.1

1 file

Supported by

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