Overview
Portal runs your Python scripts on the machines you choose across the providers you connect, and keeps them going through spot notices and out-of-memory failures.
Warnings and limits
- Portal is open to anyone with an active Clusy account and a verified email address.
- Portal runs Python scripts: Python 3.12 by default, 3.13 or 3.14 when your project asks for it. Python 3.11 and free-threaded builds are refused.
- Your compute runs in your own provider accounts, and each provider bills you for it. A quote is an estimate: it leaves out disks, data transfer and taxes.
- On a spot notice, a recoverable out-of-memory failure or a provider's time limit, Portal checkpoints the job and suspends it. It does not resume it on its own: you choose when and where.
- A checkpoint cannot carry open files, sockets, running threads or other processes. See Spot interruptions and checkpoints.
- Open issues affect Azure Container Apps and stored secrets today: see Known issues.
What Portal does
- Quotes. Portal asks every provider you connected for offers that fit your job (GPU model, GPUs, CPUs, memory, spot or not) and lists them by price. Nothing is uploaded and nothing starts.
- Runs. You pick an offer. Portal uploads your project directory, starts the machine in your account, installs your requirements and runs your script.
- Watches. Each job reports its progress, CPU, memory and GPU use.
portal logs,portal ps,portal explainand the console show them. - Keeps the job going. When a spot machine gets its notice, a job runs out of memory in a way it can recover from, or a provider's time limit comes close, Portal pauses the program at a safe point, saves its state (a checkpoint) to storage and suspends the job. You resume it on a machine you choose, and it continues from where it paused.
- Moves it when that pays. While a job runs, Portal looks for a cheaper offer every 10 minutes and moves the running program there when the saving is worth the move. See What Portal does on its own.
- Ends cleanly. Every machine Portal starts has a hard stop, and
portal auditlists everything Portal runs across your providers, so nothing is left running by mistake.
Three ways to use it
| Way | What you use it for |
|---|---|
The CLI (portal) | Quotes, runs, logs, moves and connections from a terminal. See Install the CLI. |
| A coding tool | Claude Code, Codex, Cursor, VS Code and others call Portal's tools through MCP. See Set up your coding tool. |
| The console | Runs, usage, machines, connections and settings in the browser at portal.clusy.io/app. See The console. |
Where your jobs can run
| Provider | What Portal starts |
|---|---|
| AWS | EC2 instances (spot or on-demand, CPU or GPU) in your account |
| Google Cloud | Compute Engine VMs (spot or standard, CPU or GPU) in your project |
| Azure | Azure VMs and Azure Container Apps in your subscription |
| Modal | Modal sandboxes in your workspace |
| Lambda | Lambda Cloud GPU instances in your account |
| Your own machines | Computers you enroll, running Portal's agent |