2 个不稳定版本
0.2.0 | 2024年3月21日 |
---|---|
0.1.0 | 2023年7月31日 |
454 在 网络编程 中排名
每月 243 次下载
335KB
7K SLoC
这是什么?
Rust 封装了 Bumble Python API。
方法调用映射到等效的 Python,并在相关情况下调整返回类型。
请参阅 src/main.rs
中的 CLI 或 examples
目录中的示例,了解如何使用 Bumble API。
用法
为 Bumble 设置一个虚拟环境,或确保有一个独立的 Python 环境,用于 Bumble 及其依赖项。
由于 Python 对其 sys path 的设置很挑剔(见 https://github.com/PyO3/pyo3/issues/1741),因此需要显式地指向虚拟环境的 site-packages
。根据您的操作系统,使用适当的虚拟环境路径,如下所示,在运行 battery_client
示例时
PYTHONPATH=..:~/.virtualenvs/bumble/lib/python3.10/site-packages/ \
cargo run --example battery_client -- \
--transport android-netsim --target-addr F0:F1:F2:F3:F4:F5
运行相应的 battery_server
Python 示例,并在 Android Studio 中启动模拟器(目前需要 Canary)以运行 netsim。
CLI
探索可用的子命令
PYTHONPATH=..:[virtualenv site-packages] \
cargo run --features bumble-tools --bin bumble -- --help
值得注意的子命令
firmware realtek download
:下载各种芯片组的 Realtek 固件,以便在需要时自动加载usb probe
:显示 USB 设备,突出显示可用于蓝牙的设备
开发
运行测试
PYTHONPATH=.. cargo test
检查 lint
cargo clippy --all-targets
代码生成
为了在保持构建简单的同时获得最快的启动速度,使用 gen_assigned_numbers
工具对分配的数字进行代码生成。当 Python 分配数字更改时,应重新运行它。为了确保生成的代码保持最新,在 pytests/assigned_numbers.rs
中的测试中将 Rust 数据与 Python 进行比较。
根据 Python 代码库重新生成基于分配数字的表
PYTHONPATH=.. cargo run --bin gen-assigned-numbers --features dev-tools
依赖关系
~11–25MB
~373K SLoC