Core Concepts
Precedence Order
Values are loaded in this order (later wins):
- Model defaults
- Global config (
~/.config/config/) - Project config (
./config.toml,./config.yaml, and./config/*.toml|*.yaml|*.yml) .envfile- Environment variables
- Runtime overrides
Metadata Tracking
Every field tracks where its value came from:
settings, metadata = load_settings(Config)
source = metadata.get_source("database_url")
print(source.source) # "env", "project", "defaults", etc.
print(source.source_path) # File path or "ENV:DATABASE_URL"