Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
Zookeeper >> mail # user >> ANN: Kazoo 0.5 (Now a pure Python client)


Copy link to this message
-
ANN: Kazoo 0.5 (Now a pure Python client)
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
+
Kiall Mac Innes 2012-09-06, 21:56