Documentation: https://equinor.github.io/fmu-settings/
Source code: https://github.com/equinor/fmu-settings/
fmu-settings is the Python core library for reading, writing, and managing resources in .fmu/ directories for FMU projects and user environments.
It owns the filesystem behavior around those resources: initialization, discovery, configuration models, resource managers, locking, cache handling, changelogs, restore behavior, and synchronization helpers.
FMU Settings is split across a few repositories:
flowchart LR
CLI["fmu-settings-cli"]
API["fmu-settings-api"]
GUI["fmu-settings-gui"]
LIB["fmu-settings"]
MODELS["fmu-datamodels"]
CLI --> API
CLI --> GUI
CLI --> LIB
GUI --> API
API --> LIB
LIB --> MODELS
API --> MODELS
fmu-settingsis the core library for reading, writing, and managing.fmu/resources.fmu-datamodelsprovides shared Pydantic domain models.fmu-settings-apiexposesfmu-settingsthrough a FastAPI application layer.fmu-settings-guiprovides the browser-based user interface.fmu-settings-cliprovides the user-facing command line interface, including commands that bootstrap local user state and launch the API and GUI.
See ARCHITECTURE.md for the library architecture and a high-level ecosystem overview.
The published documentation is the best starting point for users:
Documentation sources live under docs/src/.
Clone and install into a virtual environment.
git clone git@github.com:equinor/fmu-settings.git
cd fmu-settings
# Create or source virtual/Komodo env
pip install -U pip
pip install -e ".[dev]"
# Make a feature branch for your changes
git checkout -b some-feature-branchRun the tests with:
pytest -n auto testsEnsure your changes will pass the various linters before making a pull request. It is expected that all code will be typed and validated with mypy.
ruff check
ruff format --check
mypy src testsSee CONTRIBUTING.md for more.