Skip to content

0.0.1

Choose a tag to compare

@pomponchik pomponchik released this 10 Nov 15:37
· 217 commits to main since this release
82a74bf

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.toml file
  • One or more separate toml files
  • json format support
  • yaml format 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