Contribute to Pingouin

There are many ways to contribute to Pingouin: reporting bugs or results that are inconsistent with other statistical softwares, adding new functions, improving the documentation, etc…

If you like Pingouin, you can also consider buying the developpers a coffee!

Code guidelines

Before starting new code, we highly recommend opening an issue on GitHub to discuss potential changes.

  • Please use standard pep8 and flake8 Python style guidelines. To test that your code complies with those, you can run:

    $ flake8
  • Use NumPy style for docstrings. Follow existing examples for simplest guidance.

  • New functionality must be validated against at least one other statistical software including R, SPSS, Matlab or JASP.

  • When adding new functions, make sure that they are generalizable to various situations, including missing data, unbalanced groups, etc.

  • Changes must be accompanied by updated documentation and examples.

  • After making changes, ensure all tests pass. This can be done by running:

    $ pytest --doctest-modules

Checking and building documentation

Pingouin’s documentation (including docstring in code) uses ReStructuredText format, see Sphinx documentation to learn more about editing them. The code follows the NumPy docstring standard.

All changes to the codebase must be properly documented. To ensure that documentation is rendered correctly, the best bet is to follow the existing examples for function docstrings. If you want to test the documentation locally, you will need to install the following packages:

$ pip install --upgrade sphinx sphinx_bootstrap_theme numpydoc

and then within the pingouin/docs directory do:

$ make html