tree: 2c2ec28ab15db85b708bd2ad1bf98e6c2fd3d032 [path history] [tgz]
  1. examples/
  2. pytests/
  3. src/
  4. .gitignore
  5. Cargo.lock
  6. Cargo.toml
  7. README.md
rust/README.md

What is this?

Rust wrappers around the Bumble Python API.

Method calls are mapped to the equivalent Python, and return types adapted where relevant.

See the examples directory for usage.

Usage

Set up a virtualenv for Bumble, or otherwise have an isolated Python environment for Bumble and its dependencies.

Due to Python being [picky about how its sys path is set up](https://github.com/PyO3/pyo3/issues/1741, it's necessary to explicitly point to the virtualenv's site-packages. Use suitable virtualenv paths as appropriate for your OS, as seen here running the battery_client example:

PYTHONPATH=..:~/.virtualenvs/bumble/lib/python3.10/site-packages/ \
    cargo run --example battery_client -- \
    --transport android-netsim --target-addr F0:F1:F2:F3:F4:F5

Run the corresponding battery_server Python example, and launch an emulator in Android Studio (currently, Canary is required) to run netsim.

Development

Run the tests:

PYTHONPATH=.. cargo test

Check lints:

cargo clippy --all-targets