TraceDB Rust SDK
TraceDB Rust SDK for the standalone Rust SDK lane pinned to `platform-contract-v0`.
The crate provides:
- Blocking `TraceDbClient` over HTTP/1.1 for local engine workflows.
- Async `TraceDbAsyncClient` over `reqwest`.
- Typed response models for the current TraceDB HTTP contract.
- Table/query builders for ergonomic record and hybrid-query calls.
- `from_env()` configuration support through `TraceDbClientConfig`.
- Safe retries for read-only routes and idempotency retries for keyed writes.
- Crate identity constants `NAME`/`VERSION`; sync and async HTTP requests send
`User-Agent: {NAME}/{VERSION}`.
Install
cargo add tracedb-sdkQuickstart
use tracedb_sdk::{TraceDbClient, TraceDbClientConfig};
let config = TraceDbClientConfig::from_env()?;
let client = TraceDbClient::new(config);
let ready = client.ready_typed()?;
println!("ready: {}", ready.ready);Against an existing TraceDB HTTP server, run the bundled example from this repository:
cargo run --example quickstart -- --url http://127.0.0.1:8090 --token dev-tokenCurrent Packaging Boundary
This repository is the standalone Rust SDK lane for `platform-contract-v0`, pinned by `tracedb-protocol.lock`.
The crate owns its HTTP contract wire models directly and has no normal or dev-dependency path links to the sibling core repo. Local integration tests still start the sibling `tracedb-server` process through Cargo so the SDK can exercise the real local HTTP product path without linking core crates. Those real-server tests skip when the sibling core checkout is not present.
The crate is live on crates.io as `tracedb-sdk = "0.1.0"`.