Advanced System Information Tool for Local LLM Usage
Show detailed hardware specs optimized for running local AI models
- โ 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
- ๐ค Context-Aware Recommendations: max context length and token/s estimates per model tier, computed from weights + KV cache on your hardware
- โ
can-runCheck: "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
- ๐ 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
- ๐ค 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
# 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-neofetchpip install llm-neofetch-plus
llm-neofetch# 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# 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)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 modelllm-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 systemsllm-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# 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โโ โก 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
LLM-Neofetch++ uses a YAML configuration file. By default, it looks for (first match wins, merged over built-in defaults):
~/.config/llm-neofetch/config.yaml/etc/llm-neofetch/config.yaml- The bundled package config (
llm_neofetch/config/config.yaml)
# 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: 8llm-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
# Run all tests
python tests/test_all.py
# Run with pytest (if installed)
pytest tests/
# Run with coverage
pytest --cov=src tests/Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- 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
- Monitor system resources for AI workloads
- Export reports for documentation
- Benchmark storage performance for model loading
- Track GPU utilization and temperatures
- Document hardware specs in papers
- Compare performance across different systems
- Generate reproducible system reports
- Share hardware configurations
- 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
- Built with psutil for cross-platform system info
- Inspired by neofetch
- Community feedback from r/LocalLLaMA
MIT License - see LICENSE file for details
If you find this tool useful, please consider giving it a star โญ
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: fhamz4@proton.me
Made with โค๏ธ for the Local LLM Community
