Skip to main content

Hardware LLM capability scanner — know what runs on your machine

Project description

tinillm

Know what LLMs your hardware can run — locally, instantly.

pip install tinillm
tinillm scan

What it does

tinillm scan inspects your CPU, RAM, and GPU then tells you exactly which LLM model sizes can run on your machine, at what quality level, and how fast.

╭──────────────────────────────────────────────────────╮
│   tinillm scan — Hardware Report                     │
├──────────────────────────────────────────────────────┤
│  CPU    Intel Core i9-13900K   24c / 32t   5.8 GHz   │
│  RAM    32.0 GB total  ·  24.2 GB free               │
│  GPU    NVIDIA GeForce RTX 4090   24.0 GB   CUDA     │
│  OS     Linux                                        │
╰──────────────────────────────────────────────────────╯

  LLM Capability Matrix

  Model    Fit        Best Quant   Mem Needed   Tokens/sec
  ~1B      Perfect    Q8_0          1.9 GB        580 t/s
  ~3B      Perfect    Q8_0          3.8 GB        195 t/s
  ~7B      Perfect    Q6_K          6.2 GB         88 t/s
  ~13B     Perfect    Q5_K_M       10.1 GB         47 t/s
  ~34B     Good       Q4_K_M       21.8 GB         18 t/s

  1 model size(s) too large — use --verbose to show
  Perfect  ·  Good  ·  Marginal  ·  TooTight

Works on Linux, macOS, and Windows. No GPU required — CPU-only machines are supported too.


Install

pip install tinillm

Requires Python 3.11+. No other tools needed.


Usage

tinillm scan                # hardware + LLM capability report (default)
tinillm scan --verbose      # show all model sizes including ones that don't fit
tinillm scan --json         # machine-readable JSON (for scripts / CI)
tinillm scan --no-color     # plain text (safe to pipe to grep / awk / log files)

Scripting example

# Find all models that run perfectly on this machine
tinillm scan --json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for fit in data['fits']:
    if fit['fit_level'] == 'Perfect':
        print(fit['model'], fit['best_quant'], fit['tokens_per_sec'], 't/s')
"

GPU support

Vendor Detection method
NVIDIA nvidia-smi → sysfs fallback
AMD rocm-smi → sysfs fallback
Apple Silicon system_profiler (unified memory)
Intel Arc sysfs + lspci
Windows (all) PowerShell WMI
Any vulkaninfo last-resort fallback

Fit levels explained

Level Meaning
Perfect Fits comfortably at Q4_K_M or better with ≥20% VRAM headroom
Good Fits but tightly
Marginal Fits only at heavy compression / reduced context, or CPU-only
TooTight Won't fit under any quantisation

Versioning

tinillm grows one feature at a time:

Version Feature
1.1 scan — hardware LLM capability scanner ← current
1.2 (next feature)

Part of the tini* family

Tool What it does
tiniRAG Privacy-first RAG CLI
tinillm Hardware LLM capability scanner

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

tinillm-1.5.1.tar.gz (44.4 kB view details)

Uploaded Source

Built Distribution

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

tinillm-1.5.1-py3-none-any.whl (42.5 kB view details)

Uploaded Python 3

File details

Details for the file tinillm-1.5.1.tar.gz.

File metadata

  • Download URL: tinillm-1.5.1.tar.gz
  • Upload date:
  • Size: 44.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tinillm-1.5.1.tar.gz
Algorithm Hash digest
SHA256 fe3bf4bfcccf8100af0be15d6a8d2cc1999e70e74218d77450505b272728288a
MD5 12ae7f1f95a1fa7a0dc8bcf16ad080c3
BLAKE2b-256 eaf26a0ff1573475e543355bb154bbc663a63e3ec77b8ba8b0e7f61a8de25009

See more details on using hashes here.

File details

Details for the file tinillm-1.5.1-py3-none-any.whl.

File metadata

  • Download URL: tinillm-1.5.1-py3-none-any.whl
  • Upload date:
  • Size: 42.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tinillm-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5f4a26c7ce1bf147f7df6f03babc704aa64f4427f484232883fedef6d79975db
MD5 c679346f8cfcd18c4acff3f19f552bcc
BLAKE2b-256 c728e26ca08ebb20c611e651985c5d6b7250d4d16bed977a805fdd7363b2a911

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