Skip to content

pysmo.typing

Annotated type aliases that document value constraints.

Each alias pairs a base type with an annotated_types constraint. They are used for attribute and parameter annotations where a value has to satisfy more than its type, and the constraint is shown in the API reference.

Type Aliases:

Name Description
NegativeNumber

Number less than 0.

NegativeTimedelta

Timedelta less than 0.

NonNegativeNumber

Number greater than or equal to 0.

NonNegativeTimedelta

Timedelta greater than or equal to 0.

NonPositiveTimedelta

Timedelta less than or equal to 0.

NonZeroNumber

Number other than 0, of either sign.

PositiveInt

Integer greater than 0.

PositiveNumber

Number greater than 0.

PositiveTimedelta

Timedelta greater than 0.

UnitFloat

Number between 0 and 1, inclusive.

UtcTimestamp

Timestamp with a UTC timezone.

NegativeNumber

NegativeNumber = Annotated[int | float, Lt(0)]

Number less than 0.

NegativeTimedelta

NegativeTimedelta = Annotated[Timedelta, Lt(_ZERO_TD)]

Timedelta less than 0.

NonNegativeNumber

NonNegativeNumber = Annotated[int | float, Ge(0)]

Number greater than or equal to 0.

NonNegativeTimedelta

NonNegativeTimedelta = Annotated[Timedelta, Ge(_ZERO_TD)]

Timedelta greater than or equal to 0.

NonPositiveTimedelta

NonPositiveTimedelta = Annotated[Timedelta, Le(_ZERO_TD)]

Timedelta less than or equal to 0.

NonZeroNumber

NonZeroNumber = Annotated[
    int | float, Predicate(lambda x: x != 0)
]

Number other than 0, of either sign.

PositiveInt

PositiveInt = Annotated[int, Gt(0)]

Integer greater than 0.

PositiveNumber

PositiveNumber = Annotated[int | float, Gt(0)]

Number greater than 0.

PositiveTimedelta

PositiveTimedelta = Annotated[Timedelta, Gt(_ZERO_TD)]

Timedelta greater than 0.

UnitFloat

UnitFloat = Annotated[float | int, Interval(ge=0, le=1)]

Number between 0 and 1, inclusive.

UtcTimestamp

UtcTimestamp = Annotated[Timestamp, Timezone(tz=UTC)]

Timestamp with a UTC timezone.