+
+ +
+

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๏ƒ

+
    +
  1. Work on your own fork of the main repo

  2. +
  3. In the main repo execute:

    +
    +
      +
    1. pip install -r dev-requirements.txt (this installs the dev-requirements.txt; in addition, the opm Python package is required, then for not macOs users run pip install opm, or else follow the instructions in macOS installation)

    2. +
    3. black src/ tests/ (this formats the code)

    4. +
    5. pylint src/ tests/ (this analyses the code, and might rise issues that need to be fixed before the pull request)

    6. +
    7. mypy โ€“ignore-missing-imports src/ tests/ (this is a static checker, and might rise issues that need to be fixed before the pull request)

    8. +
    9. pytest โ€“cov=expreccs โ€“cov-report term-missing tests/ (this runs locally the tests, and might rise issues that need to be fixed before the pull request)

    10. +
    11. 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 the docs folder)

    12. +
    +
    +

    Tip

    +

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

    +
    +
    +
  4. +
  5. Squash your commits into a single commit (see this nice tutorial if you are not familiar with this)

  6. +
  7. Push your commit and make a pull request

  8. +
  9. The maintainers will review the pull request, and if the contribution is accepted, then it will be merge to the main repo

  10. +
+
+
+

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

  4. +
+
+
+

Seek support๏ƒ

+
    +
  1. The preferred approach to seek support is to raise an Issue as described in the previous lines.

  2. +
  3. We will try to answer as soon as possible, but also any user is more than welcome to answer.

  4. +
+
    +
  • An alternative approach is to send an email to any of the mantainers.

  • +
+
+
+ + +
+