Contributing to the project
We welcome contributions from all users to the project:
Documentation fixes/updates
Example notebooks to illustrate features/methods
Bug fixes
New code
However, we ask that contributors please follow these guidelines when contributing to the package. This allows us to retain some level of homogeneity throughout a project and will make it easily to maintain and improve in the long run.
A list of current contributors can be found in the project root.
Please ensure that all code follows the Python Google Python Style Guide standard.
Please ensure that your code is well commented, so that programmers of varying abilities have a good chance in following it.
Please make sure that any code, or bug-fixes you contribute are accompanied by a pytest.
Please run a full pytest prior to merging your code and ensure all tests pass (or that your new code has not caused any new test failures).
Please make sure that all modules, classes, functions (even private ones) have docstrings. This enables us to easily produce high quality documentation and improves the user experience. This module uses Numpy docstrings for the most part. Please follow this excellent guide if unsure.
Any HOWTOs or extended user documentation should be written in reStructuredText (preferably) or Markdown.
We incorporate Jupyter notebooks into the documentation, so please ensure they are fairly quick to run and do not have reams of output associated with them. Also, please make sure that all output is collapsed (removed) prior to committing the notebook to git.
Please make sure that any test data you submit is small and compressed and please do not commit any individual level data that is not already in the public domain.
If you want to contribute and are unsure on any of these points please contact the lead developer.
Many thanks in advance!