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

23 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-04-03 16:41 +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 .acs import MAX_ROLLING_SEGMENT_COUNTER, ACSControlPointData, ACSDataPacket, ACSSegmentationHeader 

15from .alert import ( 

16 ALERT_CATEGORY_DEFINED_MAX, 

17 ALERT_CATEGORY_RESERVED_MAX, 

18 ALERT_CATEGORY_RESERVED_MIN, 

19 ALERT_CATEGORY_SERVICE_SPECIFIC_MIN, 

20 ALERT_COMMAND_MAX, 

21 ALERT_TEXT_MAX_LENGTH, 

22 UNREAD_COUNT_MAX, 

23 UNREAD_COUNT_MORE_THAN_MAX, 

24 AlertCategoryBitMask, 

25 AlertCategoryID, 

26 AlertNotificationCommandID, 

27) 

28from .appearance import AppearanceData 

29from .base_types import SIGInfo 

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

31from .company import CompanyIdentifier, ManufacturerData 

32from .context import CharacteristicContext, DeviceInfo 

33from .data_types import ( 

34 CharacteristicInfo, 

35 DateData, 

36 ParseFieldError, 

37 ServiceInfo, 

38 ValidationAccumulator, 

39 ValidationResult, 

40) 

41from .ead import ( 

42 EAD_ADDRESS_SIZE, 

43 EAD_IV_SIZE, 

44 EAD_MIC_SIZE, 

45 EAD_MIN_SIZE, 

46 EAD_NONCE_SIZE, 

47 EAD_RANDOMIZER_SIZE, 

48 EAD_SESSION_KEY_SIZE, 

49 EADDecryptResult, 

50 EADError, 

51 EADKeyMaterial, 

52 EncryptedAdvertisingData, 

53) 

54from .gatt_enums import CharacteristicRole 

55from .location import PositionStatus 

56from .mesh import ( 

57 DEVICE_UUID_LENGTH, 

58 NETWORK_ID_LENGTH, 

59 NETWORK_KEY_LENGTH, 

60 MeshBeaconType, 

61 MeshCapabilities, 

62 MeshMessage, 

63 ProvisioningBearerData, 

64 ProvisioningPDUType, 

65 SecureNetworkBeacon, 

66 UnprovisionedDeviceBeacon, 

67) 

68from .protocols import CharacteristicProtocol 

69from .registry.ad_types import AdTypeInfo 

70from .registry.appearance_info import AppearanceInfo 

71from .registry.class_of_device import ClassOfDeviceInfo 

72from .registry.descriptor_types import DescriptorData, DescriptorInfo 

73from .registry.uri_schemes import UriSchemeInfo 

74from .special_values import SpecialValueResult, SpecialValueRule 

75from .units import ( 

76 AngleUnit, 

77 ConcentrationUnit, 

78 ElectricalUnit, 

79 GlucoseConcentrationUnit, 

80 HeightUnit, 

81 LengthUnit, 

82 MeasurementSystem, 

83 PercentageUnit, 

84 PhysicalUnit, 

85 PressureUnit, 

86 SoundUnit, 

87 SpecialValueType, 

88 TemperatureUnit, 

89 WeightUnit, 

90 classify_special_value, 

91) 

92from .uri import URIData 

93 

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

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

96 

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

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

99 

100__all__ = [ 

101 "ACSControlPointData", 

102 "ACSDataPacket", 

103 "ACSSegmentationHeader", 

104 "ALERT_CATEGORY_DEFINED_MAX", 

105 "ALERT_CATEGORY_RESERVED_MAX", 

106 "ALERT_CATEGORY_RESERVED_MIN", 

107 "ALERT_CATEGORY_SERVICE_SPECIFIC_MIN", 

108 "ALERT_COMMAND_MAX", 

109 "ALERT_TEXT_MAX_LENGTH", 

110 "EAD_ADDRESS_SIZE", 

111 "EAD_IV_SIZE", 

112 "EAD_MIC_SIZE", 

113 "EAD_MIN_SIZE", 

114 "EAD_NONCE_SIZE", 

115 "EAD_RANDOMIZER_SIZE", 

116 "EAD_SESSION_KEY_SIZE", 

117 "UNREAD_COUNT_MAX", 

118 "UNREAD_COUNT_MORE_THAN_MAX", 

119 "AdTypeInfo", 

120 "MAX_ROLLING_SEGMENT_COUNTER", 

121 "AlertCategoryBitMask", 

122 "AlertCategoryID", 

123 "AlertNotificationCommandID", 

124 "AngleUnit", 

125 "AppearanceData", 

126 "AppearanceInfo", 

127 "BatteryChargeLevel", 

128 "BatteryChargeState", 

129 "BatteryChargingType", 

130 "BatteryFaultReason", 

131 "CharacteristicContext", 

132 "CharacteristicInfo", 

133 "CharacteristicProtocol", 

134 "CharacteristicRole", 

135 "ClassOfDeviceInfo", 

136 "CompanyIdentifier", 

137 "ConcentrationUnit", 

138 "DateData", 

139 "DescriptorData", 

140 "DescriptorInfo", 

141 "DeviceInfo", 

142 "EADDecryptResult", 

143 "EADError", 

144 "EADKeyMaterial", 

145 "ElectricalUnit", 

146 "EncryptedAdvertisingData", 

147 "GlucoseConcentrationUnit", 

148 "HeightUnit", 

149 "LengthUnit", 

150 "ManufacturerData", 

151 "MeasurementSystem", 

152 "MeshBeaconType", 

153 "MeshCapabilities", 

154 "MeshMessage", 

155 "NETWORK_ID_LENGTH", 

156 "NETWORK_KEY_LENGTH", 

157 "DEVICE_UUID_LENGTH", 

158 "ParseFieldError", 

159 "ProvisioningBearerData", 

160 "PercentageUnit", 

161 "PhysicalUnit", 

162 "PositionStatus", 

163 "PressureUnit", 

164 "ProvisioningPDUType", 

165 "SIGInfo", 

166 "SecureNetworkBeacon", 

167 "ServiceInfo", 

168 "SoundUnit", 

169 "SpecialValueResult", 

170 "SpecialValueRule", 

171 "SpecialValueType", 

172 "TemperatureUnit", 

173 "URIData", 

174 "UnprovisionedDeviceBeacon", 

175 "UriSchemeInfo", 

176 "ValidationAccumulator", 

177 "ValidationResult", 

178 "WeightUnit", 

179 "classify_special_value", 

180]