Extension to the StrEnum class to add dict-like behaviour.
Find a file
Rasmus Vester Thøgersen bef486e282 Initial commit
2026-06-01 14:19:51 +02:00
symbolic_constants Initial commit 2026-06-01 14:19:51 +02:00
.gitignore Initial commit 2026-06-01 14:19:51 +02:00
.python-version Initial commit 2026-06-01 14:19:51 +02:00
LICENSE.md Initial commit 2026-06-01 14:19:51 +02:00
pyproject.toml Initial commit 2026-06-01 14:19:51 +02:00
README.md Initial commit 2026-06-01 14:19:51 +02:00

symbolic-constants

Extension of the StrEnum to class to enable some additional dictionary-like behaviour.

Usage

Subclass SymbolicConstant:

from symbolic_constants import SymbolicConstant

class MyConstant(SymbolicConstant):
    ATTRIBUTE1: "attribute 1"
    ATTRIBUTE2: "attribute 2"

Use as type hint in function definitions:


def foo(attr: MyConstant) -> MyConstant:
    ...

... or access the string literal directly:

a = foo(attr = MyConstant.ATTRIBUTE1)

Access all attributes in a dictionary like fashion:

MyConstant.values()

# Returns ['attribute 1', 'attribute 2']

MyConstant.keys()
# Returns ['ATTRIBUTE1', 'ATTRIBUTE2']

MyConstant.items()
# Returns [('ATTRIBUTE1', 'attribute 1'), ('ATTRIBUTE2', 'attribute 2')]