index.rst 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. =====
  2. kazoo
  3. =====
  4. Kazoo is a Python library designed to make working with :term:`Zookeeper` a
  5. more hassle-free experience that is less prone to errors.
  6. Kazoo features:
  7. * A wide range of recipe implementations, like Lock, Election or Queue
  8. * Data and Children Watchers
  9. * Simplified Zookeeper connection state tracking
  10. * Unified asynchronous API for use with greenlets or threads
  11. * Support for `gevent`_ >= 1.2
  12. * Support for `eventlet`_
  13. * Support for Zookeeper 3.3, 3.4, and 3.5 servers
  14. * Integrated testing helpers for Zookeeper clusters
  15. * Pure-Python based implementation of the wire protocol, avoiding all the
  16. memory leaks, lacking features, and debugging madness of the C library
  17. Kazoo is heavily inspired by `Netflix Curator`_ simplifications and helpers.
  18. .. note::
  19. You should be familiar with Zookeeper and have read the `Zookeeper
  20. Programmers Guide`_ before using `kazoo`.
  21. Reference Docs
  22. ==============
  23. .. toctree::
  24. :maxdepth: 1
  25. install
  26. basic_usage
  27. async_usage
  28. implementation
  29. testing
  30. api
  31. Changelog <changelog>
  32. Contributing <contributing>
  33. Why
  34. ===
  35. Using :term:`Zookeeper` in a safe manner can be difficult due to the variety of
  36. edge-cases in :term:`Zookeeper` and other bugs that have been present in the
  37. Python C binding. Due to how the C library utilizes a separate C thread for
  38. :term:`Zookeeper` communication some libraries like `gevent`_ (or `eventlet`_)
  39. also don't work properly by default.
  40. By utilizing a pure Python implementation, Kazoo handles all of these
  41. cases and provides a new asynchronous API which is consistent when
  42. using threads or `gevent`_ (or `eventlet`_) greenlets.
  43. Source Code
  44. ===========
  45. All source code is available on `github under kazoo <https://github.com/python-
  46. zk/kazoo>`_.
  47. Bugs/Support
  48. ============
  49. Bugs should be reported on the `kazoo github issue tracker
  50. <https://github.com/python-zk/kazoo/issues>`_.
  51. The developers of ``kazoo`` can frequently be found on the Freenode IRC
  52. network in the `\#zookeeper`_ channel.
  53. For general discussions and support questions, please use the
  54. `python-zk <https://groups.google.com/forum/#!forum/python-zk>`_ mailing list
  55. hosted on Google Groups.
  56. Indices and tables
  57. ==================
  58. * :ref:`genindex`
  59. * :ref:`modindex`
  60. * :ref:`glossary`
  61. .. toctree::
  62. :hidden:
  63. glossary
  64. License
  65. =======
  66. ``kazoo`` is offered under the Apache License 2.0.
  67. Authors
  68. =======
  69. ``kazoo`` started under the `Nimbus Project`_ and through collaboration with
  70. the open-source community has been merged with code from `Mozilla`_ and the
  71. `Zope Corporation`_. It has since gathered an active community of over two
  72. dozen contributors from a variety of companies (twitter, mozilla, yahoo! and
  73. others).
  74. .. _Apache Zookeeper: http://zookeeper.apache.org/
  75. .. _Zookeeper Programmers Guide: https://zookeeper.apache.org/doc/current/zookeeperProgrammers.html
  76. .. _Zookeeper Recipes: http://zookeeper.apache.org/doc/current/recipes.html#sc_recoverableSharedLocks
  77. .. _Nimbus Project: http://www.nimbusproject.org/
  78. .. _Zope Corporation: http://zope.com/
  79. .. _Mozilla: http://www.mozilla.org/
  80. .. _Netflix Curator: https://github.com/Netflix/curator
  81. .. _gevent: http://gevent.org/
  82. .. _eventlet: http://eventlet.net/
  83. .. _\#zookeeper: irc://chat.freenode.net/zookeeper