TaskDatasetTypes

class lsst.pipe.base.TaskDatasetTypes(initInputs: NamedValueSet[DatasetType], initOutputs: NamedValueSet[DatasetType], inputs: NamedValueSet[DatasetType], queryConstraints: NamedValueSet[DatasetType], prerequisites: NamedValueSet[DatasetType], outputs: NamedValueSet[DatasetType])

Bases: object

An immutable struct that extracts and classifies the dataset types used by a PipelineTask

Methods Summary

fromTaskDef(taskDef, *, registry[, ...])

Extract and classify the dataset types from a single PipelineTask.

Methods Documentation

classmethod fromTaskDef(taskDef: TaskDef, *, registry: Registry, include_configs: bool = True, storage_class_mapping: Mapping[str, str] | None = None) TaskDatasetTypes

Extract and classify the dataset types from a single PipelineTask.

Parameters:
taskDef: `TaskDef`

An instance of a TaskDef class for a particular PipelineTask.

registry: `Registry`

Registry used to construct normalized DatasetType objects and retrieve those that are incomplete.

include_configsbool, optional

If True (default) include config dataset types as initOutputs.

storage_class_mappingMapping of str to StorageClass, optional

If a taskdef contains a component dataset type that is unknown to the registry, its parent StorageClass will be looked up in this mapping if it is supplied. If the mapping does not contain the composite dataset type, or the mapping is not supplied an exception will be raised.

Returns:
types: TaskDatasetTypes

The dataset types used by this task.

Raises:
ValueError

Raised if dataset type connection definition differs from registry definition.

LookupError

Raised if component parent StorageClass could not be determined and storage_class_mapping does not contain the composite type, or is set to None.