[package]
name = "cano"
version = "0.7.2"
homepage = "https://nassor.github.io/cano/"
edition = "2024"
description = "High-performance orchestration engine for building resilient, self-healing systems in Rust. Uses Finite State Machines (FSM) for strict, type-safe transitions."
license = "MIT"
repository = "https://github.com/nassor/cano"
readme = "README.md"
keywords = ["ai", "async", "workflow", "data-processing", "scheduler"]
categories = ["finance", "development-tools", "concurrency", "asynchronous", "science"]
authors = ["Nassor Frazier-Silva"]
[dependencies]
async-trait = "0.1"
tokio = { version = "1.48.0", features = ["macros", "sync", "time", "rt-multi-thread", "signal"] }
rand = "0.9"
chrono = { version = "0.4", features = ["serde"], optional = true }
cron = { version = "0.15", optional = true }
futures = "0.3"
tracing = { version = "0.1", optional = true }
[features]
scheduler = ["dep:chrono", "dep:cron"]
tracing = ["dep:tracing"]
all = ["scheduler", "tracing"]
[dev-dependencies]
cargo-audit = "0.22.0"
criterion = { version = "0.7", features = ["html_reports", "async_tokio"] }
reqwest = { version = "0.12.24", features = ["json"] }
rig-core = "0.24.0"
wide = "0.8.3"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
chrono = { version = "0.4", features = ["serde"] }
[[example]]
name = "ai_workflow_yes_and"
path = "examples/ai_workflow_yes_and.rs"
[[example]]
name = "workflow_simple"
path = "examples/workflow_simple.rs"
[[example]]
name = "workflow_book_prepositions"
path = "examples/workflow_book_prepositions.rs"
[[example]]
name = "workflow_negotiation"
path = "examples/workflow_negotiation.rs"
[[example]]
name = "workflow_simd_matrix_pipeline"
path = "examples/workflow_simd_matrix_pipeline.rs"
[[example]]
name = "scheduler_scheduling"
path = "examples/scheduler_scheduling.rs"
required-features = ["scheduler"]
[[example]]
name = "scheduler_concurrent_workflows"
path = "examples/scheduler_concurrent_workflows.rs"
required-features = ["scheduler"]
[[example]]
name = "scheduler_duration_scheduling"
path = "examples/scheduler_duration_scheduling.rs"
required-features = ["scheduler"]
[[example]]
name = "scheduler_graceful_shutdown"
path = "examples/scheduler_graceful_shutdown.rs"
required-features = ["scheduler"]
[[example]]
name = "scheduler_mixed_workflows"
path = "examples/scheduler_mixed_workflows.rs"
required-features = ["scheduler"]
[[example]]
name = "scheduler_book_prepositions"
path = "examples/scheduler_book_prepositions.rs"
required-features = ["scheduler"]
[[example]]
name = "tracing_demo"
path = "examples/tracing_demo.rs"
required-features = ["tracing", "scheduler"]
[[example]]
name = "workflow_stack_store"
path = "examples/workflow_stack_store.rs"
[[bench]]
name = "workflow_performance"
harness = false
[[bench]]
name = "node_performance"
harness = false
[[bench]]
name = "store_performance"
harness = false
[[bench]]
name = "task_performance"
harness = false