Skip to content

Latest commit

 

History

History
36 lines (27 loc) · 3.76 KB

CONTRIBUTING.md

File metadata and controls

36 lines (27 loc) · 3.76 KB

Contributing

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).

Ground Rules

  • We use Black code formatting
  • We use Pylint
  • We document our code

Contribute to the software

This requires a Python version of at least 3.11 (due to tomllib).

  1. Work on your own fork of the main repo
  2. In the main repo execute:
    1. 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)
    2. black src/ tests/ (this formats the code)
    3. pylint src/ tests/ (this analyses the code, and might rise issues that need to be fixed before the pull request)
    4. mypy --ignore-missing-imports src/ tests/ (this is a static checker, and might rise issues that need to be fixed before the pull request)
    5. 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)
    6. 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)
    • Tip: See the CI.yml script and the Actions for installation of pyopmspe11, OPM Flow (binary packages), and dependencies, as well as the execution of the six previous steps in Ubuntu 24.10 using Python3.11.
  3. Squash your commits into a single commit (see this nice tutorial if you are not familiar with this)
  4. Push your commit and make a pull request
  5. The maintainers will review the pull request, and if the contribution is accepted, then it will be merge to the main repo

Reporting issues or problems

  1. 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).
  2. We will try to answer as soon as possible, but also any user is more than welcome to answer.

Seek support

  1. The preferred approach to seek support is to raise an issue as described in the previous lines.
  2. 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.