🦀 Rustbox Rust SDK
Async via tokio + reqwest. Builder-style configuration. Typed errors via thiserror.
🚀 Install
⚡ Quickstart
use ;
async
run() submits, waits for sync completion, polls if needed, returns the verdict.
Profiles
use ;
// Judge profile (default) - short evaluation runs, no egress proxy.
client.run.await?;
// Agent profile - longer jobs, egress proxy on, per-key byte budget.
// Requires a non-trial API key.
client.run.await?;
🔒 Errors
use RustboxError;
match client.run.await
| Method | Returns |
|---|---|
Rustbox::new(api_key) |
Result<Rustbox, RustboxError> |
.with_base_url(url) |
Result<Rustbox, RustboxError> (builder) |
.with_timeout(d) |
Result<Rustbox, RustboxError> (builder) |
.with_max_retries(n) |
Rustbox (builder) |
client.run(&req).await |
Result<Value, RustboxError> |
client.submit(&req, wait, opts).await |
Result<Value, RustboxError> |
client.get_result(id).await |
Result<Value, RustboxError> |
client.get_languages().await |
Result<Vec<String>, RustboxError> |
client.get_health().await |
Result<Value, RustboxError> |
client.get_ready().await |
Result<Value, RustboxError> |
// Implements Default - use `..Default::default()` to omit optionals.
Value is serde_json::Value. Pull fields with result["verdict"] or serde_json::from_value into your own struct.
&&
wiremock mocks. No network.
🔗
- 📦 crates.io: rustbox-sdk
- 📚 docs.rs
- 🪝 Webhooks
- 🛣️ Roadmap
- 🦀 SDK index