Advanced system information tool for local LLM usage
Project description
๐ LLM-Neofetch++
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-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
๐จ 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
# 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):
~/.config/llm-neofetch/config.yaml/etc/llm-neofetch/config.yaml- 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:
- 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
๐ฏ 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
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: fhamz4@proton.me
Made with โค๏ธ for the Local LLM Community
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llm_neofetch_plus-1.2.0.tar.gz.
File metadata
- Download URL: llm_neofetch_plus-1.2.0.tar.gz
- Upload date:
- Size: 50.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
003b4adfb0972b4631c10c054117f3e0401c6572e8ef58085a2b35a1f9db56ea
|
|
| MD5 |
bde8a726126df8add6288761e0d21ef1
|
|
| BLAKE2b-256 |
4250a1861f802dfc85bb2bbc927a4e485e49d1f5d9f89f6cad2b2bec36552a4c
|
File details
Details for the file llm_neofetch_plus-1.2.0-py3-none-any.whl.
File metadata
- Download URL: llm_neofetch_plus-1.2.0-py3-none-any.whl
- Upload date:
- Size: 46.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa2359dbf80f529a6e2b147d685587f6489cd4f9b5055bc07927f6921b41eebc
|
|
| MD5 |
e4bede0c8b1d46f4757b24cc5379da8e
|
|
| BLAKE2b-256 |
9fc562d985ae1f34afa91de666e5b015b185dd8b31918caaa7a29a16c86a8f79
|