DatasetType¶
-
class
lsst.daf.butler.DatasetType(name, dimensions, storageClass, *, universe=None)¶ Bases:
objectA named category of Datasets that defines how they are organized, related, and stored.
A concrete, final class whose instances represent
DatasetTypes.DatasetTypeinstances may be constructed without aRegistry, but they must be registered viaRegistry.registerDatasetType()before corresponding Datasets may be added.DatasetTypeinstances are immutable.- Parameters
- name
str A string name for the Dataset; must correspond to the same
DatasetTypeacross all Registries. Names must start with an upper or lowercase letter, and may contain only letters, numbers, and underscores. Component dataset types should contain a single period separating the base dataset type name from the component name (and may be recursive).- dimensions
DimensionGraphor iterable ofDimension Dimensions used to label and relate instances of this
DatasetType. If not aDimensionGraph,universemust be provided as well.- storageClass
StorageClassorstr Instance of a
StorageClassor name ofStorageClassthat defines how thisDatasetTypeis persisted.- universe
DimensionUniverse, optional Set of all known dimensions, used to normalize
dimensionsif it is not already aDimensionGraph.
- name
Attributes Summary
The
Dimensions that label and relate instances of thisDatasetType(DimensionGraph).A string name for the Dataset; must correspond to the same
DatasetTypeacross all Registries.StorageClassinstance that defines how thisDatasetTypeis persisted.Methods Summary
Component name (if defined)
componentTypeName(component)Given a component name, derive the datasetTypeName of that component
Boolean indicating whether this
DatasetTyperefers to a component of a composite.Boolean indicating whether this
DatasetTypeis a composite type.Return the root name of this dataset type and the component name (if defined).
nameWithComponent(datasetTypeName, componentName)Form a valid DatasetTypeName from a parent and component.
splitDatasetTypeName(datasetTypeName)Given a dataset type name, return the root name and the component name.
Attributes Documentation
-
VALID_NAME_REGEX= re.compile('^[a-zA-Z][a-zA-Z0-9_]*(\\.[a-zA-Z][a-zA-Z0-9_]*)*$')¶
-
dimensions¶ The
Dimensions that label and relate instances of thisDatasetType(DimensionGraph).
-
name¶ A string name for the Dataset; must correspond to the same
DatasetTypeacross all Registries.
-
storageClass¶ StorageClassinstance that defines how thisDatasetTypeis persisted. Note that if DatasetType was constructed with a name of a StorageClass then Butler has to be initialized before using this property.
Methods Documentation
-
component()¶ Component name (if defined)
- Returns
- comp
str Name of component part of DatasetType name.
Noneif thisDatasetTypeis not associated with a component.
- comp
-
componentTypeName(component)¶ Given a component name, derive the datasetTypeName of that component
- Parameters
- component
str Name of component
- component
- Returns
- derived
str Compound name of this
DatasetTypeand the component.
- derived
- Raises
- KeyError
Requested component is not supported by this
DatasetType.
-
isComponent()¶ Boolean indicating whether this
DatasetTyperefers to a component of a composite.- Returns
- isComponent
bool Trueif thisDatasetTypeis a component,Falseotherwise.
- isComponent
-
isComposite()¶ Boolean indicating whether this
DatasetTypeis a composite type.- Returns
- isComposite
bool Trueif thisDatasetTypeis a composite type,Falseotherwise.
- isComposite
-
nameAndComponent()¶ Return the root name of this dataset type and the component name (if defined).
- Returns
- rootName
str Root name for this
DatasetTypewithout any components.- componentName
str The component if it has been specified, else
None.
- rootName
-
static
nameWithComponent(datasetTypeName, componentName)¶ Form a valid DatasetTypeName from a parent and component.
No validation is performed.
-
static
splitDatasetTypeName(datasetTypeName)¶ Given a dataset type name, return the root name and the component name.
- Parameters
- datasetTypeName
str The name of the dataset type, can include a component using a “.”-separator.
- datasetTypeName
- Returns
Notes
If the dataset type name is
a.b.cthis method will return a root name ofaand a component name ofb.c.