DatasetRef¶
- 
class lsst.daf.butler.DatasetRef(datasetType: lsst.daf.butler.core.datasets.type.DatasetType, dataId: lsst.daf.butler.core.dimensions._coordinate.DataCoordinate, *, id: Union[int, uuid.UUID, None] = None, run: Optional[str] = None, conform: bool = True)¶
- Bases: - object- Reference to a Dataset in a - Registry.- A - DatasetRefmay point to a Dataset that currently does not yet exist (e.g., because it is a predicted input for provenance).- Parameters: - datasetType : DatasetType
- The - DatasetTypefor this Dataset.
- dataId : DataCoordinate
- A mapping of dimensions that labels the Dataset within a Collection. 
- id : DatasetId, optional
- The unique identifier assigned when the dataset is created. 
- run : str, optional
- The name of the run this dataset was associated with when it was created. Must be provided if - idis.
- conform : bool, optional
- If - True(default), call- DataCoordinate.standardizeto ensure that the data ID’s dimensions are consistent with the dataset type’s.- DatasetRefinstances for which those dimensions are not equal should not be created in new code, but are still supported for backwards compatibility. New code should only pass- Falseif it can guarantee that the dimensions are already consistent.
 - Raises: - ValueError
- Raised if - runis provided but- idis not, or if- idis provided but- runis not.
 - See also - Attributes Summary - dataId- A mapping of - Dimensionprimary key values that labels the dataset within a Collection (- DataCoordinate).- datasetType- The definition of this dataset ( - DatasetType).- dimensions- Dimensions associated with the underlying - DatasetType.- id- Primary key of the dataset ( - DatasetIdor- None).- run- The name of the run that produced the dataset. - Methods Summary - expanded(dataId)- Return a new - DatasetRefwith the given expanded data ID.- from_json(json_str, universe, registry)- Convert from JSON to a pydantic model. - from_simple(simple, universe, registry)- Construct a new object from simplified form. - getCheckedId()- Return - self.id, or raise if it is- None.- groupByType(refs)- Group an iterable of - DatasetRefby- DatasetType.- isComponent()- Indicate whether this - DatasetRefrefers to a component.- isComposite()- Boolean indicating whether this - DatasetRefis a composite type.- makeComponentRef(name)- Create a - DatasetRefthat corresponds to a component.- makeCompositeRef()- Create a - DatasetRefof the composite from a component ref.- resolved(id, uuid.UUID], run)- Return resolved - DatasetRef.- to_json(minimal)- Convert this class to JSON assuming that the - to_simple()returns a pydantic model.- to_simple(minimal)- Convert this class to a simple python type. - unresolved()- Return unresolved - DatasetRef.- Attributes Documentation - 
dataId¶
- A mapping of - Dimensionprimary key values that labels the dataset within a Collection (- DataCoordinate).- Cannot be changed after a - DatasetRefis constructed.
 - 
datasetType¶
- The definition of this dataset ( - DatasetType).- Cannot be changed after a - DatasetRefis constructed.
 - 
dimensions¶
- Dimensions associated with the underlying - DatasetType.
 - 
id¶
- Primary key of the dataset ( - DatasetIdor- None).- Cannot be changed after a - DatasetRefis constructed; use- resolvedor- unresolvedto add or remove this information when creating a new- DatasetRef.
 - 
run¶
- The name of the run that produced the dataset. - Cannot be changed after a - DatasetRefis constructed; use- resolvedor- unresolvedto add or remove this information when creating a new- DatasetRef.
 - Methods Documentation - 
expanded(dataId: lsst.daf.butler.core.dimensions._coordinate.DataCoordinate) → lsst.daf.butler.core.datasets.ref.DatasetRef¶
- Return a new - DatasetRefwith the given expanded data ID.- Parameters: - dataId : DataCoordinate
- Data ID for the new - DatasetRef. Must compare equal to the original data ID.
 - Returns: - ref : DatasetRef
- A new - DatasetRefwith the given data ID.
 
- dataId : 
 - 
classmethod from_json(json_str: str, universe: Optional[DimensionUniverse] = None, registry: Optional[Registry] = None) → SupportsSimple¶
- Convert from JSON to a pydantic model. 
 - 
