Skip to main content

Python SDK for Universal Sandbox API

Project description

Universal Sandbox Python SDK

Python SDK for Universal Sandbox API.

Installation

pip install universal-sandbox

Usage

from universal_sandbox import Sandbox

# Initialize client (base_url defaults to https://api.sandbox.ai-infra.org)
sandbox = Sandbox(token="your-token")

# Check API health
health = sandbox.check_health()
print(health.status)

# Create a code interpreter sandbox
sb = sandbox.code_interpreter.create(provider="e2b", timeout_minutes=5)
print(f"Sandbox ID: {sb.id}")

# Execute code
result = sandbox.sandboxes.execute(sb.id, command="print('Hello, World!')")
print(result.stdout)

# Get sandbox info
info = sandbox.sandboxes.get_sandbox(sb.id)
print(f"Status: {info.status}")

# List all sandboxes
sandbox_list = sandbox.sandboxes.list_sandboxes()
print(f"Total: {sandbox_list.total}")

# Delete sandbox
sandbox.sandboxes.delete(sb.id)

API to SDK Mapping

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_sandboxes()
GET /sandboxes/{id} sandbox.sandboxes.get_sandbox()
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()

API Reference

Sandbox Client

from universal_sandbox import Sandbox

sandbox = Sandbox(
    token="your-token",           # API token (optional if auth disabled)
    base_url="https://...",       # Optional, defaults to production
)

Root Methods

  • sandbox.check_health() - Check API health status
  • sandbox.list_regions() - List available regions for all providers
  • sandbox.get_limits() - Get resource limits and current usage

Sandbox Creation

  • sandbox.code_interpreter.create(provider, timeout_minutes, region, metadata) - Create code interpreter
  • sandbox.browser.create(provider, timeout_minutes, region, metadata) - Create browser sandbox
  • sandbox.aio.create(provider, timeout_minutes, region, metadata) - Create all-in-one sandbox

Sandbox Management

  • sandbox.sandboxes.list_sandboxes() - List all sandboxes
  • sandbox.sandboxes.get_sandbox(sandbox_id) - Get sandbox by ID
  • sandbox.sandboxes.delete(sandbox_id) - Delete a sandbox
  • sandbox.sandboxes.execute(sandbox_id, command, timeout) - Execute command

Token Management (Admin)

  • sandbox.tokens.issue(...) - Create a personal access token
  • sandbox.tokens.revoke(prefix) - Revoke a token
  • sandbox.tokens.get(user_id) - Get user's token

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

universal_sandbox-0.0.4.tar.gz (25.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

universal_sandbox-0.0.4-py3-none-any.whl (46.5 kB view details)

Uploaded Python 3

File details

Details for the file universal_sandbox-0.0.4.tar.gz.

File metadata

  • Download URL: universal_sandbox-0.0.4.tar.gz
  • Upload date:
  • Size: 25.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for universal_sandbox-0.0.4.tar.gz
Algorithm Hash digest
SHA256 a0cce51166e9a484864d31654e194e7902a11a6e5f0398ec3483f9808c786d10
MD5 46a25d8e32e1ef3bb042b366a0062fd8
BLAKE2b-256 bc109a3c129705ea11efe5c758a9c3c64d905c7830a3c342daf26b3ca37b7b49

See more details on using hashes here.

File details

Details for the file universal_sandbox-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for universal_sandbox-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 52b4aae540a2535986e31ddf55eea4ec5368d3227dfd0a43532c44a2fb5a4c41
MD5 42f49f3708da533eab32d7c00ae4273a
BLAKE2b-256 808f2b11ecb7facb9092393fe649a7ecf16c12de320417a8546eb7738ab77a69

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page