This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • Clients

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Starting with the 0.8 release we are maintaining all but the jvm client external to the main code base. The reason for this is that it allows a small group of implementers who know that language to quickly iterate on that client. Having these maintained centrally was becoming a bottleneck as the main committers can't hope to know every programming language that has a client. This lead to a scenario where the committers were attempting to review and test code they didn't understand. We are instead moving to the redis/memcached model which seems to work better at supporting a rich ecosystem of high quality clients.

For 0.8.x



0.8 changes the protocol fairly substantially. This version hasn't been released yet. The new protocol is documented here. A number of clients are in progress, and we will update when they are complete.




Maintained with the main code base.


Native C library with Consumer, Producer and compression support.


Maintainer: Magnus Edenhill
License: 2-clause BSD



erlkafka is a kafka client written in erlang


Maintainer: Milind Parikh
*License: BSD, LGPL



PHP library with Consumer (simple and Zookeeper-based), Producer and compression support (release notes).


Maintainer: Lorenzo Alberton
License: Apache v.2.0



Protocol support for Kafka 0.7 in Python. GZip and Snappy compression supported

Maintainer: David Arthur
License: Apache v.2.0

Maintainer: David ArthurAlso:
Maintainer:: Dan Sulley
License: Apache v.2.02.0

Maintainer: Alejandro Crosa
License:: Apache 2.0

Event machine client:

JRuby Event stream processor




Low-level protocol support in node.js.
Maintainer: Gregg Caines
License: MIT

Alternate node client from Tagged


Client Libraries Previously Supported