quixstreams
Python library for building stream processing applications with Apache Kafka
What it is and what it does
Quix Streams is a Python library for building stream processing applications that consume, transform, and produce data on Apache Kafka topics. It provides a declarative DataFrame-like API for defining data pipelines, with support for windowing, joins, branching, and group-by operations. The framework handles Kafka's consumer groups, message deserialization, state management, and exactly-once processing semantics automatically, letting you focus on transformation logic rather than infrastructure.
The library depends on confluent-kafka for Kafka protocol support, pydantic for configuration validation, orjson and jsonschema for serialization, and rocksdict for fault-tolerant state storage. It runs anywhere Python is installed and can be deployed to your own infrastructure or to Quix Cloud for managed hosting. The framework is designed for both simple producer-consumer applications and complex event-driven systems, real-time analytics, and machine learning pipelines.
Use it for:
- Build real-time alerting systems that consume sensor or application data from Kafka, filter or aggregate it, and produce alerts to downstream topics.
- Process time-series data with windowing and stateful operations to compute rolling metrics, anomaly detection, or trend analysis.
- Create event-driven microservice architectures where services consume domain events, apply business logic, and emit new events for other services.
- Enrich incoming data streams by joining them with reference data or state, then produce enriched records to output topics.
- Implement exactly-once data pipelines that transform and load data from Kafka into data warehouses or analytics systems without duplication.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Quix Streams is a Python framework for building stream processing applications on Apache Kafka, enabling real-time data transformation, stateful operations, and event-driven microservices without managing server-side clusters.
Yes. Quix Streams is a production-ready, actively maintained framework with low install friction, permissive licensing, and no known vulnerabilities. Install it if you need to build Kafka-based stream processing applications in Python without managing a separate cluster—it handles state, exactly-once semantics, and common operations out of the box. The 11 dependencies are well-established libraries (confluent-kafka, pydantic, orjson, rocksdict) that are widely used and stable.
Install
quixstreams on PyPI
pip
pip install quixstreamsuv
uv add quixstreamspoetry
poetry add quixstreamsInstalling quixstreams
Before you install
Low install friction with a pure-Python wheel and 11 runtime dependencies. Active maintenance with a release 21 days ago and ongoing commits; the project has 1567 GitHub stars and reached production stability.
License in practice
Licensed under Apache 2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions—you must include a copy of the license and note any changes you make.
Quickstart
pip install quixstreams
from quixstreams import Application
app = Application(broker_address="localhost:9092")
topic = app.topic("input-topic", value_deserializer="json")
sdf = app.dataframe(topic=topic)
sdf = sdf.apply(lambda value: {"processed": value})
app.run()
Requires Python 3.9 or later and Apache Kafka 0.10 or later accessible at the broker address.
Verify before relying
- Performance characteristics and throughput limits under typical production workloads.
- Specific recovery and failover behavior during broker outages or network partitions.
- Memory footprint and state management overhead for large stateful operations.
Package facts
| License | Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (<4,>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 11 — confluent-kafka, rocksdict, typing-extensions, orjson, pydantic, pydantic-settings, jsonschema, jsonlines, rich, jsonpath-ng, httpx |
| Maintenance | actively maintained — 21 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 86,330/month — #13,871 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: quixstreams-3.25.0-py3-none-any.whl
Keywords: streaming, processing, pipeline, event, real-time, time series, DataFrame, Kafka, Quix
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
faust-streamingFaust-streaming is a Python library for…
permissive · top 15,000 on PyPI
faststreamAn asynchronous Python framework for building…
permissive · top 5,000 on PyPI
kafkaA pure-Python client library for Apache Kafka…
permissive · top 15,000 on PyPI
apache-flinkPython API for Apache Flink that builds…
permissive · top 15,000 on PyPI
kafka-pythonPure-Python Apache Kafka client library…
permissive · top 1,000 on PyPI
matrice-streamingmatrice_streaming provides Cython-compiled…
permissive · top 15,000 on PyPI
broadcasterBroadcaster provides a simple async broadcast…
permissive · top 15,000 on PyPI
confluent-kafkaProvides a high-performance Python client for…
permissive · top 1,000 on PyPI
snowpipe-streamingStreams data in real-time into Snowflake tables…
permissive · top 15,000 on PyPI
beam-nuggetsProvides Apache Beam transforms for reading and…
permissive · top 15,000 on PyPI