autooptm
Measured GPU speedups for your training and inference code, from the terminal, an agent, or Python. Diagnosis and measurement are free; credits move only when you unlock the patch.
pip install autooptm
autooptm login # opens the browser to approve this machine (30-day token)
autooptm run https://github.com/you/repo --entrypoint train.py
autooptm unlock <jobId> # asks before spending credits
git apply autooptm.patch
run first gets the free estimate and shows it (expected speedup, the
range, a lossless line, and the reviewer's note if something in the
submission would stop the run); it then asks before taking the analysis
deposit. --yes continues without asking, --no-estimate skips the
estimate (the deposit is taken at submit). A job left at the estimate can be
answered later:
autooptm estimate <jobId> # the numbers again
autooptm decide <jobId> continue # takes the deposit, credited against the unlock
autooptm decide <jobId> stop # free
autooptm login --email you@example.com is the no-browser door (a mailed
code) for servers and CI shells; --no-browser prints the approval link
instead of opening it.
Python:
from autooptm import AutoOptm
ao = AutoOptm()
job = ao.submit(".", entrypoint="bench.py", workload="inference")
done = ao.wait(job["jobId"])
print(done["speedup"], done["unlock_credits"])
MCP (Claude Code, Cursor, any MCP client), pip install 'autooptm[mcp]':
{ "mcpServers": { "autooptm": { "command": "autooptm-mcp" } } }
Tools: optimize_submit, optimize_status, optimize_wait,
unlock_patch (requires explicit user confirmation), download_patch,
account_balance.
API keys (CI and scripts)
autooptm login saves a 30-day token that slides on use, which is the right
credential for a laptop and the wrong one for a build machine: it expires
while the pipeline is idle, it needs a mailbox to renew, and it can spend
credits. A key fixes all three.
autooptm login # a key is minted from a session
autooptm keys create "CI pipeline" # printed once, never again
autooptm keys list
autooptm keys revoke aok_1a2b3c4d5e6f
Put it in CI as AUTOOPTM_TOKEN and it works everywhere a login token does.
Keys carry scopes, and the default is read,submit. unlock is opt-in,
so a build machine can submit work and read the result without being able to
spend a credit, whatever the build does. Add --scopes read,submit,unlock
only if you mean it, and --expires-in-days N to make it die on its own.
Release files for autooptm 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 | |
|---|---|---|---|
| autooptm-0.5.0.tar.gz | 18.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autooptm-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.8 kB
Release files / autooptm-0.5.0.tar.gz
| Download URL | autooptm-0.5.0.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
19ac9166289582997b34223ccb38ab2bbecd9262ec9ce977075b3c93d37a261d
|
|
BLAKE2b-256 checksum How to use checksums |
dbb37fcef2f8bbcca71af2f6dbc87eb97616c68089334bfb0c75b49091f853b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / autooptm-0.5.0-py3-none-any.whl
| Download URL | autooptm-0.5.0-py3-none-any.whl |
|---|---|
| Size | 20.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d4743db3a7b59b06630580fc45c93c734781a48b664cf11755495e3686c3de50
|
|
BLAKE2b-256 checksum How to use checksums |
d0c8ffc67b77cb4342bd42b7165c912a925609bccc565dffaa9d85dd80f42b94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|