[package]
name = "async-flow"
version = "0.1.2"
authors = ["Arto Bendiken"]
edition = "2024"
description = "Async abstractions for flow-based programming (FBP)."
readme = true
homepage = "https://async-flow.rs"
repository = "https://github.com/artob/async-flow"
license = "Unlicense"
keywords = ["fbp", "flow", "dataflow", "async"]
categories = ["asynchronous", "concurrency", "rust-patterns", "no-std"]
publish = true
[features]
default = ["all", "std"]
all = ["parallel", "serial", "stream", "tokio"]
std = ["dogma/std", "replace_with/std", "tokio?/io-std", "tokio?/io-util"]
unstable = []
parallel = ["tokio?/rt-multi-thread"]
serial = ["tokio?/rt"]
flume = ["dep:flume"]
serde = ["dep:serde", "dep:serde_json"]
stream = ["dep:tokio-stream"]
tokio = ["dep:tokio"]
[dependencies]
async-trait = { version = "0.1", default-features = false }
dogma = { version = "0.1", default-features = false, features = ["traits"] }
replace_with = { version = "0.1", default-features = false }
thiserror = { version = "2", default-features = false }
flume = { version = "0.12", default-features = false, features = ["async"], optional = true }
serde = { version = "1", default-features = false, features = ["derive"], optional = true }
serde_json = { version = "1", default-features = false, features = ["alloc"], optional = true }
tokio = { version = "1.49", default-features = false, features = ["macros", "sync"], optional = true }
tokio-stream = { version = "0.1", default-features = false, optional = true }