from __future__ import annotations from typing import List from openbench_privacy_preserving_benchmarkin.core import KPIRecord from openbench_privacy_preserving_benchmarkin.contracts import DataContract class Adapter: """Base adapter interface for data sources.""" def __init__(self, name: str, contract: DataContract): self.name = name self.contract = contract def collect(self) -> List[KPIRecord]: # pragma: no cover - abstract in base raise NotImplementedError