Config¤
Configuration management and validation system. Load configurations from files, environment variables, and use schemas for validation.
Components¤
| Component | Purpose | Formats |
|---|---|---|
| Loaders | Load from files | YAML, JSON, TOML |
| Environment | Env var handling | DATARAX_* prefix |
| Schema | Validation | Type checking, constraints |
| Registry | Component lookup | Config-driven instantiation |
★ Insight ─────────────────────────────────────
- Use YAML for human-readable configs
- Environment variables override file configs
- Schemas catch errors at load time, not runtime
- Registry enables dynamic component creation
─────────────────────────────────────────────────
Quick Start¤
from datarax.config import load_config, ConfigSchema
# Load from YAML file
config = load_config("config.yaml")
# Access nested values
batch_size = config["training"]["batch_size"]
learning_rate = config["training"]["learning_rate"]
Modules¤
- loaders - Configuration file loaders (YAML, JSON, TOML)
- environment - Environment variable handling
- schema - Configuration schema definitions and validation
- registry - Component registry for config-driven instantiation
Schema Validation¤
from datarax.config import ConfigSchema
schema = ConfigSchema({
"batch_size": {"type": "int", "min": 1},
"learning_rate": {"type": "float", "min": 0},
"model": {"type": "str", "choices": ["small", "medium", "large"]},
})
# Validates and raises on error
config = schema.validate(raw_config)
Environment Variables¤
from datarax.config import get_env_config
# Reads DATARAX_* environment variables
env_config = get_env_config()
# DATARAX_BATCH_SIZE=64 -> {"batch_size": 64}
See Also¤
- Core Config - Module configuration classes
- Installation - Environment setup