SDKs
Build with a typed Seren client
Choose TypeScript, Python, or Rust and work with the same Seren products in the style of your language. The TypeScript SDK also works in JavaScript projects.
Configuration
Shared configuration
All three SDKs read SEREN_API_KEY and SEREN_API_BASE. The default API base is https://api.serendb.com. Most applications only need these two settings. Applications that connect to more than one Seren account can create a separate client for each one.
TypeScript
A TypeScript-first SDK with full JavaScript support for server and browser applications.
pnpm add @serendb/sdkimport { serenAgentListDeployments } from "@serendb/sdk";
const { data, error } = await serenAgentListDeployments();
if (error) throw error;
console.log(data.data);Python
For Python applications, scripts, notebooks, and async work.
pip install seren-sdkfrom seren import Seren
from seren.api.generated.api.seren_agent import seren_agent_list_deployments
with Seren() as seren:
response = seren_agent_list_deployments.sync_detailed(client=seren.client)
print(response.parsed)Rust
For Rust applications and services that connect to Seren.
seren-sdk = "0.9"use seren::{Client, ClientConfig};
let client = Client::from_config(&ClientConfig::from_env())?;
let deployments = client
.seren_agent_list_deployments()
.await?
.into_inner()
.data;
println!("Found {} deployment(s)", deployments.len());Reference
One contract across languages
TypeScript, Python, and Rust expose the same Seren products even when method names follow different language conventions. Use the API reference when you need the exact inputs and responses for an operation.