buildExecutionButler¶
- lsst.pipe.base.buildExecutionButler(butler: DirectButler, graph: QuantumGraph, outputLocation: str | ParseResult | ResourcePath | Path, run: str | None, *, clobber: bool = False, butlerModifier: Callable[[Butler], Butler] | None = None, collections: Iterable[str] | None = None, datastoreRoot: str | ParseResult | ResourcePath | Path | None = None, transfer: str = 'auto') Butler ¶
Create an execution butler.
Responsible for exporting input
QuantumGraph
s into a new minimalButler
which only contains datasets specified by theQuantumGraph
.These datasets are both those that already exist in the input
Butler
, and those that are expected to be produced during the execution of theQuantumGraph
.- Parameters:
- butler
lsst.daf.butler.Butler
This is the existing
Butler
instance from which existing datasets will be exported. This should be theButler
which was used to create anyQuantumGraphs
that will be converted with this object.- graph
QuantumGraph
Graph containing nodes that are to be exported into an execution butler
- outputLocationconvertible to
ResourcePath
URI Location at which the execution butler is to be exported. May be specified as a string or a
ResourcePath
instance.- run
str
, optional The run collection that the exported datasets are to be placed in. If None, the default value in registry.defaults will be used.
- clobber
bool
, Optional By default a butler will not be created if a file or directory already exists at the output location. If this is set to
True
what is at the location will be deleted prior to running the export. Defaults toFalse
- butlerModifier
Callable
, Optional If supplied this should be a callable that accepts a
Butler
, and returns an instantiatedButler
. This callable may be used to make any modifications to theButler
desired. This will be called after importing all datasets that exist in the inputButler
but prior to inserting Datasets expected to be produced. Examples of what this method could do include things such as creating collections/runs/ etc.- collections
Iterable
ofstr
, Optional An iterable of collection names that will be exported from the input
Butler
when creating the execution butler. If not supplied theButler
‘sRegistry
default collections will be used.- datastoreRootconvertible to
ResourcePath
, Optional Root directory for datastore of execution butler. If
None
, then the original butler’s datastore will be used.- transfer
str
How (and whether) the input datasets should be added to the execution butler datastore. This should be a
transfer
string recognized bylsst.resources.ResourcePath.transfer_from()
."auto"
means to"copy"
if thedatastoreRoot
is specified.
- butler
- Returns:
- executionButler
lsst.daf.butler.Butler
An instance of the newly created execution butler.
- executionButler
- Raises:
- FileExistsError
Raised if something exists in the filesystem at the specified output location and clobber is
False
.- NotADirectoryError
Raised if specified output URI does not correspond to a directory.