Skip to content

v0.2.3 - New default behaviour, updated vectormath compatibility

Choose a tag to compare

@fwkoch fwkoch released this 01 Nov 22:49

Major Features

  • New default behaviour:
    • default values are validated but the underlying value is unchanged. This is mostly important when documenting (so, for example, if a Color property has a default value 'random', "random" shows up in the docs, rather than some coerced RGB triple).
    • startup() has been removed. This was used mainly to instantiate new instances in Instance properties and lists in List properties. Now, if a default value is callable, it is called when accessed.
    • _class_default is used much more sparingly. Basic properties (ie Integers and Bools) no longer have a class default (other than undefined). This is only used in List and Instance classes but may be defined in other Property subclasses.
    • Improved determination of default values from nested property classes like List and Union including warnings if unused defaults are defined.
  • Updated vectormath:
    • Now dependent on vectormath >= 0.1.0 (see release notes)
    • The separation of individual Vector classes vs. VectorArray classes is mirrored in properties
      • The old Vector2 and Vector3 are now Vector2Array and Vector3Array properties and individual vector properties named Vector2 and Vector3 have been introduced.

Minor Changes

  • required is now True by default - This assumes most properties you add to a HasProperties class are there for a reason.
  • _exclusive_kwargs has been removed from HasProperties in favour of separate filter_props util function
  • Immutable GettableProperties are now documented in sphinx as attributes rather than properties.
  • Extensive cleanup to allow pylint tests to pass
  • Minor improvements to README and docs

Bug Fixes

  • Class validator functions were not callable on their own; now they are.