omnipy.util.literal_enum_generator
Helpers for generating LiteralEnum source code from value collections.
Use generate_literal_enum_code() to scaffold a LiteralEnum class from a
sequence of values or a mapping of names to values.
| FUNCTION | DESCRIPTION |
|---|---|
generate_literal_enum_code |
Generate Python source code for a |
| ATTRIBUTE | DESCRIPTION |
|---|---|
ValueType |
|
ValueType
module-attribute
ValueType = (
Sequence[LiteralEnumInnerTypes]
| Mapping[str, LiteralEnumInnerTypes]
| MappingProxyType[str, LiteralEnumInnerTypes]
)
- Reference Code reference
generate_literal_enum_code
generate_literal_enum_code(
values: ValueType,
docstrings: Mapping[LiteralEnumInnerTypes, Sequence[str]] | None = None,
include_imports: bool = True,
class_name: str = "NewLiteralEnum",
) -> str
Generate Python source code for a LiteralEnum subclass.
| PARAMETER | DESCRIPTION |
|---|---|
values
|
Sequence of literal values or mapping of attribute names to literal values.
TYPE:
|
docstrings
|
Optional mapping from literal values to attribute docstring paragraphs.
TYPE:
|
include_imports
|
Whether to include the required
TYPE:
|
class_name
|
Name of the generated
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
str
|
Python source code for the generated |
| RAISES | DESCRIPTION |
|---|---|
ValueError
|
If no values are provided, if |
Examples:
A typical call generates a ready-to-paste class definition from a sequence of values or a mapping of names to values.