DatasetType

class lsst.daf.butler.DatasetType(name, dimensions, storageClass, *, universe=None)

Bases: object

A named category of Datasets that defines how they are organized, related, and stored.

A concrete, final class whose instances represent DatasetTypes. DatasetType instances may be constructed without a Registry, but they must be registered via Registry.registerDatasetType() before corresponding Datasets may be added. DatasetType instances are immutable.

Parameters
namestr

A string name for the Dataset; must correspond to the same DatasetType across 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).

dimensionsDimensionGraph or iterable of Dimension

Dimensions used to label and relate instances of this DatasetType. If not a DimensionGraph, universe must be provided as well.

storageClassStorageClass or str

Instance of a StorageClass or name of StorageClass that defines how this DatasetType is persisted.

universeDimensionUniverse, optional

Set of all known dimensions, used to normalize dimensions if it is not already a DimensionGraph.

Attributes Summary

VALID_NAME_REGEX

dimensions

The Dimensions that label and relate instances of this DatasetType (DimensionGraph).

name

A string name for the Dataset; must correspond to the same DatasetType across all Registries.

storageClass

StorageClass instance that defines how this DatasetType is persisted.

Methods Summary

component()

Component name (if defined)

componentTypeName(component)

Given a component name, derive the datasetTypeName of that component

isComponent()

Boolean indicating whether this DatasetType refers to a component of a composite.

isComposite()

Boolean indicating whether this DatasetType is a composite type.

nameAndComponent()

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 this DatasetType (DimensionGraph).

name

A string name for the Dataset; must correspond to the same DatasetType across all Registries.

storageClass

StorageClass instance that defines how this DatasetType is 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
compstr

Name of component part of DatasetType name. None if this DatasetType is not associated with a component.

componentTypeName(component)

Given a component name, derive the datasetTypeName of that component

Parameters
componentstr

Name of component

Returns
derivedstr

Compound name of this DatasetType and the component.

Raises
KeyError

Requested component is not supported by this DatasetType.

isComponent()

Boolean indicating whether this DatasetType refers to a component of a composite.

Returns
isComponentbool

True if this DatasetType is a component, False otherwise.

isComposite()

Boolean indicating whether this DatasetType is a composite type.

Returns
isCompositebool

True if this DatasetType is a composite type, False otherwise.

nameAndComponent()

Return the root name of this dataset type and the component name (if defined).

Returns
rootNamestr

Root name for this DatasetType without any components.

componentNamestr

The component if it has been specified, else None.

static nameWithComponent(datasetTypeName, componentName)

Form a valid DatasetTypeName from a parent and component.

No validation is performed.

Parameters
datasetTypeNamestr

Base type name.

componentNamestr

Name of component.

Returns
compTypeNamestr

Name to use for component DatasetType.

static splitDatasetTypeName(datasetTypeName)

Given a dataset type name, return the root name and the component name.

Parameters
datasetTypeNamestr

The name of the dataset type, can include a component using a “.”-separator.

Returns
rootNamestr

Root name without any components.

componentNamestr

The component if it has been specified, else None.

Notes

If the dataset type name is a.b.c this method will return a root name of a and a component name of b.c.