Skip to main content

A CLI tool to check if your local hardware can run a Hugging Face LLM.

Project description

llmready

PyPI version Python versions License: MIT

llmready is a CLI tool and Python library that analyzes your local system hardware (CPU RAM, Apple Silicon Unified Memory, and NVIDIA GPU VRAM) and accepts a Hugging Face model ID. It calculates the memory required to run that model at various quantizations (FP16, INT8, INT4) and outputs a clear "Go/No-Go" verdict.

It does not download the massive model weights to check memory; it smartly fetches only the metadata via the Hugging Face API!

Features

  • Hardware Profiling: Detects Apple Silicon Unified Memory, NVIDIA VRAM, and standard System RAM.
  • Fast Metadata Fetching: Retrieves model parameter counts quickly without downloading weights.
  • Accurate Memory Math: Includes KV Cache / context window overheads (20%).
  • Beautiful Output: Uses rich to print colorful terminal tables with clear Go/No-Go hardware verdicts.

Installation

You can install this package locally using pip:

# Clone the repository and cd into it
cd llmready

# Install the package and its dependencies in editable mode
pip install -e .

This will automatically install dependencies like psutil, huggingface-hub, and rich, and will register the llmready (and legacy llm-check) CLI command.

Usage

Simply run the command with any Hugging Face model repository ID:

llmready meta-llama/Llama-3.2-1B

Advanced Features

1. Context Window Size

By default, the tool calculates the KV Cache memory footprint for an 8192 token context window using the model's exact architecture. You can change this using --context-length or -c:

llmready meta-llama/Llama-2-7b-chat-hf -c 32000

2. Training / Fine-Tuning Memory

If you want to know if you can train a model (Full Fine-Tuning or LoRA/QLoRA), use the --train flag. This calculates the memory required for optimizer states and gradients rather than just inference.

3. Hardware Model Recommendations

Not sure what to run? Ask the tool to scan your hardware and recommend popular models that will fit locally:

llmready --recommend

Private & Gated Models

If you are trying to check a gated model (like meta-llama/Llama-3-8b) or a private repo, you must have access to it on Hugging Face and provide your access token.

You can set the standard Hugging Face token environment variable before running the tool:

export HF_TOKEN="hf_your_access_token_here"
llmready meta-llama/Llama-3-8b

How It Works

  1. Hardware: Uses psutil and nvidia-smi (if applicable) to see what compute you have available.
  2. Parameters: Uses huggingface_hub to read safetensors.total metadata (or fallback size approximation).
  3. Calculation: Memory = Parameters * Bytes per Parameter (FP16=2, INT8=1, INT4=0.6). It also adds a 20% overhead to account for KV caching and memory footprint.
  4. Verdict: Compares the required memory to your available VRAM and RAM to issue a 🟢 Pass, 🟡 Warning, or 🔴 Fail.

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

llmready-0.1.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

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

llmready-0.1.0-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: llmready-0.1.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for llmready-0.1.0.tar.gz
Algorithm Hash digest
SHA256 155d1d968eb63d9b1d86f46b8a997c3376fe352a52499cbcbb7a139455c6d70f
MD5 6f7034a4efb578dd66fbe4472d5e7b7f
BLAKE2b-256 8cc1731dd4c90dbe7a296e9c7cece4e6155e19ef97019b3564ca17dbd2fe854d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: llmready-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for llmready-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7d47a55d0fadd1ba6fb786094f51d418f050a3f2204beb4738fc9dda17673511
MD5 7be6b171aacfabbe7f4bff1fd846e069
BLAKE2b-256 6c3b4325eb98773a5bbcb7a43d5c22a108d8b9242ebc49c0178f1421bf61e4da

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