Aurabase Logo
aurabasedocs
docsRéférenceSDK Rust

SDK Rust

aurabase crate — client async typé pour Tokio/axum/actix.

Référence8 min de lecture·Niveau référence·Révisé le 15 avr. 2026
#
Installation

Cargo

Cargo.toml
TOML
[dependencies]
aurabase = "0.1"
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
Attention
Les breaking changes sont annoncés dans le changelog avec période de 30 jours avant release.
#
Initialisation

Client par défaut

src/aurabase.rs
RUST
use aurabase::AuraClient;
use std::env;
pub fn client() -> AuraClient {
AuraClient::new(
&env::var("AURA_URL").unwrap(),
&env::var("AURA_SERVICE_ROLE_KEY").unwrap(),
None, // AuraClientOptions (timeout, headers, auth store)
)
}
#
Exemple

Select + insert

src/handlers.rs
RUST
use aurabase::AuraClient;
use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize)]
pub struct Sensor { pub id: uuid::Uuid, pub value: f64 }
pub async fn recent(aura: &AuraClient) -> Result<Vec<Sensor>> {
aura.from("sensors")
.select("id,value")
.order("captured_at.desc")
.limit(50)
.execute::<Sensor>()
.await
}
#
Codegen

aura db generate --lang rust

terminal
BASH
# ROADMAP — le codegen Rust (--lang rust) n’est pas encore disponible.
aura db generate --lang rust > src/aurabase_types.rs
# Générera : structs Deserialize/Serialize pour chaque table + enums pour les types Postgres custom
#
Stabilité

API encore mouvantes

Ces surfaces sont encore sujettes à changement. Compilation conditionnelle derrière la feature unstable dans Cargo.toml.

  • aura.channel() — WebSocket/SSE client
  • aura.functions.invoke() — edge function call
  • aura.storage.upload_resumable() — tus-style chunks
Dernière mise à jour · 15 avr. 2026