scio enums#
In many place in this package, we use Enum classes in conjunction with Literal as follows:
class Arg(str, Enum):
'''Enum for supported ``arg`` values.'''
__slots__ = ()
VALUE1 = "value1"
VALUE2 = "value2"
type ArgLike = Arg | Literal["value1", "value2"]
This allows static type checkers to understand direct API calls such as func("value1"), while also providing runtime sanitization for more complex uses such as func(Arg(kw[0])).
In fact, we derive such enums from a custom base EnumWithExplicitSupport, which adds nice little tweaks.
Base Enum for explicit error message. |
Used enums
Enum for supported named \(1\)D aggregation methods. |
|
Enum for supported |
|
Enum for supported |
|
Enum for supported |
|
Enum for supported |
|
Enum for supported |
|
Enum for supported |
|
Enum for supported operations timed by |
|
Enum for supported \(z\)-aggregation schemes in |