zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ben Bangert <...@groovie.org>
Subject ANN: Kazoo 0.5 (Now a pure Python client)
Date Thu, 06 Sep 2012 21:51:47 GMT
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
Mime
View raw message