Python SDK for Vercel Sandbox
Project description
Python SDK for Vercel Sandbox
This is a minimal Python SDK that mirrors the core features of the TypeScript SDK:
- Create sandboxes
- Run commands (detached or wait for completion)
- Stream command logs
- Read/Write files, mkdir
- Stop sandbox
- Resolve exposed port domain
Quickstart
pip install vercel-sandbox
Or locally:
pip install -e .
Example
import asyncio
from vercel.sandbox import Sandbox
async def main():
async with await Sandbox.create(
source={"type": "git", "url": "https://github.com/vercel/sandbox-example-next.git"},
resources={"vcpus": 4},
ports=[3000],
timeout=600_000,
runtime="node22",
) as sandbox:
print("Installing dependencies...")
result = await sandbox.run_command("npm", ["install", "--loglevel", "info"]) # waits
if result.exit_code != 0:
raise SystemExit("install failed")
print("Starting dev server...")
cmd = await sandbox.run_command_detached("npm", ["run", "dev"]) # detached
print("Visit:", sandbox.domain(3000))
asyncio.run(main())
Using or not using the context manager
# Preferred: automatic cleanup
async with await Sandbox.create(timeout=60_000, runtime="node22") as sandbox:
await sandbox.run_command("echo", ["hello"])
# Manual cleanup
sandbox = await Sandbox.create(timeout=60_000, runtime="node22")
try:
await sandbox.run_command("echo", ["hello"])
finally:
await sandbox.stop()
await sandbox.client.aclose()
Authentication
The SDK prefers Vercel OIDC tokens when available:
- Local: use
vercel env pulland place credentials in a.envfile (auto-loaded). - Alternatively provide
VERCEL_TOKEN,VERCEL_TEAM_ID, andVERCEL_PROJECT_ID.
Environment variables
VERCEL_OIDC_TOKENplusVERCEL_TEAM_IDandVERCEL_PROJECT_ID- or
VERCEL_TOKEN,VERCEL_TEAM_ID,VERCEL_PROJECT_ID
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
vercel_sandbox-0.0.1.tar.gz
(8.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vercel_sandbox-0.0.1.tar.gz.
File metadata
- Download URL: vercel_sandbox-0.0.1.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bae4a633fe668e5ebbc57432fd3aa7af02c0b5c0d0790292b34cc8c7646925f7
|
|
| MD5 |
c1ba2348c52e6121baf489230842a8bf
|
|
| BLAKE2b-256 |
5479e2c8a1c4d01a21e4e29132f8f88e3913156a7734f1125efa5f8741724ccf
|
File details
Details for the file vercel_sandbox-0.0.1-py3-none-any.whl.
File metadata
- Download URL: vercel_sandbox-0.0.1-py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd41a1505c45ea11ea99bfb21000567b65755d3aae5fec3336e12d92dcff760b
|
|
| MD5 |
933278536c3bd76957369fe666366330
|
|
| BLAKE2b-256 |
e31e27515c5369742cd8b3587f46bb8a1e1c65a4088cf62b9878bef6b1f1763a
|