buildLightweightButler

lsst.pipe.base.buildLightweightButler(butler: lsst.daf.butler._butler.Butler, graph: lsst.pipe.base.graph.graph.QuantumGraph, outputLocation: str, run: str, *, clobber: bool = False, butlerModifier: Optional[Callable[[lsst.daf.butler._butler.Butler], lsst.daf.butler._butler.Butler]] = None, collections: Optional[Iterable[str]] = None) → None

buildLightweightButler is a function that is responsible for exporting input QuantumGraphs into a new minimal Butler which only contains datasets specified by the QuantumGraph. These datasets are both those that already exist in the input Butler, and those that are expected to be produced during the execution of the QuantumGraph.

Parameters:
butler : lsst.daf.butler.Bulter

This is the existing Butler instance from which existing datasets will be exported. This should be the Butler which was used to create any QuantumGraphs that will be converted with this object.

graph : QuantumGraph

Graph containing nodes that are to be exported into a lightweight butler

outputLocation : str

Location at which the lightweight butler is to be exported

run : str

The run collection that the exported datasets are to be placed in.

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 to False

butlerModifier : Callable, Optional

If supplied this should be a callable that accepts a Butler, and returns an instantiated Butler. This callable may be used to make any modifications to the Butler desired. This will be called after importing all datasets that exist in the input Butler 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 of str, Optional

An iterable of collection names that will be exported from the input Butler when creating the lightweight butler. If not supplied the Butler’s Registry default collections will be used.

Raises:
FileExistsError

Raise if something exists in the filesystem at the specified output location and clobber is False