PreExecInit¶
- class lsst.ctrl.mpexec.PreExecInit(butler: Butler, taskFactory: TaskFactory, extendRun: bool = False, mock: bool = False)¶
- Bases: - PreExecInitBase- Initialization of registry for QuantumGraph execution. - This class encapsulates all necessary operations that have to be performed on butler and registry to prepare them for QuantumGraph execution. - Parameters:
- butlerButler
- Data butler instance. 
- taskFactoryTaskFactory
- Task factory. 
- extendRunbool, optional
- If - Truethen do not try to overwrite any datasets that might exist in- butler.run; instead compare them when appropriate/possible. If- False, then any existing conflicting dataset will cause a butler exception to be raised.
- mockbool, optional
- If - Truethen also do initialization needed for pipeline mocking.
 
- butler
 - Methods Summary - find_init_input_refs(taskDef, graph)- Return the list of resolved dataset references for task init inputs. - find_init_output(taskDef, dataset_type_name, ...)- Find task init output for given dataset type. - find_packages(graph)- Find packages information. - initialize(graph[, saveInitOutputs, ...])- Perform all initialization steps. - initializeDatasetTypes(graph[, ...])- Save or check DatasetTypes output by the tasks in a graph. - saveConfigs(graph)- Write configurations for pipeline tasks to butler or check that existing configurations are equal to the new ones. - saveInitOutputs(graph)- Write any datasets produced by initializing tasks in a graph. - savePackageVersions(graph)- Write versions of software packages to butler. - Context manager for transaction. - Methods Documentation - find_init_input_refs(taskDef: TaskDef, graph: QuantumGraph) Iterable[DatasetRef]¶
- Return the list of resolved dataset references for task init inputs. - Parameters:
- taskDefTaskDef
- Pipeline task definition. 
- graphQuantumGraph
- Quantum graph. 
 
- taskDef
- Returns:
- refsIterable[DatasetRef]
- Resolved dataset references. 
 
- refs
 
 - find_init_output(taskDef: TaskDef, dataset_type_name: str, graph: QuantumGraph) tuple[Any | None, DatasetRef]¶
- Find task init output for given dataset type. - Parameters:
- taskDefTaskDef
- Pipeline task definition. 
- dataset_typestr
- Dataset type name. 
- graphQuantumGraph
- Quantum graph. 
 
- taskDef
- Returns:
- data
- Existing init output object retrieved from butler, - Noneif butler has no existing object.
- refDatasetRef
- Resolved reference for init output to be stored in butler. 
 
- Raises:
- MissingReferenceError
- Raised if reference cannot be found or generated. 
 
 
 - find_packages(graph: QuantumGraph) tuple[Packages | None, DatasetRef]¶
- Find packages information. - Parameters:
- graphQuantumGraph
- Quantum graph. 
 
- graph
- Returns:
- packageslsst.utils.packages.PackagesorNone
- Existing packages data retrieved from butler, or - None.
- refDatasetRef
- Resolved reference for packages to be stored in butler. 
 
- packages
- Raises:
- MissingReferenceError
- Raised if reference cannot be found or generated. 
 
 
 - initialize(graph: QuantumGraph, saveInitOutputs: bool = True, registerDatasetTypes: bool = False, saveVersions: bool = True) None¶
- Perform all initialization steps. - Convenience method to execute all initialization steps. Instead of calling this method and providing all options it is also possible to call methods individually. - Parameters:
- graphQuantumGraph
- Execution graph. 
- saveInitOutputsbool, optional
- If - True(default) then save “init outputs”, configurations, and package versions to butler.
- registerDatasetTypesbool, optional
- If - Truethen register dataset types in registry, otherwise they must be already registered.
- saveVersionsbool, optional
- If - Falsethen do not save package versions even if- saveInitOutputsis set to- True.
 
- graph
 
 - initializeDatasetTypes(graph: QuantumGraph, registerDatasetTypes: bool = False) None¶
- Save or check DatasetTypes output by the tasks in a graph. - Iterates over all DatasetTypes for all tasks in a graph and either tries to add them to registry or compares them to existing ones. - Parameters:
- graphQuantumGraph
- Execution graph. 
- registerDatasetTypesbool, optional
- If - Truethen register dataset types in registry, otherwise they must be already registered.
 
- graph
- Raises:
- ValueError
- Raised if existing DatasetType is different from DatasetType in a graph. 
- KeyError
- Raised if - registerDatasetTypesis- Falseand DatasetType does not exist in registry.
 
 
 - saveConfigs(graph: QuantumGraph) None¶
- Write configurations for pipeline tasks to butler or check that existing configurations are equal to the new ones. - Parameters:
- graphQuantumGraph
- Execution graph. 
 
- graph
- Raises:
- TypeError
- Raised if existing object in butler is different from new data. 
- Exception
- Raised if - extendRunis- Falseand datasets already exists. Content of a butler collection should not be changed if exception is raised.
 
 
 - saveInitOutputs(graph: QuantumGraph) None¶
- Write any datasets produced by initializing tasks in a graph. - Parameters:
- graphQuantumGraph
- Execution graph. 
 
- graph
- Raises:
- TypeError
- Raised if the type of existing object in butler is different from new data. 
 
 
 - savePackageVersions(graph: QuantumGraph) None¶
- Write versions of software packages to butler. - Parameters:
- graphQuantumGraph
- Execution graph. 
 
- graph
- Raises:
- TypeError
- Raised if existing object in butler is incompatible with new data.