FoxyGPU
Run local code — FastAPI backends, frontend dev servers, or anything else — on Google Colab's free-tier GPU, driven entirely from your own machine.
Install
pip install foxygpu
How it works
foxygpu launch opens FoxyGPU's own runner notebook directly in Colab — no
manual notebook upload, and no GitHub account or token needed for the default
path. That notebook starts a control-plane agent, reached from your machine
over a Cloudflare Tunnel (no account needed). The local foxygpu CLI talks to
that agent to upload your project, start it with a shell command, stream its
logs, and expose whatever port it's listening on with its own public URL.
┌───────────────────┐
│ foxygpu CLI │
│ (local machine) │
└───────────────────┘
│
│ HTTPS/WSS via a Cloudflare Tunnel
▼
┌──────────────────────────────┐
│ foxygpu_agent │
│ (Colab VM, GPU runtime) │
│ spawns your process │
│ (uvicorn / npm / anything) │
└──────────────────────────────┘
Quickstart
foxygpu launch # opens Colab, no token needed
# run the cells; copy the `foxygpu connect ...` command it prints
foxygpu connect <url> --token <token>
foxygpu run ./my-app --cmd 'pip install -r requirements.txt && uvicorn main:app --host 0.0.0.0 --port $PORT' --expose
The agent picks a free port for you and injects it as $PORT — you never have
to think about which ports are free. Once you know your --cmd, save it to a
foxygpu.yaml and just run foxygpu deploy from then on — it also
auto-detects common frameworks (FastAPI/Flask, Vite/Next.js) if you don't have
one yet.
Made changes and want to update what's running? foxygpu redeploy stops the
previous deployment of the same project before starting the new one.
Need to pass a database URL or API key? Use --env/--env-file — never embed
secrets directly in --cmd, since that gets shown in foxygpu status and the
logs.
Any language, any framework
foxygpu run/deploy just execute a shell command on the VM — Node, Go,
Rust, Flask, Streamlit, a plain training script, anything the Colab VM can
run works, not just Python or FastAPI.
Full documentation
The GitHub README has the complete command reference, a full working example (a real GPU-backed Ollama chat app), known limitations, and contributor docs.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file foxygpu-0.2.1.tar.gz.
File metadata
- Download URL: foxygpu-0.2.1.tar.gz
- Upload date:
- Size: 33.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e33ed15a1a273c0e953bd1e5f2bf02fb7100061db040e803d73073bae6e25858
|
|
| MD5 |
47ce934775e0ca0a7b2141913a36afc4
|
|
| BLAKE2b-256 |
08d48acfe7bb167c4dce8906c548188d9a67188864828b070cead6003469f6b9
|
Provenance
The following attestation bundles were made for foxygpu-0.2.1.tar.gz:
Publisher:
publish.yml on Shamshadz/FoxyGPU
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
foxygpu-0.2.1.tar.gz -
Subject digest:
e33ed15a1a273c0e953bd1e5f2bf02fb7100061db040e803d73073bae6e25858 - Sigstore transparency entry: 2663949556
- Sigstore integration time:
-
Permalink:
Shamshadz/FoxyGPU@76c48bb26c9e4b2768784c97ef02bb15791f06c8 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/Shamshadz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@76c48bb26c9e4b2768784c97ef02bb15791f06c8 -
Trigger Event:
release
-
Statement type:
File details
Details for the file foxygpu-0.2.1-py3-none-any.whl.
File metadata
- Download URL: foxygpu-0.2.1-py3-none-any.whl
- Upload date:
- Size: 23.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18cd928873d58aa55775e995d210d336678648b91b7d86206bbe2da0d574b694
|
|
| MD5 |
d9cdcd25bf0cae8d453f02ff81a88862
|
|
| BLAKE2b-256 |
440aa65c57f559d65670c47aa1e13e5c5c278551c8361ef5aa449a3421e779d8
|
Provenance
The following attestation bundles were made for foxygpu-0.2.1-py3-none-any.whl:
Publisher:
publish.yml on Shamshadz/FoxyGPU
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
foxygpu-0.2.1-py3-none-any.whl -
Subject digest:
18cd928873d58aa55775e995d210d336678648b91b7d86206bbe2da0d574b694 - Sigstore transparency entry: 2663949570
- Sigstore integration time:
-
Permalink:
Shamshadz/FoxyGPU@76c48bb26c9e4b2768784c97ef02bb15791f06c8 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/Shamshadz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@76c48bb26c9e4b2768784c97ef02bb15791f06c8 -
Trigger Event:
release
-
Statement type: