E2B is an open-source infrastructure that allows you run to AI-generated code in secure isolated sandboxes in the cloud. To start and control sandboxes, use our JavaScript SDK or Python SDK.
Source: packages/code-interpreter-python
pip install e2b-code-interpreter
E2B_API_KEY=e2b_***
from e2b_code_interpreter import Sandbox
with Sandbox.create() as sandbox:
sandbox.run_code("x = 1")
execution = sandbox.run_code("x+=1; x")
print(execution.text) # outputs 2The top-level Sandbox and AsyncSandbox exports read their configuration from the environment variables. To use an explicit configuration — e.g. several API keys or domains in one process — create an E2B client and use the resource classes it exposes:
from e2b_code_interpreter import E2B
client = E2B(api_key="e2b_***", domain="e2b.dev")
with client.Sandbox.create() as sandbox:
execution = sandbox.run_code("x = 1; x += 1; x")
# The async variant is exposed as well.
async_sandbox = await client.AsyncSandbox.create()
# The core resources are bound to the client's configuration as well.
volume = client.Volume.create("my-volume")
exists = client.Template.exists("my-template")
secret = client.Secret.create("openai-api-key", "sk-***")
# The classes can be assigned and used like the top-level ones.
Sandbox = client.Sandbox
paginator = Sandbox.list()Per-call params still take precedence over the client's params, and clients are isolated from each other and from the env-configured top-level exports.
Visit E2B documentation.
Visit our Cookbook to get inspired by examples with different LLMs and AI frameworks.