Rust SDK

In Development

The Rust SDK is under active development. API surface is stabilizing but may still change before v1.0.

io-sdk — idiomatic Rust SDK for IO. Fluent builder, thiserror, SSE streaming.


Installation

[dependencies]
io-sdk = "0.1"
tokio = { features = ["full"] }

Quick Start

use io_sdk::IO;
 
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let io = IO::new("your-api-key");
 
    let response = io.completions()
        .model("auto")
        .message("Hello, IO!")
        .send()
        .await?;
 
    println!("{}", response.message);
    println!("Receipt: {}", response.receipt.signature);
    Ok(())
}

Streaming

use io_sdk::IO;
use futures::StreamExt;
 
let mut stream = io.stream()
    .model("auto")
    .message("Count to 10")
    .send()
    .await?;
 
while let Some(chunk) = stream.next().await {
    print!("{}", chunk.delta);
}

Builder API

Every endpoint uses a fluent builder:

io.completions()
    .model("deepseek")
    .message("Write a sorting algorithm in Rust")
    .temperature(0.3)
    .max_tokens(2000)
    .send()
    .await?;

Options: model(), message(), messages(), temperature(), max_tokens(), top_p(), stop().


Cargo Features

FeatureDescription
streamingSSE streaming support (enabled by default)
tlsTLS via rustls (default) or native-tls