varona.enum

Helper class for case-insensitive string enums.

class BackportStrEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, Enum

Enum where members are also instances of str.

This is available in Python 3.11+ so it’s a backport for older Python versions.

class CiStrEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: StrEnum

Gets the enum member by case-insensitive string value.

From Python docs. It’s not the most comprehensive definition of a case-insensitive string enum, but it’s good enough for our use, which is mainly to make arguement parsing enums, but assist the case-insensitivity there.