Upstash Box sandbox integration for Deep Agents.
An Upstash Box is a secure, isolated cloud container with a full Linux shell, filesystem, git, and a runtime. This package wraps a box as a Deep Agents SandboxBackendProtocol, so agents can run shell commands and read/write files inside it.
uv add langchain-upstash-box
# or: pip install langchain-upstash-boxSet your Box API key (create one in the Upstash Console):
export UPSTASH_BOX_API_KEY="box_xxxxxxxxxxxx"Provision a box and use it as a sandbox backend:
from langchain_upstash_box import UpstashBoxSandbox
# Creates a box and waits until it is ready.
sandbox = UpstashBoxSandbox.create(runtime="python")
result = sandbox.execute("echo hello")
print(result.output) # "hello"
print(result.exit_code) # 0
# Filesystem helpers (ls / read / write / edit / glob / grep) are provided by
# BaseSandbox on top of execute() + upload/download.
sandbox.write("/workspace/home/hello.py", "print('hi from box')")
print(sandbox.read("/workspace/home/hello.py").content)
sandbox.delete()Wrap an existing box instead of creating one:
from langchain_upstash_box import UpstashBoxSandbox
sandbox = UpstashBoxSandbox(box_id="current-wasp-05510")from deepagents import create_deep_agent
from langchain_upstash_box import UpstashBoxSandbox
sandbox = UpstashBoxSandbox.create(runtime="python")
agent = create_deep_agent(
model="anthropic:claude-opus-4-6",
backend=sandbox,
)
agent.invoke({"messages": [{"role": "user", "content": "Create app.py and run it."}]})UpstashBoxSandbox subclasses BaseSandbox and implements execute(), upload_files(), download_files(), and id. All other filesystem tool operations are derived from those by BaseSandbox, which relies on python3 being available inside the box (it is, on the default Debian-based runtimes).
| Setting | Source |
|---|---|
| API key | api_key= argument or UPSTASH_BOX_API_KEY env var |
| Base URL | base_url= argument or UPSTASH_BOX_BASE_URL env var (defaults to https://us-east-1.box.upstash.com) |
make test # unit tests (no credentials needed)
make integration_test # integration tests (requires UPSTASH_BOX_API_KEY)
make lint
make formatIssues and pull requests are welcome at https://github.com/upstash/box.
MIT