[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"
rand = { version = "0.9", optional = true }
rand_chacha = { version = "0.9", optional = true }
plotters = { version = "0.3", optional = true }
palette = { version = "0", optional = true }
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"] }