Skip to main content

Install

Basic Install​

Install Code Sandboxes using pip:

pip install code-sandboxes

Optional Dependencies​

Code Sandboxes supports different execution backends via extras:

# With Cloudflare variant support (an HTTP client for the sandbox bridge)
pip install code-sandboxes[cloudflare]

# With CoreWeave variant support
pip install code-sandboxes[coreweave]

# With Datalayer variant support
pip install code-sandboxes[datalayer]

# With Daytona variant support
pip install code-sandboxes[daytona]

# With Docker variant support
pip install code-sandboxes[docker]

# With E2B variant support
pip install code-sandboxes[e2b]

# With Kaggle support
pip install code-sandboxes[kaggle]

# With Modal variant support
pip install code-sandboxes[modal]

# With Monty (secure in-process interpreter) support
pip install code-sandboxes[monty]

# All features
pip install code-sandboxes[all]

Requirements​

  • Python 3.10 or higher
  • For Cloudflare variant: code-sandboxes[cloudflare], a deployed sandbox bridge Worker (npm create cloudflare -- sandbox-bridge --template=cloudflare/sandbox-sdk/bridge/worker), and both CLOUDFLARE_SANDBOX_API_URL and CLOUDFLARE_SANDBOX_API_KEY. Cloudflare's own SDK is a Workers binding, which a Python process cannot hold — the bridge is what it talks to instead
  • For CoreWeave variant: code-sandboxes[coreweave] and CWSANDBOX_API_KEY, an access token from the CoreWeave console
  • For Datalayer variant: valid DATALAYER_API_KEY
  • For Daytona variant: code-sandboxes[daytona] and a Daytona API key (DAYTONA_API_KEY, from app.daytona.io)
  • For Docker variant: Docker installed and running
  • For E2B variant: code-sandboxes[e2b] and an E2B API key (E2B_API_KEY, from e2b.dev)
  • For Google Colab variant: a Colab runtime assignment (server URL, kernel id, proxy token)
  • For Kaggle variant: code-sandboxes[kaggle] and Kaggle credentials (for batch mode) or runtime connection values (for interactive mode)
  • For Modal variant: code-sandboxes[modal] and Modal credentials (modal token new or MODAL_TOKEN_ID / MODAL_TOKEN_SECRET)
  • For Monty variant: code-sandboxes[monty] (no credentials required)

Configuration​

Environment Variables​

VariableDescription
DATALAYER_API_KEYAPI key for Datalayer runtime authentication
DATALAYER_RUN_URLCustom Datalayer service URL (optional)
MODAL_TOKEN_IDModal token id (Modal variant)
MODAL_TOKEN_SECRETModal token secret (Modal variant)
DAYTONA_API_KEYDaytona API key (Daytona variant)
DAYTONA_API_URLDaytona API URL (optional, defaults to app.daytona.io)
DAYTONA_TARGETDaytona region (optional)
E2B_API_KEYE2B API key (E2B variant)
E2B_DOMAINE2B domain (optional, for a self-hosted cluster; defaults to e2b.dev)
CWSANDBOX_API_KEYCoreWeave access token (CoreWeave variant)
CWSANDBOX_BASE_URLCoreWeave control plane (optional, defaults to api.cwsandbox.com)
CLOUDFLARE_SANDBOX_API_URLWhere the deployed sandbox bridge Worker answers (Cloudflare variant)
CLOUDFLARE_SANDBOX_API_KEYThe key that bridge was deployed with (Cloudflare variant)

Programmatic Configuration​

from code_sandboxes import Sandbox, SandboxConfig

config = SandboxConfig(
timeout=30.0,
environment="ai-agents-env",
memory_limit=4 * 1024**3, # 4GB
cpu_limit=2.0,
working_dir="/workspace",
env_vars={"DEBUG": "1"},
)

sandbox = Sandbox.create(config=config)

Verifying Installation​

from code_sandboxes import Sandbox

with Sandbox.create() as sandbox:
result = sandbox.run_code("print('Installation successful!')")
print(result.stdout)