[package]
name = "databricks-zerobus-ingest-sdk"
version = "1.0.1"
authors = ["Databricks"]
edition = "2021"
rust-version = "1.70"
license-file = "LICENSE"
description = "A high-performance Rust client for streaming data ingestion into Databricks Delta tables using the Zerobus service"
readme = "../README.md"
repository = "https://github.com/databricks/zerobus-sdk"
keywords = ["databricks", "delta", "streaming", "ingestion", "zerobus"]
categories = ["database", "api-bindings"]
documentation = "https://docs.rs/databricks-zerobus-ingest-sdk"

[dependencies]
async-trait = "0.1"
prost = "0.13.3"
prost-types = "0.13.3"
reqwest = { version = "0.12", features = ["json", "rustls-tls-native-roots", "rustls-tls-webpki-roots"], default-features = false }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "1.0"
tokio = { version = "1.42.0", features = ["macros", "rt-multi-thread", "fs", "sync"] }
tokio-retry = "0.3"
tokio-stream = "0.1.16"
tokio-util = { version = "0.7.17", features = ["rt"] }
tonic = { version = "0.13", features = ["tls-native-roots", "transport"] }
tracing = "0.1.41"
hyper-http-proxy = { version = "1.1", default-features = false }
hyper-util = { version = "0.1", features = ["client-legacy", "tokio"] }
smallvec = "1.15.1"

# Arrow Flight dependencies
arrow-flight = { version = "56.2.0", default-features = false, optional = true }
arrow-array = { version = "56.2.0", default-features = false, optional = true }
arrow-schema = { version = "56.2.0", default-features = false, optional = true }
arrow-ipc = { version = "56.2.0", default-features = false, optional = true, features = ["lz4","zstd"] }
futures = { version = "0.3", optional = true }

[dev-dependencies]
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

[build-dependencies]
tonic-build = "0.13"
protoc-bin-vendored = "3.0.0"

[features]
default = []
# Arrow Flight is experimental/unsupported
arrow-flight = ["dep:arrow-flight", "dep:arrow-array", "dep:arrow-schema", "dep:arrow-ipc", "dep:futures"]
testing = []
