예제 #1
0
    def __init__(self,
                 name: str,
                 *,
                 uids: Optional[Dict[str, str]] = None,
                 tags: Optional[List[str]] = None,
                 notes: Optional[str] = None,
                 material: Optional[GEMDMaterialSpec] = None,
                 process: Optional[GEMDProcessSpec] = None,
                 mass_fraction: Optional[ContinuousValue] = None,
                 volume_fraction: Optional[ContinuousValue] = None,
                 number_fraction: Optional[ContinuousValue] = None,
                 absolute_quantity: Optional[ContinuousValue] = None,
                 labels: Optional[List[str]] = None,
                 file_links: Optional[List[FileLink]] = None):
        if uids is None:
            uids = dict()

        DataConcepts.__init__(self, GEMDIngredientSpec.typ)
        GEMDIngredientSpec.__init__(self,
                                    uids=uids,
                                    tags=tags,
                                    notes=notes,
                                    material=material,
                                    process=process,
                                    mass_fraction=mass_fraction,
                                    volume_fraction=volume_fraction,
                                    number_fraction=number_fraction,
                                    absolute_quantity=absolute_quantity,
                                    labels=labels,
                                    name=name,
                                    file_links=file_links)
예제 #2
0
 def __init__(self,
              name: str,
              uids: Optional[Dict[str, str]] = None,
              tags: Optional[List[str]] = None,
              notes: Optional[str] = None,
              conditions: Optional[List[Condition]] = None,
              properties: Optional[List[Property]] = None,
              parameters: Optional[List[Parameter]] = None,
              spec: Optional[TaurusMeasurementSpec] = None,
              material: Optional[TaurusMaterialRun] = None,
              file_links: Optional[List[FileLink]] = None,
              source: Optional[PerformedSource] = None):
     DataConcepts.__init__(self, TaurusMeasurementRun.typ)
     TaurusMeasurementRun.__init__(self,
                                   name=name,
                                   uids=set_default_uid(uids),
                                   material=material,
                                   tags=tags,
                                   conditions=conditions,
                                   properties=properties,
                                   parameters=parameters,
                                   spec=spec,
                                   file_links=file_links,
                                   notes=notes,
                                   source=source)
 def __init__(self,
              name: str,
              uids: Optional[Dict[str, str]] = None,
              conditions: Optional[Sequence[
                  Union[ConditionTemplate, LinkByUID,
                        Sequence[Union[ConditionTemplate, LinkByUID,
                                       BaseBounds]]]]] = None,
              parameters: Optional[Sequence[
                  Union[ParameterTemplate, LinkByUID,
                        Sequence[Union[ParameterTemplate, LinkByUID,
                                       BaseBounds]]]]] = None,
              allowed_labels: Optional[List[str]] = None,
              allowed_names: Optional[List[str]] = None,
              description: Optional[str] = None,
              tags: Optional[List[str]] = None):
     DataConcepts.__init__(self, TaurusProcessTemplate.typ)
     TaurusProcessTemplate.__init__(self,
                                    name=name,
                                    uids=set_default_uid(uids),
                                    conditions=conditions,
                                    parameters=parameters,
                                    tags=tags,
                                    description=description,
                                    allowed_labels=allowed_labels,
                                    allowed_names=allowed_names)
 def __init__(self,
              name: str,
              *,
              uids: Optional[Dict[str, str]] = None,
              conditions: Optional[Sequence[
                  Union[ConditionTemplate, LinkByUID,
                        Sequence[Union[ConditionTemplate, LinkByUID,
                                       Optional[BaseBounds]]]]]] = None,
              parameters: Optional[Sequence[
                  Union[ParameterTemplate, LinkByUID,
                        Sequence[Union[ParameterTemplate, LinkByUID,
                                       Optional[BaseBounds]]]]]] = None,
              allowed_labels: Optional[List[str]] = None,
              allowed_names: Optional[List[str]] = None,
              description: Optional[str] = None,
              tags: Optional[List[str]] = None):
     if uids is None:
         uids = dict()
     DataConcepts.__init__(self, GEMDProcessTemplate.typ)
     GEMDProcessTemplate.__init__(self,
                                  name=name,
                                  uids=uids,
                                  conditions=conditions,
                                  parameters=parameters,
                                  tags=tags,
                                  description=description,
                                  allowed_labels=allowed_labels,
                                  allowed_names=allowed_names)
 def __init__(self,
              name: str,
              *,
              uids: Optional[Dict[str, str]] = None,
              properties: Optional[Sequence[
                  Union[PropertyTemplate, LinkByUID,
                        Sequence[Union[PropertyTemplate, LinkByUID,
                                       Optional[BaseBounds]]]]]] = None,
              conditions: Optional[Sequence[
                  Union[ConditionTemplate, LinkByUID,
                        Sequence[Union[ConditionTemplate, LinkByUID,
                                       Optional[BaseBounds]]]]]] = None,
              parameters: Optional[Sequence[
                  Union[ParameterTemplate, LinkByUID,
                        Sequence[Union[ParameterTemplate, LinkByUID,
                                       Optional[BaseBounds]]]]]] = None,
              description: Optional[str] = None,
              tags: Optional[List[str]] = None):
     if uids is None:
         uids = dict()
     DataConcepts.__init__(self, GEMDMeasurementTemplate.typ)
     GEMDMeasurementTemplate.__init__(self,
                                      name=name,
                                      properties=properties,
                                      conditions=conditions,
                                      parameters=parameters,
                                      tags=tags,
                                      uids=uids,
                                      description=description)
 def __init__(self,
              name: str,
              *,
              uids: Optional[Dict[str, str]] = None,
              tags: Optional[List[str]] = None,
              notes: Optional[str] = None,
              conditions: Optional[List[Condition]] = None,
              properties: Optional[List[Property]] = None,
              parameters: Optional[List[Parameter]] = None,
              spec: Optional[GEMDMeasurementSpec] = None,
              material: Optional[GEMDMaterialRun] = None,
              file_links: Optional[List[FileLink]] = None,
              source: Optional[PerformedSource] = None):
     if uids is None:
         uids = dict()
     DataConcepts.__init__(self, GEMDMeasurementRun.typ)
     GEMDMeasurementRun.__init__(self,
                                 name=name,
                                 uids=uids,
                                 material=material,
                                 tags=tags,
                                 conditions=conditions,
                                 properties=properties,
                                 parameters=parameters,
                                 spec=spec,
                                 file_links=file_links,
                                 notes=notes,
                                 source=source)
