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.1.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.1.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: buoyant_config-0.1.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.1.0.tar.gz
Algorithm Hash digest
SHA256 6377bb53e05fa462562df35ff4c8ef2834e69e9162cf32e04e6b4be7a6ca183c
MD5 6ef9a760fc4653082f34e35d4a208fd0
BLAKE2b-256 d8919c247cff374921c38169968f6dd3cc2f4b4b422f5ef6843b647f887c83e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: buoyant_config-0.1.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9161c044c7b62a106460207d3493e9e14696a8060e6d1683ccc368ee2639cd90
MD5 e43a573b274c3b5d64b210ddaecdccf2
BLAKE2b-256 98f27e3df3790fbe4518dae7292d383446b37672e17826fc9920602c151630f5

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