This document briefly describes how to contribute to mzSpecLib.
If you have an idea for a feature, use case to add or an approach for a bugfix, you are welcome to communicate it with the community by opening a thread in GitHub Issues.
- Setup Python 3, and preferably create a virtual environment.
- Clone the mzSpecLib repository.
- Use pip in editable mode to setup the development environment:
pip install --editable .[test,docs]
Run tests with pytest
:
pytest ./tests
To work on the documentation and get a live preview, install the requirements
and run sphinx-autobuild
:
pip install .[docs]
sphinx-autobuild ./docs/ ./docs/_build/
Then browse to http://localhost:8000 to watch the live preview.
Fork mzSpecLib on GitHub to make your changes.
Commit and push your changes to your fork.
Ensure that the tests and documentation (both Python docstrings and files in
/docs/
) have been updated according to your changes. Python docstrings are formatted in the numpydoc style.Open a pull request with these changes. You pull request message ideally should include:
- A description of why the changes should be made.
- A description of the implementation of the changes.
- A description of how to test the changes.
The pull request should pass all the continuous integration tests which are automatically run by GitHub Actions.