DatasetIdFactory

class lsst.daf.butler.registry.interfaces.DatasetIdFactory

Bases: object

Factory for dataset IDs (UUIDs).

For now the logic is hard-coded and is controlled by the user-provided value of DatasetIdGenEnum. In the future we may implement a configurable logic that can guess DatasetIdGenEnum value from other parameters.

Attributes Summary

NS_UUID Namespace UUID used for UUID5 generation.

Methods Summary

makeDatasetId(run, datasetType, dataId, …) Generate dataset ID for a dataset.

Attributes Documentation

NS_UUID = UUID('840b31d9-05cd-5161-b2c8-00d32b280d0f')

Namespace UUID used for UUID5 generation. Do not change. This was produced by uuid.uuid5(uuid.NAMESPACE_DNS, "lsst.org").

Methods Documentation

makeDatasetId(run: str, datasetType: lsst.daf.butler.core.datasets.type.DatasetType, dataId: lsst.daf.butler.core.dimensions._coordinate.DataCoordinate, idGenerationMode: lsst.daf.butler.registry.interfaces._datasets.DatasetIdGenEnum) → uuid.UUID

Generate dataset ID for a dataset.

Parameters:
run : str

Name of the RUN collection for the dataset.

datasetType : DatasetType

Dataset type.

dataId : DataCoordinate

Expanded data ID for the dataset.

idGenerationMode : DatasetIdGenEnum

ID generation option. UNIQUE makes a random UUID4-type ID. DATAID_TYPE makes a deterministic UUID5-type ID based on a dataset type name and dataId. DATAID_TYPE_RUN makes a deterministic UUID5-type ID based on a dataset type name, run collection name, and dataId.

Returns:
datasetId : uuid.UUID

Dataset identifier.