Source code for speasy.core.index.speasy_index

try:
    import pysciqlop_cache as sc
except ImportError:  # pragma: no cover - platform-specific (WASM has no wheel)
    # No compiled backend (e.g. WASM/Pyodide): fall back to a no-op store.
    from speasy.core.cache import _noop_cache as sc

from speasy.config import index as index_cfg
from speasy.core.cache.cache import _migrate_legacy_diskcache


[docs] class SpeasyIndex: def __init__(self): path = index_cfg.path() _migrate_legacy_diskcache(path) self._index = sc.Index(path=path)
[docs] def get(self, module, key, default=None): return self._index.get(f'{module}/{key}', default)
[docs] def set(self, module, key, value): self._index[f'{module}/{key}'] = value
[docs] def pop(self, module, key): return self._index.pop(f'{module}/{key}')
[docs] def contains(self, module, key): return f'{module}/{key}' in self._index