Skip to main content

Zero-Downtime Spot GPU Failover Guard & AI Acceleration Utility for Vast.ai & RunPod

Project description

โšก SpotWarp: Zero-Downtime Spot GPU Failover Guard & Auto-Resumer

PyPI Version License: MIT Security: Audited

SpotWarp is a lightweight, 100% local Python daemon that protects your AI inference & PyTorch model training workloads on cheap Spot GPUs (Vast.ai, RunPod, AWS Spot) by converting unstable, interruptible instances into highly reliable, auto-resuming, stateful infrastructure.

Save up to 70% on GPU compute bills without worrying about sudden evictions or data loss.


๐Ÿ†š Spot GPU Eviction: Standard vs. SpotWarp

Feature Standard Spot Instance With SpotWarp (v3.0)
Eviction Consequence Workload dies, checkpoints are deleted, money is wasted. Zero Data Loss. Local daemon migrates work instantly.
Recovery Process Manual console log-in, search for a new GPU, manual setup. 100% Autopilot. Automatic rental & connection handover.
Workload Continuation Restart training from epoch 0. Auto-Resume. Script continues running via nohup over SSH.
Security Risk Requires placing S3/GitHub keys on unstable rented hosts. Zero Key Leakage. All API keys remain on your local machine.

๐Ÿ’Ž Core Commercial Features

  • ๐Ÿ’ธ CFO-Approved GPU Savings: Safely exploit cheap Spot pricing on Vast.ai and RunPod. SpotWarp gives you the reliability of a Dedicated On-Demand GPU for the price of a Spot instance.
  • ๐Ÿ”„ Stateful Workload Migration: Runs high-speed rsync incremental backups in the background of your local client machine. When eviction strikes, it restores your workspace files to the replacement container before verification.
  • ๐Ÿ”’ Zero-Trust Security (100% Local): Your cloud provider API keys (VAST_API_KEY, RUNPOD_API_KEY) stay on your local PC. Rented containers never see your cloud credentials.
  • ๐Ÿ“ฆ Zero-Configuration: No need to install daemons, cron jobs, or synchronization tools inside the remote container. If rsync is missing on Windows, SpotWarp automatically installs a portable binary in 1 second.
  • โšก Training Auto-Resumer: Automatically restarts your training scripts (--resume-cmd) in the background of the new container, pointing directly to your restored training checkpoints.

๐Ÿš€ Quick Start in 2 Minutes

1. Installation (Local PC)

Install the official package via Pip:

pip install spotwarp

2. Export API Key & Set Up Local Environment

Set your Vast.ai API key on your local machine:

# On Linux/macOS
export VAST_API_KEY="your_vast_api_key"

# On Windows (PowerShell)
$env:VAST_API_KEY="your_vast_api_key"

3. Start the Guard (With Auto-Sync & Training Resume)

Run the guard daemon on your local PC. Point it to your license key and define how your training should resume:

spotwarp start --license-key YOUR_SPOTWARP_KEY --resume-cmd "python /workspace/train.py --resume"

โš™๏ธ How It Works (The Warping Cycle)

[Rented GPU Host]                     [Local PC (Client)]                    [New GPU Host]
  (Active Workload)
         โ”‚                                     โ”‚                                    โ”‚
         โ”‚ โ”€โ”€โ”€ (30s Sync: rsync delta) โ”€โ”€โ”€โ”€โ”€โ”€> โ”‚ (Cached Workspace)                 โ”‚
         โ”‚                                     โ”‚                                    โ”‚
    [๐Ÿšจ Evicted!]                              โ”‚                                    โ”‚
         โŒ โ”€โ”€โ”€ (API Eviction Warning) โ”€โ”€โ”€โ”€โ”€โ”€> โ”‚                                    โ”‚
                                               โ”‚ โ”€โ”€โ”€ (Rent Alternative GPU) โ”€โ”€โ”€โ”€โ”€โ”€> โ”‚
                                               โ”‚                                    โ”‚
                                               โ”‚ โ”€โ”€โ”€ (Rsync Restore Workspace) โ”€โ”€โ”€> โ”‚
                                               โ”‚                                    โ”‚
                                               โ”‚ โ”€โ”€โ”€ (Nohup Resume Command) โ”€โ”€โ”€โ”€โ”€โ”€> [Run Workload]
                                                                                      (Continuing!)
  1. Eviction Detection: SpotWarp polls the cloud API every 10 seconds. If an eviction warning is triggered, it executes a Final Gasp Sync to save the latest files.
  2. Alternative Host Search: SpotWarp scans the marketplace for the cheapest matching GPU (e.g. RTX 3090) on a different host machine and rents it instantly.
  3. Delta Sync Restoration: SpotWarp transfers the cached workspace folder to the new container.
  4. Nohup Handover: SpotWarp connects via SSH to trigger the --resume-cmd in the background and verifies the Jupyter API connection.

๐Ÿ“„ License & Security Audits

SpotWarp is distributed under the MIT License. The code executes 100% locally in user space on your local computer, ensuring full transparency and compliance.

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

spotwarp-3.0.4.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

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

spotwarp-3.0.4-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file spotwarp-3.0.4.tar.gz.

File metadata

  • Download URL: spotwarp-3.0.4.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.13

File hashes

Hashes for spotwarp-3.0.4.tar.gz
Algorithm Hash digest
SHA256 bbd23a9c4fe96fb0b3e1c979b4a91506b3dab22569e9e4f78104cb7f9affb49d
MD5 c841d27a2bb0f49b67453f698559778d
BLAKE2b-256 6137dbf69b39a484141efc0be96769002195685639496ff5ecba7116db1fd1ff

See more details on using hashes here.

File details

Details for the file spotwarp-3.0.4-py3-none-any.whl.

File metadata

  • Download URL: spotwarp-3.0.4-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.13

File hashes

Hashes for spotwarp-3.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 18a06f479172cc4866d6738caebae30432a96a5c59dc223c73c2db92d33cc307
MD5 b768befc56a8b32970834ff7b3432289
BLAKE2b-256 7474e402ce60a0bed6a54d36980dfa8c29cc3003b8a023e83f1d2de02ba14992

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