Source code for fynance.data.parquet

#!/usr/bin/env python3
# coding: utf-8

""" Parquet data-source adapter (polars-backed). """

from __future__ import annotations

# Built-in packages
from pathlib import Path
from typing import Any

# Local packages
from fynance.core import PriceSeries
from fynance.data.base import BaseDataSource, frame_to_series, register

__all__ = ['ParquetSource']


[docs] @register("parquet") class ParquetSource(BaseDataSource): """ Read a Parquet file into a :class:`PriceSeries` (or a mapping). """
[docs] def load( self, path: str | Path, value_col: str | None = None, index_col: str | None = None, freq: str | None = None, **kwargs: Any, ) -> PriceSeries | dict[str, PriceSeries]: """ Load ``path`` (see :meth:`CSVSource.load` for parameters). """ import polars as pl df = pl.read_parquet(path, **kwargs) return frame_to_series(df, value_col, index_col, freq)