We should evaluate existing libraries for this rather than replacing ad-hoc functionality with more of the same. Candidates include omry/omegaconf (possibly with facebookresearch/hydra, but probably not; also see https://github.com/facebookresearch/hydra/issues/633 regarding both), lebrice/SimpleParsing, click, the traits/traitlets family, (c)attrs, and pydantic.
Essentially we want good handling of configurations, e.g. automatic generation of parsers for a configuration type, better help and error messages, better runtime error handling, better (de)serialization of configs, handling hierarchical and duplicate configs, merging, etc. [for an early version of some motivation, see https://stackoverflow.com/questions/33224213/creating-composable-hierarchical-command-line-parsers-using-python-argparse].
We should evaluate existing libraries for this rather than replacing ad-hoc functionality with more of the same. Candidates include
omry/omegaconf
(possibly withfacebookresearch/hydra
, but probably not; also see https://github.com/facebookresearch/hydra/issues/633 regarding both),lebrice/SimpleParsing
,click
, thetraits
/traitlets
family, (c
)attrs
, andpydantic
.