unitbus 0.1.4

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).
Documentation
[dependencies.async-io]
default-features = false
optional = true
version = "2.6.0"

[dependencies.async-process]
default-features = false
optional = true
version = "2.5.0"

[dependencies.blocking]
default-features = false
optional = true
version = "1.6.2"

[dependencies.futures-lite]
default-features = false
features = ["std"]
version = "2.6.1"

[dependencies.futures-util]
default-features = false
features = ["async-await-macro", "std"]
version = "0.3.31"

[dependencies.sdjournal]
default-features = true
optional = true
version = "0.1.5"

[dependencies.serde]
default-features = false
features = ["derive"]
optional = true
version = "1.0.228"

[dependencies.serde_json]
default-features = false
features = ["std"]
optional = true
version = "1.0.148"

[dependencies.thiserror]
default-features = false
version = "2.0.17"

[dependencies.tokio]
default-features = false
features = ["rt", "time"]
optional = true
version = "1.49.0"

[dependencies.tracing]
default-features = false
features = ["std"]
optional = true
version = "0.1.44"

[dependencies.zbus]
default-features = false
version = "5.12.0"

[dev-dependencies.smol]
default-features = false
version = "2.0.2"

[[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 = "observe_unit_failure"
path = "examples/observe_unit_failure.rs"

[[example]]
name = "restart_and_wait"
path = "examples/restart_and_wait.rs"

[[example]]
name = "run_transient_task"
path = "examples/run_transient_task.rs"

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

[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["os::linux-apis"]
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)."
documentation = "https://docs.rs/unitbus"
edition = "2024"
homepage = "https://github.com/lvillis/unitbus"
include = ["Cargo.toml", "README.md", "README.zh-CN.md", "LICENSE", "CHANGELOG.md", "src/**", "examples/**", "tests/**"]
keywords = ["systemd", "systemctl", "dbus", "journald", "journalctl"]
license = "MIT"
name = "unitbus"
readme = "README.md"
repository = "https://github.com/lvillis/unitbus"
rust-version = "1.92.0"
version = "0.1.4"

[package.metadata.release]
pre-release-commit-message = "chore: release {{crate_name}} version {{version}}"
pre-release-hook = ["git", "cliff", "-o", "CHANGELOG.md", "--tag", "{{version}}"]
tag-message = "chore: release {{crate_name}} version {{version}}"
tag-name = "{{prefix}}{{version}}"
tag-prefix = ""

[[test]]
name = "integration_linux"
path = "tests/integration_linux.rs"