Skip to content

default_retriever

Classes:

Name Description
DefaultRetriever

Default API for retrieving data from one or more input sources.

Classes#

DefaultRetriever #

Bases: Retriever

Default API for retrieving data from one or more input sources.

Reads data from one or more inputs, renames coordinates and data variables according to retrieval and dataset configurations, and applies registered DataConverters to retrieved data.

Classes:

Name Description
Parameters

Methods:

Name Description
retrieve

Attributes:

Name Type Description
parameters Parameters
readers Dict[Pattern, DataReader]

A mapping of patterns to DataReaders that the retriever uses to determine which

Attributes#

parameters class-attribute instance-attribute #
parameters: Parameters = Parameters()
readers instance-attribute #
readers: Dict[Pattern, DataReader]

A mapping of patterns to DataReaders that the retriever uses to determine which DataReader to use for reading any given input key.

Classes#

Parameters #

Bases: BaseModel

Attributes:

Name Type Description
merge_kwargs Dict[str, Any]

Keyword arguments passed to xr.merge(). This is only relevant if multiple

Attributes#
merge_kwargs class-attribute instance-attribute #
merge_kwargs: Dict[str, Any] = {}

Keyword arguments passed to xr.merge(). This is only relevant if multiple input keys are provided simultaneously, or if any registered DataReader objects could return a dataset mapping instead of a single dataset.

Functions#

retrieve #
retrieve(
    input_keys: List[str],
    dataset_config: DatasetConfig,
    **kwargs: Any
) -> xr.Dataset
Source code in tsdat/io/retrievers/default_retriever.py
def retrieve(
    self, input_keys: List[str], dataset_config: DatasetConfig, **kwargs: Any
) -> xr.Dataset:
    raw_mapping = self._get_raw_mapping(input_keys)
    dataset_mapping: Dict[str, xr.Dataset] = {}
    for key, dataset in raw_mapping.items():
        input_config = InputKeyRetrievalRules(
            input_key=key,
            coord_rules=self.coords,  # type: ignore
            data_var_rules=self.data_vars,  # type: ignore
        )
        dataset = _rename_variables(dataset, input_config)
        dataset = _reindex_dataset_coords(dataset, dataset_config, input_config)
        dataset = _run_data_converters(dataset, dataset_config, input_config)
        dataset_mapping[key] = dataset
    output_dataset = self._merge_raw_mapping(dataset_mapping)
    return output_dataset