Contributing
We welcome contributions to extto, please create an issue on GitLab if you wish to add functionality.
When contributing, you must follow the following rules which help to standardise development.
Source Code
All commits must conform to the angular style with imperative, present tense.
Use
flake8to ensure compliance withpep8standards.Use an 80-character line length limit, CamelCase for Classes, and snake_case for everything else.
Use numpy style docstrings, and type-hinting for all arguments and return values.
Update documentation accordingly with your changes - e.g. the relevant CLI ‘usage’ page, and the ‘What’s New’ page.
If your changes add or modify dependencies, update
setup.pywith explicit version numbers.
Do not!
Merge broken code
Merge code with debug print statements
Merge code with large amounts of commented out code
These are simple requirements, and they make the code easier to use for everyone.
Documentation
Our documentation is written in Sphinx and uses
the Read the Docs theme. The source-code for the docs is available at extto/docs/source.
To build the documentation, navigate to extto/docs and install the python dependencies with
pip install -r requirements.txt
You will also need to install make using your preferred system package manager.
To build the documentation run
make clean html
The compiled html pages will be available at extto/docs/build/html.
Please ensure the documentation builds successfully prior to committing/merging.
You do not need to commit compiled pages to the repository.