Spin Up a Workspace
prime sandbox create python:3.11-slim \
--name analytics-lab \
--cpu-cores 2 \
--memory-gb 4 \
--disk-size-gb 20 \
--timeout-minutes 240 \
--env PROFILE=production
Why it’s nice:
- Omit
--name to auto-generate a slug.
- Keep secrets safe—values are obfuscated in output.
- Pass
--team-id if you need to charge a different workspace.
- Add
--yes to skip the confirmation prompt in automation.
- GPUs? Coming soon. For now, leave off
--gpu-count; the flag is ignored until GPU sandboxes launch.
Network Access
Sandboxes have outbound internet access enabled by default. For isolated environments (e.g., running untrusted code), disable it:
# Create a sandbox without internet access
prime sandbox create python:3.11-slim --no-network-access
# Create with internet access (default behavior)
prime sandbox create python:3.11-slim --network-access
When network access is disabled:
- Outbound connections to the internet are blocked
- DNS resolution for internal services still works
- Communication within the sandbox (e.g., sidecar) is allowed
Check In on Sandboxes
# Overview at a glance
prime sandbox list --status RUNNING --output table
# Rich details for one sandbox
prime sandbox get sbx_123 --output json
# Quick command to verify the runtime
prime sandbox run sbx_123 --working-dir /workspace "python -c 'print(42)'"
# Capture logs for later debugging
prime sandbox logs sbx_123 > logs.txt
Organize with Labels
Labels help you tag and manage groups of sandboxes:
# Create sandboxes with labels
prime sandbox create python:3.11-slim \
--label experiment \
--label ml-pipeline \
--label team-research
# List sandboxes with specific labels (must have ALL labels)
prime sandbox list --label experiment --label ml-pipeline
# Delete all sandboxes with specific labels
prime sandbox delete --label experiment --yes
Labels are useful for:
- Grouping related experiments or workflows
- Tracking which team or project owns a sandbox
- Bulk cleanup by category (dev, staging, test, etc.)
Move Files Around
# Push local assets into the sandbox
prime sandbox upload sbx_123 notebooks/analysis.ipynb /workspace/
# Pull results back home
prime sandbox download sbx_123 /workspace/report.csv reports/latest.csv
Note: File uploads are limited to 200MB per file.
If a transfer complains about auth, run prime sandbox reset-cache and retry—the CLI refreshes the gateway token for you.
Expose Ports
Make HTTP services running inside your sandbox accessible from the internet.
Currently only HTTP is supported. TCP/UDP support is coming soon.
prime sandbox create python:3.11-slim --name web-server
# Returns sandbox ID, e.g. sbx_abc123
prime sandbox run <sandbox-id> "nohup python -m http.server 8000 --bind 0.0.0.0 > /dev/null 2>&1 &"
prime sandbox expose <sandbox-id> 8000 --name web-server
prime sandbox list-ports <sandbox-id>
prime sandbox unexpose <sandbox-id> <exposure-id> --yes
Works with Flask, FastAPI, Jupyter, or any HTTP service.
Clean Up in Bulk
# Delete a short list of sandboxes in one go
prime sandbox delete sbx_123 sbx_456 sbx_789
# Wipe every active sandbox (careful!)
prime sandbox delete --all --yes
Deletes are batched behind the scenes, and the CLI prints success/failure per sandbox so you can re-run failed IDs.
Need more ideas? Check the runnable scripts in prime-cli/examples/ for CLI walkthroughs you can customize.
Quick Troubleshooting
- Sandbox stuck in
PROVISIONING? Wait a minute, then rerun prime sandbox list --status RUNNING. If it stays pending, delete and recreate from a known-good image.
- Hitting auth issues?
prime sandbox reset-cache refreshes the gateway token after you rotate API keys.