HoloConf
Multi-language hierarchical configuration library
Overview¶
HoloConf provides a consistent, powerful configuration management experience across multiple programming languages. Write your configuration once in YAML or JSON, and access it seamlessly from Python, Rust, JavaScript, Go, and more.
Features¶
- Multi-language support - Rust core with native bindings for Python, JavaScript, Go, and more
- Interpolation - Reference environment variables, other config values, files, and HTTP endpoints
- Hierarchical merging - Combine multiple config files with predictable override behavior
- Schema validation - Validate configuration against JSON Schema
- Type coercion - Automatic type conversion based on schema definitions
- Lazy resolution - Values are resolved on access, not at parse time
Quick Example¶
from holoconf import Config
# Load configuration
config = Config.from_file("config.yaml")
# Access values with dot notation
host = config.get("database.host")
port = config.get("database.port")
# Environment variables are resolved automatically
# database:
# host: ${env:DB_HOST,default=localhost}
# port: ${env:DB_PORT,default=5432}
Installation¶
Next Steps¶
- Getting Started - Installation and first configuration
- Interpolation - Learn about variable substitution
- Resolvers - Environment, file, HTTP, and self-reference resolvers
- API Reference - Detailed API documentation