from __future__ import annotations from dataclasses import dataclass, field from typing import Any @dataclass(frozen=True) class ProtocolSpec: protocol: str create_device_path: str create_point_path: str point_test_path: str | None = None raw_read_path: str | None = None connect_scan_path: str | None = None search_points_path: str | None = None device_defaults: dict[str, Any] = field(default_factory=dict) point_defaults: dict[str, Any] = field(default_factory=dict)