[workspace] members = ["dagx-macros", "dagx-test"] [package] name = "dagx" version = "0.3.2" edition = "2021" rust-version = "1.81" authors = ["Stephen Waits "] license = "MIT" description = "A minimal, type-safe, runtime-agnostic async DAG (Directed Acyclic Graph) executor with compile-time cycle prevention and true parallel execution" repository = "https://git.swaits.com/swaits/dagx" homepage = "https://git.swaits.com/swaits/dagx" documentation = "https://docs.rs/dagx" readme = "README.md" keywords = ["dag", "async", "task", "parallel", "executor"] categories = ["asynchronous", "concurrency", "data-structures"] exclude = [".claude/", ".jj/", "dagx-spec.md"] [features] default = ["derive"] derive = ["dep:dagx-macros"] tracing = ["dep:tracing"] [workspace.lints.rust] unexpected_cfgs = { level = "warn", check-cfg = [ 'cfg(tarpaulin)', 'cfg(tarpaulin_include)', ] } [lints] workspace = true [dependencies] futures-util = { version = "0.3", default-features = false, features = ["std"] } dagx-macros = { version = "0.3.2", path = "./dagx-macros", optional = true } tracing = { version = "0.1", optional = true } [dev-dependencies] dagx-test = { path = "./dagx-test" } tokio = { version = "1", features = [ "macros", "rt-multi-thread", "time", "sync", ] } smol = "2" criterion = "0.7" # Quirky async runtimes for edge-case testing async-executor = "1.13" pollster = "0.4" futures-executor = { version = "0.3", features = ["thread-pool"] } # Comparison benchmarks dagrs = { version = "0.5", default-features = false } async-trait = "0.1" # Tracing support for tests and examples tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] } test-case = "3.3.1" [[bench]] name = "dagx_bench" harness = false