EJIO.utils.resource package¶

Submodules¶
EJIO.utils.resource.manager module¶
- class EJIO.utils.resource.manager.resource(key: str, *, is_global: bool = False)[исходный код]¶
Базовые классы:
objectВысокоуровневый фасад и контекстный менеджер для ленивой загрузки и кэширования тяжелых ресурсов (графов, байт, изображений).
Поддерживает работу в режиме менеджера контекста (with) и в режиме прямой фабрики.
- classmethod get_or_create(key: str, factory: Callable[[...], Any], *args: Any, is_global: bool = False, **kwargs: Any) Any[исходный код]¶
Функция-обертка: атомарно проверяет кэш, и если ресурса нет — сама запускает фабрику, кэширует результат и возвращает его.
- Параметры:
key – Ключ под которым хранится ресурс.
factory – Функция, генерирующая ресурс.
is_global – Какое хранилище использовать. Если True, то глобальное, иначе - локальное.
args – Аргументы для функции-генератора.
kwargs – Ключевые аргументы для функции-генератора.
- Результат:
Ресурс.
- classmethod remove(key: str, *, is_global: bool = False) bool[исходный код]¶
Принудительно и потокобезопасно удаляет ресурс из кэша по его ключу. Полезно для инвалидации кэша, когда данные изменились.
- Параметры:
key – Текстовый маркер ресурса.
is_global – Где искать ресурс — в глобальном реестре или локальном контексте.
- Результат:
True, если ресурс был успешно найден и удален, иначе False.
- property value: Any¶
Возвращает значение удерживаемого ресурса (None, если он еще не создан).
- Результат:
Значение ресурса, или None.
EJIO.utils.resource.registry module¶
- class EJIO.utils.resource.registry.GlobalResourceRegistry(*args: tuple[object, ...], **kwargs: dict[str, object])[исходный код]¶
Базовые классы:
Registry[Any]Статическое изолированное хранилище для тяжелых глобальных ресурсов (кэш между экранами и окнами).
Module contents¶
- class EJIO.utils.resource.GlobalResourceRegistry(*args: tuple[object, ...], **kwargs: dict[str, object])[исходный код]¶
Базовые классы:
Registry[Any]Статическое изолированное хранилище для тяжелых глобальных ресурсов (кэш между экранами и окнами).
- class EJIO.utils.resource.resource(key: str, *, is_global: bool = False)[исходный код]¶
Базовые классы:
objectВысокоуровневый фасад и контекстный менеджер для ленивой загрузки и кэширования тяжелых ресурсов (графов, байт, изображений).
Поддерживает работу в режиме менеджера контекста (with) и в режиме прямой фабрики.
- classmethod get_or_create(key: str, factory: Callable[[...], Any], *args: Any, is_global: bool = False, **kwargs: Any) Any[исходный код]¶
Функция-обертка: атомарно проверяет кэш, и если ресурса нет — сама запускает фабрику, кэширует результат и возвращает его.
- Параметры:
key – Ключ под которым хранится ресурс.
factory – Функция, генерирующая ресурс.
is_global – Какое хранилище использовать. Если True, то глобальное, иначе - локальное.
args – Аргументы для функции-генератора.
kwargs – Ключевые аргументы для функции-генератора.
- Результат:
Ресурс.
- classmethod remove(key: str, *, is_global: bool = False) bool[исходный код]¶
Принудительно и потокобезопасно удаляет ресурс из кэша по его ключу. Полезно для инвалидации кэша, когда данные изменились.
- Параметры:
key – Текстовый маркер ресурса.
is_global – Где искать ресурс — в глобальном реестре или локальном контексте.
- Результат:
True, если ресурс был успешно найден и удален, иначе False.
- property value: Any¶
Возвращает значение удерживаемого ресурса (None, если он еще не создан).
- Результат:
Значение ресурса, или None.