CollectionSummary¶
- class lsst.daf.butler.registry.CollectionSummary(dataset_types: ~lsst.daf.butler.core.named.NamedValueSet[~lsst.daf.butler.core.datasets.type.DatasetType] = <factory>, governors: dict[str, set[str]] = <factory>)¶
Bases:
object
A summary of the datasets that can be found in a collection.
Methods Summary
add_data_ids
(dataset_type, data_ids)Include the given dataset type and data IDs in the summary.
add_data_ids_generator
(dataset_type, data_ids)Include the given dataset type and data IDs in the summary, yielding them back as a generator.
add_datasets
(refs)Include the given datasets in the summary.
add_datasets_generator
(refs)Include the given datasets in the summary, yielding them back as a generator.
copy
()Return a deep copy of this object.
is_compatible_with
(dataset_type, dimensions)Test whether the collection summarized by this object should be queried for a given dataset type and governor dimension values.
union
()Construct a summary that contains all dataset types and governor dimension values in any of the inputs.
update
(*args)Update this summary with dataset types and governor dimension values from other summaries.
Methods Documentation
- add_data_ids(dataset_type: DatasetType, data_ids: Iterable[DataCoordinate]) None ¶
Include the given dataset type and data IDs in the summary.
- Parameters:
- dataset_type
DatasetType
Dataset type to include.
- data_ids
Iterable
[DataCoordinate
] Data IDs to include.
- dataset_type
- add_data_ids_generator(dataset_type: DatasetType, data_ids: Iterable[DataCoordinate]) Generator[DataCoordinate, None, None] ¶
Include the given dataset type and data IDs in the summary, yielding them back as a generator.
- Parameters:
- dataset_type
DatasetType
Dataset type to include.
- data_ids
Iterable
[DataCoordinate
] Data IDs to include.
- dataset_type
- Yields:
- data_id
DataCoordinate
The same data IDs originally passed in.
- data_id
Notes
As a generator, this method does nothing if its return iterator is not used. Call
add_data_ids
instead to avoid this; this method is intended for the case where the given iterable may be single-pass and a copy is not desired, but other processing needs to be done on its elements.
- add_datasets(refs: Iterable[DatasetRef]) None ¶
Include the given datasets in the summary.
- Parameters:
- refs
Iterable
[DatasetRef
] Datasets to include.
- refs
- add_datasets_generator(refs: Iterable[DatasetRef]) Generator[DatasetRef, None, None] ¶
Include the given datasets in the summary, yielding them back as a generator.
- Parameters:
- refs
Iterable
[DatasetRef
] Datasets to include.
- refs
- Yields:
- ref
DatasetRef
The same dataset references originally passed in.
- ref
Notes
As a generator, this method does nothing if its return iterator is not used. Call
add_datasets
instead to avoid this; this method is intended for the case where the given iterable may be single-pass and a copy is not desired, but other processing needs to be done on its elements.
- copy() CollectionSummary ¶
Return a deep copy of this object.
- Returns:
- copy
CollectionSummary
A copy of
self
that can be modified without modifyingself
at all.
- copy
- is_compatible_with(dataset_type: DatasetType, dimensions: Mapping[str, AbstractSet[str]], rejections: List[str] | None = None, name: str | None = None) bool ¶
Test whether the collection summarized by this object should be queried for a given dataset type and governor dimension values.
- Parameters:
- dataset_type
DatasetType
Dataset type being queried. If this collection has no instances of this dataset type (or its parent dataset type, if it is a component),
False
will always be returned.- dimensions
Mapping
Bounds on the values governor dimensions can take in the query, usually from a WHERE expression, as a mapping from dimension name to a set of
str
governor dimension values.- rejections
list
[str
], optional If provided, a list that will be populated with a log- or exception-friendly message explaining why this dataset is incompatible with this collection when
False
is returned.- name
str
, optional Name of the collection this object summarizes, for use in messages appended to
rejections
. Ignored ifrejections
isNone
.
- dataset_type
- Returns:
- union() CollectionSummary ¶
Construct a summary that contains all dataset types and governor dimension values in any of the inputs.
- Parameters:
- *args
CollectionSummary
Summaries to combine.
- *args
- Returns:
- unioned
CollectionSummary
New summary object that represents the union of the given ones.
- unioned
- update(*args: CollectionSummary) None ¶
Update this summary with dataset types and governor dimension values from other summaries.
- Parameters:
- *args
CollectionSummary
Summaries to include in
self
.
- *args