Open stdweird opened 1 week ago
how critical is it?
we still need to support older versions of python, e.g. 3.9 even though it's reached EOL
one workaround is to use customized templates (e.g. -t via CLI)
@wing328 i was not suggesting to drop all older python versions. i am well aware that i spartically impossible.
the impact depends on how you use the enums in code: if you keep using the myenum.NAME.value
, nothing changes, but if you use the enum stringifictaion, like f"{myenum.NAME}"
(and expect the .value
string) it is broken.
a solution might be to do something like
try:
from enum import StrEnum
except:
class StrEnum(str, Enum):
...
and use StrEnum
in the generated code ?
Bug Report Checklist
As of python 3.11, a generate model class
class MyType(str, Enum)
should be replaced byclass MyType(StrEnum)
Quite annoying, more info https://blog.pecar.me/python-enum