Thank you for considering contributing to multipac_testbench! 🎉
I use long-lived branches for each major series (e.g., 1.7.x).
- Base your work on the relevant
X.Y.xbranch - Run
pre-commithooks before committing - Run and write tests
- Submit a pull request
The project uses pytest. From the root of the repository:
pytest -m "not implementation"You will need to install development dependencies:
pip install multipac_testbench -e ".[test]"I use pre-commit to enforce formatting and static checks.
It should be automatically installed when running pip install multipac_testbench.
Set it up as follows:
pre-commit installThis ensures that all required hooks run automatically before each commit.
The repository uses the following hooks:
black(code formatting)isort(import sorting)pyupgrade(modernize Python syntax)- Various
pre-commit-hookslike:check-docstring-firstcheck-merge-conflictend-of-file-fixertrailing-whitespace- and many more
The full configuration is in .pre-commit-config.yaml.
To run all hooks manually:
pre-commit run --all-files- Fork the repository and clone your fork.
- Create a branch from the appropriate
X.Y.xbranch:git checkout -b fix/some-bug 1.7.x
- Make your changes.
- Ensure pre-commit hooks pass.
- Add tests if applicable.
- Commit and push:
git commit -m "Fix: correct bug in XYZ" git push origin fix/some-bug - Open a pull request into the corresponding
X.Y.xbranch.
Please add an entry to CHANGELOG.md under the appropriate unreleased version header:
## [X.Y.Z] - unreleased
I use Semantic Versioning: MAJOR.MINOR.PATCH.
Open an issue or start a discussion. I'm happy to help!
Thank you again for contributing 🙏 -- Adrien