InMemoryDatasetHandle

class lsst.pipe.base.InMemoryDatasetHandle(inMemoryDataset: Any, *, storageClass: StorageClass | None = None, parameters: dict[str, Any] | None = None, dataId: DataCoordinate | Mapping[str, Any] | None = None, copy: bool = False, **kwargs: Any)

Bases: object

An in-memory version of a DeferredDatasetHandle.

Parameters:
inMemoryDatasetAny

The dataset to be used by this handle.

storageClassStorageClass or None, optional

The storage class associated with the in-memory dataset. If None and if a storage class is needed, an attempt will be made to work one out from the underlying python type.

parametersdict [str, Any]

Parameters to be used with get.

dataIdDataId or None, optional

The dataId associated with this dataset. Only used for compatibility with the Butler implementation. Can be used for logging messages by calling code. If dataId is not specified, a default empty dataId will be constructed.

copybool, optional

Whether to copy on get or not.

**kwargsAny

If kwargs are provided without specifying a dataId, those parameters will be converted into a dataId-like entity.

Attributes Summary

copy

Control whether a copy of the in-memory dataset is returned for every call to get().

parameters

Optional parameters that may be used to specify a subset of the dataset to be loaded (dict or None).

storageClass

The name of the StorageClass associated with this dataset.

Methods Summary

get(*[, component, parameters, storageClass])

Retrieve the dataset pointed to by this handle.

Attributes Documentation

copy: bool = False

Control whether a copy of the in-memory dataset is returned for every call to get().

parameters: dict | None = None

Optional parameters that may be used to specify a subset of the dataset to be loaded (dict or None).

storageClass: str | None = None

The name of the StorageClass associated with this dataset.

If None, the storage class will be looked up from the factory.

Methods Documentation

get(*, component: str | None = None, parameters: dict | None = None, storageClass: str | StorageClass | None = None) Any

Retrieve the dataset pointed to by this handle.

This handle may be used multiple times, possibly with different parameters.

Parameters:
componentstr or None

If the deferred object is a component dataset type, this parameter may specify the name of the component to use in the get operation.

parametersdict or None

The parameters argument will be passed to the butler get method. It defaults to None. If the value is not None, this dict will be merged with the parameters dict used to construct the DeferredDatasetHandle class.

storageClassStorageClass or str, optional

The storage class to be used to override the Python type returned by this method. By default the returned type matches the type stored. Specifying a read StorageClass can force a different type to be returned. This type must be compatible with the original type.

Returns:
returnobject

The dataset pointed to by this handle. Whether this returns the original object or a copy is controlled by the copy property of the handle that is set at handle construction time. If the stored object is None this method always returns None regardless of any component request or parameters.

Raises:
KeyError

Raised if a component or parameters are used but no storage class can be found.