[package]
name = "numaflow"
version = "0.6.0"
edition = "2024"
rust-version.workspace = true
description = "Rust SDK for Numaflow"
authors = ["Numaflow Developers"]
license = "Apache-2.0"
readme = "README.md"
homepage = "https://numaproj.github.io/numaflow/"
repository = "https://github.com/numaproj/numaflow-rs"
keywords = ["numaflow", "streaming", "messaging", "event-driven"]
categories = ["network-programming", "api-bindings"]
exclude = [
    ".github/*",
    ".gitignore",
    ".dockerignore",
    "hack/*",
    "Makefile",
]


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

[dependencies]
tonic.workspace = true
tonic-prost.workspace = true
prost.workspace = true
prost-types.workspace = true
tokio.workspace = true
tokio-util.workspace = true
tokio-stream.workspace = true
serde.workspace = true
serde_json.workspace = true
tracing.workspace = true
uuid.workspace = true
thiserror.workspace = true
hyper-util.workspace = true
chrono.workspace = true
tonic-types.workspace=true

[build-dependencies]
tonic-prost-build.workspace = true

[features]
# Feature flag to enable panic tests with single-threaded execution
# Tests are run sequentially (--test-threads=1) to prevent global state interference among services
test-panic = []

[dev-dependencies]
tempfile.workspace = true
tower.workspace = true
