Easy parameter specification using dataclasses made using the attr library. It comes with following advantages compared to other parametrisation schemes (eg. jsons)
- No KeyErrors
- Typed
- Default values so only need to specify changes - (compared this to maintaining tons of json files for each configuration)
- All attr features for free. Eg. validators, comparators etc.
- Intellisense in ide
- Both dict-like and dot access
- Interconversion to/from dict as well as flattened dict
- Easy De/serialisation from/to json and yaml.
- Direct instantiation of objects from parameters specifying constructor arguments.
- Flexible + automatic disambiguation
- Easy hyper-parameter search
- And last but not the least, almost no overhead!
See this notebook for examples of usage and features.