CONTRIBUTING.rst 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. =================
  2. How to contribute
  3. =================
  4. We gladly accept outside contributions. We use our
  5. `Github issue tracker <https://github.com/python-zk/kazoo/issues>`_
  6. for both discussions and talking about new features or bugs. You can
  7. also fork the project and sent us a pull request. If you have a more
  8. general topic to discuss, the
  9. `user@zookeeper.apache.org <https://zookeeper.apache.org/lists.html>`_
  10. mailing list is a good place to do so. You can sometimes find us on
  11. IRC in the
  12. `#zookeeper channel on freenode <https://zookeeper.apache.org/irc.html>`_.
  13. Development
  14. ===========
  15. If you want to work on the code and sent us a
  16. `pull request <https://help.github.com/articles/using-pull-requests>`_,
  17. first fork the repository on github to your own account. Then clone
  18. your new repository and run the build scripts::
  19. git clone git@github.com:<username>/kazoo.git
  20. cd kazoo
  21. make
  22. make zookeeper
  23. You need to have some supported version of Python installed and have
  24. it available as ``python`` in your shell. To run Zookeeper you also
  25. need a Java runtime (JRE or JDK) version 6 or 7.
  26. You can run all the tests by calling::
  27. make test
  28. Or to run individual tests::
  29. export ZOOKEEPER_PATH=/<path to current folder>/bin/zookeeper/
  30. bin/nosetests -s -d kazoo.tests.test_client:TestClient.test_create
  31. The nose test runner allows you to filter by test module, class or
  32. individual test method.
  33. If you made changes to the documentation, you can build it locally::
  34. make html
  35. And then open ``./docs/_build/html/index.html`` in a web browser to
  36. verify the correct rendering.
  37. Submitting changes
  38. ==================
  39. We appreciate getting changes sent as pull requests via github. We have
  40. travis-ci set up, which will run all tests on all supported version
  41. combinations for submitted pull requests, which makes it easy to see
  42. if new code breaks tests on some weird version combination.
  43. If you introduce new functionality, please also add documentation and
  44. a short entry in the top-level ``CHANGES.rst`` file.
  45. Adding Recipes
  46. ==============
  47. New recipes are welcome, however they should include the status/maintainer
  48. RST information so its clear who is maintaining the recipe. This does mean
  49. that if you submit a recipe for inclusion with Kazoo, you should be ready
  50. to support/maintain it, and address bugs that may be found.
  51. Ideally a recipe should have at least two maintainers.
  52. Legal
  53. =====
  54. Currently we don't have any legal contributor agreement, so code
  55. ownership stays with the original authors. The project is licensed
  56. under the
  57. `Apache License Version 2 <https://github.com/python-zk/kazoo/blob/master/LICENSE>`_.