Source code for ts_benchmark.data.data_pool_impl_base
# -*- coding: utf-8 -*-
import abc
from typing import Optional
import pandas as pd
[docs]
class DataPoolImpl(metaclass=abc.ABCMeta):
"""
Base class for data pool implementations
This class acts as a data client in each worker that feeds data to the pipeline.
Techniques such as local caching may be adopted to improve performance.
"""
[docs]
@abc.abstractmethod
def get_series(self, name: str) -> Optional[pd.DataFrame]:
"""
Gets time series data by name
The returned DataFrame follows the OTB protocol.
:param name: The name of the series to get.
:return: Time series data in DataFrame format. If the time series is not available,
return None.
"""
[docs]
@abc.abstractmethod
def get_series_meta_info(self, name: str) -> Optional[pd.Series]:
"""
Gets the meta information of time series by name
We do not return the meta information of unexisting series even if
the meta information itself is available.
:param name: The name of the series to get.
:return: Meta information data in Series format. If the meta information or the
corresponding series is not available, return None.
"""