ObservationData#
Module: iqm.station_control.interface.models.observation
- class ObservationData(*, dut_field, value, unit, uncertainty=None, invalid=False, dut_label, source, tags=[], observation_id, created_timestamp, modified_timestamp, observation_set_ids=[])#
Bases:
ObservationLite,ObservationDefinitionThe content of the observation stored in the database.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
Attributes
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
List of observation set UUIDs this observation belongs to.
observation_idUnique identifier of the observation.
created_timestampTime when the object was created in the database.
modified_timestampTime when the object was last modified in the database.
dut_labelDUT label of the device the observation is about.
sourceHow the observation was made, e.g. experiment analysis or manual specification.
tagsHuman-readable tags of the observation.
dut_fieldName of the property the observation is about.
valueValue of the observation.
unitSI unit of the value.
uncertaintyUncertainty of the observation value.
invalidFlag indicating if the observation is invalid.
Methods
Create an observation data from an observation lite, using placeholder values for the missing fields.
- Parameters:
dut_field (str)
value (Annotated[bool | str | int | float | complex | ndarray, PlainValidator(func=~exa.common.data.value.validate_value, json_schema_input_type=~typing.Any), PlainSerializer(func=~exa.common.data.value.serialize_value, return_type=PydanticUndefined, when_used=always), WithJsonSchema(json_schema={}, mode=None)])
unit (str)
uncertainty (Annotated[int | float | complex | ndarray, PlainValidator(func=~exa.common.data.value.validate_value, json_schema_input_type=~typing.Any), PlainSerializer(func=~exa.common.data.value.serialize_value, return_type=PydanticUndefined, when_used=always), WithJsonSchema(json_schema={}, mode=None)] | None)
invalid (bool)
dut_label (str)
observation_id (int)
created_timestamp (datetime)
modified_timestamp (datetime)
- model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- classmethod from_observation_lite(observation, dut_label=None)#
Create an observation data from an observation lite, using placeholder values for the missing fields.
- Parameters:
observation (ObservationLite) – Lightweight observation to convert.
dut_label (str | None) – DUT label of the device the observation is about. A placeholder is used if not given.
- Returns:
Observation data corresponding to
observation, with placeholderdut_label,sourceandtagsif not otherwise derivable fromobservation.- Return type:
Inheritance
