[package]
name = "dora-node-api"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
documentation.workspace = true
readme.workspace = true
description.workspace = true
license.workspace = true
repository.workspace = true
[features]
default = ["tracing", "metrics"]
tracing = ["dep:dora-tracing", "dep:opentelemetry"]
metrics = ["dep:dora-metrics"]
arrow-v58 = ["dep:arrow58", "dora-arrow-convert/arrow-v58"]
arrow-v59 = ["dora-arrow-convert/arrow-v59"]
[dependencies]
dora-core = { workspace = true, features = ["zenoh"] }
dora-message = { workspace = true }
eyre = { workspace = true }
serde_yaml = { workspace = true }
tracing = { workspace = true }
flume = { workspace = true }
zenoh = { workspace = true }
zenoh-ext = { workspace = true }
dora-tracing = { workspace = true, optional = true }
dora-metrics = { workspace = true, optional = true }
opentelemetry = { version = "0.32.0", optional = true }
arrow = { workspace = true, features = ["ipc"] }
arrow58 = { package = "arrow", version = "58", optional = true, default-features = false, features = ["ffi"] }
flatbuffers = "25"
futures = { workspace = true }
futures-concurrency = "7.7.1"
futures-timer = "3.0.4"
dora-arrow-convert = { workspace = true }
aligned-vec = "0.6.4"
serde_json = { workspace = true, features = ["preserve_order"] }
tokio = { workspace = true, features = ["rt-multi-thread", "time", "macros", "sync"] }
inquire = { workspace = true, features = ["console"] }
arrow-json = { workspace = true }
arrow-schema = { workspace = true }
chrono = { version = "0.4", features = ["serde"] }
colored = { workspace = true }
is-terminal = "0.4.17"
thiserror = { workspace = true }
uuid = { workspace = true }
[target.'cfg(unix)'.dependencies]
libc = "0.2"
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
dora-arrow-convert = { workspace = true, features = ["arrow-v59"] }
[[bench]]
name = "arrow_framing"
harness = false