finds.dev← search

// the find

quixio/quix-streams

★ 1,555 · Python · Apache-2.0 · updated Jun 2026

Python Streaming DataFrames for Kafka

Quix Streams is a Python stream processing library that wraps confluent-kafka-python in a pandas-like DataFrame API. It targets data engineers who want Kafka-based pipelines without writing Java or wrestling with Flink/Spark. Pure Python, ships with RocksDB for stateful ops and a growing connector ecosystem.

Exactly-once semantics via Kafka transactions is properly implemented, not just advertised — the checkpointing and state recovery code shows real thought went into failure modes. RocksDB as the default state backend is the right call for local stateful windowing; not rolling their own store. The Sources/Sinks abstraction is clean and the connector list (S3, BigQuery, InfluxDB3, Iceberg, PostgreSQL, Redis, MQTT, Kinesis) is genuinely broad for a 1500-star project. Serialization support — JSON, Avro, Protobuf, Schema Registry — is first-class, not bolted on.

The library is vendor-backed by Quix Cloud and the docs consistently nudge you toward their managed platform — fine to know upfront, but the self-hosted story (especially for ops and monitoring) is thin. Stateful joins between two Kafka topics work but the implementation is asof/interval only; no full streaming joins across arbitrary keys. Sources run in a separate subprocess via multiprocessing, which simplifies isolation but makes debugging and profiling harder than it should be. No native dead-letter queue handling — if a message fails deserialization or processing, your error callback options are log-and-skip or crash, which is not enough for production data pipelines.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →