Coverage for src/bluetooth_sig/gatt/characteristics/__init__.py: 86%
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"""Bluetooth SIG GATT characteristic registry.
3Provides type-safe, registry-driven lookup for all supported
4characteristics. Characteristic classes are lazy-loaded via PEP 562
5``__getattr__`` to keep package import lightweight.
6"""
8from __future__ import annotations
10from ..lazy_exports import lazy_getattr
11from .base import BaseCharacteristic
12from .registry import CharacteristicName, CharacteristicRegistry, get_characteristic_class_map
14try:
15 from ._export_map import LAZY_EXPORT_MAP
16except ImportError:
17 LAZY_EXPORT_MAP = {}
19_EAGER_EXPORTS = (
20 "BaseCharacteristic",
21 "CharacteristicName",
22 "CharacteristicRegistry",
23 "get_characteristic_class_map",
24)
26__all__ = [
27 *_EAGER_EXPORTS,
28 *LAZY_EXPORT_MAP,
29]
32def __getattr__(name: str) -> object:
33 return lazy_getattr(__name__, LAZY_EXPORT_MAP, name)
36def __dir__() -> list[str]:
37 return sorted(__all__)