[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",
]