Skip to main content

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 pull and place credentials in a .env file (auto-loaded).
  • Alternatively provide VERCEL_TOKEN, VERCEL_TEAM_ID, and VERCEL_PROJECT_ID.

Environment variables

  • VERCEL_OIDC_TOKEN plus VERCEL_TEAM_ID and VERCEL_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)

Uploaded Source

Built Distribution

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

vercel_sandbox-0.0.1-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

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

Hashes for vercel_sandbox-0.0.1.tar.gz
Algorithm Hash digest
SHA256 bae4a633fe668e5ebbc57432fd3aa7af02c0b5c0d0790292b34cc8c7646925f7
MD5 c1ba2348c52e6121baf489230842a8bf
BLAKE2b-256 5479e2c8a1c4d01a21e4e29132f8f88e3913156a7734f1125efa5f8741724ccf

See more details on using hashes here.

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

Hashes for vercel_sandbox-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bd41a1505c45ea11ea99bfb21000567b65755d3aae5fec3336e12d92dcff760b
MD5 933278536c3bd76957369fe666366330
BLAKE2b-256 e31e27515c5369742cd8b3587f46bb8a1e1c65a4088cf62b9878bef6b1f1763a

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