bumble 0.0.218__py3-none-any.whl → 0.0.219__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bumble/_version.py +2 -2
- bumble/a2dp.py +57 -18
- bumble/avctp.py +8 -12
- bumble/avdtp.py +584 -533
- bumble/avrcp.py +20 -20
- bumble/controller.py +429 -229
- bumble/drivers/rtk.py +3 -1
- bumble/hci.py +38 -0
- bumble/hid.py +1 -1
- bumble/rfcomm.py +7 -3
- bumble/transport/common.py +6 -3
- bumble/transport/ws_client.py +2 -2
- bumble/transport/ws_server.py +16 -8
- {bumble-0.0.218.dist-info → bumble-0.0.219.dist-info}/METADATA +2 -2
- {bumble-0.0.218.dist-info → bumble-0.0.219.dist-info}/RECORD +19 -19
- {bumble-0.0.218.dist-info → bumble-0.0.219.dist-info}/WHEEL +0 -0
- {bumble-0.0.218.dist-info → bumble-0.0.219.dist-info}/entry_points.txt +0 -0
- {bumble-0.0.218.dist-info → bumble-0.0.219.dist-info}/licenses/LICENSE +0 -0
- {bumble-0.0.218.dist-info → bumble-0.0.219.dist-info}/top_level.txt +0 -0
bumble/drivers/rtk.py
CHANGED
|
@@ -115,12 +115,14 @@ RTK_USB_PRODUCTS = {
|
|
|
115
115
|
# Realtek 8761BUV
|
|
116
116
|
(0x0B05, 0x190E),
|
|
117
117
|
(0x0BDA, 0x8771),
|
|
118
|
+
(0x0BDA, 0x877B),
|
|
119
|
+
(0x0BDA, 0xA728),
|
|
120
|
+
(0x0BDA, 0xA729),
|
|
118
121
|
(0x2230, 0x0016),
|
|
119
122
|
(0x2357, 0x0604),
|
|
120
123
|
(0x2550, 0x8761),
|
|
121
124
|
(0x2B89, 0x8761),
|
|
122
125
|
(0x7392, 0xC611),
|
|
123
|
-
(0x0BDA, 0x877B),
|
|
124
126
|
# Realtek 8821AE
|
|
125
127
|
(0x0B05, 0x17DC),
|
|
126
128
|
(0x13D3, 0x3414),
|
bumble/hci.py
CHANGED
|
@@ -3441,6 +3441,17 @@ class HCI_Write_Synchronous_Flow_Control_Enable_Command(HCI_Command):
|
|
|
3441
3441
|
synchronous_flow_control_enable: int = field(metadata=metadata(1))
|
|
3442
3442
|
|
|
3443
3443
|
|
|
3444
|
+
# -----------------------------------------------------------------------------
|
|
3445
|
+
@HCI_Command.command
|
|
3446
|
+
@dataclasses.dataclass
|
|
3447
|
+
class HCI_Set_Controller_To_Host_Flow_Control_Command(HCI_Command):
|
|
3448
|
+
'''
|
|
3449
|
+
See Bluetooth spec @ 7.3.38 Set Controller To Host Flow Control command
|
|
3450
|
+
'''
|
|
3451
|
+
|
|
3452
|
+
flow_control_enable: int = field(metadata=metadata(1))
|
|
3453
|
+
|
|
3454
|
+
|
|
3444
3455
|
# -----------------------------------------------------------------------------
|
|
3445
3456
|
@HCI_Command.command
|
|
3446
3457
|
@dataclasses.dataclass
|
|
@@ -4338,6 +4349,15 @@ class HCI_LE_Write_Suggested_Default_Data_Length_Command(HCI_Command):
|
|
|
4338
4349
|
suggested_max_tx_time: int = field(metadata=metadata(2))
|
|
4339
4350
|
|
|
4340
4351
|
|
|
4352
|
+
# -----------------------------------------------------------------------------
|
|
4353
|
+
@HCI_Command.command
|
|
4354
|
+
@dataclasses.dataclass
|
|
4355
|
+
class HCI_LE_Read_Local_P_256_Public_Key_Command(HCI_Command):
|
|
4356
|
+
'''
|
|
4357
|
+
See Bluetooth spec @ 7.8.36 LE LE Read Local P-256 Public Key command
|
|
4358
|
+
'''
|
|
4359
|
+
|
|
4360
|
+
|
|
4341
4361
|
# -----------------------------------------------------------------------------
|
|
4342
4362
|
@HCI_Command.command
|
|
4343
4363
|
@dataclasses.dataclass
|
|
@@ -4365,6 +4385,15 @@ class HCI_LE_Clear_Resolving_List_Command(HCI_Command):
|
|
|
4365
4385
|
'''
|
|
4366
4386
|
|
|
4367
4387
|
|
|
4388
|
+
# -----------------------------------------------------------------------------
|
|
4389
|
+
@HCI_Command.command
|
|
4390
|
+
@dataclasses.dataclass
|
|
4391
|
+
class HCI_LE_Read_Resolving_List_Size_Command(HCI_Command):
|
|
4392
|
+
'''
|
|
4393
|
+
See Bluetooth spec @ 7.8.41 LE Read Resolving List Size command
|
|
4394
|
+
'''
|
|
4395
|
+
|
|
4396
|
+
|
|
4368
4397
|
# -----------------------------------------------------------------------------
|
|
4369
4398
|
@HCI_Command.command
|
|
4370
4399
|
@dataclasses.dataclass
|
|
@@ -5028,6 +5057,15 @@ class HCI_LE_Periodic_Advertising_Terminate_Sync_Command(HCI_Command):
|
|
|
5028
5057
|
sync_handle: int = field(metadata=metadata(2))
|
|
5029
5058
|
|
|
5030
5059
|
|
|
5060
|
+
# -----------------------------------------------------------------------------
|
|
5061
|
+
@HCI_Command.command
|
|
5062
|
+
@dataclasses.dataclass
|
|
5063
|
+
class HCI_LE_Read_Transmit_Power_Command(HCI_Command):
|
|
5064
|
+
'''
|
|
5065
|
+
See Bluetooth spec @ 7.8.74 LE Read Transmit Power command
|
|
5066
|
+
'''
|
|
5067
|
+
|
|
5068
|
+
|
|
5031
5069
|
# -----------------------------------------------------------------------------
|
|
5032
5070
|
@HCI_Command.command
|
|
5033
5071
|
@dataclasses.dataclass
|
bumble/hid.py
CHANGED
|
@@ -246,7 +246,7 @@ class HID(ABC, utils.EventEmitter):
|
|
|
246
246
|
# Create a new L2CAP connection - interrupt channel
|
|
247
247
|
try:
|
|
248
248
|
channel = await self.connection.create_l2cap_channel(
|
|
249
|
-
l2cap.ClassicChannelSpec(
|
|
249
|
+
l2cap.ClassicChannelSpec(HID_INTERRUPT_PSM)
|
|
250
250
|
)
|
|
251
251
|
channel.sink = self.on_intr_pdu
|
|
252
252
|
self.l2cap_intr_channel = channel
|
bumble/rfcomm.py
CHANGED
|
@@ -674,10 +674,14 @@ class DLC(utils.EventEmitter):
|
|
|
674
674
|
while (self.tx_buffer and self.tx_credits > 0) or rx_credits_needed > 0:
|
|
675
675
|
# Get the next chunk, up to MTU size
|
|
676
676
|
if rx_credits_needed > 0:
|
|
677
|
-
chunk = bytes([rx_credits_needed])
|
|
678
|
-
self.tx_buffer = self.tx_buffer[len(chunk) - 1 :]
|
|
677
|
+
chunk = bytes([rx_credits_needed])
|
|
679
678
|
self.rx_credits += rx_credits_needed
|
|
680
|
-
|
|
679
|
+
if self.tx_buffer and self.tx_credits > 0:
|
|
680
|
+
chunk += self.tx_buffer[: self.mtu - 1]
|
|
681
|
+
self.tx_buffer = self.tx_buffer[len(chunk) - 1 :]
|
|
682
|
+
tx_credit_spent = True
|
|
683
|
+
else:
|
|
684
|
+
tx_credit_spent = False
|
|
681
685
|
else:
|
|
682
686
|
chunk = self.tx_buffer[: self.mtu]
|
|
683
687
|
self.tx_buffer = self.tx_buffer[len(chunk) :]
|
bumble/transport/common.py
CHANGED
|
@@ -22,6 +22,7 @@ import contextlib
|
|
|
22
22
|
import io
|
|
23
23
|
import logging
|
|
24
24
|
import struct
|
|
25
|
+
from collections.abc import Awaitable, Callable
|
|
25
26
|
from typing import Any, ContextManager, Optional, Protocol
|
|
26
27
|
|
|
27
28
|
from bumble import core, hci
|
|
@@ -389,15 +390,17 @@ class PumpedPacketSource(ParserSource):
|
|
|
389
390
|
|
|
390
391
|
# -----------------------------------------------------------------------------
|
|
391
392
|
class PumpedPacketSink:
|
|
392
|
-
|
|
393
|
+
pump_task: Optional[asyncio.Task[None]]
|
|
394
|
+
|
|
395
|
+
def __init__(self, send: Callable[[bytes], Awaitable[Any]]):
|
|
393
396
|
self.send_function = send
|
|
394
|
-
self.packet_queue = asyncio.Queue()
|
|
397
|
+
self.packet_queue = asyncio.Queue[bytes]()
|
|
395
398
|
self.pump_task = None
|
|
396
399
|
|
|
397
400
|
def on_packet(self, packet: bytes) -> None:
|
|
398
401
|
self.packet_queue.put_nowait(packet)
|
|
399
402
|
|
|
400
|
-
def start(self):
|
|
403
|
+
def start(self) -> None:
|
|
401
404
|
async def pump_packets():
|
|
402
405
|
while True:
|
|
403
406
|
try:
|
bumble/transport/ws_client.py
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
# -----------------------------------------------------------------------------
|
|
18
18
|
import logging
|
|
19
19
|
|
|
20
|
-
import websockets.client
|
|
20
|
+
import websockets.asyncio.client
|
|
21
21
|
|
|
22
22
|
from bumble.transport.common import (
|
|
23
23
|
PumpedPacketSink,
|
|
@@ -42,7 +42,7 @@ async def open_ws_client_transport(spec: str) -> Transport:
|
|
|
42
42
|
Example: ws://localhost:7681/v1/websocket/bt
|
|
43
43
|
'''
|
|
44
44
|
|
|
45
|
-
websocket = await websockets.client.connect(spec)
|
|
45
|
+
websocket = await websockets.asyncio.client.connect(spec)
|
|
46
46
|
|
|
47
47
|
class WsTransport(PumpedTransport):
|
|
48
48
|
async def close(self):
|
bumble/transport/ws_server.py
CHANGED
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
# Imports
|
|
17
17
|
# -----------------------------------------------------------------------------
|
|
18
18
|
import logging
|
|
19
|
+
from typing import Optional
|
|
19
20
|
|
|
20
|
-
import websockets
|
|
21
|
+
import websockets.asyncio.server
|
|
21
22
|
|
|
22
23
|
from bumble.transport.common import ParserSource, PumpedPacketSink, Transport
|
|
23
24
|
|
|
@@ -40,7 +41,12 @@ async def open_ws_server_transport(spec: str) -> Transport:
|
|
|
40
41
|
'''
|
|
41
42
|
|
|
42
43
|
class WsServerTransport(Transport):
|
|
43
|
-
|
|
44
|
+
sink: PumpedPacketSink
|
|
45
|
+
source: ParserSource
|
|
46
|
+
connection: Optional[websockets.asyncio.server.ServerConnection]
|
|
47
|
+
server: Optional[websockets.asyncio.server.Server]
|
|
48
|
+
|
|
49
|
+
def __init__(self) -> None:
|
|
44
50
|
source = ParserSource()
|
|
45
51
|
sink = PumpedPacketSink(self.send_packet)
|
|
46
52
|
self.connection = None
|
|
@@ -48,17 +54,19 @@ async def open_ws_server_transport(spec: str) -> Transport:
|
|
|
48
54
|
|
|
49
55
|
super().__init__(source, sink)
|
|
50
56
|
|
|
51
|
-
async def serve(self, local_host, local_port):
|
|
57
|
+
async def serve(self, local_host: str, local_port: str) -> None:
|
|
52
58
|
self.sink.start()
|
|
53
59
|
# pylint: disable-next=no-member
|
|
54
|
-
self.server = await websockets.serve(
|
|
55
|
-
|
|
60
|
+
self.server = await websockets.asyncio.server.serve(
|
|
61
|
+
handler=self.on_connection,
|
|
56
62
|
host=local_host if local_host != '_' else None,
|
|
57
63
|
port=int(local_port),
|
|
58
64
|
)
|
|
59
65
|
logger.debug(f'websocket server ready on port {local_port}')
|
|
60
66
|
|
|
61
|
-
async def on_connection(
|
|
67
|
+
async def on_connection(
|
|
68
|
+
self, connection: websockets.asyncio.server.ServerConnection
|
|
69
|
+
) -> None:
|
|
62
70
|
logger.debug(
|
|
63
71
|
f'new connection on {connection.local_address} '
|
|
64
72
|
f'from {connection.remote_address}'
|
|
@@ -77,11 +85,11 @@ async def open_ws_server_transport(spec: str) -> Transport:
|
|
|
77
85
|
# We're now disconnected
|
|
78
86
|
self.connection = None
|
|
79
87
|
|
|
80
|
-
async def send_packet(self, packet):
|
|
88
|
+
async def send_packet(self, packet: bytes) -> None:
|
|
81
89
|
if self.connection is None:
|
|
82
90
|
logger.debug('no connection, dropping packet')
|
|
83
91
|
return
|
|
84
|
-
|
|
92
|
+
await self.connection.send(packet)
|
|
85
93
|
|
|
86
94
|
local_host, local_port = spec.rsplit(':', maxsplit=1)
|
|
87
95
|
transport = WsServerTransport()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bumble
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.219
|
|
4
4
|
Summary: Bluetooth Stack for Apps, Emulation, Test and Experimentation
|
|
5
5
|
Author-email: Google <bumble-dev@google.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -25,7 +25,7 @@ Requires-Dist: pyee>=13.0.0
|
|
|
25
25
|
Requires-Dist: pyserial-asyncio>=0.5; platform_system != "Emscripten"
|
|
26
26
|
Requires-Dist: pyserial>=3.5; platform_system != "Emscripten"
|
|
27
27
|
Requires-Dist: pyusb>=1.2; platform_system != "Emscripten"
|
|
28
|
-
Requires-Dist: websockets
|
|
28
|
+
Requires-Dist: websockets>=15.0.1; platform_system != "Emscripten"
|
|
29
29
|
Provides-Extra: build
|
|
30
30
|
Requires-Dist: build>=0.7; extra == "build"
|
|
31
31
|
Provides-Extra: test
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
bumble/__init__.py,sha256=Q8jkz6rgl95IMAeInQVt_2GLoJl3DcEP2cxtrQ-ho5c,110
|
|
2
|
-
bumble/_version.py,sha256=
|
|
3
|
-
bumble/a2dp.py,sha256=
|
|
2
|
+
bumble/_version.py,sha256=mj-phtz8CALrMdiyP-95WlA6nHLl_BYNWRSKnR4obAQ,708
|
|
3
|
+
bumble/a2dp.py,sha256=wvmQwVkSCFsoJv1Q1VGA17ncMnif-o5Bc-NQjgpsDbI,33454
|
|
4
4
|
bumble/at.py,sha256=u93DzB5Ghrxks_ufuUqoYV2RUSowLNLMDhq_j9GrCBc,3108
|
|
5
5
|
bumble/att.py,sha256=vS1dUwiuUgNU6PztARg_qPB_olLOWsAxFz6DZGX8zII,33423
|
|
6
6
|
bumble/avc.py,sha256=uu33BpDU58f4fvqZyBHKfc8OSnzYovQrBk8Yst-KVrk,16383
|
|
7
|
-
bumble/avctp.py,sha256=
|
|
8
|
-
bumble/avdtp.py,sha256=
|
|
9
|
-
bumble/avrcp.py,sha256=
|
|
7
|
+
bumble/avctp.py,sha256=E6JorAlrsW0hAS2y7q-DhMYY2aEAjVXMF-8FivbMN6w,9709
|
|
8
|
+
bumble/avdtp.py,sha256=XvCCAChz5FK5geF_KJrEjkct7QHC9GC8WAmh8GjCZPE,78498
|
|
9
|
+
bumble/avrcp.py,sha256=PFQ8t7Tiv3j_OV7qfVaFe0Mcn9gzhoo969AcMoVGg88,87357
|
|
10
10
|
bumble/bridge.py,sha256=yXwZNUe7pRpuTt41PEmgtfjBLpQKdDwvcxfbYxObqIU,3015
|
|
11
11
|
bumble/codecs.py,sha256=ZHUFvq2dhUUHp2EWYawht8zcPQGqOf5Opnh-7Ud_fb4,20917
|
|
12
12
|
bumble/colors.py,sha256=gm_PqgGfUF8Nkntn652apR4HrqN3vLv249YCIfw8mtk,3112
|
|
13
13
|
bumble/company_ids.py,sha256=B68e2QPsDeRYP9jjbGs4GGDwEkGxcXGTsON_CHA0uuI,118528
|
|
14
|
-
bumble/controller.py,sha256=
|
|
14
|
+
bumble/controller.py,sha256=JU97OmqBBxLr4r3ks7rz6zT2vddDaO-ekPgR2UVdPAE,76050
|
|
15
15
|
bumble/core.py,sha256=QojIUs4nP9qo_r-FWPVxHrCdVSg6CaIzHf6GVPTuu9s,94583
|
|
16
16
|
bumble/data_types.py,sha256=jLELcRiUcvRc4JcEo6vMO9kZmumZ9WuibFN-AK7ZYbc,32831
|
|
17
17
|
bumble/decoder.py,sha256=0-VNWZT-u7lvK3qBpAuYT0M6Rz_bMgMi4CjfUXX_6RM,9728
|
|
@@ -21,10 +21,10 @@ bumble/gatt.py,sha256=dBd-opQVUumlLPGw7EYZM5DF-ssnym3LsxhskAJMhig,34552
|
|
|
21
21
|
bumble/gatt_adapters.py,sha256=9uN2uXGIdlvNeSvv3nfwxCEa15uPfm5DVLR5bog_knI,13190
|
|
22
22
|
bumble/gatt_client.py,sha256=jLIa7OoJgw8X7pLBGqsdSY3Sde4HSWBxGWTVWH0FPpA,44268
|
|
23
23
|
bumble/gatt_server.py,sha256=Xx5UaXoNeEIcXfe1YjGrf4Mt7ZKEUak7e3dhFtdK-4Y,37907
|
|
24
|
-
bumble/hci.py,sha256=
|
|
24
|
+
bumble/hci.py,sha256=9ZN9koktUhmSJAWfPCRqaXAbECmDwEpa73lWrWizL_o,328355
|
|
25
25
|
bumble/helpers.py,sha256=WFyikseIRdXUqqeOplNlmd0giOegahlXv5e324ax9ck,12611
|
|
26
26
|
bumble/hfp.py,sha256=rUfd1OvNnr9FbURRjeNvLA4CcMzv3NcowVxbG4s2FXM,76746
|
|
27
|
-
bumble/hid.py,sha256=
|
|
27
|
+
bumble/hid.py,sha256=KMSd2_minM8F4GJUSaeYubGVvDns2BEFDhYH9f8jVdk,21056
|
|
28
28
|
bumble/host.py,sha256=46fwcskNlfHyW8Ejo5wp8rHtMBZSMkR4URSdekKLPzg,68019
|
|
29
29
|
bumble/keys.py,sha256=VCOrtuw-xF_4Oa5Qt-ECRKaTqabL_GbwdQUKoZX20II,13416
|
|
30
30
|
bumble/l2cap.py,sha256=PZQnZQFB_GJZCCFuPpAsTuYz4E3WTgimDUAk83DUUtE,80758
|
|
@@ -32,7 +32,7 @@ bumble/link.py,sha256=O-T9fCJokvpLpTvIMAboEQbT3Sjg8L2ivSWSBH43fP0,14470
|
|
|
32
32
|
bumble/logging.py,sha256=WvB9v6HxsnmN6DaG-oIcE7DbFcE-jT8YN3T0PGbWbD8,2351
|
|
33
33
|
bumble/pairing.py,sha256=KPkJs4NgFmubdE3OhqP0uaGMm8aAg8RkHDCfAYrhTwo,10142
|
|
34
34
|
bumble/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
-
bumble/rfcomm.py,sha256=
|
|
35
|
+
bumble/rfcomm.py,sha256=kE3KbtLdcZhUUBcp2Xxu_G1XhU6eOciiJDfYWAOznlU,41067
|
|
36
36
|
bumble/rtp.py,sha256=wyAQJ3dRU31USfZT5DgpvC_TSVYU1QPDSg_uK9-i8V4,3464
|
|
37
37
|
bumble/sdp.py,sha256=PfKjPm_mDO9ZvR74zAFTcazf3MJBo0Ew0LVJMscPohA,49546
|
|
38
38
|
bumble/smp.py,sha256=YhTgEngwb7JmhXugmc3VTmm_lY5RRIg_cFgk5QuywmU,78597
|
|
@@ -76,7 +76,7 @@ bumble/crypto/cryptography.py,sha256=yHznoBZ-hd8XqWheipkgn3Vdt5JydLxlTM3nTp5ayvc
|
|
|
76
76
|
bumble/drivers/__init__.py,sha256=03lZKWOvRi2qd_iogohvtTc76vpn89c5jvhbaNzxlSM,3505
|
|
77
77
|
bumble/drivers/common.py,sha256=pS783hudolLZAzF8IUWp7g6TXyQsUCEzqCsd1VGeYfQ,1507
|
|
78
78
|
bumble/drivers/intel.py,sha256=2LmZL4ka1qz90WZGnrEzALd2mj7AcG_06rV03cnKKgY,24624
|
|
79
|
-
bumble/drivers/rtk.py,sha256=
|
|
79
|
+
bumble/drivers/rtk.py,sha256=tkLXqjhlEdp934alr5SlV00zc2B1UfKpzZpL22Hj8Lg,22690
|
|
80
80
|
bumble/pandora/__init__.py,sha256=xlEwye5eIwHMDHS-qPT2weF0TT86fEUIHYCUvW6LGpc,3535
|
|
81
81
|
bumble/pandora/config.py,sha256=wfmko9UDEZWeRC4fccUdJnHn9D2Bus15R-Tqn2bLoAY,2384
|
|
82
82
|
bumble/pandora/device.py,sha256=U5dmH-eg61egL5sm9dlmQ5f6ZM7xxCNyQXCcMo3eScE,5333
|
|
@@ -119,7 +119,7 @@ bumble/tools/rtk_util.py,sha256=4kdaHON_pg2HElzBRaStolqvEJVWPd0eZPUyAQWAqxc,5726
|
|
|
119
119
|
bumble/transport/__init__.py,sha256=1z6WcJ0kkqSK1iugl3hYamJe54FdB8fmNI4M8M-zNx8,7376
|
|
120
120
|
bumble/transport/android_emulator.py,sha256=axEdFBj17c0dOD5lMqJjiULInG_SQVx5W7ptjyLtRJs,4281
|
|
121
121
|
bumble/transport/android_netsim.py,sha256=8C2kUITCl7L1ggl5FPwWcFq4It8e9O3esEpMjRaYkkw,17563
|
|
122
|
-
bumble/transport/common.py,sha256=
|
|
122
|
+
bumble/transport/common.py,sha256=yCJKUiLFEJ1qtepV1gU6hLkStHY0guKrZUNDoCS8sck,16913
|
|
123
123
|
bumble/transport/file.py,sha256=aqJD5US5TVl01dOb42rV_0OzuvFsBDDlqzipyrYA4q4,2026
|
|
124
124
|
bumble/transport/hci_socket.py,sha256=2PKQ43oDjayKDklx9sF98hSeyNmvTSUOWx_ooPWTjd0,6345
|
|
125
125
|
bumble/transport/pty.py,sha256=yzItc5ZO7WkHZKnAeEK-1XEyY4BWot4ZAMFzQvRiSQ4,2747
|
|
@@ -132,8 +132,8 @@ bumble/transport/udp.py,sha256=_3mePVr9ALzZbOfnlMwcaaMnnLkd5kxhw5-BxkeCSMU,2281
|
|
|
132
132
|
bumble/transport/unix.py,sha256=XbVakfqQiZVdAQnt05XWb4PymzkXIL7h0dn7Iq6xwlk,4240
|
|
133
133
|
bumble/transport/usb.py,sha256=9np33CTM1Sj4mQsym8TqIZ-DN28suCC8gJfy1O-hHPA,22113
|
|
134
134
|
bumble/transport/vhci.py,sha256=-S9M6iqSpdmNobliDBaUamWJtYTiQEMt_mSdfxKZypY,2281
|
|
135
|
-
bumble/transport/ws_client.py,sha256=
|
|
136
|
-
bumble/transport/ws_server.py,sha256=
|
|
135
|
+
bumble/transport/ws_client.py,sha256=qgPUpfnp1i5DxeilhJbKXwceVeNowXCVL05TyaBtiL0,1811
|
|
136
|
+
bumble/transport/ws_server.py,sha256=ttVIGfcd7Rqlo4JM8tIeJAeLGKV96vciv58fVjQCYC8,3714
|
|
137
137
|
bumble/transport/grpc_protobuf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
138
138
|
bumble/transport/grpc_protobuf/emulated_bluetooth_device_pb2.py,sha256=NFz7pja_rxMEyU3fI-SgHLghTw4KeN1gXUjT4uglrEQ,7959
|
|
139
139
|
bumble/transport/grpc_protobuf/emulated_bluetooth_device_pb2.pyi,sha256=O0qhb2L_oAekmSnqCElidwIg4PZ3XjAyQ4oEy4ycD-A,8385
|
|
@@ -175,9 +175,9 @@ bumble/vendor/android/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
|
175
175
|
bumble/vendor/android/hci.py,sha256=LcV4_OBpzoLtpSiP2su7F4r3bDrHWxcQPR4OGnMVXDk,10485
|
|
176
176
|
bumble/vendor/zephyr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
177
177
|
bumble/vendor/zephyr/hci.py,sha256=ysct40uIVohaKKLrWjcWo-7YqozU17xGia2dWeHoMoI,3435
|
|
178
|
-
bumble-0.0.
|
|
179
|
-
bumble-0.0.
|
|
180
|
-
bumble-0.0.
|
|
181
|
-
bumble-0.0.
|
|
182
|
-
bumble-0.0.
|
|
183
|
-
bumble-0.0.
|
|
178
|
+
bumble-0.0.219.dist-info/licenses/LICENSE,sha256=FvaYh4NRWIGgS_OwoBs5gFgkCmAghZ-DYnIGBZPuw-s,12142
|
|
179
|
+
bumble-0.0.219.dist-info/METADATA,sha256=NZSYDWv75ArP5gfp5mQ8W7ldDUdSrxi7fxnmJhyn1hM,6156
|
|
180
|
+
bumble-0.0.219.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
181
|
+
bumble-0.0.219.dist-info/entry_points.txt,sha256=mX5dzixNMRo4CTAEQqiYTr-JIaWF62TYrRvJOstjjL8,1081
|
|
182
|
+
bumble-0.0.219.dist-info/top_level.txt,sha256=tV6JJKaHPYMFiJYiBYFW24PCcfLxTJZdlu6BmH3Cb00,7
|
|
183
|
+
bumble-0.0.219.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|