[package]
edition = "2024"
rust-version = "1.93.0"
name = "unitbus"
version = "0.1.7"
build = false
include = [
"Cargo.toml",
"README.md",
"README.zh-CN.md",
"LICENSE",
"CHANGELOG.md",
"src/**",
"examples/**",
"tests/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust SDK for Linux systemd: control units/jobs via D-Bus (systemctl-like), run transient tasks, and query journald logs (sdjournal default, optional journalctl JSON)."
homepage = "https://github.com/lvillis/unitbus"
documentation = "https://docs.rs/unitbus"
readme = "README.md"
keywords = [
"systemd",
"systemctl",
"dbus",
"journald",
"journalctl",
]
categories = ["os::linux-apis"]
license = "MIT"
repository = "https://github.com/lvillis/unitbus"
[package.metadata.release]
tag-prefix = ""
tag-name = "{{prefix}}{{version}}"
pre-release-commit-message = "chore: release {{crate_name}} version {{version}}"
tag-message = "chore: release {{crate_name}} version {{version}}"
pre-release-hook = [
"git",
"cliff",
"-o",
"CHANGELOG.md",
"--tag",
"{{version}}",
]
[features]
blocking = []
config = ["dep:blocking"]
default = [
"rt-async-io",
"journal-sdjournal",
]
journal-cli = [
"dep:async-process",
"dep:serde",
"dep:serde_json",
]
journal-sdjournal = [
"dep:sdjournal",
"dep:blocking",
]
observe = []
rt-async-io = [
"dep:async-io",
"zbus/async-io",
]
rt-tokio = [
"dep:tokio",
"zbus/tokio",
]
tasks = []
tracing = ["dep:tracing"]
[lib]
name = "unitbus"
path = "src/lib.rs"
[[example]]
name = "blocking_restart_and_wait"
path = "examples/blocking_restart_and_wait.rs"
[[example]]
name = "diagnose_on_failure"
path = "examples/diagnose_on_failure.rs"
[[example]]
name = "fetch_recent_logs"
path = "examples/fetch_recent_logs.rs"
[[example]]
name = "list_units_and_properties"
path = "examples/list_units_and_properties.rs"
[[example]]
name = "observe_unit_failure"
path = "examples/observe_unit_failure.rs"
[[example]]
name = "render_service_unit"
path = "examples/render_service_unit.rs"
[[example]]
name = "restart_and_wait"
path = "examples/restart_and_wait.rs"
[[example]]
name = "run_transient_task"
path = "examples/run_transient_task.rs"
[[test]]
name = "integration_linux"
path = "tests/integration_linux.rs"
[dependencies.async-io]
version = "2.6.0"
optional = true
default-features = false
[dependencies.async-process]
version = "2.5.0"
optional = true
default-features = false
[dependencies.blocking]
version = "1.6.2"
optional = true
default-features = false
[dependencies.futures-lite]
version = "2.6.1"
features = ["std"]
default-features = false
[dependencies.futures-util]
version = "0.3.31"
features = [
"async-await-macro",
"std",
]
default-features = false
[dependencies.sdjournal]
version = "0.1.5"
optional = true
default-features = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
optional = true
default-features = false
[dependencies.serde_json]
version = "1.0.148"
features = ["std"]
optional = true
default-features = false
[dependencies.thiserror]
version = "2.0.17"
default-features = false
[dependencies.tokio]
version = "1.49.0"
features = [
"rt",
"time",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1.44"
features = ["std"]
optional = true
default-features = false
[dependencies.zbus]
version = "5.12.0"
default-features = false
[dev-dependencies.smol]
version = "2.0.2"
default-features = false