[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"
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"