[package]
name = "dagex"
version = "2026.12.0"
edition = "2021"
authors = ["briday1 <your-email@example.com>"]
description = "A pure Rust DAG executor supporting implicit node connections, branching, and config sweeps"
license = "MIT"
repository = "https://github.com/briday1/dagex"
homepage = "https://github.com/briday1/dagex"
documentation = "https://docs.rs/dagex"
keywords = ["dag", "graph", "execution", "pipeline", "workflow"]
categories = ["data-structures", "algorithms"]
readme = "README.md"
exclude = [".venv*", "venv", ".github", "examples/py"]
include = ["src/**/*", "Cargo.toml", "README.md", "LICENSE", "assets/*.png"]

[dependencies]
pyo3 = { version = "=0.18.3", optional = true, default-features = false, features = ["extension-module", "macros"] }
ndarray = { version = "0.15", optional = true }
num-complex = { version = "0.4", optional = true }
rustfft = { version = "6.1", optional = true }

[features]
python = ["pyo3"]
radar_examples = ["ndarray", "num-complex", "rustfft"]

[lib]
name = "dagex"
crate-type = ["cdylib", "rlib"]

[[example]]
name = "comprehensive_demo"
path = "examples/rs/comprehensive_demo.rs"

[[example]]
name = "data_types_demo"
path = "examples/rs/data_types_demo.rs"

[[example]]
name = "output_access_demo"
path = "examples/rs/output_access_demo.rs"

[[example]]
name = "parallel_execution_demo"
path = "examples/rs/parallel_execution_demo.rs"

[[example]]
name = "per_node_output_access"
path = "examples/rs/per_node_output_access.rs"

[[example]]
name = "radar_demo"
path = "examples/rs/radar_demo.rs"

[[example]]
name = "radar_demo_with_plots"
path = "examples/rs/radar_demo_with_plots.rs"
required-features = ["radar_examples"]

[[example]]
name = "tuple_api_demo"
path = "examples/rs/tuple_api_demo.rs"

[[example]]
name = "variant_demo"
path = "examples/rs/variant_demo.rs"

[[example]]
name = "variant_behavior_test"
path = "examples/rs/variant_behavior_test.rs"

[[example]]
name = "simple_frontier_test"
path = "examples/rs/simple_frontier_test.rs"

[[example]]
name = "parallel_timing_demo"
path = "examples/rs/parallel_timing_demo.rs"

[[example]]
name = "dynamic_variants_demo"
path = "examples/rs/dynamic_variants_demo.rs"

[[example]]
name = "pointer_tracking_demo"
path = "examples/rs/pointer_tracking_demo.rs"

[[example]]
name = "memory_tracking_demo"
path = "examples/rs/memory_tracking_demo.rs"

[[example]]
name = "selective_data_demo"
path = "examples/rs/selective_data_demo.rs"

[[example]]
name = "arc_graphdata_demo"
path = "examples/rs/arc_graphdata_demo.rs"

[[example]]
name = "arc_benchmark_demo"
path = "examples/rs/arc_benchmark_demo.rs"