classmethod from_simple(simple: SerializedDatasetRef, universe: Optional[DimensionUniverse] = None, registry: Optional[Registry] = None) → DatasetRef¶
- Construct a new object from simplified form. - Generally this is data returned from the - to_simplemethod.- Parameters: - simple : dictof [str,Any]
- The value returned by - to_simple().
- universe : DimensionUniverse
- The special graph of all known dimensions. Can be - Noneif a registry is provided.
- registry : lsst.daf.butler.Registry, optional
- Registry to use to convert simple form of a DatasetRef to a full - DatasetRef. Can be- Noneif a full description of the type is provided along with a universe.
 - Returns: - ref : DatasetRef
- Newly-constructed object. 
 
- simple : 
 - 
getCheckedId() → Union[int, uuid.UUID]¶
- Return - self.id, or raise if it is- None.- This trivial method exists to allow operations that would otherwise be natural list comprehensions to check that the ID is not - Noneas well.- Returns: - id : DatasetId
- self.idif it is not- None.
 - Raises: - AmbiguousDatasetError
- Raised if - ref.idis- None.
 
- id : 
 - 
static groupByType(refs: Iterable[lsst.daf.butler.core.datasets.ref.DatasetRef]) → lsst.daf.butler.core.named.NamedKeyDict[lsst.daf.butler.core.datasets.type.DatasetType, typing.List[lsst.daf.butler.core.datasets.ref.DatasetRef]][lsst.daf.butler.core.datasets.type.DatasetType, List[lsst.daf.butler.core.datasets.ref.DatasetRef]]¶
- Group an iterable of - DatasetRefby- DatasetType.- Parameters: - refs : Iterable[DatasetRef]
- DatasetRefinstances to group.
 - Returns: - grouped : NamedKeyDict[DatasetType,list[DatasetRef] ]
- Grouped - DatasetRefinstances.
 
- refs : 
 - 
isComponent() → bool¶
- Indicate whether this - DatasetRefrefers to a component.- Returns: - isComponent : bool
- Trueif this- DatasetRefis a component,- Falseotherwise.
 
- isComponent : 
 - 
isComposite() → bool¶
- Boolean indicating whether this - DatasetRefis a composite type.- Returns: - isComposite : bool
- Trueif this- DatasetRefis a composite type,- Falseotherwise.
 
- isComposite : 
 - 
makeComponentRef(name: str) → lsst.daf.butler.core.datasets.ref.DatasetRef¶
- Create a - DatasetRefthat corresponds to a component.- Parameters: - name : str
- Name of the component. 
 - Returns: - ref : DatasetRef
- A - DatasetRefwith a dataset type that corresponds to the given component, and the same ID and run (which may be- None, if they are- Nonein- self).
 
- name : 
 - 
makeCompositeRef() → lsst.daf.butler.core.datasets.ref.DatasetRef¶
- Create a - DatasetRefof the composite from a component ref.- Requires that this - DatasetRefis a component.- Returns: - ref : DatasetRef
- A - DatasetRefwith a dataset type that corresponds to the composite parent of this component, and the same ID and run (which may be- None, if they are- Nonein- self).
 
- ref : 
 - 
resolved(id: Union[int, uuid.UUID], run: str) → lsst.daf.butler.core.datasets.ref.DatasetRef¶
- Return resolved - DatasetRef.- This is a new - DatasetRefwith the same data ID and dataset type and the given ID and run.- Parameters: - id : DatasetId
- The unique identifier assigned when the dataset is created. 
- run : str
- The run this dataset was associated with when it was created. 
 - Returns: - ref : DatasetRef
- A new - DatasetRef.
 
- id : 
 - 
to_json(minimal: bool = False) → str¶
- Convert this class to JSON assuming that the - to_simple()returns a pydantic model.
 - 
to_simple(minimal: bool = False) → lsst.daf.butler.core.datasets.ref.SerializedDatasetRef¶
- Convert this class to a simple python type. - This makes it suitable for serialization. - Parameters: - minimal : bool, optional
- Use minimal serialization. Requires Registry to convert back to a full type. 
 - Returns: 
- minimal : 
 - 
unresolved() → lsst.daf.butler.core.datasets.ref.DatasetRef¶
- Return unresolved - DatasetRef.- This is a new - DatasetRefwith the same data ID and dataset type, but no ID or run.- Returns: - ref : DatasetRef
- A new - DatasetRef.
 - Notes - This can be used to compare only the data ID and dataset type of a pair of - DatasetRefinstances, regardless of whether either is resolved:- if ref1.unresolved() == ref2.unresolved(): ... 
- ref : 
 
- datasetType :