[package]
name = "zbus"
version = "5.1.1"
authors = ["Zeeshan Ali Khan <zeeshanak@gnome.org>"]
edition = "2021"
rust-version = "1.80"
description = "API for D-Bus communication"
repository = "https://github.com/dbus2/zbus/"
keywords = ["D-Bus", "DBus", "IPC"]
license = "MIT"
categories = ["os::unix-apis"]
readme = "README.md"
[features]
default = ["async-io", "blocking-api"]
uuid = ["zvariant/uuid"]
url = ["zvariant/url"]
time = ["zvariant/time"]
chrono = ["zvariant/chrono"]
heapless = ["zvariant/heapless"]
option-as-array = ["zvariant/option-as-array"]
camino = ["zvariant/camino"]
bus-impl = ["p2p"]
p2p = ["dep:rand"]
async-io = [
"dep:async-io",
"async-executor",
"async-task",
"async-lock",
"async-fs",
"async-process",
"blocking",
"futures-util/io",
]
tokio = ["dep:tokio"]
vsock = ["dep:vsock", "dep:async-io"]
tokio-vsock = ["dep:tokio-vsock", "tokio"]
blocking-api = ["zbus_macros/blocking-api"]
serde_bytes = ["zvariant/serde_bytes"]
[dependencies]
zbus_macros = { path = "../zbus_macros", version = "=5.1.1" }
zvariant = { path = "../zvariant", version = "5.0.0", default-features = false, features = [
"enumflags2",
] }
zbus_names = { path = "../zbus_names", version = "4.0" }
serde = { version = "1.0.200", features = ["derive"] }
serde_repr = "0.1.19"
enumflags2 = { version = "0.7.9", features = ["serde"] }
futures-core = "0.3.30"
futures-util = { version = "0.3.30", default-features = false, features = [
"sink",
"std",
] }
async-broadcast = "0.7.0"
hex = "0.4.3"
ordered-stream = "0.2"
rand = { version = "0.8.5", optional = true }
event-listener = "5.3.0"
static_assertions = "1.1.0"
async-trait = "0.1.80"
xdg-home = "1.1.0"
tracing = "0.1.40"
winnow = "0.6"
async-io = { version = "2.3.2", optional = true }
async-lock = { version = "3.3.0", optional = true }
async-executor = { version = "1.11.0", optional = true }
blocking = { version = "1.6.0", optional = true }
async-task = { version = "4.7.1", optional = true }
async-fs = { version = "2.1.2", optional = true }
async-process = { version = "2.2.2", optional = true }
tokio = { version = "1.37.0", optional = true, features = [
"rt",
"net",
"time",
"fs",
"io-util",
"process",
"sync",
"tracing",
] }
vsock = { version = "0.5.0", optional = true }
tokio-vsock = { version = "0.5", optional = true }
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.59", features = [
"Win32_Foundation",
"Win32_Security_Authorization",
"Win32_System_Memory",
"Win32_Networking",
"Win32_Networking_WinSock",
"Win32_NetworkManagement",
"Win32_NetworkManagement_IpHelper",
"Win32_System_IO",
"Win32_System_Threading",
] }
uds_windows = "1.1.0"
[target.'cfg(unix)'.dependencies]
nix = { version = "0.29", default-features = false, features = [
"socket",
"uio",
"user",
] }
[target.'cfg(any(target_os = "macos", windows))'.dependencies]
async-recursion = "1.1.1"
[dev-dependencies]
zbus_xml = { path = "../zbus_xml", version = "5.0.0" }
doc-comment = "0.3.3"
futures-util = "0.3.30"
ntest = "0.9.2"
test-log = { version = "0.2.16", features = [
"trace",
], default-features = false }
tokio = { version = "1.37.0", features = [
"macros",
"rt-multi-thread",
"fs",
"io-util",
"net",
"sync",
"time",
"test-util",
] }
tracing-subscriber = { version = "0.3.18", features = [
"env-filter",
"fmt",
"ansi",
], default-features = false }
tempfile = "3.10.1"
criterion = "0.5.1"
[package.metadata.docs.rs]
all-features = true
targets = ["x86_64-unknown-linux-gnu"]
[lints]
workspace = true
[lib]
bench = false
[[bench]]
name = "benchmarks"
harness = false
[[example]]
name = "screen-brightness"
path = "examples/screen-brightness.rs"
required-features = ["blocking-api"]