CollectionSearch

class lsst.daf.butler.registry.CollectionSearch(*, __root__: tuple[str, ...])

Bases: BaseModel, Sequence[str]

An ordered search path of collections.

The fromExpression method should almost always be used to construct instances, as the regular constructor performs no checking of inputs (and that can lead to confusing error messages downstream).

Parameters:
collectionstuple [ str ]

Tuple of collection names, ordered from the first searched to the last searched.

Notes

A CollectionSearch is used to find a single dataset (or set of datasets with different dataset types or data IDs) according to its dataset type and data ID, giving preference to collections in the order in which they are specified. A CollectionWildcard can be constructed from a broader range of expressions but does not order the collections to be searched.

CollectionSearch is an immutable sequence of str collection names.

A CollectionSearch instance constructed properly (e.g. via fromExpression) is a unique representation of a particular search path; it is exactly the same internally and compares as equal to any CollectionSearch constructed from an equivalent expression, regardless of how different the original expressions appear.

Deprecated since version v25.0: Tuples of string collection names are now preferred. Will be removed after v26.

Methods Summary

construct([_fields_set])

Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data.

copy(*[, include, exclude, update, deep])

Duplicate a model, optionally choose which fields to include, exclude and change.

count(value)

dict(*[, include, exclude, by_alias, ...])

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

explicitNames()

Iterate over collection names that were specified explicitly.

fromExpression(expression)

Process a general expression to construct a CollectionSearch instance.

from_orm(obj)

index(value, [start, [stop]])

Raises ValueError if the value is not present.

json(*[, include, exclude, by_alias, ...])

Generate a JSON representation of the model, include and exclude arguments as per dict().

parse_file(path, *[, content_type, ...])

parse_obj(obj)

parse_raw(b, *[, content_type, encoding, ...])

schema([by_alias, ref_template])

schema_json(*[, by_alias, ref_template])

update_forward_refs(**localns)

Try to update ForwardRefs on fields based on this Model, globalns and localns.

validate(value)

Methods Documentation

classmethod construct(_fields_set: SetStr | None = None, **values: Any) Model

Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = 'allow' was set since it adds all passed values

copy(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, update: DictStrAny | None = None, deep: bool = False) Model

Duplicate a model, optionally choose which fields to include, exclude and change.

Parameters:
  • include – fields to include in new model

  • exclude – fields to exclude from new model, as with values this takes precedence over include

  • update – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

  • deep – set to True to make a deep copy of the model

Returns:

new model instance

count(value) integer -- return number of occurrences of value
dict(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, by_alias: bool = False, skip_defaults: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAny

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

explicitNames() Iterator[str]

Iterate over collection names that were specified explicitly.

classmethod fromExpression(expression: Any) CollectionSearch

Process a general expression to construct a CollectionSearch instance.

Parameters:
expression
May be:
  • a str collection name;

  • an iterable of str collection names;

  • another CollectionSearch instance (passed through unchanged).

Duplicate entries will be removed (preserving the first appearance of each collection name).

Returns
——-
collectionsCollectionSearch

A CollectionSearch instance.

classmethod from_orm(obj: Any) Model
index(value[, start[, stop]]) integer -- return first index of value.

Raises ValueError if the value is not present.

Supporting start and stop arguments is optional, but recommended.

json(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, by_alias: bool = False, skip_defaults: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Callable[[Any], Any] | None = None, models_as_dict: bool = True, **dumps_kwargs: Any) unicode

Generate a JSON representation of the model, include and exclude arguments as per dict().

encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

classmethod parse_file(path: str | Path, *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) Model
classmethod parse_obj(obj: Any) Model
classmethod parse_raw(b: str | bytes, *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) Model
classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') DictStrAny
classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) unicode
classmethod update_forward_refs(**localns: Any) None

Try to update ForwardRefs on fields based on this Model, globalns and localns.

classmethod validate(value: Any) Model