| [package] | |
| name = "bumble" | |
| description = "Rust API for the Bumble Bluetooth stack" | |
| version = "0.2.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 <marshallpierce@google.com>"] | |
| keywords = ["bluetooth", "ble"] | |
| categories = ["api-bindings", "network-programming"] | |
| rust-version = "1.80.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.38.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.11.1" | |
| 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.38.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 = [] |