RepoImportBackend

class lsst.daf.butler.RepoImportBackend

Bases: abc.ABC

An abstract interface for data repository import implementations.

Import backends are expected to be constructed with a description of the objects that need to be imported (from, e.g., a file written by the corresponding export backend), along with a Registry.

Methods Summary

load(datastore, *, directory, transfer, …) Import information associated with the backend into the given registry and datastore.
register() Register all runs and dataset types associated with the backend with the Registry the backend was constructed with.

Methods Documentation

load(datastore: Optional[Datastore], *, directory: Optional[str] = None, transfer: Optional[str] = None, skip_dimensions: Optional[Set] = None) → None

Import information associated with the backend into the given registry and datastore.

This must be run after register, and may be performed inside a transaction.

Parameters:
datastore : Datastore

Datastore to import into. If None, datasets will only be inserted into the Registry (primarily intended for tests).

directory : str, optional

File all dataset paths are relative to.

transfer : str, optional

Transfer mode forwarded to Datastore.ingest.

skip_dimensions : set, optional

Dimensions that should be skipped and not imported. This can be useful when importing into a registry that already knows about a specific instrument.

register() → None

Register all runs and dataset types associated with the backend with the Registry the backend was constructed with.

These operations cannot be performed inside transactions, unlike those performed by load, and must in general be performed before load.