Source code for telemetry_anomdet.ingest.dataset

# src/telemetry_anomdet/ingest/dataset.py

"""
Telemetry dataset loader.

This module a lightweight class called TelemetryDataset that wraps telemetry data in a consistent form factor for downstream processing.
"""

from __future__ import annotations
from dataclasses import dataclass
import pandas as pd

try:
    from typing import Self
except ImportError:
    from typing_extensions import Self

[docs]@dataclass class TelemetryDataset: """ Container for telemetry data. """ # Pandas DataFrame containing telemetry rows. _df: pd.DataFrame
[docs] @classmethod def synthetic(cls) -> Self: """ Generate a small synthetic telemetry dataset for development / testing. Parameters: N/A for now. Returns: TelemetryDataset """ # TODO: Implement function (will do once everything else is implemented) data = {'timestamp': pd.to_datetime(['2025-01-01', '2025-01-01']), 'variable': ['temp', 'pressure'], 'value': [25.5, 1013.25]} df = pd.DataFrame(data) return cls(df)
[docs] @classmethod def to_dataframe(self) -> pd.DataFrame: """ Return a copy of the Dataframe to prevent accidental mutation. """ return self._df.copy()