go get github.com/magiccfg/magiccfg@v1.3
pip install magiccfg==1.3 Or visit magiccfg.dev for full documentation.
If you’ve ever spent hours debugging a yaml indentation error or writing the same environment variable loading logic for the fifth time, MagicCFG is here to help. Version 1.3 focuses on three things: , performance , and reducing boilerplate . What’s New in v1.3? 1. Dot Notation for Nested Keys (Finally!) Access nested configuration values without chaining .get() methods or catching KeyError exceptions. magiccfg v1.3
# schema.yaml database: host: string port: number(min=1024, max=65535) If a value is missing or invalid, you’ll get a clear error before your app starts — no more runtime surprises. We rewrote the internal merge engine in Rust (behind a Python binding) while keeping the API identical. Large configs with deep inheritance now load in half the time. For microservices and serverless environments, this means faster cold starts. 4. Environment Variable Interpolation You can now reference environment variables directly inside any config file:
api: key: ${API_KEY} url: "https://${ENV}.example.com" MagicCFG resolves these at load time, with clear warnings for missing variables. Python (PyPI): go get github
db_host = config.dot("database.production.host") Better yet, dot() supports default fallbacks and will never throw an attribute error on missing paths. MagicCFG v1.3 introduces optional JSON Schema support. Define your expected config shape once, and let MagicCFG validate types, required fields, and patterns on load.
— The MagicCFG Team Tags: #release #magiccfg #v1.3 #devtools #configuration What’s New in v1
Before:
pip install --upgrade magiccfg
db_host = config["database"]["production"]["host"] After (v1.3):
We are excited to announce the release of — the latest update to your favorite configuration management tool.