Skip to main content

A modular and typed yaml configuration system with secret support

Project description

A modular and typed yaml configuration system with secret support

Example Usage

from typing import Annotated, Literal
from modular_config import ModularConfig
from modular_config.annotations.gsm import gsm_secret

class ConfigBase(ModularConfig):
    CONFIG_PATH = "settings.test.yaml"
    CONFIG_PATH_FROM_ENV_VAR = "SETTINGS_PATH"


class LoggingConfig(ConfigBase):
    CONFIG_SECTION = "logging"
    level: Literal["info", "warning", "error"]


class BackendConfig(ConfigBase):
    CONFIG_SECTION = "server"
    host: str
    api_key: Annotated[str, gsm_secret(project="buoyant-open-projects")]

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

buoyant_config-0.2.0.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

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

buoyant_config-0.2.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file buoyant_config-0.2.0.tar.gz.

File metadata

  • Download URL: buoyant_config-0.2.0.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"11","id":"bullseye","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for buoyant_config-0.2.0.tar.gz
Algorithm Hash digest
SHA256 58af82c8a0bb66307505dd12a823b07c25e19310a5338409d531f8a070b95d24
MD5 ec4b31a58e97de2a0863f17cbf03d661
BLAKE2b-256 651f84da4e78603912824259c51e556f7e4ac095bc5a5138c6ee4f6b7e142bca

See more details on using hashes here.

File details

Details for the file buoyant_config-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: buoyant_config-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"11","id":"bullseye","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for buoyant_config-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c55d8755092cfa17363f126245984c39c42ef84f67a6103746e442d70fbf9b9
MD5 9f725092c256321b41978a775972c94d
BLAKE2b-256 9e379a83c823bdf45f3c541af1cb60b1783d86ae25cd1bb0f034edaf5f07f41a

See more details on using hashes here.

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