gemd.entity.object.process_spec module
- class gemd.entity.object.process_spec.ProcessSpec(name: str, *, template: Optional[Union[ProcessTemplate, 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 process specification.
Processes transform zero or more input materials into exactly one output material. This includes links to the parameters and conditions under which the process is expected to be performed, as well as soft links to the output material and the input ingredients.
- Parameters
name (str, required) – Name of the process 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 process spec.
conditions (List[Condition], optional) – Conditions under which this process spec occurs.
parameters (List[Parameter], optional) – Parameters of this process spec.
template (ProcessTemplate, optional) – A template bounding the valid values for this process’s 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
- 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
- to_link(scope: Optional[str] = None, *, allow_fallback: bool = False) LinkByUIDType
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
- property file_links: List[FileLink]
Links to associated files, with resource paths into the files API.
- property ingredients: List[IngredientSpecType]
Ingredient specs that act as inputs to this process spec.
The link is established by creating each ingredient spec and setting its process field to this process spec.
- property name: str
Name of the object.
- property output_material: Optional[MaterialSpecType]
The material spec that this process spec produces.
The link is established by creating the material spec and settings its process field to this process spec.
- skip = {'_ingredients', '_output_material'}
- 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 = 'process_spec'