Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Overhaul configuration system (#729)
* The current configuration system suffers from some challenges, including fragile / special-case parsing of container traits. This work aims to make this area of the code robust and more future-proof: * Move config tools into a submodule, extract some things from traits.py. * Support arbitrary nested containers, including parsing of those and None values from the commandline. Expand unit tests to included nested containers. * Dedicated set of routines for translating back and forth from trait values and strings. * Separate file-format code more cleanly from code that just works with the internal config dictionary format. * Add support for YAML config files, along with existing JSON and TOML formats. * Expand the `toast_config_verify` script to support loading and migrating old config files to new ones (or for converting between supported formats). * Keep support for loading old config files, while printing warnings telling the user to update their configs. * Address review comments. Run format_source.sh
- Loading branch information