0.0.1
A huge first version.
It's ready now:
- Default values specified in the class
- Values that are set during operation for class attributes
- Read only fields
- Typing support
- Checking field names (prohibit underscores at the beginning)
- Documenting fields
- The ability to validate any fields
- A separate mutex for each field
- Secret fields
- The ability to set a callback to change any of the field
- The ability to turn-off thread safety for reads of certain field
- Checking fields for conflicts
- The specified sections in the
pyproject.tomlfile - One or more separate
tomlfiles -
jsonformat support -
yamlformat support - Special classes for checking through types for belonging to sets of positive or natural numbers
- Default factories
- Converting values from one to another
- The ability to share a single mutex into several fields
- Subtraction of environment variables
- Aliases support
- Individual source lists for each field, with ellipsis support
It remains to be done in the following versions:
- The ability to not assign default values in any way
- The ability to disable type checking for a class through class arguments
- Class inheritance support
- Reading parameters from the CLI
- Context manager like https://confz.readthedocs.io/en/latest/usage/context_manager.html
- If you try to use environment variables on Windows in case-dependency mode, an exception will be raised
- Check that the action is triggered only after the assignment
- Add the ability to pass a list of functions for validating values
- Add automatic detection of the value validation function's signature, and if it allows, pass the old field value as well
- Do not use quotation marks for non-string values in exceptions
- Support for dotfiles as a source
- The ability to reset the cache for sources
- Make the "for_library" method of AbstractSource abstract
- Rename change_action to action