Contributing ============ Making a development environment -------------------------------- * Checkout the source code:: $ git clone git@github.com:Shoobx/pyocf.git * Create a development environment:: $ make devenv * Check out the OCF schema that you are developing on into the pyocf folder. To get the latest version, you can simply do:: $ make fetch * To generate the pyocf code from the OCF schema run:: $ make generate * And to run the tests:: $ make tests * Before you make a pull request, make sure the code passes the formatting tests:: $ make check * You can also verify the coverage with:: $ make coverage If you just run ``make`` with no further parameters, make will fetch the latest OCF schema, generate the pyocf code from it, and update the API documentation. Making pull requests -------------------- Your pull request should fulfill the following requirements. * Pass all the checks, including but not limited to all tests, formatting and converage checks. * Include a description of the problem being solved, and in complex cases, an explanation of how the problem was solved. * Include an update of the CHANGES.rst to summarize the change. * Your name should be in the Contributors list in the README.rst. Releasing --------- We use ``zest.releaser`` to do the releases. To use ``zest.releaser`` you need to have a ``.pypirc`` set up, and of course privileges to release ``pyocf``. Before making a release, make sure that the CHANGES.txt is updated, and that all changes are pushed to the VCS. Then run ``make check test`` to check that the style and formatting is correct, and that all tests pass. Then use ``make release`` to make a release and upload it to PyPI. This will run some checks on the pacaging data, with ``pyroma`` and ``check-manifest``, ask for the version number to be used, update the packaging info, make the release and push it to PyPI.