gemd.entity.object.measurement_spec module

class gemd.entity.object.measurement_spec.MeasurementSpec(name: str, *, template: Optional[Union[MeasurementTemplate, LinkByUID]] = None, conditions: Optional[Union[Iterable[Condition], Condition]] = None, parameters: Optional[Union[Parameter, Iterable[Parameter]]] = None, uids: Optional[Mapping[str, str]] = None, tags: Optional[Iterable[str]] = None, notes: Optional[str] = None, file_links: Optional[Union[Iterable[FileLink], FileLink]] = None)

Bases: BaseObject, HasTemplate, HasParameters, HasConditions

A measurement specification.

This includes links to the conditions and parameters under which the measurement is expected to be performed.

Parameters
  • name (str, required) – Name of the measurement spec.

  • uids (Map[str, str], optional) – A collection of unique IDs.

  • tags (List[str], optional) – Tags are hierarchical strings that store information about an entity. They can be used for filtering and discoverability.

  • notes (str, optional) – Long-form notes about the measurement spec.

  • conditions (List[Condition], optional) – Conditions under which this measurement spec occurs.

  • parameters (List[Parameter], optional) – Parameters of this measurement spec.

  • template (MeasurementTemplate) – A template bounding the valid values for the measurement’s properties, parameters, and conditions.

  • file_links (List[FileLink], optional) – Links to associated files, with resource paths into the files API.

add_uid(scope: str, uid: str)

Add a uid.

Parameters
  • scope (str) – scope of the uid

  • uid (str) – Unique identifier

all_dependencies() Set[Union[BaseEntityType, LinkByUIDType]]

Return a set of all immediate dependencies (no recursion).

as_dict() Dict[str, Any]

Convert the object to a dictionary.

Returns

A dictionary representation of the object, where the keys are its fields.

Return type

dict

static build(d: Mapping[str, Any]) DictSerializableType

Build an object from a JSON dictionary.

This differs from from_dict in that the values themselves may also be dictionaries corresponding to serialized DictSerializable objects.

Parameters

d (dict) – The object as a serialized dictionary.

Returns

The deserialized object.

Return type

DictSerializable

dump() Dict[str, Any]

Convert the object to a JSON dictionary, so that every entry is serialized.

Uses the json encoder client, so objects with uids are converted to LinkByUID dictionaries.

Returns

A string representation of the object as a dictionary.

Return type

str

classmethod from_dict(d: Mapping[str, Any]) DictSerializableType

Reconstitute the object from a dictionary.

Parameters

d (dict) – The object as a dictionary of key-value pairs that correspond to the object’s fields.

Returns

The deserialized object.

Return type

DictSerializable

Generate a ~gemd.entity.link_by_uid.LinkByUID for this object.

Parameters
  • scope (str, optional) – scope of the uid to get

  • allow_fallback (bool) – whether to grab another scope/id if chosen scope is missing (Default: False).

Return type

LinkByUID

property conditions: List[Condition]

A list of conditions associated with this entity.

Links to associated files, with resource paths into the files API.

property name: str

Name of the object.

property parameters: List[Parameter]

A list of parameters associated with this entity.

skip = {}
property tags: List[str]

A collection of structured labels.

Tags are hierarchical strings that store information about an entity. They can be used for filtering and discoverability.

property template: Optional[Union[BaseTemplate, LinkByUID]]

A template that defines the allowed values.

typ = 'measurement_spec'
property uids: Dict[str, str]

A collection of unique IDs.

Requirements for and the value of unique IDs are discussed here.