When contributing to this repository, please first discuss the change you wish to make via an issue. Feature additions, bug fixes, etc. should all be addressed with a pull request (PR).
Please note we have a code of conduct, please follow it in all your interactions with the project.
- Download the dependencies in the developer requirements file.
- [Optional, but STRONGLY preferred] Label commits according to Conventional Commits style.
- [Optional, but STRONGLY preferred] Add unit tests for features being added or bugs being fixed.
- [Optional, but STRONGLY preferred] Include any new method/function in the corresponding docs file.
- Run
pytest
to verify all unit tests pass. - [Optional, but STRONGLY preferred] Run
pylint hypercontagion/ --disable all --enable W0611
and remove any unnecessary dependencies. - [Optional, but STRONGLY preferred] Run
isort .
to sort any new import statements. - [Optional, but STRONGLY preferred] Run
black .
for consistent styling. - Update the "Current Version" section of CHANGELOG.md with overview of changes to the interface and add the usernames of all contributors.
- Submit Pull Request with a list of changes, links to issues that it addresses (if applicable)
- You may merge the Pull Request in once you have the sign-off of at least one other developer, or if you do not have permission to do that, you may request the reviewer to merge it for you.
- Make sure that the Github Actions workflow runs without any errors.
- Increase the version number in setup.py, conf.py, and CITATION.cff to the new version agreed upon by the core developers. The versioning scheme we use is SemVer.
- Change the "Current Version" heading to the version number and put a new blank "Current Version" heading above this.
- Upload to PyPI.
This Contributing Statement is adapted from this template by @PurpleBooth.