Skip to content

pysmo.typing

Constrained type aliases used in pysmo.

Type Aliases:

Name Description
NegativeNumber

Negative Numbers (Float or Int) less than 0.

NegativeTimedelta

Negative Timedelta.

NonNegativeNumber

Non-negative Numbers (Float or Int) greater than or equal to 0.

NonNegativeTimedelta

Non-negative Timedelta (includes 0 total_seconds).

NonZeroNumber

Non-zero Numbers (Float or Int) of either sign.

PositiveInt

Positive Integers greater than 0.

PositiveNumber

Positive Numbers (Float or Int) greater than 0.

PositiveTimedelta

Positive Timedelta.

UnitFloat

Float between 0.0 and 1.0, or int that is 0 or 1.

UtcTimestamp

Timestamp with utc timezone information.

NegativeNumber

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

Negative Numbers (Float or Int) less than 0.

NegativeTimedelta

NegativeTimedelta = Annotated[Timedelta, Lt(_ZERO_TD)]

Negative Timedelta.

NonNegativeNumber

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

Non-negative Numbers (Float or Int) greater than or equal to 0.

NonNegativeTimedelta

NonNegativeTimedelta = Annotated[Timedelta, Ge(_ZERO_TD)]

Non-negative Timedelta (includes 0 total_seconds).

NonZeroNumber

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

Non-zero Numbers (Float or Int) of either sign.

PositiveInt

PositiveInt = Annotated[int, Gt(0)]

Positive Integers greater than 0.

PositiveNumber

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

Positive Numbers (Float or Int) greater than 0.

PositiveTimedelta

PositiveTimedelta = Annotated[Timedelta, Gt(_ZERO_TD)]

Positive Timedelta.

UnitFloat

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

Float between 0.0 and 1.0, or int that is 0 or 1.

UtcTimestamp

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

Timestamp with utc timezone information.