Skip to main content

image

๐Ÿš€ LLM-Neofetch++

Version Python License Platform

Advanced System Information Tool for Local LLM Usage

Show detailed hardware specs optimized for running local AI models


โœจ Features

๐Ÿ” Comprehensive Hardware Detection

  • โœ… CPU: Model, cores, threads, frequency, temperature, usage
  • โœ… GPU: NVIDIA (nvidia-smi/pynvml), AMD (amd-smi/rocm-smi), Intel Arc
  • โœ… VRAM: Total, used, and available video memory
  • โœ… NPU: Intel AI Boost, AMD XDNA, Apple Neural Engine
  • โœ… RAM: Capacity, module speed, and bandwidth estimate
  • โœ… Storage: Disk type (NVMe/SSD/HDD), capacity, speed benchmarks
  • โœ… Battery: Charge level, power status, time remaining (laptops)
  • โœ… Apple Silicon: M1-M4 variants with GPU cores and memory bandwidth
  • โœ… AI Runtimes: CUDA, ROCm, Vulkan, DirectML, Metal versions
  • โœ… Environment: WSL, Docker, and cloud VM (AWS/GCP/Azure) detection

๐ŸŽฏ Smart AI/LLM Features

  • ๐Ÿค– Context-Aware Recommendations: max context length and token/s estimates per model tier, computed from weights + KV cache on your hardware
  • โœ… can-run Check: "will llama3.1:70b fit?" โ€” per-quant verdicts with memory needs, speed estimates, and max context
  • ๐Ÿ”Œ Backend Detection: finds installed Ollama / LM Studio / llama.cpp / vLLM with version and running state
  • ๐Ÿ“ฆ Installed Model Scan: lists your downloaded models with a fits-on-GPU/CPU verdict for each
  • โšก Real Benchmarks: actual tokens/s via Ollama (--bench-llm), memory bandwidth (--bench-mem), disk speed (-b)
  • ๐Ÿ“Š Quantization Guide: GGUF formats explained (Q2_K through Q8_0)
  • ๐ŸŽ“ Fine-Tuning Guide: QLoRA/LoRA VRAM requirements with fit verdicts
  • ๐Ÿ’ก Optimization Tips: Specific advice for your system configuration

๐ŸŽจ Beautiful UI

  • ๐ŸŒˆ Color-coded Output: Easy to read with semantic colors
  • ๐Ÿ“Š Progress Bars: Visual representation of usage and capacity
  • ๐Ÿ”ง Configurable: Customize colors, emoji, detail level
  • ๐Ÿ“ฑ Responsive: Adapts to terminal width

๐Ÿ› ๏ธ Developer Friendly

  • ๐Ÿ“ค Export Formats: JSON, YAML, Markdown
  • ๐Ÿงช Unit Tests: Comprehensive test coverage
  • ๐Ÿ”Œ Modular Design: Easy to extend and customize
  • ๐Ÿ“ Type Hints: Full type annotations
  • ๐Ÿ› Verbose Mode: Detailed logging for debugging

๐Ÿ“ฆ Installation

From Source (Recommended)

# Clone the repository
git clone https://github.com/HFerrahoglu/llm-neofetch-plus.git
cd llm-neofetch-plus

# Install dependencies
pip install -r requirements.txt

# Run directly
python -m llm_neofetch

# Or install globally
pip install -e .
llm-neofetch

Using pip

pip install llm-neofetch-plus
llm-neofetch

๐ŸŽฎ Usage

Basic Usage

# Normal output (default)
llm-neofetch

# Minimal output
llm-neofetch -d 1

# Detailed output with all features
llm-neofetch -d 3

# Interactive mode (choose detail level)
llm-neofetch -i

Will it run?

# Check whether a model fits (per-quant verdicts, speed, max context)
llm-neofetch can-run llama3.1:70b
llm-neofetch can-run qwen2.5:32b --quant Q4_K_M --context 16384
# Two verdicts per quant: "Capacity" (hardware totals) and
# "Right now" (memory actually free at this moment)
# Exit code: 0 = fits, 2 = does not fit (script-friendly)

