[package]
edition = "2024"
rust-version = "1.85"
name = "mettle"
version = "0.2.0"
build = false
exclude = [
"docs",
"learning",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A resilience toolkit for Rust: async and blocking retries with configurable backoff."
documentation = "https://docs.rs/mettle"
readme = "README.md"
keywords = [
"retry",
"backoff",
"resilience",
"async",
"tokio",
]
categories = [
"asynchronous",
"network-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/azeemshaik025/mettle"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
async = [
"dep:tokio",
"dep:pin-project-lite",
]
blocking = []
default = [
"async",
"blocking",
]
[lib]
name = "mettle"
path = "src/lib.rs"
[[example]]
name = "blocking_retry"
path = "examples/blocking_retry.rs"
required-features = ["blocking"]
[[example]]
name = "retry"
path = "examples/retry.rs"
required-features = ["async"]
[dependencies.pin-project-lite]
version = "0.2"
optional = true
[dependencies.tokio]
version = "1"
features = ["time"]
optional = true
[dependencies.tracing]
version = "0.1"
features = ["std"]
default-features = false
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"time",
"test-util",
]