Contributing

Contributions are more than welcome using the fork and pull request approach 🙂 (if you are not familiar with this approach,please visitGitHub Docs PRs for an extendeddocumentation 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

  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 thedev-requirements.txt)

    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=plopm –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 copy all content from the docs/_build/html/ folder and replace the files in thedocs folder)

    Tip

    See theCI.yml script and theActions for installation of plopm, OPM Flow (binary packages), and dependencies, as well as the execution of the six previous steps in Ubuntu 24.10.

  3. Squash your commits into a single commit (see thisnice 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 anew issue in the repository GitHub page (if you are not familiar with this approach, please visitGitHub 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 themantainers.