Kazoo is a Python library designed to make working with :term:`Zookeeper` a more hassle-free experience that is less prone to errors.
- A wide range of recipe implementations, like Lock, Election or Queue
- Data and Children Watchers
- Simplified Zookeeper connection state tracking
- Unified asynchronous API for use with greenlets or threads
- Support for gevent >= 1.2
- Support for eventlet
- Support for Zookeeper 3.3, 3.4, and 3.5 servers
- Integrated testing helpers for Zookeeper clusters
- Pure-Python based implementation of the wire protocol, avoiding all the memory leaks, lacking features, and debugging madness of the C library
Kazoo is heavily inspired by Netflix Curator simplifications and helpers.
You should be familiar with Zookeeper and have read the Zookeeper Programmers Guide before using kazoo.
.. toctree:: :maxdepth: 1 install basic_usage async_usage implementation testing api Changelog <changelog> Contributing <contributing>
Using :term:`Zookeeper` in a safe manner can be difficult due to the variety of edge-cases in :term:`Zookeeper` and other bugs that have been present in the Python C binding. Due to how the C library utilizes a separate C thread for :term:`Zookeeper` communication some libraries like gevent (or eventlet) also don't work properly by default.
All source code is available on github under kazoo.
Bugs should be reported on the kazoo github issue tracker.
The developers of
kazoo can frequently be found on the Freenode IRC
network in the #zookeeper channel.
For general discussions and support questions, please use the python-zk mailing list hosted on Google Groups.
Indices and tables
.. toctree:: :hidden: glossary
kazoo is offered under the Apache License 2.0.
kazoo started under the Nimbus Project and through collaboration with
the open-source community has been merged with code from Mozilla and the
Zope Corporation. It has since gathered an active community of over two
dozen contributors from a variety of companies (twitter, mozilla, yahoo! and