예제 #7
0
 def __init__(self,
              name: str,
              uids: Optional[Dict[str, str]] = None,
              tags: Optional[List[str]] = None,
              notes: Optional[str] = None,
              material: Optional[TaurusMaterialRun] = None,
              process: Optional[TaurusProcessRun] = None,
              mass_fraction: Optional[ContinuousValue] = None,
              volume_fraction: Optional[ContinuousValue] = None,
              number_fraction: Optional[ContinuousValue] = None,
              absolute_quantity: Optional[ContinuousValue] = None,
              labels: Optional[List[str]] = None,
              spec: Optional[TaurusIngredientSpec] = None,
              file_links: Optional[List[FileLink]] = None):
     DataConcepts.__init__(self, TaurusIngredientRun.typ)
     TaurusIngredientRun.__init__(self,
                                  uids=set_default_uid(uids),
                                  tags=tags,
                                  notes=notes,
                                  material=material,
                                  process=process,
                                  mass_fraction=mass_fraction,
                                  volume_fraction=volume_fraction,
                                  number_fraction=number_fraction,
                                  absolute_quantity=absolute_quantity,
                                  labels=labels,
                                  name=name,
                                  spec=spec,
                                  file_links=file_links)
예제 #8
0
 def __init__(self,
              name: str,
              bounds: BaseBounds,
              uids: Optional[Dict[str, str]] = None,
              description: Optional[str] = None,
              tags: Optional[List[str]] = None):
     DataConcepts.__init__(self, TaurusParameterTemplate.typ)
     TaurusParameterTemplate.__init__(self, name=name, bounds=bounds, tags=tags,
                                      uids=set_default_uid(uids), description=description)
