enumTools.py 502 B

1234567891011121314151617181920212223
  1. """Enum-related utilities, including backports for older Python versions."""
  2. from __future__ import annotations
  3. from enum import Enum
  4. __all__ = ["StrEnum"]
  5. # StrEnum is only available in Python 3.11+
  6. try:
  7. from enum import StrEnum
  8. except ImportError:
  9. class StrEnum(str, Enum):
  10. """
  11. Minimal backport of Python 3.11's StrEnum for older versions.
  12. An Enum where all members are also strings.
  13. """
  14. def __str__(self) -> str:
  15. return self.value