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.4.0.tar.gz (42.0 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.4.0-py3-none-any.whl (39.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tinillm-1.4.0.tar.gz
  • Upload date:
  • Size: 42.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for tinillm-1.4.0.tar.gz
Algorithm Hash digest
SHA256 fea4fc2bd01a9314b6158f46f578fef8afbc3b4a3630b8c0865c9d924409f9bd
MD5 102bff38388ee36c9a81ab7d4f127a1c
BLAKE2b-256 cd5c26942e0b7a36be7514db2251386ec6fe5de5aa755de813604b7cfcb17a8f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tinillm-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 39.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for tinillm-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f9a1aaa47e4c8ae229c7665b3f734f01aa4e180cd51aced1a2017a2f2089dc5
MD5 43bcc45fda4ed6f25799744ef87c9b62
BLAKE2b-256 e7c60d442ac439dbb93cfd661217672ba5195b73249fe5426b6ba97fe750d37b

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