Skip to content

equinor/fmu-settings

fmu-settings

ci docs

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 Architecture

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
Loading
  • fmu-settings is the core library for reading, writing, and managing .fmu/ resources.
  • fmu-datamodels provides shared Pydantic domain models.
  • fmu-settings-api exposes fmu-settings through a FastAPI application layer.
  • fmu-settings-gui provides the browser-based user interface.
  • fmu-settings-cli provides 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.

Documentation

The published documentation is the best starting point for users:

Documentation sources live under docs/src/.

Developing

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-branch

Run the tests with:

pytest -n auto tests

Ensure 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 tests

See CONTRIBUTING.md for more.

About

A library to manage and interface with .fmu/ directories, where the FMU settings are contained.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages