| [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 <[email protected]>"] |
| keywords = ["bluetooth", "ble"] |
| categories = ["api-bindings", "network-programming"] |
| rust-version = "1.76.0" |
| |
| # https://github.com/frewsxcv/cargo-all-features#options |
| [package.metadata.cargo-all-features] |
| # We are interested in testing subset combinations of this feature, so this is redundant |
| denylist = ["unstable"] |
| # To exercise combinations of any of these features, remove from `always_include_features` |
| always_include_features = ["anyhow", "pyo3-asyncio-attributes", "dev-tools", "bumble-tools"] |
| |
| [dependencies] |
| pyo3 = { version = "0.18.3", features = ["macros"] } |
| pyo3-asyncio = { version = "0.18.0", features = ["tokio-runtime"] } |
| tokio = { version = "1.28.2", features = ["macros", "signal"] } |
| 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" |
| bytes = "1.5.0" |
| pdl-derive = "0.2.0" |
| pdl-runtime = "0.2.0" |
| futures = "0.3.28" |
| |
| # Dev tools |
| file-header = { version = "0.1.2", optional = true } |
| globset = { version = "0.4.13", optional = true } |
| |
| # CLI |
| anyhow = { version = "1.0.71", optional = true } |
| clap = { version = "4.3.3", features = ["derive"], optional = true } |
| directories = { version = "5.0.1", optional = true } |
| env_logger = { version = "0.10.0", optional = true } |
| log = { version = "0.4.19", 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 } |
| |
| [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 = "file-header" |
| path = "tools/file_header.rs" |
| required-features = ["dev-tools"] |
| |
| [[bin]] |
| name = "gen-assigned-numbers" |
| path = "tools/gen_assigned_numbers.rs" |
| required-features = ["dev-tools"] |
| |
| [[bin]] |
| name = "bumble" |
| path = "src/main.rs" |
| required-features = ["bumble-tools"] |
| |
| [[example]] |
| name = "broadcast" |
| path = "examples/broadcast.rs" |
| required-features = ["unstable_extended_adv"] |
| |
| # 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"] |
| dev-tools = ["dep:anyhow", "dep:clap", "dep:file-header", "dep:globset"] |
| # 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"] |
| |
| # all the unstable features |
| unstable = ["unstable_extended_adv"] |
| unstable_extended_adv = [] |
| |
| default = [] |