Skip to main content

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

  1. Detects your hardware (RAM, VRAM, Apple Silicon unified memory, NVIDIA via pynvml/nvidia-smi).
  2. Pulls a daily snapshot of leaderboard scores (Open LLM Leaderboard v2, LiveBench, Aider, EvalPlus) — falls back to a bundled snapshot offline.
  3. Filters the model catalog to those that fit your usable memory (Q4_K_M GGUF footprint + headroom).
  4. 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_judgment dataset (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)

Source distribution for llm-fit-check 0.1.1
File Size Uploaded
llm_fit_check-0.1.1.tar.gz 13.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llm-fit-check 0.1.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page