at-gmbh / at-python-template

The official Python Project Template of Alexander Thamm GmbH
Apache License 2.0
49 stars 19 forks source link

Replace PyYAML config with OmegaConf #98

Open klamann opened 1 year ago

klamann commented 1 year ago

OmegaConf is a YAML based hierarchical configuration system, with support for merging configurations from multiple sources (files, CLI argument, environment variables) providing a consistent API regardless of how the configuration was created. OmegaConf also offers runtime type safety via Structured Configs.

https://omegaconf.readthedocs.io/

With OmegaConf, we can implement features in YAML that we only used to have in HOCON so far, like config inheritance or variable substitution. In fact, OmegaConf handles these things far more consistently than pyhocon currently does.

Let's keep the "yaml" option, but replace the current PyYAML implementation with OmegaConf.