Coverage for src / bluetooth_sig / types / __init__.py: 100%

22 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-18 11:17 +0000

1"""Data types for Bluetooth SIG standards. 

2 

3Advertising types are now in the bluetooth_sig.types.advertising subpackage: 

4 - pdu: PDUType, BLEAdvertisingPDU, PDUHeaderFlags, etc. 

5 - extended: CTEInfo, AdvertisingDataInfo, AuxiliaryPointer, SyncInfo 

6 - flags: BLEAdvertisingFlags 

7 - features: LEFeatures, LEFeatureBits 

8 - ad_structures: All *Data struct types (CoreAdvertisingData, etc.) 

9 - result: AdvertisingData, AdvertisementData 

10""" 

11 

12from __future__ import annotations 

13 

14from .alert import ( 

15 ALERT_CATEGORY_DEFINED_MAX, 

16 ALERT_CATEGORY_RESERVED_MAX, 

17 ALERT_CATEGORY_RESERVED_MIN, 

18 ALERT_CATEGORY_SERVICE_SPECIFIC_MIN, 

19 ALERT_COMMAND_MAX, 

20 ALERT_TEXT_MAX_LENGTH, 

21 UNREAD_COUNT_MAX, 

22 UNREAD_COUNT_MORE_THAN_MAX, 

23 AlertCategoryBitMask, 

24 AlertCategoryID, 

25 AlertNotificationCommandID, 

26) 

27from .appearance import AppearanceData 

28from .base_types import SIGInfo 

29from .battery import BatteryChargeLevel, BatteryChargeState, BatteryChargingType, BatteryFaultReason 

30from .company import CompanyIdentifier, ManufacturerData 

31from .context import CharacteristicContext, DeviceInfo 

32from .data_types import ( 

33 CharacteristicInfo, 

34 DateData, 

35 ParseFieldError, 

36 ServiceInfo, 

37 ValidationAccumulator, 

38 ValidationResult, 

39) 

40from .ead import ( 

41 EAD_ADDRESS_SIZE, 

42 EAD_IV_SIZE, 

43 EAD_MIC_SIZE, 

44 EAD_MIN_SIZE, 

45 EAD_NONCE_SIZE, 

46 EAD_RANDOMIZER_SIZE, 

47 EAD_SESSION_KEY_SIZE, 

48 EADDecryptResult, 

49 EADError, 

50 EADKeyMaterial, 

51 EncryptedAdvertisingData, 

52) 

53from .gatt_enums import CharacteristicRole 

54from .location import PositionStatus 

55from .mesh import ( 

56 DEVICE_UUID_LENGTH, 

57 NETWORK_ID_LENGTH, 

58 NETWORK_KEY_LENGTH, 

59 MeshBeaconType, 

60 MeshCapabilities, 

61 MeshMessage, 

62 ProvisioningBearerData, 

63 ProvisioningPDUType, 

64 SecureNetworkBeacon, 

65 UnprovisionedDeviceBeacon, 

66) 

67from .protocols import CharacteristicProtocol 

68from .registry.ad_types import AdTypeInfo 

69from .registry.appearance_info import AppearanceInfo 

70from .registry.class_of_device import ClassOfDeviceInfo 

71from .registry.descriptor_types import DescriptorData, DescriptorInfo 

72from .registry.uri_schemes import UriSchemeInfo 

73from .special_values import SpecialValueResult, SpecialValueRule 

74from .units import ( 

75 AngleUnit, 

76 ConcentrationUnit, 

77 ElectricalUnit, 

78 GlucoseConcentrationUnit, 

79 HeightUnit, 

80 LengthUnit, 

81 MeasurementSystem, 

82 PercentageUnit, 

83 PhysicalUnit, 

84 PressureUnit, 

85 SoundUnit, 

86 SpecialValueType, 

87 TemperatureUnit, 

88 WeightUnit, 

89 classify_special_value, 

90) 

91from .uri import URIData 

92 

93# Device-related types are imported from device_types module to avoid cyclic imports 

94# Import them directly: from bluetooth_sig.types.device_types import DeviceService, DeviceEncryption 

95 

96# Device-related types are imported from device_types module to avoid cyclic imports 

97# Import them directly: from bluetooth_sig.types.device_types import DeviceService, DeviceEncryption 

98 

99__all__ = [ 

100 "ALERT_CATEGORY_DEFINED_MAX", 

101 "ALERT_CATEGORY_RESERVED_MAX", 

102 "ALERT_CATEGORY_RESERVED_MIN", 

103 "ALERT_CATEGORY_SERVICE_SPECIFIC_MIN", 

104 "ALERT_COMMAND_MAX", 

105 "ALERT_TEXT_MAX_LENGTH", 

106 "EAD_ADDRESS_SIZE", 

107 "EAD_IV_SIZE", 

108 "EAD_MIC_SIZE", 

109 "EAD_MIN_SIZE", 

110 "EAD_NONCE_SIZE", 

111 "EAD_RANDOMIZER_SIZE", 

112 "EAD_SESSION_KEY_SIZE", 

113 "UNREAD_COUNT_MAX", 

114 "UNREAD_COUNT_MORE_THAN_MAX", 

115 "AdTypeInfo", 

116 "AlertCategoryBitMask", 

117 "AlertCategoryID", 

118 "AlertNotificationCommandID", 

119 "AngleUnit", 

120 "AppearanceData", 

121 "AppearanceInfo", 

122 "BatteryChargeLevel", 

123 "BatteryChargeState", 

124 "BatteryChargingType", 

125 "BatteryFaultReason", 

126 "CharacteristicContext", 

127 "CharacteristicInfo", 

128 "CharacteristicProtocol", 

129 "CharacteristicRole", 

130 "ClassOfDeviceInfo", 

131 "CompanyIdentifier", 

132 "ConcentrationUnit", 

133 "DateData", 

134 "DescriptorData", 

135 "DescriptorInfo", 

136 "DeviceInfo", 

137 "EADDecryptResult", 

138 "EADError", 

139 "EADKeyMaterial", 

140 "ElectricalUnit", 

141 "EncryptedAdvertisingData", 

142 "GlucoseConcentrationUnit", 

143 "HeightUnit", 

144 "LengthUnit", 

145 "ManufacturerData", 

146 "MeasurementSystem", 

147 "MeshBeaconType", 

148 "MeshCapabilities", 

149 "MeshMessage", 

150 "NETWORK_ID_LENGTH", 

151 "NETWORK_KEY_LENGTH", 

152 "DEVICE_UUID_LENGTH", 

153 "ParseFieldError", 

154 "ProvisioningBearerData", 

155 "PercentageUnit", 

156 "PhysicalUnit", 

157 "PositionStatus", 

158 "PressureUnit", 

159 "ProvisioningPDUType", 

160 "SIGInfo", 

161 "SecureNetworkBeacon", 

162 "ServiceInfo", 

163 "SoundUnit", 

164 "SpecialValueResult", 

165 "SpecialValueRule", 

166 "SpecialValueType", 

167 "TemperatureUnit", 

168 "URIData", 

169 "UnprovisionedDeviceBeacon", 

170 "UriSchemeInfo", 

171 "ValidationAccumulator", 

172 "ValidationResult", 

173 "WeightUnit", 

174 "classify_special_value", 

175]