/semeio

Semeio is a collection of jobs and workflow jobs used in ert (https://github.com/equinor/ert).

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

PyPI version PyPI - Python Version Actions Status License: GPL v3

semeio

Semeio is a collection of forward models and workflows used in ERT. These are exposing end points which is considered the API of semeio. If there are submodules that can be applied more generally, or have use outside these forward models and workflows, please create an issue and it can be exposed in the API.

Installation and usage

Semeio is available on pypi and can be installed using pip install semeio.

# Install
pip install semeio

Usage

Once installed semeio will automatically register its workflows and forward models with ERT. Through the plugin hooks it will also add its own documentation to the ERT documentation. See the ERT documentation for examples on how to run workflows and forward models, and build the ERT documentation to get documentation for the workflows and forward models.

Run tests

To run the full test suite, do:

pip install ".[test]"
pytest tests

pre-commit is used to comply with the formatting standards. The complete formatting tests can be run with:

pip install ".[style]"
pre-commit run --all-files

Formatting use ruff, See .pre-commit-config.yaml for the complete steps.

pre-commit can also provide git hooks to run on every commit to avoid commiting with formatting errors. This will only run on the diff so is quite fast. To configure this, run:

pip install ".[style]"
pip install pre-commit
pre-commit install

After this the hook will run on every commit.

If you would like to remove the hooks, run:

pre-commit uninstall