예제 #9
0
 def __init__(self,
              name: str,
              *,
              bounds: BaseBounds,
              uids: Optional[Dict[str, str]] = None,
              description: Optional[str] = None,
              tags: Optional[List[str]] = None):
     if uids is None:
         uids = dict()
     DataConcepts.__init__(self, GEMDParameterTemplate.typ)
     GEMDParameterTemplate.__init__(self, name=name, bounds=bounds, tags=tags,
                                    uids=uids, description=description)
 def __init__(self,
              name: str,
              *,
              uids: Optional[Dict[str, str]] = None,
              tags: Optional[List[str]] = None,
              notes: Optional[str] = None,
              conditions: Optional[List[Condition]] = None,
              parameters: Optional[List[Parameter]] = None,
              template: Optional[GEMDMeasurementTemplate] = None,
              file_links: Optional[List[FileLink]] = None):
     if uids is None:
         uids = dict()
     DataConcepts.__init__(self, GEMDMeasurementSpec.typ)
     GEMDMeasurementSpec.__init__(self, name=name, uids=uids,
                                  tags=tags, conditions=conditions, parameters=parameters,
                                  template=template, file_links=file_links, notes=notes)
예제 #11
0
 def __init__(self,
              name: str,
              *,
              uids: Optional[Dict[str, str]] = None,
              tags: Optional[List[str]] = None,
              notes: Optional[str] = None,
              process: Optional[GEMDProcessSpec] = None,
              properties: Optional[List[PropertyAndConditions]] = None,
              template: Optional[GEMDMaterialTemplate] = None,
              file_links: Optional[List[FileLink]] = None):
     if uids is None:
         uids = dict()
     DataConcepts.__init__(self, GEMDMaterialSpec.typ)
     GEMDMaterialSpec.__init__(self, name=name, uids=uids,
                               tags=tags, process=process, properties=properties,
                               template=template, file_links=file_links, notes=notes)
 def __init__(self,
              name: str,
              uids: Optional[Dict[str, str]] = None,
              properties: Optional[Sequence[
                  Union[PropertyTemplate, LinkByUID,
                        Sequence[Union[PropertyTemplate, LinkByUID,
                                       BaseBounds]]]]] = None,
              description: Optional[str] = None,
              tags: Optional[List[str]] = None):
     # properties is a list, each element of which is a PropertyTemplate OR is a list with
     # 2 entries: [PropertyTemplate, BaseBounds]. Python typing is not expressive enough, so
     # the typing above is more general.
     DataConcepts.__init__(self, TaurusMaterialTemplate.typ)
     TaurusMaterialTemplate.__init__(self,
                                     name=name,
                                     properties=properties,
                                     uids=set_default_uid(uids),
                                     tags=tags,
                                     description=description)
예제 #13
0
 def __init__(self,
              name: str,
              uids: Optional[Dict[str, str]] = None,
              tags: Optional[List[str]] = None,
              notes: Optional[str] = None,
              process: Optional[TaurusProcessRun] = None,
              sample_type: Optional[str] = "unknown",
              spec: Optional[TaurusMaterialSpec] = None,
              file_links: Optional[List[FileLink]] = None):
     DataConcepts.__init__(self, TaurusMaterialRun.typ)
     TaurusMaterialRun.__init__(self,
                                name=name,
                                uids=set_default_uid(uids),
                                tags=tags,
                                process=process,
                                sample_type=sample_type,
                                spec=spec,
                                file_links=file_links,
                                notes=notes)
예제 #14
0
 def __init__(self,
              name: str,
              uids: Optional[Dict[str, str]] = None,
              tags: Optional[List[str]] = None,
              notes: Optional[str] = None,
              process: Optional[TaurusProcessSpec] = None,
              properties: Optional[List[PropertyAndConditions]] = None,
              template: Optional[TaurusMaterialTemplate] = None,
              file_links: Optional[List[FileLink]] = None):
     DataConcepts.__init__(self, TaurusMaterialSpec.typ)
     TaurusMaterialSpec.__init__(self,
                                 name=name,
                                 uids=set_default_uid(uids),
                                 tags=tags,
                                 process=process,
                                 properties=properties,
                                 template=template,
                                 file_links=file_links,
                                 notes=notes)
예제 #15
0
 def __init__(self,
              name: str,
              uids: Optional[Dict[str, str]] = None,
              tags: Optional[List[str]] = None,
              notes: Optional[str] = None,
              conditions: Optional[List[Condition]] = None,
              parameters: Optional[List[Parameter]] = None,
              template: Optional[TaurusMeasurementTemplate] = None,
              file_links: Optional[List[FileLink]] = None):
     DataConcepts.__init__(self, TaurusMeasurementSpec.typ)
     TaurusMeasurementSpec.__init__(self,
                                    name=name,
                                    uids=set_default_uid(uids),
                                    tags=tags,
                                    conditions=conditions,
                                    parameters=parameters,
                                    template=template,
                                    file_links=file_links,
                                    notes=notes)