Benchmarks

llm-neofetch -b                        # Disk read/write speed
llm-neofetch --bench-mem               # Memory copy bandwidth
llm-neofetch --bench-llm               # Real tokens/s via Ollama
llm-neofetch --bench-llm llama3.2:1b   # ...with a specific model

Monitoring & machine output

llm-neofetch --watch                   # Live CPU/RAM/GPU/LLM-process monitor
llm-neofetch --watch --interval 5      # Slower refresh
llm-neofetch --json                    # Machine-readable JSON to stdout
llm-neofetch diff desktop.json laptop.json   # Compare two systems

Appearance & export

llm-neofetch --theme dracula           # Themes: dracula, nord, solarized, mono
llm-neofetch --compact                 # Less whitespace
llm-neofetch --no-emoji                # Plain icons
llm-neofetch --export report.html      # Full-color HTML report
llm-neofetch --export report.json      # JSON / .yaml / .md also supported

Advanced Usage

# Verbose logging for debugging
llm-neofetch -v

# Custom config file
llm-neofetch --config /path/to/config.yaml

# Combine options
llm-neofetch -d 3 -b --bench-mem --export full_report.html

๐Ÿ“ธ Screenshots

Normal Output

โ”Œโ”€ โšก LLM-Neofetch++ v1.1.0 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Advanced system info for local LLM usage                                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โ”€โ”€ ๐Ÿ’ป System Information โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  OS             Linux-6.5.0-1-amd64-x86_64-with-glibc2.38
  Kernel         6.5.0 (x86_64)
  Uptime         2d 14h 32m
  Python         3.11.5

โ”€โ”€ ๐Ÿ”ง CPU โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  Model          AMD Ryzen 9 7950X 16-Core Processor
  Cores          16 physical / 32 threads
  Frequency      4200 MHz (max 5700 MHz)
  Usage          โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  35.2%

โ”€โ”€ ๐ŸŽฎ GPU โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  ๐ŸŸข NVIDIA GeForce RTX 4090
     VRAM    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 12.4/24.0 GB
     Usage   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  20.0%
     Temp    58ยฐC

โ”€โ”€ ๐ŸŽฏ Model Recommendations โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  Model Tier            Examples
  Extra Large (70-72B)  Llama 3.1 70B, Qwen2.5 72B
  Large (30-34B)        Llama 3.1 33B, Qwen2.5 32B, Yi 34B
  Medium (13-14B)       Llama 2 13B, Qwen2.5 14B, Mistral Medium

โ”€โ”€ ๐Ÿ’ก Optimization Tips โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  โœ“  Excellent VRAM - Can run 70B models with Q4 quantization
  โœ“  Fast storage - Quick model loading and context management

โš™๏ธ Configuration

LLM-Neofetch++ uses a YAML configuration file. By default, it looks for (first match wins, merged over built-in defaults):

  1. ~/.config/llm-neofetch/config.yaml
  2. /etc/llm-neofetch/config.yaml
  3. The bundled package config (llm_neofetch/config/config.yaml)

Sample Configuration

# UI Settings
ui:
  box_width: 76
  use_emoji: true
  show_progress_bars: true
  compact_mode: false

# Color Theme โ€” Rich style strings (names, hex codes, or "bold cyan" combos)
colors:
  primary: "blue"
  success: "green"
  warning: "yellow"
  danger: "red"

# Performance Thresholds
thresholds:
  vram:
    excellent: 24  # GB
    good: 12
    moderate: 8

๐Ÿ”ง Development

Project Structure

