enum-properties
enum-properties copied to clipboard
Refactor when minimum python == 3.14
Python 3.14 lazily loads type annotations. We force load them during __new__ in the metaclass - but they are unavailable earlier on between __prepare__ and __new__. Prior versions create the properties from annotations before __new__ - version 3.14 and later lazily load the properties in __new__. Supporting python versions from 3.8 <-> 3.14 requires significant version specific code. This issue is a reminder to do a general refactor once 3.14 is the minimal supported version of python. At this time the legacy interface should also be dropped and a version 3.0 release should be issued.