Added
- Automate compatibility tests in Python
Changed
- Pass storage to the embedded config attributes during initialization
- Simplifies config `Field` validation and casting flow
- Restructures package internal structure
- Improves unit tests
- Flatten multilevel storage during initialization
- Set type variable for `Field` children based on the returning type
- `Bool` field respects truthy strings like: "1", "Y", "T", "yes", "+" and `1` or `True`
- Import built-in **tomli** package for Python >= 3.11
Removed
- `TypeMapper`
- Metaclass for `Config` creation
- `no_cache` flag
- class-level `Config` attributes won't be converted to `Fields` based on typing or default values;
`Field` should be explicitly used whenever config attribute is defined
- `DebugFlag` field to use just `Bool` instead
- Drop maintenance for Python < 3.9