fastcs.datatypes#

Members

Bool

DataType mapping to builtin bool.

DataType

Generic datatype mapping to a python type, with additional metadata.

Enum

Enum(enum_cls: 'type[T_Enum]')

Float

DataType mapping to builtin float.

Int

DataType mapping to builtin int.

String

DataType mapping to builtin str.

Table

Table(structured_dtype: 'list[tuple[str, DTypeLike]]')

Waveform

Waveform(array_dtype: 'DTypeLike', shape: 'tuple[int, ...]' = (2000,))

class fastcs.datatypes.DataType[source]#

Generic datatype mapping to a python type, with additional metadata.

validate(value: Any) T[source]#

Validate a value against the datatype.

The base implementation is to try the cast and raise a useful error if it fails.

Child classes can implement logic before calling super.validate(value) to modify the value passed in and help the cast succeed or after to perform further validation of the coerced type.

class fastcs.datatypes.Int(units: str | None = None, min: T_Numerical | None = None, max: T_Numerical | None = None, min_alarm: T_Numerical | None = None, max_alarm: T_Numerical | None = None)[source]#

DataType mapping to builtin int.

class fastcs.datatypes.Float(units: str | None = None, min: T_Numerical | None = None, max: T_Numerical | None = None, min_alarm: T_Numerical | None = None, max_alarm: T_Numerical | None = None, prec: int = 2)[source]#

DataType mapping to builtin float.

class fastcs.datatypes.Bool[source]#

DataType mapping to builtin bool.

class fastcs.datatypes.String[source]#

DataType mapping to builtin str.

class fastcs.datatypes.Enum(enum_cls: 'type[T_Enum]')[source]#
class fastcs.datatypes.Waveform(array_dtype: 'DTypeLike', shape: 'tuple[int, ...]' = (2000,))[source]#
class fastcs.datatypes.Table(structured_dtype: 'list[tuple[str, DTypeLike]]')[source]#