Coverage for src/bluetooth_sig/gatt/services/__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"""Registry of supported GATT services.
3Service classes are lazy-loaded via PEP 562 ``__getattr__`` to keep
4package import lightweight.
5"""
7from __future__ import annotations
9from ..lazy_exports import lazy_getattr
10from .base import (
11 CharacteristicStatus,
12 ServiceCharacteristicInfo,
13 ServiceCompletenessReport,
14 ServiceHealthStatus,
15 ServiceValidationResult,
16)
17from .registry import GattServiceRegistry, ServiceName, get_service_class_map
19try:
20 from ._export_map import LAZY_EXPORT_MAP
21except ImportError:
22 LAZY_EXPORT_MAP = {}
24_EAGER_EXPORTS = (
25 "CharacteristicStatus",
26 "GattServiceRegistry",
27 "ServiceCharacteristicInfo",
28 "ServiceCompletenessReport",
29 "ServiceHealthStatus",
30 "ServiceName",
31 "ServiceValidationResult",
32 "get_service_class_map",
33)
35__all__ = [
36 *_EAGER_EXPORTS,
37 *LAZY_EXPORT_MAP,
38]
41def __getattr__(name: str) -> object:
42 return lazy_getattr(__name__, LAZY_EXPORT_MAP, name)
45def __dir__() -> list[str]:
46 return sorted(__all__)