Python SDK for Universal Sandbox API.
pip install universal-sandboxFor more detailed usage, please refer to example.py
from universal_sandbox import Sandbox
# Initialize client
# Get Sandbox API Token from https://ai-infra.org/
sandbox = Sandbox(token="sandbox-api-token")
# Check API health
health = sandbox.check_health()
print(health.status)
# Create a code interpreter sandbox
sb = sandbox.code_interpreter.create()
print(f"Sandbox ID: {sb.id}")
print(f"Provider: {sb.provider}")
# Execute code
result = sandbox.sandboxes.execute(sb.id, command="print('Hello, World!')")
print(result.stdout)
# Get sandbox info
info = sandbox.sandboxes.get(sb.id)
print(f"Status: {info.status}")
# List all sandboxes
sandbox_list = sandbox.sandboxes.list()
print(f"Total: {sandbox_list.total}")
# Delete sandbox
sandbox.sandboxes.delete(sb.id)| API Endpoint | SDK Interface |
|---|---|
GET /health |
sandbox.check_health() |
GET /regions |
sandbox.list_regions() |
GET /limits |
sandbox.get_limits() |
POST /sandboxes/code-interpreter |
sandbox.code_interpreter.create() |
POST /sandboxes/browser |
sandbox.browser.create() |
POST /sandboxes/aio |
sandbox.aio.create() |
GET /sandboxes |
sandbox.sandboxes.list() |
GET /sandboxes/{id} |
sandbox.sandboxes.get() |
DELETE /sandboxes/{id} |
sandbox.sandboxes.delete() |
POST /sandboxes/{id}/execute |
sandbox.sandboxes.execute() |
POST /admin/tokens |
sandbox.tokens.issue() |
POST /admin/tokens/{prefix}/revoke |
sandbox.tokens.revoke() |
GET /admin/users/{user_id}/token |
sandbox.tokens.get() |
from universal_sandbox import Sandbox
sandbox = Sandbox(
token="your-token", # API token (optional if auth disabled)
base_url="https://...", # Optional, defaults to production
)sandbox.check_health()- Check API health statussandbox.list_regions()- List available regions for all providerssandbox.get_limits()- Get resource limits and current usage
sandbox.code_interpreter.create(provider, timeout_minutes, region, metadata)- Create code interpretersandbox.browser.create(provider, timeout_minutes, region, metadata)- Create browser sandboxsandbox.aio.create(provider, timeout_minutes, region, metadata)- Create all-in-one sandbox (only supportsprovider="volcengine")
sandbox.sandboxes.list()- List all sandboxessandbox.sandboxes.get(sandbox_id)- Get sandbox by IDsandbox.sandboxes.delete(sandbox_id)- Delete a sandboxsandbox.sandboxes.execute(sandbox_id, command, timeout)- Execute command
sandbox.tokens.issue(...)- Create a personal access tokensandbox.tokens.revoke(prefix)- Revoke a tokensandbox.tokens.get(user_id)- Get user's token