Thank you for your interest in contributing to the PLAMS project!
We want to keep it as easy as possible to contribute changes that get things working in your environment. There are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things.
- Make sure you have a GitHub account
- Fork the repository on GitHub
- Create a feature branch from where you want to base your work
- This is usually the trunk branch - only target release branches if you are certain your fix must be on that branch
- To quickly create a feature branch based on trunk run
git checkout -b MyName/my_contribution trunk
- Make commits of logical units
- Make sure your commit messages are informative
- Make sure you have added the necessary tests for your changes
- Push your changes to a feature branch in your fork of the repository
- Submit a pull request to the repository in the SCM-NV organization
- The core team reviews Pull Requests on a regular basis and will provide feedback / approval
In order to maintain a high code quality, we use a variety of code developer tools in our repo. These include:
Tool | Purpose |
---|---|
black | code formatting |
mypy | static type checking |
pytest | testing |
coverage | measuring test coverage |
sphinx | generating documentation |
These can be installed with the command pip install '.[dev]'
.
A series of checks are conducted in our CI pipeline, which must pass before your pull request is considered ready for review.