[package]
edition = "2024"
name = "tosub"
version = "2.2.1"
authors = ["Michael Bachmann <mbachmann@bbmsoft.net>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A subsystem lifecycle management library for tokio applications"
readme = "README.md"
keywords = [
"async",
"tokio",
"subsystem",
"task",
"management",
]
categories = [
"asynchronous",
"rust-patterns",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/babymotte/tosub"
[features]
default = []
tokio_unstable = ["tokio/tracing"]
[lib]
name = "tosub"
path = "src/lib.rs"
[[example]]
name = "axum_web_server"
path = "examples/axum_web_server.rs"
[[example]]
name = "branch"
path = "examples/branch.rs"
[[example]]
name = "branch_error"
path = "examples/branch_error.rs"
[[example]]
name = "error"
path = "examples/error.rs"
[[example]]
name = "error_timeout"
path = "examples/error_timeout.rs"
[[example]]
name = "error_types"
path = "examples/error_types.rs"
[[example]]
name = "hello"
path = "examples/hello.rs"
[[example]]
name = "join"
path = "examples/join.rs"
[[example]]
name = "join_with_error"
path = "examples/join_with_error.rs"
[[example]]
name = "multiple_runtimes"
path = "examples/multiple_runtimes.rs"
[[example]]
name = "panic"
path = "examples/panic.rs"
[[example]]
name = "panic_short_lived_children"
path = "examples/panic_short_lived_children.rs"
[[example]]
name = "panic_timeout"
path = "examples/panic_timeout.rs"
[[example]]
name = "service_loop"
path = "examples/service_loop.rs"
[[example]]
name = "shutdown_on_stdin_close"
path = "examples/shutdown_on_stdin_close.rs"
[[example]]
name = "signal"
path = "examples/signal.rs"
[[example]]
name = "signal_timeout"
path = "examples/signal_timeout.rs"
[[example]]
name = "simple"
path = "examples/simple.rs"
[[example]]
name = "spawn_after_shutdown"
path = "examples/spawn_after_shutdown.rs"
[[example]]
name = "stdin"
path = "examples/stdin.rs"
[[example]]
name = "trace_collector"
path = "examples/trace_collector.rs"
[dependencies.miette]
version = "7.6.0"
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.151"
[dependencies.thiserror]
version = "2.0.20"
[dependencies.tokio]
version = "1.53.1"
features = [
"rt",
"time",
"signal",
"macros",
]
[dependencies.tokio-util]
version = "0.7.19"
[dependencies.tracing]
version = "0.1.44"
[dev-dependencies.axum]
version = "0.8.9"
[dev-dependencies.miette]
version = "7.6.0"
features = ["fancy"]
[dev-dependencies.tokio]
version = "1.53.1"
features = ["full"]
[dev-dependencies.totils]
version = "1.1.0"
features = ["trace_collector"]
[dev-dependencies.tracing-subscriber]
version = "0.3.23"
features = ["env-filter"]
[lints.clippy]
all = "deny"
enum_glob_use = "deny"
unwrap_used = "deny"
[lints.rust]
unsafe_code = "forbid"