orka 0.3.0

An asynchronous, pluggable, and type-safe workflow engine for Rust, designed for orchestrating complex multi-step business processes.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "orka"
version = "0.3.0"
authors = ["Excerion Sun <dev@excsn.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An asynchronous, pluggable, and type-safe workflow engine for Rust, designed for orchestrating complex multi-step business processes."
homepage = "https://github.com/excsn/orka"
readme = "README.md"
keywords = [
    "workflow",
    "pipeline",
    "async",
    "orchestration",
    "state-machine",
]
categories = [
    "asynchronous",
    "concurrency",
    "rust-patterns",
]
license = "MPL-2.0"
repository = "https://github.com/excsn/orka"
resolver = "2"

[features]
serde = ["dep:serde"]
test-util = []
tokio = ["dep:tokio"]

[lib]
name = "orka"
path = "src/lib.rs"

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

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

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

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

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

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

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

[[test]]
name = "conditional_scope_tests"
path = "tests/conditional_scope_tests.rs"

[[test]]
name = "context_management_tests"
path = "tests/context_management_tests.rs"

[[test]]
name = "error_handling_tests"
path = "tests/error_handling_tests.rs"

[[test]]
name = "fanout_tests"
path = "tests/fanout_tests.rs"

[[test]]
name = "finish_tests"
path = "tests/finish_tests.rs"

[[test]]
name = "override_tests"
path = "tests/override_tests.rs"

[[test]]
name = "partial_run_tests"
path = "tests/partial_run_tests.rs"

[[test]]
name = "pipeline_execution_tests"
path = "tests/pipeline_execution_tests.rs"

[[test]]
name = "prelude_tests"
path = "tests/prelude_tests.rs"

[[test]]
name = "registry_tests"
path = "tests/registry_tests.rs"

[[test]]
name = "resource_access_tests"
path = "tests/resource_access_tests.rs"

[[test]]
name = "resource_tests"
path = "tests/resource_tests.rs"

[[test]]
name = "runner_tests"
path = "tests/runner_tests.rs"

[[test]]
name = "trace_tests"
path = "tests/trace_tests.rs"

[[test]]
name = "typed_step_key_tests"
path = "tests/typed_step_key_tests.rs"

[[test]]
name = "validation_tests"
path = "tests/validation_tests.rs"

[[bench]]
name = "orka_benchmarks"
path = "benches/orka_benchmarks.rs"
harness = false

[dependencies.anyhow]
version = "^1.0"

[dependencies.async-trait]
version = "^0.1.77"

[dependencies.parking_lot]
version = "^0"

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true

[dependencies.thiserror]
version = "^2.0"

[dependencies.tokio]
version = "1"
features = [
    "rt",
    "time",
]
optional = true
default-features = false

[dependencies.tracing]
version = "^0"

[dev-dependencies.criterion]
version = "0.5"
features = ["async_tokio"]

[dev-dependencies.once_cell]
version = "1.10"

[dev-dependencies.tokio]
version = "1"
features = [
    "macros",
    "rt-multi-thread",
    "time",
]

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
    "fmt",
    "env-filter",
]