Explicit Config Files
Load a specific config file instead of auto-discovery.
Basic Usage
from pathlib import Path
from utilityhub_config import load_settings
settings, _ = load_settings(
Config,
config_file=Path("./production.yaml")
)
Format Detection
Automatically detected from extension:
- .yaml, .yml → YAML format
- .toml → TOML format
# Both work automatically
load_settings(Config, config_file=Path("./prod.yaml"))
load_settings(Config, config_file=Path("./prod.toml"))
Precedence
When using config_file, auto-discovery is skipped:
Without config_file:
defaults → global config → project config → .env → env → overrides
With config_file:
defaults → specified file → .env → env → overrides
Error Handling
from utilityhub_config.errors import ConfigError
try:
settings, _ = load_settings(Config, config_file=Path("./missing.yaml"))
except ConfigError as e:
print(f"Error: {e}")