Config Wrangler (config_wrangler)
pydantic based configuration wrangler. Handles reading multiple ini or toml files with inheritance rules and variable expansions.
This tool grew out of the limitations discovered using ConfigParser with a multiple large ETL loads using the bi_etl framework.
- Validate the configuration files at startup and not hours into the program run.
e.g. ConfigParser.getint() would fail deep into a run when reading a non-integer value
Needed a clean way to support configuration items that might be either environment specific or shared across environments (checked into git).
Needed to have configuration items that are shared across multiple programs while also having some that are specific to each program. Also wanted to avoid a single huge monolith config file – that due to the validation had to all be valid in order for any single program that used part of it to startup successfully.
This project on PyPI: config-wrangler
Installation
- Install using your package manager of choice:
poetry add config-wrangler
pip install -U config-wrangler
conda install config-wrangler -c conda-forge.
Parts of config_wrangler
Modules APIs
- config_wrangler package
- Subpackages
- Submodules
- config_wrangler.config_exception module
- config_wrangler.config_from_ini module
- config_wrangler.config_from_ini_env module
- config_wrangler.config_from_loaders module
- config_wrangler.config_root module
- config_wrangler.config_wrangler_config module
- config_wrangler.utils module
- config_wrangler.validate_config_hierarchy module
- Module contents