Coverage for src/bluetooth_sig/gatt/descriptors/__init__.py: 79%
14 statements
« prev ^ index » next coverage.py v7.14.3, created at 2026-06-28 01:26 +0000
« prev ^ index » next coverage.py v7.14.3, created at 2026-06-28 01:26 +0000
1"""GATT descriptors package.
3Descriptor classes are lazy-loaded via PEP 562 ``__getattr__`` to keep
4package import lightweight. Built-in descriptors register on first
5registry access.
6"""
8from __future__ import annotations
10from ..lazy_exports import lazy_getattr
11from .base import BaseDescriptor
12from .registry import DescriptorRegistry
14try:
15 from ._export_map import LAZY_EXPORT_MAP
16except ImportError:
17 LAZY_EXPORT_MAP = {}
19_EAGER_EXPORTS = ("BaseDescriptor", "DescriptorRegistry")
21__all__ = [
22 *_EAGER_EXPORTS,
23 *LAZY_EXPORT_MAP,
24]
27def __getattr__(name: str) -> object:
28 return lazy_getattr(__name__, LAZY_EXPORT_MAP, name)
31def __dir__() -> list[str]:
32 return sorted(__all__)