autooptm
Measured GPU speedups for your training and inference code, from the terminal, an agent, or Python. The estimate is free; continuing takes a 2-credit analysis deposit, credited in full against the patch; the patch is what costs credits.
pipx install autooptm # a CLI tool: pipx or `uv tool install autooptm`, not a bare pip
# (Homebrew's Python on macOS and recent Debian/Ubuntu refuse it)
autooptm login # opens the browser to approve this machine (30-day token)
autooptm run https://github.com/you/repo --entrypoint train.py
autooptm wait <jobId> # resume waiting after a dropped connection or --no-wait
autooptm unlock <jobId> # asks before spending credits
git apply autooptm.patch
A local directory (autooptm run .) is packed on your machine, and you
see the list before it leaves: .git, caches and virtualenvs are dropped
without asking; weight files, data files, files over 8 MB and directories
with over 200 files are each shown and asked about (they stay out unless
you say yes, or answer d to send a directory up as the private dataset
instead, unpacked at the same path in the sandbox); then the packing list
is printed and upload? [Y/n] waits.
--dry-run only shows the list, --include PATH / --exclude PATH answer
from the command line, and --yes takes the defaults without asking (off a
terminal, run will not upload without it).
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), pipx 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.6.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.6.0.tar.gz | 28.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autooptm-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.8 kB
Release files / autooptm-0.6.0.tar.gz
| Download URL | autooptm-0.6.0.tar.gz |
|---|---|
| Size | 28.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
339be8b589d5a2926026f81ba370b556b7476c535a8f08db42efb4ac49c875a6
|
|
BLAKE2b-256 checksum How to use checksums |
4f8cbc0f296304d815ca279818f11e14b7dbaa563e75ce4084ebe55817660d19
|
| 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.6.0-py3-none-any.whl
| Download URL | autooptm-0.6.0-py3-none-any.whl |
|---|---|
| Size | 32.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
68644236db3b962a551c3f054f057eba7e50c86b3848532a7b6bcb79718e5870
|
|
BLAKE2b-256 checksum How to use checksums |
b15f34fb3536511ad2c9740970e93d927c15ea65a872d7bbcb9e7b178f330ff4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|