How to contribute ================= Branching --------- - Pull requests that fix bugs of a released version should go to ``x.y-maintenance`` (e.g. ``0.2-maintenance``) branch. Coding style ------------ - Follows `PEP 8`_. - Alphabetically order imports. - Prefer relative imports. - All functions, classes, methods, attributes, and modules should have the docstring. - Functions and methods should contain ``:param:``, ``:type:`` (``:returns:``, ``:rtype`` if it returns something), (``:raises:`` if it may raise an error) in their docstring. Tests ----- - All code patches should contain one or more unit tests or regression tests. - There's `docs about how to test`__. - All commits will be tested by `Travis CI`__ & `GitHub Actions`__. __ https://docs.wand-py.org/en/latest/test.html __ https://travis-ci.org/emcconville/wand __ https://github.com/emcconville/wand/actions Docs ---- - All packages and modules should have ``.rst`` file for them inside ``docs/`` directory. For example, if there's ``wand/module.py`` there also should be ``docs/wand/module.rst``, and it has to be listed in ``.. toc::`` of ``docs/wand.rst``. - All new classes/functions/methods/attributes/properties have to contain ``.. versionadded::`` in their docstring. - All interface changes have to contain ``.. versionchanged::`` in theirdocstring. .. _PEP 8: www.python.org/dev/peps/pep-0008