ArchiveTree#
- pydantic model lsst.images.serialization.ArchiveTree#
An intermediate base class of
pydantic.BaseModelthat should be used for all objects that may be used as the top-level tree models written to archives.See Schema versioning for how the
SCHEMA_NAME/SCHEMA_VERSION/MIN_READ_VERSIONconstants and theschema_version/min_read_version/schema_urlfields are used.- Parameters:
data (
Any)- Fields:
- Validators:
_check_and_normalize_schema_version»all fields
- field butler_info: ButlerInfo | None = None#
Information about the butler dataset backed by this file.
- Validated by:
_check_and_normalize_schema_version
- field indirect: list[Any] [Optional]#
Serialized nested objects that may be saved or read more than once.
- Validated by:
_check_and_normalize_schema_version
- field metadata: dict[str, MetadataValue] [Optional]#
Additional unstructured metadata.
- Validated by:
_check_and_normalize_schema_version
- field min_read_version: int = 1#
Smallest reader major that can interpret this tree.
- Validated by:
_check_and_normalize_schema_version
- field schema_version: str = '1.0.0'#
Data-model schema version of this tree (major.minor.patch).
- Validated by:
_check_and_normalize_schema_version
- abstract deserialize(archive, **kwargs)#
Return the in-memory object that was serialized to this tree.
- Parameters:
archive (
InputArchive[Any]) – The input archive to read from.**kwargs (
Any) – Additional keyword arguments specific to this type.
- Raises:
InvalidParameterError – Raised for unsupported
**kwargs.- Return type:
Notes
Subclass implementations may take additional keyword-only arguments. Callers that invoke this method without knowing what those might be should catch
TypeErrorand re-raise asInvalidParameterErrorif they pass additional keyword arguments.
- deserialize_component(component, archive, **kwargs)#
Return a component in-memory object that was serialized to this tree.
- Parameters:
component (
str) – Name of the component to read.archive (
InputArchive[Any]) – The input archive to read from.**kwargs (
Any) – Additional keyword arguments specific to this type.
- Raises:
InvalidComponentError – Raise if
componentis not recognized.InvalidParameterError – Raised for unsupported
**kwargs.
- Return type:
Notes
The default implementation for this method tries to get an attribute with the component’s name from
self, and then:calls
deserializeon that object if it is also anArchiveTree;returns it directly otherwise.
If there is no such attribute, it raises
InvalidComponentError.**kwargsare forwarded to componentdeserializemethods, but are otherwise not checked. Subclasses are generally expected to implement this method to do that checking and handle any components for which the other will not work, and then delegate tosuperat the end.
- MIN_READ_VERSION: ClassVar[int]#
- PUBLIC_TYPE: ClassVar[type]#
In-memory Python type produced by this tree’s
deserialize(e.g.dictfor a mapping return). Declared explicitly by each concrete subclass and surfaced bypublic_type_for_schema.
- SCHEMA_NAME: ClassVar[str]#
- SCHEMA_URL_BASE: ClassVar[str] = 'https://images.lsst.io/schemas'#
Base for this schema’s URL, as
{SCHEMA_URL_BASE}/{name}-{version}.External packages providing their own schemas should override this (once, on a shared intermediate base class) so their schema URLs are minted under a documentation site they control rather than images.lsst.io.
- SCHEMA_VERSION: ClassVar[str]#