mirror of
https://github.com/google/bumble.git
synced 2026-04-16 00:25:31 +00:00
It would be nice to pip install bumble without having to first install the libusb system dependency. Expecially on platforms like Windows and Mac, without a default package manager. The libusb_package Python package distributes prebuilt libusb-1.0 shared libraries for each OS and architecture as binary wheels for the pyusb project. Add this package as a dependency for bumble. For the pyusb transport, the libusb_package.find() function is a drop-in replacement for pyusb.core.find(). It searches the libusb_package site-path before system paths and creates a pyusb backend. For the usb transport, use libusb_package.get_library_path() to return a path to the libusb-1.0 library in site-packages. If this path exists, create a ctypes DLL and init the usb1 backend. This only needs to be done once. All future calls to usb1 will use this opened library. If the library path does not exist, do nothing, and usb1 will search default system paths when the usb1.USBContext object is created. This commit pins the libusb_package dependency at 1.0.26.0 to ensure every bumble install uses the exact same version of the libusb library.
78 lines
2.6 KiB
INI
78 lines
2.6 KiB
INI
# Copyright 2021-2022 Google LLC
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
[metadata]
|
|
name = bumble
|
|
use_scm_version = True
|
|
description = Bluetooth Stack for Apps, Emulation, Test and Experimentation
|
|
long_description = file: README.md
|
|
long_description_content_type = text/markdown
|
|
author = Google
|
|
author_email = tbd@tbd.com
|
|
url = https://github.com/google/bumble
|
|
|
|
[options]
|
|
python_requires = >=3.8
|
|
packages = bumble, bumble.transport, bumble.profiles, bumble.apps, bumble.apps.link_relay
|
|
package_dir =
|
|
bumble = bumble
|
|
bumble.apps = apps
|
|
install_requires =
|
|
aioconsole >= 0.4.1
|
|
ansicolors >= 1.1
|
|
appdirs >= 1.4
|
|
bitstruct >= 8.12
|
|
click >= 7.1.2; platform_system!='Emscripten'
|
|
cryptography == 35; platform_system!='Emscripten'
|
|
grpcio >= 1.46; platform_system!='Emscripten'
|
|
libusb1 >= 2.0.1; platform_system!='Emscripten'
|
|
libusb-package == 1.0.26.0; platform_system!='Emscripten'
|
|
prompt_toolkit >= 3.0.16; platform_system!='Emscripten'
|
|
protobuf >= 3.12.4
|
|
pyee >= 8.2.2
|
|
pyserial-asyncio >= 0.5; platform_system!='Emscripten'
|
|
pyserial >= 3.5; platform_system!='Emscripten'
|
|
pyusb >= 1.2; platform_system!='Emscripten'
|
|
websockets >= 8.1; platform_system!='Emscripten'
|
|
|
|
[options.entry_points]
|
|
console_scripts =
|
|
bumble-console = bumble.apps.console:main
|
|
bumble-controller-info = bumble.apps.controller_info:main
|
|
bumble-gatt-dump = bumble.apps.gatt_dump:main
|
|
bumble-hci-bridge = bumble.apps.hci_bridge:main
|
|
bumble-l2cap-bridge = bumble.apps.l2cap_bridge:main
|
|
bumble-pair = bumble.apps.pair:main
|
|
bumble-scan = bumble.apps.scan:main
|
|
bumble-show = bumble.apps.show:main
|
|
bumble-unbond = bumble.apps.unbond:main
|
|
bumble-usb-probe = bumble.apps.usb_probe:main
|
|
bumble-link-relay = bumble.apps.link_relay.link_relay:main
|
|
|
|
[options.extras_require]
|
|
build =
|
|
build >= 0.7
|
|
test =
|
|
pytest >= 6.2
|
|
pytest-asyncio >= 0.17
|
|
pytest-html >= 3.2.0
|
|
coverage >= 6.4
|
|
development =
|
|
invoke >= 1.4
|
|
nox >= 2022
|
|
documentation =
|
|
mkdocs >= 1.4.0
|
|
mkdocs-material >= 8.5.6
|
|
mkdocstrings[python] >= 0.19.0
|