Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-rag/src/lexigram/ai/rag/cache/__init__.py: 40%
15 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 07:19 +0800
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 07:19 +0800
1from __future__ import annotations
3from typing import TYPE_CHECKING, Any
5if TYPE_CHECKING:
6 from lexigram.ai.rag.cache.base import CacheType, RAGCacheConfig
7 from lexigram.ai.rag.cache.keys import CacheKeyBuilder
8 from lexigram.ai.rag.cache.manager import RAGCache
9 from lexigram.ai.rag.cache.stats import RAGCacheStats
11_LAZY_IMPORTS = {
12 "CacheType": "lexigram.ai.rag.cache.base",
13 "RAGCacheConfig": "lexigram.ai.rag.cache.base",
14 "CacheKeyBuilder": "lexigram.ai.rag.cache.keys",
15 "RAGCacheStats": "lexigram.ai.rag.cache.stats",
16 "RAGCache": "lexigram.ai.rag.cache.manager",
17}
20def __getattr__(name: str) -> Any:
21 if name in _LAZY_IMPORTS:
22 import importlib
24 module_path = _LAZY_IMPORTS[name]
25 module = importlib.import_module(module_path, __package__)
26 value = getattr(module, name)
27 globals()[name] = value
28 return value
29 raise AttributeError(f"module {__name__} has no attribute {name}")
32def __dir__() -> list[str]:
33 return list(_LAZY_IMPORTS.keys())
36__all__ = list(_LAZY_IMPORTS.keys())