init commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
"""Abstract storage API for calibration/reference sets."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from abc import ABC, abstractmethod
|
||||
from pathlib import Path
|
||||
|
||||
from python_app.models.dataset_model import ComboKey, SweepCollection
|
||||
|
||||
|
||||
class StoreApi(ABC):
|
||||
"""Storage contract used by workflows and GUI code."""
|
||||
|
||||
@abstractmethod
|
||||
def save_set(self, kind: str, radar_key: str, set_name: str, collection: SweepCollection) -> None:
|
||||
"""Persist a named set."""
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def load_set(self, kind: str, radar_key: str, set_name: str) -> SweepCollection:
|
||||
"""Load a named set."""
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def list_sets(self, kind: str, radar_key: str) -> list[str]:
|
||||
"""List set names for kind/radar key."""
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def has_combo_coverage(self, kind: str, radar_key: str, set_name: str, combos: list[ComboKey]) -> bool:
|
||||
"""Check whether stored set covers requested switch combinations."""
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def export_set_bundle(self, kind: str, radar_key: str, set_name: str, output_path: Path) -> Path:
|
||||
"""Export set into binary bundle file for C++ preprocessing."""
|
||||
raise NotImplementedError
|
||||
Reference in New Issue
Block a user