Python Autoclass Versions Save

A python 3 library providing functions and decorators to automatically generate class code, such as constructor body or properties getters/setters along with optional support of validation contracts on the generated setters. Its objective is to reduce the amount of copy/paste code in your classes - and hence to help reducing human mistakes :).

2.2.0

3 years ago
  • @autoclass now provides an autofields argument to apply pyfields.autofields automatically before applying autoclass. Fixes #38
  • @autoclass now removes private fields from the generated autodict representation by default. Fixes #37

See documentation page for details.

2.1.5

4 years ago
  • setup improvements: set the universal wheel flag to 1, and cleaned up the setup.py. Fixes #36

See documentation page for details.

2.1.4

4 years ago
  • setup.py improvements: now including py.typed, excluding tests folder, and using zip_safe=False

See documentation page for details.

2.1.2

4 years ago

Fixed bug happening when pyfields is not installed. Fixed #33.

See documentation page for details.

2.1.1

4 years ago

Added pyproject.toml.

See documentation page for details.

2.1.0

4 years ago

Features

  • Added independent @autoeq, supported in @autoclass and automatically activated when autodict=False. Fixed #32.

Bugfixes

  • Fixed @autorepr when only_known_fields is False: now property names are correctly used instead of the private names.

  • Fixed @autodict's generated __eq__ method: when the other object is a dictionary a direct comparison is now done before trying super.

See documentation page for details.

2.0.0

4 years ago

Features

  • default string representation in @autodict is now more readable. Legacy representation is still available through a parameter. Fixed #29.

  • pyfields can now be used as the source for the list of attributes, in @autohash, @autodict, and @autoclass. Fixes #28

  • new @autorepr decorator. Previously this feature was only available through @autodict, it can now be used without it. autorepr is supported in @autoclass, and if users set autodict=False by default it will be enabled. Fixed Fixed #30 and #31.

Misc / bugfixes

  • Major refactoring: more readable and maintainable code.

  • Fixed @autodict behaviour when the list was vars(self) and used together with @autoprops: with some options the private names were appearing and with others the public property names were appearing. Now the public property names always appear if they exist.

See documentation page for details.

1.18.0

4 years ago

New @autoslots feature, that can also be used from @autoclass by setting (autoslots=True). Fixes #9

See documentation page for details.

1.17.2

4 years ago

Added __version__ attribute at package level.

See documentation page for details.

1.17.1

5 years ago
  • Fixed ValidationError happening in all use cases. Fixed #25.

See documentation page for details.