예제 #16
0
 def __init__(self,
              name: str,
              uids: Optional[Dict[str, str]] = None,
              tags: Optional[List[str]] = None,
              notes: Optional[str] = None,
              conditions: Optional[List[Condition]] = None,
              parameters: Optional[List[Parameter]] = None,
              spec: Optional[TaurusProcessSpec] = None,
              file_links: Optional[List[FileLink]] = None,
              source: Optional[PerformedSource] = None):
     DataConcepts.__init__(self, TaurusProcessRun.typ)
     TaurusProcessRun.__init__(self,
                               name=name,
                               uids=set_default_uid(uids),
                               tags=tags,
                               conditions=conditions,
                               parameters=parameters,
                               spec=spec,
                               file_links=file_links,
                               notes=notes,
                               source=source)
예제 #17
0
    def _build_discarded_objects(cls,
                                 obj,
                                 obj_with_soft_links,
                                 session: Session = None):
        """
        Build the MeasurementRun objects that this MaterialRun has soft links to.

        The measurement runs are found in `obj_with_soft_link`

        This method modifies the object in place.

        Parameters
        ----------
        obj: MaterialRun
            A MaterialRun object that might be missing some links to MeasurementRun objects.
        obj_with_soft_links: dict or \
        :py:class:`DictSerializable <taurus.entity.dict_serializable.DictSerializable>`
            A representation of the MaterialRun in which the MeasurementRuns are encoded.
            We consider both the possibility that this is a dictionary with a 'measurements' key
            and that it is a
            :py:class:`DictSerializable <taurus.entity.dict_serializable.DictSerializable>`
            (presumably a
            :py:class:`TaurusMeasurementRun <taurus.entity.measurement_run.MeasurementRun>`)
            with a .measurements field.
        session: Session, optional
            Citrine session used to connect to the database.

        Returns
        -------
        None
            The MaterialRun object is modified so that it has links to its MeasurementRuns.

        """
        from citrine.resources.measurement_run import MeasurementRun
        DataConcepts._build_list_of_soft_links(obj,
                                               obj_with_soft_links,
                                               field='measurements',
                                               reverse_field='material',
                                               linked_type=MeasurementRun,
                                               session=session)
예제 #18
0
 def __init__(self,
              name: str,
              *,
              uids: Optional[Dict[str, str]] = None,
              tags: Optional[List[str]] = None,
              notes: Optional[str] = None,
              process: Optional[GEMDProcessRun] = None,
              sample_type: Optional[str] = "unknown",
              spec: Optional[GEMDMaterialSpec] = None,
              file_links: Optional[List[FileLink]] = None):
     if uids is None:
         uids = dict()
     DataConcepts.__init__(self, GEMDMaterialRun.typ)
     GEMDMaterialRun.__init__(self,
                              name=name,
                              uids=uids,
                              tags=tags,
                              process=process,
                              sample_type=sample_type,
                              spec=spec,
                              file_links=file_links,
                              notes=notes)
 def __init__(self,
              name: str,
              *,
              uids: Optional[Dict[str, str]] = None,
              tags: Optional[List[str]] = None,
              notes: Optional[str] = None,
              conditions: Optional[List[Condition]] = None,
              parameters: Optional[List[Parameter]] = None,
              spec: Optional[GEMDProcessSpec] = None,
              file_links: Optional[List[FileLink]] = None,
              source: Optional[PerformedSource] = None):
     if uids is None:
         uids = dict()
     DataConcepts.__init__(self, GEMDProcessRun.typ)
     GEMDProcessRun.__init__(self,
                             name=name,
                             uids=uids,
                             tags=tags,
                             conditions=conditions,
                             parameters=parameters,
                             spec=spec,
                             file_links=file_links,
                             notes=notes,
                             source=source)
예제 #20
0
def test_get_type():
    """Test that get_type works, even though its not used in DataConcepts.build"""

    assert DataConcepts.get_type({"type": "process_run"}) == ProcessRun
    assert DataConcepts.get_type(ProcessSpec("foo")) == ProcessSpec