llm-neofetch-plus/
โ”œโ”€โ”€ llm_neofetch/
โ”‚   โ”œโ”€โ”€ __init__.py          # Package exports
โ”‚   โ”œโ”€โ”€ __main__.py          # `python -m llm_neofetch` entry point
โ”‚   โ”œโ”€โ”€ app.py               # Main application and CLI
โ”‚   โ”œโ”€โ”€ detectors.py         # Hardware detection modules
โ”‚   โ”œโ”€โ”€ environment.py       # Backend/runtime/process/cloud detection
โ”‚   โ”œโ”€โ”€ llm_math.py          # VRAM, KV cache, and speed estimation
โ”‚   โ”œโ”€โ”€ ui.py                # UI rendering and formatting
โ”‚   โ”œโ”€โ”€ defaults.py          # Built-in default configuration
โ”‚   โ””โ”€โ”€ config/
โ”‚       โ””โ”€โ”€ config.yaml      # Bundled configuration file
โ”œโ”€โ”€ tests/
โ”‚   โ””โ”€โ”€ test_all.py          # Unit tests
โ”œโ”€โ”€ requirements.txt         # Python dependencies
โ”œโ”€โ”€ pyproject.toml           # Package setup
โ””โ”€โ”€ README.md                # This file

Running Tests

# Run all tests
python tests/test_all.py

# Run with pytest (if installed)
pytest tests/

# Run with coverage
pytest --cov=src tests/

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐ŸŽฏ Use Cases

For AI/ML Developers

  • Quickly assess if your hardware can run specific models
  • Get token/s estimates before downloading large models
  • Understand which quantization format to use
  • Optimize your LLM stack configuration

For System Administrators

  • Monitor system resources for AI workloads
  • Export reports for documentation
  • Benchmark storage performance for model loading
  • Track GPU utilization and temperatures

For Researchers

  • Document hardware specs in papers
  • Compare performance across different systems
  • Generate reproducible system reports
  • Share hardware configurations

๐Ÿš€ Roadmap

  • Cloud/VM environment detection (AWS, GCP, Azure, WSL, Docker)
  • LLM benchmarking (real tokens/s via Ollama, memory bandwidth)
  • Backend integration (Ollama, LM Studio, llama.cpp, vLLM detection)
  • Context-aware model recommendations (KV cache math)
  • Docker container support (distribution)
  • Web dashboard (optional)
  • Historical tracking and graphs
  • Automatic model download suggestions

๐Ÿค Acknowledgments

  • Built with psutil for cross-platform system info
  • Inspired by neofetch
  • Community feedback from r/LocalLLaMA

๐Ÿ“„ License

MIT License - see LICENSE file for details


๐ŸŒŸ Star History

If you find this tool useful, please consider giving it a star โญ


๐Ÿ“ž Support


Made with โค๏ธ for the Local LLM Community

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llm_neofetch_plus-1.3.0.tar.gz (51.3 kB view details)

Uploaded Source

Built Distribution

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

llm_neofetch_plus-1.3.0-py3-none-any.whl (46.9 kB view details)

Uploaded Python 3

File details

Details for the file llm_neofetch_plus-1.3.0.tar.gz.

File metadata

  • Download URL: llm_neofetch_plus-1.3.0.tar.gz
  • Upload date:
  • Size: 51.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for llm_neofetch_plus-1.3.0.tar.gz
Algorithm Hash digest
SHA256 79a182f2bf801628fa436d6906f6d30f12027ee3573e15a53547b5f34c5a7519
MD5 ff5d181f944ca6869d230b857820ea58
BLAKE2b-256 6af5db6063753ce5e563c0e7a529c4ef3dc90e14eaf7c2b89d4d10887b740da4

See more details on using hashes here.

File details

Details for the file llm_neofetch_plus-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for llm_neofetch_plus-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 26d2cc5a5622928cafae2e81559c4afbcd8243886833284f062aac46336053c1
MD5 5636d346480466e5b7e8632b2c9e23e4
BLAKE2b-256 7ed13387dd8d15c384984de111b7550f0bedc46acbabfdcea24b736bef610c01

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 files

1.2.0

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page