Skip to main content

One line: which open-source LLM works best on your local machine today.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llm_fit_check-0.1.1.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llm_fit_check-0.1.1-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file llm_fit_check-0.1.1.tar.gz.

File metadata

  • Download URL: llm_fit_check-0.1.1.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for llm_fit_check-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2d1a83faa241c446ed658f604e50d45ae978a570f29603e9d5be4cb4fe641b08
MD5 63e30a0a46dab0cb44bb1cfdf0754d70
BLAKE2b-256 1e4c32d507577611561454bcc649fc28acdf7fa80697180a4706b71b0cedebea

See more details on using hashes here.

File details

Details for the file llm_fit_check-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: llm_fit_check-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for llm_fit_check-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9a6834858a0d821b0c2a1bb0de16a9ce81bf6cc03f5c70f63a6dcd66cc37eb61
MD5 aaaa4e35d23343b8443297efc7b797ca
BLAKE2b-256 2215482de6da129ce59a7a6513d50d074e5ab9b2b8385c210178ff6bae78c64a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page