This project is mainly developed and maintained by @keurfonluu. Everyone is welcomed to participate to the development of this project either by:
- Submitting bug reports and/or feature requests via issue tracker,
- Fixing bugs and/or adding new features through a pull request.
If you wish to participate but are new to GitHub, please read GitHub's guide and do not hesitate to open an issue.
The first step to contributing is to fork and/or clone the repository. Additional Python libraries required for the development can be installed via the command:
pip install -r requirements-dev.txt
The code is formatted with black so you don't have to worry about code formatting. Docstrings follow NumPy's style guide and all public functions, classes and methods must come with a full description of input parameters and return outputs. To format both code and docstrings, simply run the command:
invoke format
Every new features must be unit tested in the directory tests
using the pytest framework. To run the test suite, run the command:
pytest
Any change to the source code must be submitted via a pull request such that it goes through the continuous integration service that verifies that the code is up to standards and passes all the unit tests.