Address breaking change in Python 3.11 for Enums with str
mixins
#1885
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Addresses breaking change in Python 3.11 for
Enum
s withstr
mixins. See https://blog.pecar.me/python-enum for more information on the issue.Retains compatibility with Python 3.8 by using the
StrEnum
PyPi package rather than the built-inStrEnum
introduced in 3.11.This came to my attention when switching from the MongoDB to the PostgreSQL backend under Python 3.11. The JOINs in
get_alerts()
now use the member's name (e.g.Severity.Minor
) rather than its value (e.g.minor
) resulting in no alerts showing in the Web UI. The requested changes fix this and likely other issues.