llm-fit-check
One line: which open-source LLM works best on your local machine today.
pip install llm-fit-check
llm-fit-check --task code
# > For code, run Qwen2.5-Coder 32B (`ollama run qwen2.5-coder:32b`) — ~21.0GB, score 90/100 on the 2026-01-15 leaderboard snapshot.
What it does
- Detects your hardware (RAM, VRAM, Apple Silicon unified memory, NVIDIA via
pynvml/nvidia-smi). - Pulls a daily snapshot of leaderboard scores (Open LLM Leaderboard v2, LiveBench, Aider, EvalPlus) — falls back to a bundled snapshot offline.
- Filters the model catalog to those that fit your usable memory (Q4_K_M GGUF footprint + headroom).
- Returns the highest-scoring model for your task in one line.
Usage
llm-fit-check # general-purpose pick
llm-fit-check --task reasoning --why # show hardware + runners-up + sources
llm-fit-check --ask # interactive: asks what you want to do
llm-fit-check list --task code # full ranked catalog
llm-fit-check hardware # just print detected hardware
llm-fit-check --refresh # force-refresh leaderboard cache
Tasks: code, chat, reasoning, general.
As a library
from llm_fit_check import recommend
rec = recommend(task="code")
print(rec.one_liner())
print(rec.pick.ollama) # e.g. "qwen2.5-coder:32b"
How the snapshot is refreshed
A GitHub Action (.github/workflows/refresh.yml) runs weekly (Mon 06:00 UTC)
and regenerates src/llm_fit_check/data/snapshot.json by running
scripts/refresh_snapshot.py. The package fetches the raw JSON from GitHub on
first use and caches it locally for 7 days. --offline uses the bundled
snapshot only.
Sources today:
- HuggingFace Open LLM Leaderboard v2 (paginated rows API, with retries and early-stop once all known aliases are matched)
- LiveBench
model_judgmentdataset (best-effort; falls back gracefully when the rows endpoint 500s — a parquet-based fetch is the next step)
Adding a new model: edit scripts/aliases.yaml (HF repo id → catalog id)
and scripts/footprints.yaml (display name, params, Q4 footprint, ollama tag),
then trigger the workflow manually. Run locally with:
pip install httpx pyyaml
python scripts/refresh_snapshot.py # writes snapshot.json
python scripts/refresh_snapshot.py --dry-run # prints to stdout instead
If every source fails, the existing snapshot is preserved (no partial writes).
Roadmap
- Live scrapers for LMArena, LiveBench, Aider (currently a curated snapshot)
- AMD ROCm + Intel Arc detection
- Quantization-aware footprints (Q8, Q5, Q3)
- Detect installed runtimes (Ollama, llama.cpp, LM Studio) and recommend models you already have
- Per-task benchmarks beyond aggregate scores
License
MIT.
Metadata
Release files for llm-fit-check 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llm_fit_check-0.1.1.tar.gz | 13.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llm_fit_check-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.2 kB
Release files / llm_fit_check-0.1.1.tar.gz
| Download URL | llm_fit_check-0.1.1.tar.gz |
|---|---|
| Size | 13.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2d1a83faa241c446ed658f604e50d45ae978a570f29603e9d5be4cb4fe641b08
|
|
BLAKE2b-256 checksum How to use checksums |
1e4c32d507577611561454bcc649fc28acdf7fa80697180a4706b71b0cedebea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / llm_fit_check-0.1.1-py3-none-any.whl
| Download URL | llm_fit_check-0.1.1-py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9a6834858a0d821b0c2a1bb0de16a9ce81bf6cc03f5c70f63a6dcd66cc37eb61
|
|
BLAKE2b-256 checksum How to use checksums |
2215482de6da129ce59a7a6513d50d074e5ab9b2b8385c210178ff6bae78c64a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|