[package]
name = "dataflow-rs"
version = "2.0.4"
edition = "2024"
exclude = [".DS_Store", "/target", ".vscode"]
authors = ["Plasmatic Engineering <shankar@goplasmatic.io>"]
license = "Apache-2.0"
description = "A lightweight, rule-driven workflow engine for building powerful data processing pipelines and nanoservices in Rust. Extend it with your custom tasks to create robust, maintainable services."
readme = "README.md"
homepage = "https://github.com/GoPlasmatic/dataflow-rs"
repository = "https://github.com/GoPlasmatic/dataflow-rs"
keywords = ["workflow", "engine", "rule-engine", "orchestration", "nanoservice"]
categories = ["data-structures", "development-tools", "parsing"]
[dependencies]
serde = { version = "1.0", features = ["derive", "rc"] }
serde_json = "1.0"
datalogic-rs = "4.0"
uuid = { version = "1.19", features = ["v4"] }
chrono = { version = "0.4", features = ["serde"] }
thiserror = "2.0"
log = "0.4"
tokio = { version = "1", features = ["sync", "rt", "macros"] }
async-trait = "0.1"
quick-xml = { version = "0.37", features = ["serialize"] }
[dev-dependencies]
tokio = { version = "1", features = ["full", "test-util"] }
env_logger = "0.11"
axum = "0.8"
futures = "0.3"
num_cpus = "1.17"
[workspace]
members = [".", "wasm"]
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.3", features = ["wasm_js"] }
chrono = { version = "0.4", default-features = false, features = ["clock", "std", "wasmbind"] }
uuid = { version = "1.19", features = ["v4", "js"] }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { version = "1", features = ["rt-multi-thread"] }
[profile.release]
opt-level = "s"
lto = true