Skip to main content

A modular and typed yaml configuration system for python with easy secret support

Install

pip install buoyant.config or uv add buoyant.config

Example Usage

from typing import Annotated, Literal

from buoyant.config import ModularConfig

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"]


from buoyant.config.annotations.gsm import gsm_secret

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

Metadata

Release files for buoyant.config 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for buoyant.config 0.7.0
File Size Uploaded
buoyant_config-0.7.0.tar.gz 2.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for buoyant.config 0.7.0
File Interpreter ABI Platform
buoyant_config-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 8.0 kB

Release files / buoyant_config-0.7.0.tar.gz

Download URL buoyant_config-0.7.0.tar.gz
Size 2.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c1dfd3d4f5d31d7f561dfe604e5fe5a010cafd44a5d8f526c205c8bc9ec20aeb
BLAKE2b-256 checksum
How to use checksums
5d06b5bdd00d5e29131e986cd059d21529d6f6827d39537bc26c559ba7f877fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / buoyant_config-0.7.0-py3-none-any.whl

Download URL buoyant_config-0.7.0-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a3c1cad39208145dbdbd5be0f22beb87fcc90483853e6a39b71da6c04679b586
BLAKE2b-256 checksum
How to use checksums
af454e1b0b69236bca95a2884045d1608ecf0a883089af5800ad19a19c72180c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page