We always welcome contributions. Here we gather some guidelines to make the process as smooth as possible.
To see where help is needed, go to the issues page on Github. If you want to begin on an issue, make a comment below and begin a draft pull request: https://github.blog/2019-02-14-introducing-draft-pull-requests/ You can link the pull request on the right side of the commit to it.
When you have finished working on the issue, change it to a regular pull request. Check that there are no conflicts to the current master (https://www.digitalocean.com/community/tutorials/how-to-rebase-and-update-a-pull-request)
We use black https://github.com/psf/black as automatic code formatter. Please run your code through it before you open a pull request.
We do not check for formatting in the testing (travis) but recommend to set up black as a pre-commit hook.
conda install -c conda-forge pre-commit pre-commit install
Try to stick to PEP 8. You can use type annotations if you want, but it is not necessary or encouraged.
We use travis and pytest. To check your changes locally:
python -m pytest --log-level=INFO --log-cli-level=INFO
It would be great if anything that is added to the code-base has an according test in the
tests folder. We are not there yet, but it is on the todo. Be encouraged to add tests :)
The documentation is built using Sphinx from the docstrings. To test it before
submitting, navigate with a terminal to the docs/ directory. Install if necessary
the packages listed in
make html. The documentation
can then be accessed in
docs/_build/html/index.html. As an example you can
look at the documentation of