[package] name = "bumble" description = "Rust API for the Bumble Bluetooth stack" version = "0.1.0" edition = "2021" license = "Apache-2.0" homepage = "https://google.github.io/bumble/index.html" repository = "https://github.com/google/bumble" documentation = "https://docs.rs/crate/bumble" authors = ["Marshall Pierce "] keywords = ["bluetooth", "ble"] categories = ["api-bindings", "network-programming"] rust-version = "1.70.0" [dependencies] pyo3 = { version = "0.18.3", features = ["macros"] } pyo3-asyncio = { version = "0.18.0", features = ["tokio-runtime"] } tokio = { version = "1.28.2" } nom = "7.1.3" strum = "0.25.0" strum_macros = "0.25.0" hex = "0.4.3" itertools = "0.11.0" lazy_static = "1.4.0" thiserror = "1.0.41" # CLI anyhow = { version = "1.0.71", optional = true } clap = { version = "4.3.3", features = ["derive"], optional = true } directories = { version = "5.0.1", optional = true } owo-colors = { version = "3.5.0", optional = true } reqwest = { version = "0.11.20", features = ["blocking"], optional = true } rusb = { version = "0.9.2", optional = true } log = { version = "0.4.19", optional = true } env_logger = { version = "0.10.0", optional = true } [dev-dependencies] tokio = { version = "1.28.2", features = ["full"] } tempfile = "3.6.0" nix = "0.26.2" anyhow = "1.0.71" pyo3 = { version = "0.18.3", features = ["macros", "anyhow"] } pyo3-asyncio = { version = "0.18.0", features = ["tokio-runtime", "attributes", "testing"] } rusb = "0.9.2" rand = "0.8.5" clap = { version = "4.3.3", features = ["derive"] } owo-colors = "3.5.0" log = "0.4.19" env_logger = "0.10.0" [package.metadata.docs.rs] rustdoc-args = ["--generate-link-to-definition"] [[bin]] name = "gen-assigned-numbers" path = "tools/gen_assigned_numbers.rs" required-features = ["bumble-codegen"] [[bin]] name = "bumble" path = "src/main.rs" required-features = ["bumble-tools"] # test entry point that uses pyo3_asyncio's test harness [[test]] name = "pytests" path = "pytests/pytests.rs" harness = false [features] anyhow = ["pyo3/anyhow"] pyo3-asyncio-attributes = ["pyo3-asyncio/attributes"] bumble-codegen = ["dep:anyhow"] # separate feature for CLI so that dependencies don't spend time building these bumble-tools = ["dep:clap", "anyhow", "dep:anyhow", "dep:directories", "pyo3-asyncio-attributes", "dep:owo-colors", "dep:reqwest", "dep:rusb", "dep:log", "dep:env_logger"] default = []