taski 0.0.7

async task DAG execution
[workspace]
resolver = "2"
members = ["examples/*"]

[workspace.lints.rust]
unsafe_code = "deny"
unused_must_use = "deny"
missing_docs = "warn"

[workspace.lints.clippy]
unwrap_used      = "deny"
expect_used      = "deny"
panic            = "deny"
unreachable      = "deny"
unimplemented    = "deny"
todo             = "deny"
indexing_slicing = "deny"
missing_errors_doc = "warn"

[workspace.package]
edition = "2024"

[package]
name = "taski"
version = "0.0.7"
edition.workspace = true
authors = ["romnn <contact@romnn.com>"]
description = "async task DAG execution"
license-file = "LICENSE"
readme = "README.md"
homepage = "https://github.com/romnn/taski"
repository = "https://github.com/romnn/taski"
categories = [
  "asynchronous",
  "concurrency",
]
keywords = [
  "async",
  "task",
  "scheduling",
  "dag",
  "execution"
]
exclude = [
  "graphs/",
  "examples/",
  "src/tests/"
]

[features]
default  = []
render = ["dep:rand", "dep:rand_chacha", "dep:plotters", "dep:palette", "dep:layout-rs"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
rustc-args = ["--cfg", "docsrs"]

[package.metadata.cargo-feature-combinations]
exclude_features = ["default"]

[dependencies]
thiserror = "2"
log = "0"
petgraph = { version = "0", features = ["graphmap", "stable_graph"] }
async-trait = "0"
futures = "0.3"
futures-timer = "3"
parking_lot = "0"
generativity = "1"
tracing = "0"

# Optional: trace rendering
rand = { version = "0.9", optional = true }
rand_chacha = { version = "0.9", optional = true }
plotters = { version = "0.3", optional = true }
palette = { version = "0", optional = true }

# Optional: DAG rendering
layout-rs = { version = "0.1", optional = true }

[dev-dependencies]
color-eyre = "0"
itertools = "0"
env_logger = "0"
similar-asserts = "1"
googletest = "0"
tokio = { version = "1", features = ["full"] }