Skip to content

Rust SDK: Installation

Add aires-sdk to your Cargo.toml:

[dependencies]
aires-sdk = "0.1"

Or from the workspace path (in the Aires monorepo):

[dependencies]
aires-sdk = { path = "../sdk-rust" }

The Rust SDK uses tonic for gRPC and prost for Protobuf. The build step compiles the .proto file into Rust types using tonic-build, which requires:

  • Rust 1.75+ (for async fn in traits)
  • protoc — the Protobuf compiler must be in your PATH

Install protoc:

# macOS
brew install protobuf

# Ubuntu/Debian
apt install -y protobuf-compiler

# Arch
pacman -S protobuf

The SDK depends on:

CratePurpose
tonicgRPC client (HTTP/2 transport)
prostProtobuf code generation and serialization
tokioAsync runtime for the batch worker
uuidUUID v7 generation for event IDs
crossbeam-channelLock-free MPSC channel for batching
serde / serde_jsonSerialization for the data field
parking_lotFast synchronization primitives
tracingInternal diagnostic logging
thiserrorError type derivation
bytesByte buffer handling
rmp-serdeMessagePack serialization (for compact data encoding)

All dependencies are workspace-managed in the Aires monorepo.

The SDK currently has no optional feature flags. All functionality is included by default. Future releases may add:

  • tls — TLS support for gRPC (currently always compiled)
  • compression — gzip/zstd compression for gRPC payloads
  • otel-bridge — bridge to OpenTelemetry’s tracing API
use aires_sdk::Aires;

fn main() {
    let _aires = Aires::builder()
        .service("test")
        .endpoint("http://localhost:4317")
        .build()
        .expect("failed to build config");

    println!("aires-sdk installed successfully");
}
cargo run
  • Usage — Builder pattern, logging, spans, metrics
  • Configuration — All configuration options