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 AsyncSandbox as 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.4.tar.gz (11.3 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.4-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file vercel_sandbox-0.0.4.tar.gz.

File metadata

  • Download URL: vercel_sandbox-0.0.4.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vercel_sandbox-0.0.4.tar.gz
Algorithm Hash digest
SHA256 179cd1ce1ddcfa09544e73eb61ba9d7480c81a4d556a4562aebca935bcebcb56
MD5 c9d87bdce8cb291d08cce2900e96e004
BLAKE2b-256 ed701fb13c7d2af92d5312806de247a16b963dfc210251955a3af0046bf2490d

See more details on using hashes here.

Provenance

The following attestation bundles were made for vercel_sandbox-0.0.4.tar.gz:

Publisher: publish.yml on vercel/sandbox-sdk-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vercel_sandbox-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: vercel_sandbox-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vercel_sandbox-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 54d54a35a8a3ecbd81f120fc537ebdebe3b755fcd46f9839467c45aad1a7236a
MD5 5f0bb2826f3cc05a50b9d7253cafec0e
BLAKE2b-256 84600b51606b22fb27d9c9eadc6f8eaa51a5772844f96000c4005e1ea4a40f8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for vercel_sandbox-0.0.4-py3-none-any.whl:

Publisher: publish.yml on vercel/sandbox-sdk-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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