Skip to content

Revamp configuration management

Patrick Godwin requested to merge toml_config into master

This MR switches the INI files for configuration for TOML, which has a similar feel to INI files but has a well-defined specification, allows proper nesting (namespaces) and has types and data structures. This mitigates a lot of the fragile nature of processing config options and in particular removes the need for using eval() at all, which is a big plus.

Configuration is now handled through a Config class within configparser.py which will allow us to define dataclasses with well-defined defaults for many of our configuration options, providing a path to make configuration management much simpler in various workflows (batch/stream). Just switching over has simplified much of the handling of specific variables (no casting and no need to jump through various hoops to run evalkwargs() throughout).

Merge request reports

Loading