ni.datastore.metadata ===================== .. py:module:: ni.datastore.metadata .. autoapi-nested-parse:: Public API for accessing the NI Metadata Store. Classes ------- .. autoapisummary:: ni.datastore.metadata.MetadataStoreClient ni.datastore.metadata.Alias ni.datastore.metadata.AliasTargetType ni.datastore.metadata.ExtensionSchema ni.datastore.metadata.HardwareItem ni.datastore.metadata.MetadataItems ni.datastore.metadata.Operator ni.datastore.metadata.SoftwareItem ni.datastore.metadata.Test ni.datastore.metadata.TestAdapter ni.datastore.metadata.TestDescription ni.datastore.metadata.TestStation ni.datastore.metadata.Uut ni.datastore.metadata.UutInstance Package Contents ---------------- .. py:class:: MetadataStoreClient(discovery_client = None, grpc_channel = None, grpc_channel_pool = None) Metadata store client for publishing and reading metadata. Initialize the MetadataStoreClient. :param discovery_client: An optional discovery client (recommended). :param grpc_channel: An optional metadata store gRPC channel. Providing this channel will bypass discovery service resolution of the metadata store. :param grpc_channel_pool: An optional gRPC channel pool (recommended). .. py:attribute:: __slots__ :value: ('_closed', '_discovery_client', '_grpc_channel', '_grpc_channel_pool',... .. py:method:: __enter__() Enter the runtime context of the metadata store client. .. py:method:: __exit__(exc_type, exc_val, traceback) Exit the runtime context of the metadata store client. .. py:method:: close() Close the metadata store client and clean up resources that it owns. .. py:method:: create_uut_instance(uut_instance) Create a new UUT instance in the metadata store. :param uut_instance: The metadata of the UUT instance to be created. :returns: The identifier of the created UUT instance. :rtype: str .. py:method:: get_uut_instance(uut_instance_id) Get the UUT instance associated with the given identifier. :param uut_instance_id: The identifier of the desired UUT instance. :returns: The metadata of the requested UUT instance. :rtype: UutInstance .. py:method:: query_uut_instances(odata_query = '') Perform an OData query on UUT instances. :param odata_query: An OData query string. Example: "$filter=name eq 'Value'". $expand is not supported. :returns: The list of UUT instances that match the query. :rtype: Sequence[UutInstance] .. py:method:: create_uut(uut) Create a new UUT in the metadata store. :param uut: The metadata of the UUT to be created. :returns: The identifier of the created UUT. :rtype: str .. py:method:: get_uut(uut_id) Get the UUT associated with the given identifier. :param uut_id: The identifier of the desired UUT. :returns: The metadata of the requested UUT. :rtype: Uut .. py:method:: query_uuts(odata_query = '') Perform an OData query on UUTs. :param odata_query: An OData query string. Example: "$filter=name eq 'Value'". $expand is not supported. :returns: The list of UUTs that match the query. :rtype: Sequence[Uut] .. py:method:: create_operator(operator) Create a new operator in the metadata store. :param operator: The metadata of the operator to be created. :returns: The identifier of the created operator. :rtype: str .. py:method:: get_operator(operator_id) Get the operator associated with the given identifier. :param operator_id: The identifier of the desired operator. :returns: The metadata of the requested operator. :rtype: Operator .. py:method:: query_operators(odata_query = '') Perform an OData query on operators. :param odata_query: An OData query string. Example: "$filter=name eq 'Value'". $expand is not supported. :returns: The list of operators that match the query. :rtype: Sequence[Operator] .. py:method:: create_test_description(test_description) Create a test description in the metadata store. :param test_description: The metadata of the test description to be created. :returns: The identifier of the created test description. :rtype: str .. py:method:: get_test_description(test_description_id) Get a test description from the metadata store. :param test_description_id: The identifier of the desired test description. :returns: The metadata of the requested test description. :rtype: TestDescription .. py:method:: query_test_descriptions(odata_query = '') Query test descriptions from the metadata store. :param odata_query: An OData query string. Example: "$filter=name eq 'Value'". $expand is not supported. :returns: The list of test descriptions that match the query. :rtype: Sequence[TestDescription] .. py:method:: create_test(test) Create a test in the metadata store. :param test: The metadata of the test to be created. :returns: The identifier of the created test. :rtype: str .. py:method:: get_test(test_id) Get a test from the metadata store. :param test_id: The identifier of the desired test. :returns: The metadata of the requested test. :rtype: Test .. py:method:: query_tests(odata_query = '') Query tests from the metadata store. .. py:method:: create_test_station(test_station) Create a test station in the metadata store. :param test_station: The metadata of the test station to be created. :returns: The identifier of the created test station. :rtype: str .. py:method:: get_test_station(test_station_id) Get a test station from the metadata store. :param test_station_id: The identifier of the desired test station. :returns: The metadata of the requested test station. :rtype: TestStation .. py:method:: query_test_stations(odata_query = '') Query test stations from the metadata store. .. py:method:: create_hardware_item(hardware_item) Create a hardware item in the metadata store. :param hardware_item: The metadata of the hardware item to be created. :returns: The identifier of the created hardware item. :rtype: str .. py:method:: get_hardware_item(hardware_item_id) Get a hardware item from the metadata store. :param hardware_item_id: The identifier of the desired hardware item. :returns: The metadata of the requested hardware item. :rtype: HardwareItem .. py:method:: query_hardware_items(odata_query = '') Query hardware items from the metadata store. .. py:method:: create_software_item(software_item) Create a software item in the metadata store. :param software_item: The metadata of the software item to be created. :returns: The identifier of the created software item. :rtype: str .. py:method:: get_software_item(software_item_id) Get a software item from the metadata store. :param software_item_id: The identifier of the desired software item. :returns: The metadata of the requested software item. :rtype: SoftwareItem .. py:method:: query_software_items(odata_query = '') Query software items from the metadata store. .. py:method:: create_test_adapter(test_adapter) Create a test adapter in the metadata store. :param test_adapter: The metadata of the test adapter to be created. :returns: The identifier of the created test adapter. :rtype: str .. py:method:: get_test_adapter(test_adapter_id) Get a test adapter from the metadata store. :param test_adapter_id: The identifier of the desired test adapter. :returns: The metadata of the requested test adapter. :rtype: TestAdapter .. py:method:: query_test_adapters(odata_query = '') Query test adapters from the metadata store. .. py:method:: register_schema_from_file(schema_file_path) Register a schema obtained from the specified file in the metadata store. :param schema_file_path: The path at which the schema file is located :raises FileNotFoundError: If the schema file does not exist. .. py:method:: register_schema(schema_contents) Register a schema in the metadata store. Once a schema has been published, it cannot be modified or removed. :param schema_contents: The contents of the JSON or TOML schema. This should be a well-formed JSON or TOML schema. Validation will be performed, and an error will be returned if the schema is not valid. :returns: The ID of the schema. :rtype: str .. py:method:: list_schemas() List the schemas that have been previously registered. :returns: The list of registered schemas. :rtype: Sequence[ExtensionSchema] .. py:method:: get_alias(alias_name) Get an alias and its target (the underlying metadata it represents). :param alias_name: The name of the alias to retrieve. :returns: The alias containing the alias name, target type, and target ID of the underlying metadata. :rtype: Alias .. py:method:: query_aliases(odata_query = '') Perform an OData query on the registered aliases. :param odata_query: An OData query string. Example: "$filter=name eq 'Value'". $expand is not supported. :returns: The list of aliases that match the query. :rtype: Sequence[Alias] .. py:method:: create_alias(alias_name, alias_target) Create (register) an alias of the specified metadata. The specified metadata must have already been created prior to the alias registration. This method may be called with an already registered alias name in order to update the target mapped for that existing alias. :param alias_name: The alias name to register. :param alias_target: The metadata instance to alias. The metadata instance to alias must have already been created in the metadata store in order to register an alias for it. :returns: The created alias containing the alias name, target type, and target ID. :rtype: Alias .. py:method:: delete_alias(alias_name) Remove a registered alias. :param alias_name: The name of the alias to unregister. :returns: Whether the action resulted in the specified alias becoming unregistered. False if the alias does not exist. :rtype: bool .. py:method:: create_from_json_file(metadata_file_path) Create metadata items from a JSON file. :param metadata_file_path: The path to the JSON file containing metadata definitions. :returns: A collection of metadata items created from the JSON document. :rtype: MetadataItems :raises FileNotFoundError: If the JSON file does not exist. .. py:method:: create_from_json(metadata_file_contents) Create metadata items from a JSON document. :param metadata_file_contents: The JSON document content containing metadata definitions. :returns: A collection of metadata items created from the JSON document. :rtype: MetadataItems .. py:class:: Alias(*, name = '', target_type = AliasTargetType.UNSPECIFIED, target_id = '') Represents an alias for metadata. An alias provides a user-friendly name that maps to a specific metadata instance, containing the alias name, the type of the aliased metadata instance, and the unique identifier for the aliased metadata instance. Initialize an Alias instance. :param name: The registered alias name for the aliased metadata instance. :param target_type: The type of the aliased metadata instance. :param target_id: The unique identifier for the aliased metadata instance. .. py:attribute:: __slots__ :value: ('name', 'target_type', 'target_id') .. py:attribute:: name :value: '' .. py:attribute:: target_type .. py:attribute:: target_id :value: '' .. py:method:: from_protobuf(alias_proto) :staticmethod: Create an Alias instance from a protobuf Alias message. .. py:method:: to_protobuf() Convert this Alias to a protobuf Alias message. .. py:method:: __eq__(other) Determine equality. .. py:method:: __str__() Return a string representation of the Alias. .. py:class:: AliasTargetType Bases: :py:obj:`enum.IntEnum` Represents the type of target that an alias can reference. The AliasTargetType enum indicates what kind of metadata entity an alias is pointing to. Initialize self. See help(type(self)) for accurate signature. .. py:attribute:: UNSPECIFIED The alias target type is not specified or unknown. .. py:attribute:: UUT_INSTANCE The alias targets a UUT instance. .. py:attribute:: UUT The alias targets a UUT. .. py:attribute:: HARDWARE_ITEM The alias targets a hardware item. .. py:attribute:: SOFTWARE_ITEM The alias targets a software item. .. py:attribute:: OPERATOR The alias targets an operator. .. py:attribute:: TEST_DESCRIPTION The alias targets a test description. .. py:attribute:: TEST The alias targets a test. .. py:attribute:: TEST_STATION The alias targets a test station. .. py:attribute:: TEST_ADAPTER The alias targets a test adapter. .. py:method:: from_protobuf(alias_target_type_proto) :classmethod: Create an AliasTargetType instance from a protobuf AliasTargetType value. :param alias_target_type_proto: The protobuf AliasTargetType value. :returns: The corresponding AliasTargetType enum value. :raises ValueError: If the protobuf value doesn't correspond to a known AliasTargetType. .. py:method:: to_protobuf() Convert this AliasTargetType instance to a protobuf AliasTargetType value. :returns: The corresponding protobuf AliasTargetType value. .. py:class:: ExtensionSchema(*, id = '', schema = '') Represents an extension schema stored in the system. An extension schema contains the schema ID and the schema definition itself, which can be used to validate extension data in metadata instances. Initialize an ExtensionSchema instance. :param id: The ID of the schema. :param schema: The schema itself. .. py:attribute:: __slots__ :value: ('id', 'schema') .. py:attribute:: id :value: '' .. py:attribute:: schema :value: '' .. py:method:: from_protobuf(extension_schema_proto) :staticmethod: Create an ExtensionSchema instance from a protobuf ExtensionSchema message. .. py:method:: to_protobuf() Convert this ExtensionSchema to a protobuf ExtensionSchema message. .. py:method:: __eq__(other) Determine equality. .. py:method:: __str__() Return a string representation of the ExtensionSchema. .. py:class:: HardwareItem(*, manufacturer = '', model = '', serial_number = '', part_number = '', asset_identifier = '', calibration_due_date = '', link = '', extension = None, schema_id = '') Represents the metadata of a hardware item used to take measurements. A hardware item contains information about physical test equipment including manufacturer, model, serial number, calibration dates, and asset tracking information. Initialize a HardwareItem instance. :param manufacturer: The manufacturer of the hardware item. :param model: The model of the hardware item. :param serial_number: The serial number of the hardware item. :param part_number: The part number of the hardware item. :param asset_identifier: The asset identifier of the hardware item. :param calibration_due_date: The calibration due date of the hardware item. :param link: A link to a resource that describes the hardware item. This value is expected to be a valid URI. :param extension: Any extensions to be associated with the hardware item. :param schema_id: The unique identifier of the schema that applies to this instance's extension. If any extension is associated with this instance, a schema_id must be provided, unless the hardware item is created within the context of a test result, in which case the test result must have a schema_id. .. py:attribute:: __slots__ :value: ('_id', 'manufacturer', 'model', 'serial_number', 'part_number', 'asset_identifier',... .. py:property:: extension :type: MutableMapping[str, str] The extension of the hardware item. .. py:property:: id :type: str The string id of the hardware item. .. py:attribute:: manufacturer :value: '' .. py:attribute:: model :value: '' .. py:attribute:: serial_number :value: '' .. py:attribute:: part_number :value: '' .. py:attribute:: asset_identifier :value: '' .. py:attribute:: calibration_due_date :value: '' .. py:attribute:: link :value: '' .. py:attribute:: schema_id :value: '' .. py:method:: from_protobuf(hardware_item_proto) :staticmethod: Create a HardwareItem instance from a protobuf HardwareItem message. .. py:method:: to_protobuf() Convert this HardwareItem to a protobuf HardwareItem message. .. py:method:: __eq__(other) Determine equality. .. py:method:: __str__() Return a string representation of the HardwareItem. .. py:class:: MetadataItems(*, uut_instances = (), uuts = (), operators = (), test_descriptions = (), tests = (), test_stations = (), hardware_items = (), software_items = (), test_adapters = ()) Represents a collection of metadata items created from a JSON document. This class contains the results of creating metadata items from a JSON document, organizing them by type for easy access. Initialize a MetadataItems instance. :param uut_instances: A sequence of UUT instances created from the JSON document. :param uuts: A sequence of UUTs created from the JSON document. :param operators: A sequence of operators created from the JSON document. :param test_descriptions: A sequence of test descriptions created from the JSON document. :param tests: A sequence of tests created from the JSON document. :param test_stations: A sequence of test stations created from the JSON document. :param hardware_items: A sequence of hardware items created from the JSON document. :param software_items: A sequence of software items created from the JSON document. :param test_adapters: A sequence of test adapters created from the JSON document. .. py:attribute:: __slots__ :value: ('uut_instances', 'uuts', 'operators', 'test_descriptions', 'tests', 'test_stations',... .. py:attribute:: uut_instances :value: () .. py:attribute:: uuts :value: () .. py:attribute:: operators :value: () .. py:attribute:: test_descriptions :value: () .. py:attribute:: tests :value: () .. py:attribute:: test_stations :value: () .. py:attribute:: hardware_items :value: () .. py:attribute:: software_items :value: () .. py:attribute:: test_adapters :value: () .. py:method:: from_protobuf(response) :staticmethod: Create a MetadataItems instance from a protobuf CreateFromJsonDocumentResponse. :param response: The protobuf response containing the created metadata items. :returns: A new MetadataItems instance with all the created items. :rtype: MetadataItems .. py:method:: __eq__(other) Determine equality between MetadataItems instances. .. py:method:: __str__() Return a string representation of the MetadataItems. .. py:class:: Operator(*, name = '', role = '', link = '', extension = None, schema_id = '') Represents the metadata of the operator that took the test step. An operator contains information about the person or entity responsible for conducting tests, including their name and role. Initialize an Operator instance. :param name: The name of the operator. :param role: The role of the operator. :param link: A link to a resource that describes the operator. This value is expected to be a valid URI. :param extension: Any extensions to be associated with the operator. :param schema_id: The unique identifier of the schema that applies to this instance's extension. If any extension is associated with this instance, a schema_id must be provided, unless the operator is created within the context of a test result, in which case the test result must have a schema_id. .. py:attribute:: __slots__ :value: ('_id', 'name', 'role', 'link', '_extension', 'schema_id') .. py:property:: extension :type: MutableMapping[str, str] The extension of the operator. .. py:property:: id :type: str The string id of the operator. .. py:attribute:: name :value: '' .. py:attribute:: role :value: '' .. py:attribute:: link :value: '' .. py:attribute:: schema_id :value: '' .. py:method:: from_protobuf(operator_proto) :staticmethod: Create an Operator instance from a protobuf Operator message. .. py:method:: to_protobuf() Convert this Operator to a protobuf Operator message. .. py:method:: __eq__(other) Determine equality. .. py:method:: __str__() Return a string representation of the Operator. .. py:class:: SoftwareItem(*, product = '', version = '', link = '', extension = None, schema_id = '') Represents the metadata of the software item used to take measurements. A software item contains information about the software product and version used during testing. Initialize a SoftwareItem instance. :param product: The product name of the software item. :param version: The version of the software item. :param link: A link to a resource that describes the software item. This value is expected to be a valid URI. :param extension: Any extensions to be associated with the software item. :param schema_id: The unique identifier of the schema that applies to this instance's extension. If any extension is associated with this instance, a schema_id must be provided, unless the software item is created within the context of a test result, in which case the test result must have a schema_id. .. py:attribute:: __slots__ :value: ('_id', 'product', 'version', 'link', '_extension', 'schema_id') .. py:property:: extension :type: MutableMapping[str, str] The extension of the software item. .. py:property:: id :type: str The string id of the software item. .. py:attribute:: product :value: '' .. py:attribute:: version :value: '' .. py:attribute:: link :value: '' .. py:attribute:: schema_id :value: '' .. py:method:: from_protobuf(software_item_proto) :staticmethod: Create a SoftwareItem instance from a protobuf SoftwareItem message. .. py:method:: to_protobuf() Convert this SoftwareItem to a protobuf SoftwareItem message. .. py:method:: __eq__(other) Determine equality. .. py:method:: __str__() Return a string representation of the SoftwareItem. .. py:class:: Test(*, name = '', description = '', link = '', extension = None, schema_id = '') Represents the metadata of a test. A test contains information about a specific test procedure, including its name and description of what the test does. Initialize a Test instance. :param name: The name of the test. :param description: A description of what the test does. :param link: A link to a resource that describes the test. This value is expected to be a valid URI. :param extension: Any extensions to be associated with the test. :param schema_id: The unique identifier of the schema that applies to this instance's extension. If any extension is associated with this instance, a schema_id must be provided, unless the test is created within the context of a test result, in which case the test result must have a schema_id. .. py:attribute:: __slots__ :value: ('_id', 'name', 'description', 'link', '_extension', 'schema_id') .. py:property:: extension :type: MutableMapping[str, str] The extension of the test. .. py:property:: id :type: str The string id of the test. .. py:attribute:: name :value: '' .. py:attribute:: description :value: '' .. py:attribute:: link :value: '' .. py:attribute:: schema_id :value: '' .. py:method:: from_protobuf(test_proto) :staticmethod: Create a Test instance from a protobuf Test message. .. py:method:: to_protobuf() Convert this Test to a protobuf Test message. .. py:method:: __eq__(other) Determine equality. .. py:method:: __str__() Return a string representation of the Test. .. py:class:: TestAdapter(*, name = '', manufacturer = '', model = '', serial_number = '', part_number = '', asset_identifier = '', calibration_due_date = '', link = '', extension = None, schema_id = '') Represents a test adapter or mechanical setup. This is a board or device that is used to hold, connect, or interface the UUT with the test system. Test adapters may also be referred to as test fixtures, interface boards, breakout boxes, mechanical fixtures, or connection adapters. Initialize a TestAdapter instance. :param name: The name of the test adapter. :param manufacturer: The manufacturer of the test adapter. :param model: The model of the test adapter. :param serial_number: The serial number of the test adapter. :param part_number: The part number of the test adapter. :param asset_identifier: The asset identifier of the test adapter. :param calibration_due_date: The calibration due date of the test adapter. :param link: A link to a resource that describes the test adapter. This value is expected to be a valid URI. :param extension: Any extensions to be associated with the test adapter. :param schema_id: The unique identifier of the schema that applies to this instance's extension. If any extension is associated with this instance, a schema_id must be provided, unless the test adapter is created within the context of a test result, in which case the test result must have a schema_id. .. py:attribute:: __slots__ :value: ('_id', 'name', 'manufacturer', 'model', 'serial_number', 'part_number', 'asset_identifier',... .. py:property:: extension :type: MutableMapping[str, str] The extension of the test adapter. .. py:property:: id :type: str The string id of the test adapter. .. py:attribute:: name :value: '' .. py:attribute:: manufacturer :value: '' .. py:attribute:: model :value: '' .. py:attribute:: serial_number :value: '' .. py:attribute:: part_number :value: '' .. py:attribute:: asset_identifier :value: '' .. py:attribute:: calibration_due_date :value: '' .. py:attribute:: link :value: '' .. py:attribute:: schema_id :value: '' .. py:method:: from_protobuf(test_adapter_proto) :staticmethod: Create a TestAdapter instance from a protobuf TestAdapter message. .. py:method:: to_protobuf() Convert this TestAdapter to a protobuf TestAdapter message. .. py:method:: __eq__(other) Determine equality. .. py:method:: __str__() Return a string representation of the TestAdapter. .. py:class:: TestDescription(*, uut_id = '', name = '', link = '', extension = None, schema_id = '') Represents the metadata of a test description. A test description contains information about a test procedure designed for a specific UUT, including the UUT ID and test description name. Initialize a TestDescription instance. :param uut_id: The ID of the UUT associated with this test description. This value is expected to be a parsable GUID or an alias. :param name: The name of the test description. :param link: A link to a resource that describes the test description. This value is expected to be a valid URI. :param extension: Any extensions to be associated with the test description. :param schema_id: The unique identifier of the schema that applies to this instance's extension. If any extension is associated with this instance, a schema_id must be provided, unless the test description is created within the context of a test result, in which case the test result must have a schema_id. .. py:attribute:: __slots__ :value: ('_id', 'uut_id', 'name', 'link', '_extension', 'schema_id') .. py:property:: extension :type: MutableMapping[str, str] The extension of the test description. .. py:property:: id :type: str The string id of the test description. .. py:attribute:: uut_id :value: '' .. py:attribute:: name :value: '' .. py:attribute:: link :value: '' .. py:attribute:: schema_id :value: '' .. py:method:: from_protobuf(test_description_proto) :staticmethod: Create a TestDescription instance from a protobuf TestDescription message. .. py:method:: to_protobuf() Convert this TestDescription to a protobuf TestDescription message. .. py:method:: __eq__(other) Determine equality. .. py:method:: __str__() Return a string representation of the TestDescription. .. py:class:: TestStation(*, name = '', asset_identifier = '', link = '', extension = None, schema_id = '') Represents the metadata of a test station. A test station contains information about the physical location or setup where testing is performed, including its name and asset identifier for tracking and inventory purposes. Initialize a TestStation instance. :param name: The name of the test station. :param asset_identifier: The asset identifier of the test station. :param link: A link to a resource that describes the test station. This value is expected to be a valid URI. :param extension: Any extensions to be associated with the test station. :param schema_id: The unique identifier of the schema that applies to this instance's extension. If any extension is associated with this instance, a schema_id must be provided, unless the test station is created within the context of a test result, in which case the test result must have a schema_id. .. py:attribute:: __slots__ :value: ('_id', 'name', 'asset_identifier', 'link', '_extension', 'schema_id') .. py:property:: extension :type: MutableMapping[str, str] The extension of the test station. .. py:property:: id :type: str The string id of the test station. .. py:attribute:: name :value: '' .. py:attribute:: asset_identifier :value: '' .. py:attribute:: link :value: '' .. py:attribute:: schema_id :value: '' .. py:method:: from_protobuf(test_station_proto) :staticmethod: Create a TestStation instance from a protobuf TestStation message. .. py:method:: to_protobuf() Convert this TestStation to a protobuf TestStation message. .. py:method:: __eq__(other) Determine equality. .. py:method:: __str__() Return a string representation of the TestStation. .. py:class:: Uut(*, model_name = '', family = '', manufacturers = None, part_number = '', link = '', extension = None, schema_id = '') Represents the metadata of a Unit Under Test (UUT). A UUT represents a model or type of device that can be tested, containing information like model name, family, manufacturers, and part number that describe the UUT type rather than specific instances. Initialize a Uut instance. :param model_name: The name of the UUT model. :param family: The UUT family. :param manufacturers: List of manufacturers of the UUT. :param part_number: The part number of the UUT. :param link: A link to a resource that describes the UUT. This value is expected to be a valid URI. :param extension: Any extensions to be associated with the UUT. :param schema_id: The unique identifier of the schema that applies to this instance's extension. If any extension is associated with this instance, a schema_id must be provided, unless the UUT is created within the context of a test result, in which case the test result must have a schema_id. .. py:attribute:: __slots__ :value: ('_id', 'model_name', 'family', '_manufacturers', 'part_number', 'link', '_extension', 'schema_id') .. py:property:: manufacturers :type: MutableSequence[str] The manufacturers of the UUT. .. py:property:: extension :type: MutableMapping[str, str] The extension of the UUT. .. py:property:: id :type: str The string id of the uut. .. py:attribute:: model_name :value: '' .. py:attribute:: family :value: '' .. py:attribute:: part_number :value: '' .. py:attribute:: link :value: '' .. py:attribute:: schema_id :value: '' .. py:method:: from_protobuf(uut_proto) :staticmethod: Create a Uut instance from a protobuf Uut message. .. py:method:: to_protobuf() Convert this Uut to a protobuf Uut message. .. py:method:: __eq__(other) Determine equality. .. py:method:: __str__() Return a string representation of the Uut. .. py:class:: UutInstance(*, uut_id = '', serial_number = '', manufacture_date = '', firmware_version = '', hardware_version = '', link = '', extension = None, schema_id = '') Represents the metadata of a UUT instance. A UUT instance represents a specific physical instance of a Unit Under Test, with properties like serial number, manufacture date, and firmware version that distinguish it from other instances of the same UUT model. Initialize a UutInstance instance. :param uut_id: The ID of the UUT associated with this UUT instance. This value is expected to be a parsable GUID or an alias. :param serial_number: The serial number of the UUT instance. :param manufacture_date: The date the UUT instance was manufactured. :param firmware_version: Version of the firmware on the UUT instance. :param hardware_version: Hardware version of the UUT instance. :param link: A link to a resource that describes the UUT instance. This value is expected to be a valid URI. :param extension: Any extensions to be associated with the UUT instance. :param schema_id: The unique identifier of the schema that applies to this instance's extension. If any extension is associated with this instance, a schema_id must be provided, unless the UUT instance is created within the context of a test result, in which case the test result must have a schema_id. .. py:attribute:: __slots__ :value: ('_id', 'uut_id', 'serial_number', 'manufacture_date', 'firmware_version', 'hardware_version',... .. py:property:: extension :type: MutableMapping[str, str] The extension of the UUT instance. .. py:property:: id :type: str The string id of the uut instance. .. py:attribute:: uut_id :value: '' .. py:attribute:: serial_number :value: '' .. py:attribute:: manufacture_date :value: '' .. py:attribute:: firmware_version :value: '' .. py:attribute:: hardware_version :value: '' .. py:attribute:: link :value: '' .. py:attribute:: schema_id :value: '' .. py:method:: from_protobuf(uut_instance_proto) :staticmethod: Create a UutInstance from a protobuf UutInstance message. .. py:method:: to_protobuf() Convert this UutInstance to a protobuf UutInstance message. .. py:method:: __eq__(other) Determine equality. .. py:method:: __str__() Return a string representation of the UutInstance.