Skip to content

Releases

Property Fixes & Wrapping

Choose a tag to compare

@immijimmi immijimmi released this 07 May 03:13
  • Removed Extension._set_setter() and reworked Extension._set_property() to also handle setters and deleters
  • Added Extension._wrap_property()
  • Misc. refactoring of code for cleanliness
  • Updated tests and readme

This release features breaking changes, in the form of a removed method and a modified method signature.

Update to README

Choose a tag to compare

@immijimmi immijimmi released this 01 May 19:24
  • Minor correction of package name in README

No breaking changes.

Python 3.11 Compatibility

Choose a tag to compare

@immijimmi immijimmi released this 24 Jun 03:55
  • Updated wrapt dependency version for compatibility with python 3.11

No breaking changes.

Exception Message Improvements

Choose a tag to compare

@immijimmi immijimmi released this 07 Oct 15:52
  • Misc minor improvements to various exception messages

No breaking changes.

Minor Extendable Refactor

Choose a tag to compare

@immijimmi immijimmi released this 05 Sep 11:52
  • Extendable.extensions is now a class property (meaning it can now be read on the class itself rather than only on an instance)
  • Extendable.extensions now returns a tuple rather than a frozenset, so that the order in which extensions were applied is preserved and extensions can be applied multiple times if necessary
  • Extendable.with_extensions() has been improved in various minor ways; primarily, the returned class's name attribute now indicates the base class and what extensions were applied
  • Added tests for new functionality
  • Minor edits to comments and docstrings

This release features breaking changes, as some of the values being returned by Extendable are now slightly different as a result of the above.

Style Changes

Choose a tag to compare

@immijimmi immijimmi released this 13 Aug 04:20
  • Minor update to test suite
  • Re-ordered Extension members: .can_extend() and .extend() should be hoisted to the top, and then the ordering should mimic that of a non-Extension class with wrapper methods going where the methods they wrap would be placed (etc.)

No breaking changes.

Properties and Setters

Choose a tag to compare

@immijimmi immijimmi released this 19 Jul 03:33
  • Added Extension.set_property() and Extension._set_setter()
  • Extension.extend() is now abstract rather than virtual (it is pointless to use Extension without overriding .extend())
  • Extendable now has an _extensions attribute at all times, rather than just once it has been modified
  • Extendable and Extension now implement ABC (there is no point in using them as-is with subclassing, so this change just indicates as much)
  • Minor edits for clarity in docstrings
  • Corrections to type hints
  • Updated readme accordingly

No breaking changes.

Added Public Extendable.extension_data Property

Choose a tag to compare

@immijimmi immijimmi released this 25 Jan 08:05
  • Added Extendable.extension_data property to allow reading a snapshot of extension data from outside the instance

Minor Setup Fix

Choose a tag to compare

@immijimmi immijimmi released this 04 Nov 22:57
  • From v1.0.0 onwards, this package will follow SemVer
  • Dependencies are now correctly pinned

Readme Update

Choose a tag to compare

@immijimmi immijimmi released this 14 Oct 10:27
  • Updated README file

No breaking changes.