finds.dev← search

// the find

Parsely/pykafka

★ 1,120 · Python · Apache-2.0 · updated Jan 2021

Apache Kafka client for Python; high-level & low-level consumer/producer, with great performance.

PyKafka is a Python Kafka client from Parsely that wraps both a pure-Python implementation and an optional librdkafka C extension behind the same API. It targets teams that want a Pythonic interface to Kafka without dropping to the Java client. Last commit was January 2021, so this is effectively unmaintained.

The dual-mode design (pure Python vs rdkafka) is genuinely useful — you can develop without compiling C extensions and flip a single flag for production performance. The BalancedConsumer implements Kafka group membership properly, including the 0.9 Group Membership API, which was non-trivial to get right. The protocol layer is implemented from scratch in Python, so you can actually read and debug what's on the wire. Includes a CLI with offset and lag monitoring tools that are handy for ops work.

Dead project — no commits since early 2021, still references Python 2.7 and Kafka 0.8.2 in the README. The BalancedConsumer uses Zookeeper for coordination by default, which is the old pre-0.9 approach; if you're on a modern Kafka cluster you have to explicitly opt into the managed API. The delivery report queue for async producers is thread-local and silently grows unbounded if you don't drain it — that's a production incident waiting to happen. kafka-python and confluent-kafka are both actively maintained and better choices today; there's no reason to start a new project on this.

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 →