Agent skill · software engineering · upstash
upstash-box-py
Work with the upstash-box Python SDK for sandboxed cloud containers with AI agents, shell, filesystem, git, cron schedules, snapshots, and a headless browser. Use when building with Upstash Box in Python, creating a sandbox or isolated environment to run untrusted or agent-generated code, running AI coding agents in containers, giving an agent a cloud dev environment with a shell and repository, browser automation from a box, scheduling recurring jobs inside a box, saving and restoring snapshots, or orchestrating parallel boxes.
Why this skill is useful
Provides specific commands and patterns for managing sandboxed environments with Upstash Box that the AI wouldn't reliably generate on its own.
What it needs
Requires upstash-box installed locally. Requires upstash account access. About 9k tokens when loaded. Last updated 2026-07-14. 17 stars on the source repository.
What this skill does
upstash-box Python SDK Sandboxed cloud containers with built-in AI agents, shell, filesystem, git, cron schedules, and an optional headless browser. Mirrors the @upstash/box TypeScript SDK (upstash-box-js skill) with snakecase names; the intentional differences are listed under Gotchas. Install & Setup Set UPSTASHBOXAPIKEY env var or pass apikey to constructors. The SDK ships both a synchronous Box (used in the examples below) and an asynchronous AsyncBox (box = await AsyncBox.create(...), await box.agent.run(...)). The async surface is identical with await and async for. Anonymous telemetry headers are sent with every request; opt out with the UPSTASHDISABLETELEMETRY env var. Box Lifecycle Account-level env vars Injected into every box you create. Agent Runs Agent options (per harness) options is forwarded to the harness — the accepted keys depend on which one the box runs. Keys are snakecase in Python; the SDK converts top-level keys to each harness's backend casing (Claude Code / OpenCode → camelCase, Codex → snakecase). Keys inside nested dicts are sent verbatim. Unlike the JS generic AgentOptions<TProvider>, Python does not narrow options by harness — the type is the union of all shapes plus a raw dict. Harness & model harness is required. Model enums: ClaudeCode, OpenAICodex, OpenCodeModel, CursorModel, OpenRouterModel, VercelModel — or any provider-prefixed string. Custom harness Run your own agent process inside the box instead of a managed harness. Run Fields Every run (agent, command, or code) returns a Run: Shell Execution Live sessions exec.session() opens a WebSocket to a process that is still running — stdin, streamed stdout/stderr, PTY resize, and signals. It is the one feature not carried by httpx; the websockets dependency is imported lazily, only when a session opens. Available on Box, AsyncBox, and both ephemeral clients. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills upstash/upstash-box-py