[package]
name = "error-forge"
version = "0.9.7"
edition = "2021"
readme = "README.md"
license = "Apache-2.0"
authors = [
"James Gober <me@jamesgober.com>"
]
description = "A comprehensive Rust error management framework with async support, error recovery patterns, and resilience features for building robust, fault-tolerant applications with rich error handling, formatting, and tracing capabilities."
keywords = [
"error",
"error-handling",
"async",
"resilience",
"circuit-breaker"
]
categories = [
"rust-patterns",
"development-tools::debugging",
"asynchronous",
"development-tools"
]
documentation = "https://docs.rs/error-forge"
repository = "https://github.com/jamesgober/error-forge"
homepage = "https://github.com/jamesgober/error-forge"
[package.metadata.docs.rs]
all-features = true
features = ["derive", "serde", "console", "backtrace"]
rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
thiserror = "1.0"
paste = "1.0"
error-forge-derive = {version = "0.9.7", path = "./error-forge-derive", optional = true }
serde = { version = "1.0", optional = true, features = ["derive"] }
atty = "0.2"
once_cell = { version = "1.8", optional = true }
log = { version = "0.4", optional = true }
tracing = { version = "0.1", optional = true }
async-trait = { version = "0.1.74", optional = true }
rand = "0.8.5"
[features]
default = []
derive = ["error-forge-derive"]
serde = ["dep:serde"]
console = []
backtrace = []
thread-safety = ["dep:once_cell"]
log = ["dep:log"]
tracing = ["dep:tracing"]
registry = []
collector = []
context = []
async = ["dep:async-trait"]
[workspace]
members = ["error-forge-derive"]
[dev-dependencies]
serde_json = "1.0"
tokio = { version = "1.0", features = ["full", "test-util", "macros"] }