stdlibx-config¶
This package provides utilities for loading and managing configuration from multiple sources, such as environment variables, JSON files, YAML files, and custom formats. It allows you to combine loaders and apply validation logic, making configuration flexible, composable, and easy to adapt to different environments.
Installation¶
pip install stdlibx-config
uv add stdlibx-config
poetry add stdlibx-config
pipenv install stdlibx-config
Example¶
from dataclasses import dataclass
from typing import Any, Mapping
from stdlibx.config import EnvLoader, JsonLoader, load_config
@dataclass
class Config: ...
def validate_config(_: Mapping[str, Any]) -> Config: ...
config = load_config(
validate_config,
[
JsonLoader("path/to/config.json"),
EnvLoader(),
],
)