"""In-memory contract registry for versioned data contracts.""" from __future__ import annotations from typing import Dict, Tuple, Any class ContractRegistry: def __init__(self) -> None: # key: (name, version) -> contract_schema (any JSON-serializable contract descriptor) self._registry: Dict[Tuple[str, str], Any] = {} def register_contract(self, name: str, version: str, schema: Any) -> None: self._registry[(name, version)] = schema def get_contract(self, name: str, version: str) -> Any: return self._registry.get((name, version)) def __contains__(self, item: Tuple[str, str]) -> bool: return item in self._registry __all__ = ["ContractRegistry"]