Source code for ni_measurementlink_service.measurement.info

"""Contains classes and enums to represent measurement metadata."""
from __future__ import annotations

import enum
import typing
from pathlib import Path
from typing import NamedTuple

from google.protobuf import type_pb2


[docs]class MeasurementInfo(NamedTuple): """Class that represents the measurement information. Attributes ---------- display_name (str): The measurement display name for client to display to user. version (str): The measurement version that helps to maintain versions of a measurement in future. ui_file_paths (list): Absolute paths of the UI file(s) linked to the measurement. """ display_name: str version: str ui_file_paths: typing.List[Path]
[docs]class ServiceInfo(NamedTuple): """Class the represents the service information. Attributes ---------- service_class (str): Service class that the measurement belongs to. Measurements under same service class expected to perform same logic. For e.g., different version of measurement can come under same service class. description_url (str): Description URL of the measurement. """ service_class: str description_url: str
[docs]class TypeSpecialization(enum.Enum): """Enum that represents the type specializations for measurement parameters.""" NoType = "" Pin = "pin" Path = "path"
[docs]class DataType(enum.Enum): """Enum that represents the supported data types.""" Int32 = (type_pb2.Field.TYPE_INT32, False, TypeSpecialization.NoType) Int64 = (type_pb2.Field.TYPE_INT64, False, TypeSpecialization.NoType) UInt32 = (type_pb2.Field.TYPE_UINT32, False, TypeSpecialization.NoType) UInt64 = (type_pb2.Field.TYPE_UINT64, False, TypeSpecialization.NoType) Float = (type_pb2.Field.TYPE_FLOAT, False, TypeSpecialization.NoType) Double = (type_pb2.Field.TYPE_DOUBLE, False, TypeSpecialization.NoType) Boolean = (type_pb2.Field.TYPE_BOOL, False, TypeSpecialization.NoType) String = (type_pb2.Field.TYPE_STRING, False, TypeSpecialization.NoType) Pin = (type_pb2.Field.TYPE_STRING, False, TypeSpecialization.Pin) Path = (type_pb2.Field.TYPE_STRING, False, TypeSpecialization.Path) Int32Array1D = (type_pb2.Field.TYPE_INT32, True, TypeSpecialization.NoType) Int64Array1D = (type_pb2.Field.TYPE_INT64, True, TypeSpecialization.NoType) UInt32Array1D = (type_pb2.Field.TYPE_UINT32, True, TypeSpecialization.NoType) UInt64Array1D = (type_pb2.Field.TYPE_UINT64, True, TypeSpecialization.NoType) FloatArray1D = (type_pb2.Field.TYPE_FLOAT, True, TypeSpecialization.NoType) DoubleArray1D = (type_pb2.Field.TYPE_DOUBLE, True, TypeSpecialization.NoType) BooleanArray1D = (type_pb2.Field.TYPE_BOOL, True, TypeSpecialization.NoType) StringArray1D = (type_pb2.Field.TYPE_STRING, True, TypeSpecialization.NoType) PinArray1D = (type_pb2.Field.TYPE_STRING, True, TypeSpecialization.Pin) PathArray1D = (type_pb2.Field.TYPE_STRING, True, TypeSpecialization.Path)