btleplug 0.11.8

A Cross-Platform Rust Bluetooth Low Energy (BLE) GATT library.
Documentation
[package]

name = "btleplug"

version = "0.11.8"

authors = ["Nonpolynomial, LLC <kyle@nonpolynomial.com>"]

license = "MIT/Apache-2.0/BSD-3-Clause"

repository = "https://github.com/deviceplug/btleplug"

homepage = "https://github.com/deviceplug/btleplug"

edition = "2021"

description = """
A Cross-Platform Rust Bluetooth Low Energy (BLE) GATT
library.
"""

readme = "README.md"

keywords = ["bluetooth", "BLE", "bluez", "uwp", "corebluetooth"]

categories = ["hardware-support"]



[lib]

name = "btleplug"

path = "src/lib.rs"



[features]

serde = ["uuid/serde", "serde_cr", "serde_bytes"]



[dependencies]

async-trait = "0.1.88"

log = "0.4.27"

bitflags = "2.9.0"

thiserror = "2.0.12"

uuid = "1.16.0"

serde_cr = { package = "serde", version = "1.0.219", features = ["derive"], default-features = false, optional = true }

serde_bytes = { version = "0.11.17", optional = true }

dashmap = "6.1.0"

futures = "0.3.31"

static_assertions = "1.1.0"

# rt feature needed for block_on in macOS internal thread

tokio = { version = "1.44.2", features = ["sync", "rt"] }

tokio-stream = { version = "0.1.17", features = ["sync"] }



[target.'cfg(target_os = "linux")'.dependencies]

dbus = "0.9.7"

bluez-async = "0.8.0"



[target.'cfg(target_os = "android")'.dependencies]

jni = "0.19.0"

once_cell = "1.20.2"

jni-utils = "0.1.1"



[target.'cfg(target_vendor = "apple")'.dependencies]

objc2 = "0.5.2"

objc2-foundation = { version = "0.2.2", default-features = false, features = [

    "std",

    "block2",

    "NSArray",

    "NSData",

    "NSDictionary",

    "NSEnumerator",

    "NSError",

    "NSObject",

    "NSString",

    "NSUUID",

    "NSValue",

] }

objc2-core-bluetooth = { version = "0.2.2", default-features = false, features = [

    "std",

    "CBAdvertisementData",

    "CBAttribute",

    "CBCentralManager",

    "CBCentralManagerConstants",

    "CBCharacteristic",

    "CBDescriptor",

    "CBManager",

    "CBPeer",

    "CBPeripheral",

    "CBService",

    "CBUUID",

] }



[target.'cfg(target_os = "windows")'.dependencies]

windows = { version = "0.61", features = ["Devices_Bluetooth", "Devices_Bluetooth_GenericAttributeProfile", "Devices_Bluetooth_Advertisement", "Devices_Radios", "Foundation_Collections", "Foundation", "Storage_Streams"] }

windows-future = "0.2.0"



[dev-dependencies]

rand = "0.9"

pretty_env_logger = "0.5.0"

tokio = { version = "1.44.2", features = ["macros", "rt", "rt-multi-thread"] }

serde_json = "1.0.140"

toml = "0.8.20"

anyhow = "1"