Skip to content

Releases: DavidCEllis/ducktools-classbuilder

v0.5.0

26 Apr 14:13
68c98ff
Compare
Choose a tag to compare

What's Changed

  • gatherer classes no longer modify the class they are operating on.
    • They now return field_info and a dict of modifications to make to the class as opposed to modifying the class directly.
  • renamed code generators from _maker to _generator to reduce confusion
  • renamed MethodMaker instances from _desc to _maker to increase confusion
  • as_dict will check if a class is a prefab before trying to use an asdict method on the class.

Full Changelog: v0.4.0...v0.5.0

v0.4.0

25 Apr 17:21
2696d62
Compare
Choose a tag to compare

What's Changed

  • Add a built-in annotation_gatherer and @annotationclass to generate by annotations (much like dataclasses)
  • Make the frozen_setattr_desc and frozen_delattr_desc part of core instead of prefab.
  • Make Field classes and classes generated with @fieldclass frozen when running under pytest
  • Option to make @fieldclass classes frozen (there is a performance penalty for instances of frozen classes).

v0.3.0

23 Apr 13:34
7707a06
Compare
Choose a tag to compare

What's Changed

  • Fix a @slotclass bug with __init__ generation that caused 'empty' classes to fail.
  • Removed get_internals
  • Added extra_code to the init_maker function to allow for calling required validators (used in @fieldclass)

Full Changelog: v0.2.1...v0.3.0

v0.2.1

17 Apr 16:46
34a63fb
Compare
Choose a tag to compare

What's Changed

  • Rename in_dict to serialize by @DavidCEllis in #6
    • This is a much better name

Full Changelog: v0.2.0...v0.2.1

v0.2.0

17 Apr 16:30
2ad7efe
Compare
Choose a tag to compare

What's Changed

  • Reworked internals and builder. Now there is a flags argument to builder and a get_flags method
    to access build flags on the class.

Full Changelog: v0.1.1...v0.2.0

v0.1.1

15 Apr 13:31
Compare
Choose a tag to compare

What's Changed

  • Various type stub and documentation fixes

Full Changelog: v0.1.0...v0.1.1

v0.1.0

11 Apr 18:32
Compare
Choose a tag to compare

Initial release, get this available on PyPI.