Skip to main content

The API for fmu-settings

Project description

fmu-settings-api

ci

fmu-settings-api is the FastAPI backend for the fmu-settings application.

Usage

This application is primarily invoked by fmu-settings-cli and is meant to be used together with fmu-settings-gui. It depends mostly on fmu-settings to work with .fmu/ configuration directories within the FMU context.

With fmu-settings-cli installed, to run the API by itself just

fmu settings api

An authorization token is required to create a session. When developing you can print this token to the the terminal with

fmu settings api --print-token

It's useful to be able to reload while developing.

fmu settings api --print-token --reload

API Documentation

The routes have documentation on them. To view them, and work with the API go to localhost:8001/docs (or whatever your port may end up being).

Configuration

Configuration should largely be handled by the GUI when they are being run together. When developing you will want to be able to access different endpoints. You can configure some of these values with .env and scripts in the scripts/ directory.

A sample.env is included here. To get your own SMDA subscription key you may go to the internal Equinor API self-service website. Copy sample.env to .env and fill in the correct values.

Access token

Accessing services through this API requires a valid access token. You can acquire one with the scripts/get_token.py script. This script will open a small server, authenticate you with SSO, and store your access token to .token. You may then use this as you need.

Developing

Clone and install into a virtual environment.

git clone git@github.com:equinor/fmu-settings-api.git
cd fmu-settings-api
# 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 the contributing document for more.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fmu_settings_api-0.4.0.tar.gz (182.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fmu_settings_api-0.4.0-py3-none-any.whl (64.3 kB view details)

Uploaded Python 3

File details

Details for the file fmu_settings_api-0.4.0.tar.gz.

File metadata

  • Download URL: fmu_settings_api-0.4.0.tar.gz
  • Upload date:
  • Size: 182.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fmu_settings_api-0.4.0.tar.gz
Algorithm Hash digest
SHA256 9ba74bb5011c686eb087c0d62950f2d4e4689ed1a4b79143c98bea20177659a6
MD5 26bdd38b3b0f64d9b5aac23ebdf01c03
BLAKE2b-256 b2eb26f727e034141c4e6aa504e8fe9332f1af7e8a7cbf8de00c43d96c9e3d9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for fmu_settings_api-0.4.0.tar.gz:

Publisher: publish.yml on equinor/fmu-settings-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fmu_settings_api-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fmu_settings_api-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1d8001861d160d8cbb36de3fd534a79b8843ca67fad5d2eb415e42dbdf9e0c59
MD5 ab75fe827fc5107eb13c0ca8b06e3cae
BLAKE2b-256 d51c810e27fa072964c39e402b132c05fcbf60439ffadc5b48f746b958be0314

See more details on using hashes here.

Provenance

The following attestation bundles were made for fmu_settings_api-0.4.0-py3-none-any.whl:

Publisher: publish.yml on equinor/fmu-settings-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page