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.
Semeio is available on pypi and can be installed using pip install semeio.
# Install
pip install semeioOnce 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.
We use uv to have one synchronized development environment for all packages. See installing uv. We recommend installing uv using your system's package manager, or into a small dedicated virtual environment.
Once uv is installed, you can get a development environment by running:
git clone https://github.com/equinor/semeio
cd semeio
uv sync --all-extrasTo run the full test suite, do:
uv run pytest testspre-commit is used to comply with the formatting standards. The complete formatting tests can be run with:
uv run pre-commit run --all-filesFormatting 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 committing with formatting errors. This will only run on the diff so is quite fast. To configure this, run:
uv run pre-commit installAfter this the hook will run on every commit.
If you would like to remove the hooks, run:
uv run pre-commit uninstall