Source code for pynenc.client_data_store.mem_client_data_store

"""
Memory-based client data store for development and testing.

Stores serialized data in a local Python dictionary. Not suitable for
production — cache is not shared between processes.

Key components:
- MemClientDataStore: In-memory dict-backed client data store
"""

from typing import TYPE_CHECKING

from pynenc.client_data_store.base_client_data_store import BaseClientDataStore

if TYPE_CHECKING:
    from pynenc.app import Pynenc


[docs] class MemClientDataStore(BaseClientDataStore): """ Memory-based implementation of the client data store. Stores serialized values in local memory using a dictionary. Suitable for development and testing, but not recommended for production as cache is not shared between processes. """ def __init__(self, app: "Pynenc") -> None: super().__init__(app) self._storage: dict[str, str] = {}
[docs] def _store(self, key: str, value: str) -> None: """Store a value in memory.""" self._storage[key] = value
[docs] def _retrieve(self, key: str) -> str: """Retrieve a value from memory.""" if key not in self._storage: raise KeyError(f"Key not found: {key}") return self._storage[key]
[docs] def _purge(self) -> None: """Clear the memory store.""" self._storage.clear()