SDKs
agentkernel provides official SDK clients in five languages. Each SDK wraps the HTTP API with idiomatic language bindings.
Quick Comparison
| SDK | Package | Registry | Install |
|---|---|---|---|
| Node.js | agentkernel |
npm | npm install agentkernel |
| Python | agentkernel-sdk |
PyPI | pip install agentkernel-sdk |
| Go | agentkernel |
pkg.go.dev | go get github.com/thrashr888/agentkernel/sdk/golang |
| Rust | agentkernel-sdk |
crates.io | cargo add agentkernel-sdk |
| Swift | AgentKernel |
GitHub | Swift Package Manager |
All SDKs share the same API surface:
health()— Health checkrun(command, options?)— Run a command in a temporary sandboxrunStream(command, options?)— Run with streaming output (SSE)listSandboxes()— List all sandboxescreateSandbox(name, options?)— Create a sandbox (with resource limits and profile)getSandbox(name)— Get sandbox info (includes image, vcpus, memory)removeSandbox(name)— Remove a sandboxexecInSandbox(name, command)— Execute in an existing sandboxreadFile(name, path)— Read a file from a sandboxwriteFile(name, path, content)— Write a file to a sandboxdeleteFile(name, path)— Delete a file from a sandboxgetSandboxLogs(name)— Get audit log entries for a sandboxbatchRun(commands)— Run multiple commands in parallelsandbox(name)/withSandbox(name)— Scoped session with automatic cleanup
Configuration
Every SDK resolves configuration the same way:
- Explicit options passed to the constructor
- Environment variables (
AGENTKERNEL_BASE_URL,AGENTKERNEL_API_KEY) - Defaults (
http://localhost:18888, no API key, 30s timeout)
Quick Start by Language
Node.js
import { AgentKernel } from "agentkernel";
const client = new AgentKernel();
const result = await client.run(["echo", "hello"]);
console.log(result.output);
Python
from agentkernel import AgentKernel
with AgentKernel() as client:
result = client.run(["echo", "hello"])
print(result.output)
Rust
use agentkernel_sdk::AgentKernel;
#[tokio::main]
async fn main() -> agentkernel_sdk::Result<()> {
let client = AgentKernel::builder().build()?;
let output = client.run(&["echo", "hello"], None).await?;
println!("{}", output.output);
Ok(())
}
Go
import agentkernel "github.com/thrashr888/agentkernel/sdk/golang"
client := agentkernel.New(nil)
output, _ := client.Run(context.Background(), []string{"echo", "hello"}, nil)
fmt.Print(output.Output)
Swift
import AgentKernel
let client = AgentKernel()
let output = try await client.run(["echo", "hello"])
print(output.output)
Source Code
All SDKs live in the sdk/ directory: