Website · 1-minute video · Agents guide · Wiki · Changelog
GPU for Agents
Your agent rents the GPU it needs, on its own. You pay only while it works: we watch every machine and shut down the idle ones.
Ask Claude Code, Cursor or any MCP client to "compare Qwen 7B and Llama 8B on these 50 prompts". The agent finds a GPU under your budget, serves the model behind an OpenAI-compatible API with vLLM, and runs the experiment. A watchdog runs on the machine itself, so when nothing uses it for idle_timeout (15 minutes by default) it shuts down, even if the agent forgot, the chat closed or your laptop is asleep.
- Self-service GPUs for agents. A skill and local MCP tools (
gpu_offers,gpu_setup,gpu_run,gpu_status,gpu_destroy, ...) give the agent the whole lifecycle. The skill tells it to show you the price and ask before renting. - Billing that ends when the work does. Idle timeout, maximum lifetime, hourly and session budgets, and a sweep that cleans up anything left behind.
- Any app, any language.
gpu --json setupreturnsbase_url,api_keyandmodelfor any OpenAI SDK.
Vast.ai is the first provider; another provider is a new adapter, and the lifecycle rule stays the same.
Quickstart: give your agent a GPU
pipx install gpu4agents # or: uv tool install gpu4agents
cd your-project
echo "VAST_API_KEY=..." >> .env # or ~/.gpu/credentials; never in jambu.yaml
gpu agent install # Claude Code; -t cursor, -t desktop, --global
Then ask the agent for an experiment. See Letting a coding agent rent GPUs.
Quickstart: from a shell or an app
gpu init --model Qwen/Qwen2.5-7B-Instruct
gpu validate
gpu offers # see prices, rent nothing
gpu setup # rent, boot vLLM, wait until the model answers
gpu run python experiment.py # OPENAI_BASE_URL / OPENAI_API_KEY are set for the job
gpu destroy # or walk away: the idle timeout does it
From an application in any language, gpu --json setup prints the endpoint as JSON. See Integrating into an application, with a ready TypeScript client.
Declare the limits
# jambu.yaml (only the gpu_runtime key is read, so other Jambu tools can share the file)
gpu_runtime:
provider: {name: vast}
model_profile: qwythos-9b
lifecycle:
idle_timeout: 15m # the watchdog on the machine stops it
max_lifetime: 6h # a hard ceiling, busy or not
budget:
max_hourly_cost_usd: 0.60 # offers above this are never rented
max_session_cost_usd: 5.00
health:
pull_stall_timeout: 10m # a host whose image pull stalls is replaced
A full example is jambu.example.yaml. As a last line of defense, gpu ls shows every machine billing in the account and gpu sweep --install-timer guards every project on the machine and cleans up orphans. See Keeping the account clean.
The API key is read from the environment, a project .env, or ~/.gpu/credentials. It never goes in the manifest, and the agent never sees it.
Docs
- Letting a coding agent rent GPUs (Claude Code, Cursor, Claude Desktop)
- Integrating into an application (any language)
- Commands, workloads, and agents
- Every config field
- Choosing a model
- How shutdown works
- Adding a provider
Coming from jambu-gpu
The package was called jambu-gpu until 0.4.1. Same code, same gpu command, same jambu.yaml, same machines:
pipx uninstall jambu-gpu && pipx install gpu4agents
Sweep timers installed by jambu-gpu keep working; gpu sweep --install-timer rewrites them for the new module.
Contributing
Issues and pull requests are welcome. Read CONTRIBUTING.md and the Code of Conduct. Report security issues privately, as described in SECURITY.md.
Author
Created by João Gabriel Lima at Jambu.ai.
License
MIT.
Metadata
Release files for gpu4agents 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gpu4agents-0.5.0.tar.gz | 616.0 kB | Without provenance | Details for gpu4agents-0.5.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| gpu4agents-0.5.0-py3-none-any.whl | Python 3 | none | any | Details for gpu4agents-0.5.0-py3-none-any.whl |
Total release size: 755.7 kB
Release files / gpu4agents-0.5.0.tar.gz
| Download URL | gpu4agents-0.5.0.tar.gz |
|---|---|
| Size | 616.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
72cbf34b1230effbb7a1906e9faca86cc6691f0b30d64ca3fe265f12c3e8fe7d
|
|
BLAKE2b-256 checksum How to use checksums |
dcee5e3c40f33fcabdabdd53ab51085a0cb511ce5d11b54fc71d5c30c7dfd1b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / gpu4agents-0.5.0-py3-none-any.whl
| Download URL | gpu4agents-0.5.0-py3-none-any.whl |
|---|---|
| Size | 139.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c521ca957308dab31a1894885c1e1f164b8d5c92d3cdbbc374169869daa58540
|
|
BLAKE2b-256 checksum How to use checksums |
e6086e43b597f751e796c231d16ad5d206a8ca8f4637d583516b74deedc3e93b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Security for gpu4agents 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.