Skip to main content

CanIRunLLM

PyPI Python License: MIT Tests

Find out which open-source LLMs your machine can actually run — and which one you should pick — with an automatic hardware scan and a local dashboard.

CanIRunLLM inspects your real CPU, RAM, and GPU/VRAM, checks that against a registry of real open-weight models (Qwen, Llama, Mistral, Gemma, Phi, DeepSeek, and more), and gives you a plain-language verdict — not just a raw "fits/doesn't fit" table. It runs entirely on your machine: no account, no cloud calls, no telemetry.

$ canirunllm scan

CanIRunLLM

Checking your computer...
  CPU detected
  RAM detected
  GPU detected
  VRAM detected

Analyzing local AI models...
  62 models analyzed

You can run 14 model(s) comfortably.
7 more can run with CPU/RAM offload (slower).

Dashboard:
  http://127.0.0.1:8765

Opening browser...

The browser dashboard shows a friendly "what can I run / what should I run" report — including estimated throughput and comparison charts — with the full technical breakdown (VRAM, RAM, KV cache, quantization, runtime, confidence) available behind a "Technical details" toggle for anyone who wants it. Clicking a runnable model shows real, verified commands for running it locally (llama.cpp, Ollama).

Table of contents

Why this exists

Open-weight models are closing the gap on proprietary ones fast, and running them locally means no API keys, no per-token bills, no vendor lock-in, and your data never leaving your machine. That future is arriving whether or not any single vendor cooperates.

But "just run it locally" quietly assumes you already know which model fits your hardware, which quantization to use, whether it needs multi-GPU or CPU/RAM offloading, and which runtime actually supports that combination — and gets it wrong just as quietly, with an OOM crash or a model that technically loads but is unusably slow.

CanIRunLLM exists to answer the question that actually matters before any of that: given the machine you actually have, what should you run? Not "is this hardware capable in theory," but "here's what you can run today, here's what you should pick, and here's why" — so local, open-weight models become something you can act on with confidence, not something you find out by trial and (expensive) error.

Install

Windows, no Python needed: download CanIRunLLM.exe from the latest release (or from canirunllm.vercel.app) and double-click it.

Any OS with Python already installed:

pip install canirunllm
canirunllm scan

Run canirunllm --help any time to see every command.

pip install failing? (click to expand)

canirunllm requires Python 3.10+. If pip install canirunllm reports it can't find a matching version, your plain pip/python commands are pointing at an older Python (commonly 3.9 on Windows, if more than one version is installed). Check what's available:

py -0

Then install with a specific newer version:

py -3.11 -m pip install canirunllm
py -3.11 -m canirunllm.cli scan

Or skip this entirely and use the .exe above — it needs no Python at all.

or from source:

git clone https://github.com/jashwanthsai678/CaniRunLLM.git
cd CaniRunLLM
pip install -e .

Quick start

canirunllm scan               # scan hardware, evaluate models, open the dashboard
canirunllm scan --no-browser  # same, but skip the dashboard (good for CI/headless)
canirunllm scan --technical   # also print the full technical breakdown in the terminal

canirunllm search qwen        # search the model registry
canirunllm check Qwen3-8B     # check one model or a whole family
canirunllm recommend          # ranked list of models for your hardware

canirunllm web                # launch the dashboard on its own
canirunllm web --port 9000    # on a custom port

What it actually checks

For every model + quantization pair, CanIRunLLM estimates:

  • Weight memory from parameter count and quantization (Q4_K_M, Q5_K_M, Q8_0, etc.)
  • KV cache size, which grows with context length — a model isn't just "fits" or "doesn't," it fits at a given context length
  • Runtime overhead and a safety margin, not just the raw weight size
  • Memory strategy: does it fit on a single GPU, does it need to be split across multiple GPUs, or does it need CPU/RAM offloading — each of these is a real, different scenario, not a single generic "offload" verdict
  • Runtime compatibility: is the declared runtime (llama.cpp, etc.) actually known to support that memory strategy
  • Estimated throughput (tokens/sec), clearly labeled as a modelled estimate, not a benchmark

The result is always a verdict plus a confidence level and a plain-English reason — never a bare "cannot run" with no explanation.

Architecture

CLI / Web Dashboard  (presentation only)
        │
Application Layer   (ScannerService, RecommendationEngine)
        │
   ┌────┴─────┬──────────────┬─────────────┐
   ▼          ▼              ▼             ▼
Hardware   Model Registry  Compatibility  Performance
Scanner    + Resolver      Engine         Prediction

The CLI and the local web dashboard are two presentation layers over the same Python core — nothing about compatibility is calculated twice, and the frontend never re-derives a verdict on its own.

The recommendation pipeline is entirely deterministic: hardware detection, memory math, and verdicts are plain Python, not an LLM call. This is a deliberate choice, not a missing feature — a tool whose job is helping you get your first local model can't require one to already be running, and a cloud API would contradict the "no API keys, no accounts" point of the whole project.

Current limitations (being upfront about them)

  • GPU detection currently only recognizes NVIDIA GPUs (via GPUtil/ nvidia-smi). On AMD/Intel/Apple Silicon machines it safely falls back to CPU-only mode rather than crashing, but it won't report real GPU numbers yet.
  • The model registry is a curated set of well-known open-weight models, not an exhaustive mirror of every model on Hugging Face — see src/canirunllm/registry/SOURCES.md for exactly where every number in it came from.
  • Performance numbers are a coarse, clearly-labeled estimate based on parameter count and memory strategy — there is no real benchmarking yet, and the tool never presents an estimate as a measurement.

Contributing

Contributions are welcome, especially:

  • New model registry entries — add an entry to src/canirunllm/registry/models.json and document the exact source for every field (HF config.json URL, GGUF repo, file sizes) in SOURCES.md. Never fabricate a number — if something can't be verified, it doesn't go in.
  • AMD/Intel/Apple Silicon GPU detection — the hardware scanner (src/canirunllm/hardware/) currently only supports NVIDIA.
  • Bug reports — via GitHub Issues.

Before opening a PR, run the test suite (see below) and make sure it passes.

Testing

pip install -e .
pytest -v

License

MIT — see LICENSE.

Metadata

Release files for canirunllm 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for canirunllm 0.1.3
File Size Uploaded Provenance Actions
canirunllm-0.1.3.tar.gz 53.7 kB With provenance Details for canirunllm-0.1.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for canirunllm 0.1.3
File Interpreter ABI Platform Actions
canirunllm-0.1.3-py3-none-any.whl Python 3 none any Details for canirunllm-0.1.3-py3-none-any.whl

Total release size: 104.3 kB

Release files / canirunllm-0.1.3.tar.gz

Download URL canirunllm-0.1.3.tar.gz
Size 53.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d15cd5301dbad082f540e5901428a76e774af24b37d169fae8b452acd83743b0
BLAKE2b-256 checksum
How to use checksums
ea048b20fa8380a4024efa8fc75ea1d5261d74b8cef02ad5ed71c70abb51435a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / canirunllm-0.1.3-py3-none-any.whl

Download URL canirunllm-0.1.3-py3-none-any.whl
Size 50.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ae15abf594ff62d238cfcc44d300d499a7c141e669605968dab5cb19c23d7a8a
BLAKE2b-256 checksum
How to use checksums
cde2ff7bea762b61c2f9277f378c971f818fa56949e366f94ace583c64b3cfa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Security for canirunllm 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for canirunllm-0.1.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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