1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! Arrow Zerobus SDK Wrapper
//!
//! Cross-platform Rust SDK wrapper for Databricks Zerobus with Python bindings.
//! Provides a unified API for sending Arrow RecordBatch data to Zerobus with
//! automatic protocol conversion, authentication, retry logic, and observability.
//!
//! # Features
//!
//! - Rust SDK API for sending Arrow RecordBatch data to Zerobus
//! - Python bindings (Python 3.11+) via PyO3
//! - Automatic retry with exponential backoff + jitter
//! - Automatic token refresh for long-running operations
//! - OpenTelemetry observability integration
//! - Optional debug file output (Arrow + Protobuf)
//! - Thread-safe concurrent operations
//!
//! # Example
//!
//! ```no_run
//! use arrow_zerobus_sdk_wrapper::{ZerobusWrapper, WrapperConfiguration};
//! use arrow::record_batch::RecordBatch;
//!
//! # async fn example() -> Result<(), arrow_zerobus_sdk_wrapper::ZerobusError> {
//! # let config = WrapperConfiguration::new(
//! # "https://workspace.cloud.databricks.com".to_string(),
//! # "my_table".to_string(),
//! # )
//! # .with_credentials("client_id".to_string(), "client_secret".to_string())
//! # .with_unity_catalog("https://unity-catalog-url".to_string());
//! # let wrapper = ZerobusWrapper::new(config).await?;
//! # // Create and send a RecordBatch here
//! # wrapper.shutdown().await?;
//! # Ok(())
//! # }
//! ```
pub use ;
pub use ZerobusError;
pub use ;