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.0.tar.gz (13.2 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.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: llm_fit_check-0.1.0.tar.gz
  • Upload date:
  • Size: 13.2 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.0.tar.gz
Algorithm Hash digest
SHA256 c7eb48d07d75175b659a17a14c754ad15f22efc30c9cd018c45fe4deb94fff2b
MD5 8ed4c96217d3b7dc387cb00929f3e666
BLAKE2b-256 71ae74614ae2e6e532168ac64275cd617b65ff6967540832cbd340fc8f1d8aa6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: llm_fit_check-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cf100e48266c71a8972a20f9bbfe534105ea68f9345d844e6730cf65de91711c
MD5 79424b6c00226e373fa1c355162da08d
BLAKE2b-256 f1278a129fcde72ac9daf54b7f3476c526fda07316a97899b318b25ee9800806

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