Kazoo 0.5 has been released today, which features a refactor into a pure Python client with no C lib dependency (based on jute and the pookeeper code written by Alan D. Cabrera). It stays faithful to the state transitions of the C lib, without many of the gymnastics needed to handle zhandle's and such properly.
We're aiming to implement Zookeeper 3.4 features such as Transactions/Multi and Read-Only mode in the next release. It can be installed off Pypi. Complete and thorough docs available at http://kazoo.readthedocs.org Changelog: 0.5 (9/6/2012) -------------- Skipping a version to reflect the magnitude of the change. Kazoo is now a pure Python client with no C bindings. This release should run without a problem on alternate Python implementations such as PyPy and Jython. Porting to Python 3 in the future should also be much easier. Documentation ************* - Docs have been restructured to handle the new classes and locations of the methods from the pure Python refactor. Bug Handling ************ This change may introduce new bugs, however there is no longer the possibility of a complete Python segfault due to errors in the C library and/or the C binding. - Possible segfaults from the C lib are gone. - Password mangling due to the C lib is gone. - The party recipes didn't set their participating flag to False after leaving. Features ******** - New `client.command` and `client.server_version` API, exposing Zookeeper's four letter commands and giving access to structured version information. - Added 'include_data' option for get_children to include the node's Stat object. - Substantial increase in logging data with debug mode. All correspondence with the Zookeeper server can now be seen to help in debugging. API Changes *********** - The testing helpers have been moved from `testing.__init__` into a `testing.harness` module. The official API's of `KazooTestCase` and `KazooTestHarness` can still be directly imported from `testing`. - The kazoo.handlers.util module was removed. - Backwards compatible exception class aliases are provided for now in kazoo exceptions for the prior C exception names. - Unicode strings now work fine for node names and are properly converted to and from unicode objects. - The data value argument for the create and create_async methods of the client was made optional and defaults to an empty byte string. The data value must be a byte string. Unicode values are no longer allowed and will raise a TypeError. Cheers, Ben
