Contributions are more than welcome using the fork and pull request approach 🙂 (if you are not familiar with this approach, please visit GitHub Docs PRs for an extended documentation about collaborating with pull request; also, looking at previous merged pull requests helps to get familiar with this).
- We use Black code formatting
- We use Pylint
- We document our code
This requires a Python version of at least 3.11 (due to tomllib).
- Work on your own fork of the main repo
- In the main repo execute:
- pip install -r dev-requirements.txt (this installs the dev-requirements.txt; in addition, both opm Python and LaTeX are required, then for not macOs users run pip install opm and sudo apt-get install texlive-fonts-recommended texlive-fonts-extra dvipng cm-super, or else follow the instructions in macOS installation)
- black src/ tests/ (this formats the code)
- pylint src/ tests/ (this analyses the code, and might rise issues that need to be fixed before the pull request)
- mypy --ignore-missing-imports src/ tests/ (this is a static checker, and might rise issues that need to be fixed before the pull request)
- pytest --cov=pyopmspe11 --cov-report term-missing tests/ (this runs locally the tests, and might rise issues that need to be fixed before the pull request)
- pushd docs & make html (this generates the documentation, and might rise issues that need to be fixed before the pull request; if the build succeeds and if the contribution changes the documentation, then delete all content from the docs folder except Makefile, text, and .nojekyll, after copy all contents from the docs/_build/html/ folder, and finally paste them in the docs folder)
- Squash your commits into a single commit (see this nice tutorial if you are not familiar with this)
- Push your commit and make a pull request
- The maintainers will review the pull request, and if the contribution is accepted, then it will be merge to the main repo
- Issues or problems can be raised by creating a new issue in the repository GitHub page (if you are not familiar with this approach, please visit GitHub Docs Issues).
- We will try to answer as soon as possible, but also any user is more than welcome to answer.
- The preferred approach to seek support is to raise an issue as described in the previous lines.
- We will try to answer as soon as possible, but also any user is more than welcome to answer.
- An alternative approach is to send an email to any of the mantainers.