llm-neofetch-plus 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- llm_neofetch_plus-1.0.0/LICENSE +21 -0
- llm_neofetch_plus-1.0.0/PKG-INFO +353 -0
- llm_neofetch_plus-1.0.0/README.md +319 -0
- llm_neofetch_plus-1.0.0/llm_neofetch_plus.egg-info/PKG-INFO +353 -0
- llm_neofetch_plus-1.0.0/llm_neofetch_plus.egg-info/SOURCES.txt +12 -0
- llm_neofetch_plus-1.0.0/llm_neofetch_plus.egg-info/dependency_links.txt +1 -0
- llm_neofetch_plus-1.0.0/llm_neofetch_plus.egg-info/entry_points.txt +3 -0
- llm_neofetch_plus-1.0.0/llm_neofetch_plus.egg-info/requires.txt +11 -0
- llm_neofetch_plus-1.0.0/llm_neofetch_plus.egg-info/top_level.txt +2 -0
- llm_neofetch_plus-1.0.0/pyproject.toml +79 -0
- llm_neofetch_plus-1.0.0/setup.cfg +4 -0
- llm_neofetch_plus-1.0.0/src/detectors.py +607 -0
- llm_neofetch_plus-1.0.0/src/ui.py +538 -0
- llm_neofetch_plus-1.0.0/tests/test_all.py +169 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Hamza Ferrahoglu
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: llm-neofetch-plus
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Advanced system information tool for local LLM usage
|
|
5
|
+
Author-email: Hamza Ferrahoglu <fhamz4@proton.me>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/HFerrahoglu/llm-neofetch-plus
|
|
8
|
+
Project-URL: Repository, https://github.com/HFerrahoglu/llm-neofetch-plus
|
|
9
|
+
Project-URL: Issues, https://github.com/HFerrahoglu/llm-neofetch-plus/issues
|
|
10
|
+
Keywords: llm,ai,system-info,neofetch,hardware,gpu,vram,ollama,llama
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Topic :: System :: Monitoring
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Operating System :: OS Independent
|
|
21
|
+
Requires-Python: >=3.9
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
Requires-Dist: psutil>=5.9.0
|
|
25
|
+
Requires-Dist: PyYAML>=6.0
|
|
26
|
+
Provides-Extra: windows
|
|
27
|
+
Requires-Dist: wmi>=1.5.1; extra == "windows"
|
|
28
|
+
Provides-Extra: dev
|
|
29
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
30
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
31
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
32
|
+
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
33
|
+
Dynamic: license-file
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
<div align="center">
|
|
37
|
+
|
|
38
|
+

|
|
39
|
+
|
|
40
|
+
# ๐ LLM-Neofetch++
|
|
41
|
+
|
|
42
|
+

|
|
43
|
+

|
|
44
|
+

|
|
45
|
+

|
|
46
|
+
|
|
47
|
+
**Advanced System Information Tool for Local LLM Usage**
|
|
48
|
+
|
|
49
|
+
Show detailed hardware specs optimized for running local AI models
|
|
50
|
+
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## โจ Features
|
|
56
|
+
|
|
57
|
+
### ๐ **Comprehensive Hardware Detection**
|
|
58
|
+
- โ
**CPU**: Model, cores, threads, frequency, temperature, usage
|
|
59
|
+
- โ
**GPU**: NVIDIA (nvidia-smi), AMD (rocm-smi), Intel Arc detection
|
|
60
|
+
- โ
**VRAM**: Total, used, and available video memory
|
|
61
|
+
- โ
**RAM**: Physical memory and swap information
|
|
62
|
+
- โ
**Storage**: Disk type (NVMe/SSD/HDD), capacity, speed benchmarks
|
|
63
|
+
- โ
**Battery**: Charge level, power status, time remaining (laptops)
|
|
64
|
+
- โ
**Apple Silicon**: M1/M2/M3/M4 detection with unified memory
|
|
65
|
+
|
|
66
|
+
### ๐ฏ **Smart AI/LLM Features**
|
|
67
|
+
- ๐ค **Model Recommendations**: Personalized suggestions based on your hardware
|
|
68
|
+
- ๐ **Quantization Guide**: GGUF formats explained (Q2_K through Q8_0)
|
|
69
|
+
- ๐ **Backend Comparison**: Ollama, llama.cpp, vLLM, ExLlamaV2, LM Studio
|
|
70
|
+
- โก **Performance Estimates**: Token/s predictions for different model sizes
|
|
71
|
+
- ๐ก **Optimization Tips**: Specific advice for your system configuration
|
|
72
|
+
|
|
73
|
+
### ๐จ **Beautiful UI**
|
|
74
|
+
- ๐ **Color-coded Output**: Easy to read with semantic colors
|
|
75
|
+
- ๐ **Progress Bars**: Visual representation of usage and capacity
|
|
76
|
+
- ๐ง **Configurable**: Customize colors, emoji, detail level
|
|
77
|
+
- ๐ฑ **Responsive**: Adapts to terminal width
|
|
78
|
+
|
|
79
|
+
### ๐ ๏ธ **Developer Friendly**
|
|
80
|
+
- ๐ค **Export Formats**: JSON, YAML, Markdown
|
|
81
|
+
- ๐งช **Unit Tests**: Comprehensive test coverage
|
|
82
|
+
- ๐ **Modular Design**: Easy to extend and customize
|
|
83
|
+
- ๐ **Type Hints**: Full type annotations
|
|
84
|
+
- ๐ **Verbose Mode**: Detailed logging for debugging
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## ๐ฆ Installation
|
|
89
|
+
|
|
90
|
+
### From Source (Recommended)
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Clone the repository
|
|
94
|
+
git clone https://github.com/HFerrahoglu/llm-neofetch-plus.git
|
|
95
|
+
cd llm-neofetch-plus
|
|
96
|
+
|
|
97
|
+
# Install dependencies
|
|
98
|
+
pip install -r requirements.txt
|
|
99
|
+
|
|
100
|
+
# Run directly
|
|
101
|
+
python llm_neofetch.py
|
|
102
|
+
|
|
103
|
+
# Or install globally
|
|
104
|
+
pip install -e .
|
|
105
|
+
llm-neofetch
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Using pip
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
pip install llm-neofetch-plus
|
|
112
|
+
llm-neofetch
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## ๐ฎ Usage
|
|
118
|
+
|
|
119
|
+
### Basic Usage
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Normal output (default)
|
|
123
|
+
llm-neofetch
|
|
124
|
+
|
|
125
|
+
# Minimal output
|
|
126
|
+
llm-neofetch -d 1
|
|
127
|
+
|
|
128
|
+
# Detailed output with all features
|
|
129
|
+
llm-neofetch -d 3
|
|
130
|
+
|
|
131
|
+
# Interactive mode (choose detail level)
|
|
132
|
+
llm-neofetch -i
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Advanced Usage
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Run disk benchmark (takes ~10 seconds)
|
|
139
|
+
llm-neofetch -b
|
|
140
|
+
|
|
141
|
+
# Export to different formats
|
|
142
|
+
llm-neofetch --export report.json # JSON format
|
|
143
|
+
llm-neofetch --export report.yaml # YAML format
|
|
144
|
+
llm-neofetch --export report.md # Markdown format
|
|
145
|
+
|
|
146
|
+
# Verbose logging for debugging
|
|
147
|
+
llm-neofetch -v
|
|
148
|
+
|
|
149
|
+
# Custom config file
|
|
150
|
+
llm-neofetch --config /path/to/config.yaml
|
|
151
|
+
|
|
152
|
+
# Combine options
|
|
153
|
+
llm-neofetch -d 3 -b --export full_report.json
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## ๐ธ Screenshots
|
|
159
|
+
|
|
160
|
+
### Normal Output
|
|
161
|
+
```
|
|
162
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
163
|
+
โ โก LLM โข NEOFETCH ++ โก โ
|
|
164
|
+
โ Advanced System Info for Local LLM Usage โ
|
|
165
|
+
โ v1.0.0 โข 2026 Edition โ
|
|
166
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
167
|
+
|
|
168
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
169
|
+
๐ป System Information
|
|
170
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
171
|
+
OS Linux-6.5.0-1-amd64-x86_64-with-glibc2.38
|
|
172
|
+
Kernel 6.5.0 (x86_64)
|
|
173
|
+
Uptime 2d 14h 32m
|
|
174
|
+
Python 3.11.5
|
|
175
|
+
|
|
176
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
177
|
+
๐ง CPU
|
|
178
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
179
|
+
Model AMD Ryzen 9 7950X 16-Core Processor
|
|
180
|
+
Cores 16 physical / 32 threads
|
|
181
|
+
Frequency 4200 MHz
|
|
182
|
+
Usage [โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] 35.2%
|
|
183
|
+
|
|
184
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
185
|
+
๐ฎ GPU
|
|
186
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
187
|
+
๐ข NVIDIA GeForce RTX 4090
|
|
188
|
+
VRAM: 24.0 GB total
|
|
189
|
+
[โโโโโโโโโโโโโโโโโโโโโโโโโ] 12.4/24.0 GB
|
|
190
|
+
Usage [โโโโโโโโโโโโโโโโโโโโโโโโโ] 20.0%
|
|
191
|
+
Temp: 58ยฐC
|
|
192
|
+
|
|
193
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
194
|
+
๐ฏ Personalized Model Recommendations
|
|
195
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
196
|
+
|
|
197
|
+
โธ Extra Large Models (70-72B)
|
|
198
|
+
โข Llama 3.1 70B
|
|
199
|
+
โข Qwen2.5 72B
|
|
200
|
+
|
|
201
|
+
โธ Large Models (30-34B)
|
|
202
|
+
โข Llama 3.1 33B
|
|
203
|
+
โข Qwen2.5 32B
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## โ๏ธ Configuration
|
|
209
|
+
|
|
210
|
+
LLM-Neofetch++ uses a YAML configuration file. By default, it looks for:
|
|
211
|
+
|
|
212
|
+
1. `./config/config.yaml` (in the project directory)
|
|
213
|
+
2. `~/.config/llm-neofetch/config.yaml`
|
|
214
|
+
3. `/etc/llm-neofetch/config.yaml`
|
|
215
|
+
|
|
216
|
+
### Sample Configuration
|
|
217
|
+
|
|
218
|
+
```yaml
|
|
219
|
+
# UI Settings
|
|
220
|
+
ui:
|
|
221
|
+
box_width: 76
|
|
222
|
+
use_emoji: true
|
|
223
|
+
show_progress_bars: true
|
|
224
|
+
compact_mode: false
|
|
225
|
+
|
|
226
|
+
# Color Theme
|
|
227
|
+
colors:
|
|
228
|
+
primary: "\033[1;34m" # Blue
|
|
229
|
+
success: "\033[1;32m" # Green
|
|
230
|
+
warning: "\033[1;33m" # Yellow
|
|
231
|
+
danger: "\033[1;31m" # Red
|
|
232
|
+
|
|
233
|
+
# Performance Thresholds
|
|
234
|
+
thresholds:
|
|
235
|
+
vram:
|
|
236
|
+
excellent: 24 # GB
|
|
237
|
+
good: 12
|
|
238
|
+
moderate: 8
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## ๐ง Development
|
|
244
|
+
|
|
245
|
+
### Project Structure
|
|
246
|
+
|
|
247
|
+
```
|
|
248
|
+
llm-neofetch-plus/
|
|
249
|
+
โโโ llm_neofetch.py # Main application
|
|
250
|
+
โโโ src/
|
|
251
|
+
โ โโโ detectors.py # Hardware detection modules
|
|
252
|
+
โ โโโ ui.py # UI rendering and formatting
|
|
253
|
+
โโโ config/
|
|
254
|
+
โ โโโ config.yaml # Configuration file
|
|
255
|
+
โโโ tests/
|
|
256
|
+
โ โโโ test_all.py # Unit tests
|
|
257
|
+
โโโ requirements.txt # Python dependencies
|
|
258
|
+
โโโ setup.py # Package setup
|
|
259
|
+
โโโ README.md # This file
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Running Tests
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
# Run all tests
|
|
266
|
+
python tests/test_all.py
|
|
267
|
+
|
|
268
|
+
# Run with pytest (if installed)
|
|
269
|
+
pytest tests/
|
|
270
|
+
|
|
271
|
+
# Run with coverage
|
|
272
|
+
pytest --cov=src tests/
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Contributing
|
|
276
|
+
|
|
277
|
+
Contributions are welcome! Please:
|
|
278
|
+
|
|
279
|
+
1. Fork the repository
|
|
280
|
+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
281
|
+
3. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
282
|
+
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
283
|
+
5. Open a Pull Request
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## ๐ฏ Use Cases
|
|
288
|
+
|
|
289
|
+
### For AI/ML Developers
|
|
290
|
+
- Quickly assess if your hardware can run specific models
|
|
291
|
+
- Get token/s estimates before downloading large models
|
|
292
|
+
- Understand which quantization format to use
|
|
293
|
+
- Optimize your LLM stack configuration
|
|
294
|
+
|
|
295
|
+
### For System Administrators
|
|
296
|
+
- Monitor system resources for AI workloads
|
|
297
|
+
- Export reports for documentation
|
|
298
|
+
- Benchmark storage performance for model loading
|
|
299
|
+
- Track GPU utilization and temperatures
|
|
300
|
+
|
|
301
|
+
### For Researchers
|
|
302
|
+
- Document hardware specs in papers
|
|
303
|
+
- Compare performance across different systems
|
|
304
|
+
- Generate reproducible system reports
|
|
305
|
+
- Share hardware configurations
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## ๐ Roadmap
|
|
310
|
+
|
|
311
|
+
- [ ] Docker container support
|
|
312
|
+
- [ ] Web dashboard (optional)
|
|
313
|
+
- [ ] Historical tracking and graphs
|
|
314
|
+
- [ ] Cloud GPU detection (AWS, GCP, Azure)
|
|
315
|
+
- [ ] LLM benchmarking suite
|
|
316
|
+
- [ ] Automatic model download suggestions
|
|
317
|
+
- [ ] Integration with popular LLM frameworks
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## ๐ค Acknowledgments
|
|
322
|
+
|
|
323
|
+
- Built with [psutil](https://github.com/giampaolo/psutil) for cross-platform system info
|
|
324
|
+
- Inspired by [neofetch](https://github.com/dylanaraps/neofetch)
|
|
325
|
+
- Community feedback from r/LocalLLaMA
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## ๐ License
|
|
330
|
+
|
|
331
|
+
MIT License - see [LICENSE](LICENSE) file for details
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
## ๐ Star History
|
|
336
|
+
|
|
337
|
+
If you find this tool useful, please consider giving it a star โญ
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
## ๐ Support
|
|
342
|
+
|
|
343
|
+
- **Issues**: [GitHub Issues](https://github.com/HFerrahoglu/llm-neofetch-plus/issues)
|
|
344
|
+
- **Discussions**: [GitHub Discussions](https://github.com/HFerrahoglu/llm-neofetch-plus/discussions)
|
|
345
|
+
- **Email**: fhamz4@proton.me
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
<div align="center">
|
|
350
|
+
|
|
351
|
+
Made with โค๏ธ for the Local LLM Community
|
|
352
|
+
|
|
353
|
+
</div>
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
|
|
2
|
+
<div align="center">
|
|
3
|
+
|
|
4
|
+

|
|
5
|
+
|
|
6
|
+
# ๐ LLM-Neofetch++
|
|
7
|
+
|
|
8
|
+

|
|
9
|
+

|
|
10
|
+

|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
**Advanced System Information Tool for Local LLM Usage**
|
|
14
|
+
|
|
15
|
+
Show detailed hardware specs optimized for running local AI models
|
|
16
|
+
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## โจ Features
|
|
22
|
+
|
|
23
|
+
### ๐ **Comprehensive Hardware Detection**
|
|
24
|
+
- โ
**CPU**: Model, cores, threads, frequency, temperature, usage
|
|
25
|
+
- โ
**GPU**: NVIDIA (nvidia-smi), AMD (rocm-smi), Intel Arc detection
|
|
26
|
+
- โ
**VRAM**: Total, used, and available video memory
|
|
27
|
+
- โ
**RAM**: Physical memory and swap information
|
|
28
|
+
- โ
**Storage**: Disk type (NVMe/SSD/HDD), capacity, speed benchmarks
|
|
29
|
+
- โ
**Battery**: Charge level, power status, time remaining (laptops)
|
|
30
|
+
- โ
**Apple Silicon**: M1/M2/M3/M4 detection with unified memory
|
|
31
|
+
|
|
32
|
+
### ๐ฏ **Smart AI/LLM Features**
|
|
33
|
+
- ๐ค **Model Recommendations**: Personalized suggestions based on your hardware
|
|
34
|
+
- ๐ **Quantization Guide**: GGUF formats explained (Q2_K through Q8_0)
|
|
35
|
+
- ๐ **Backend Comparison**: Ollama, llama.cpp, vLLM, ExLlamaV2, LM Studio
|
|
36
|
+
- โก **Performance Estimates**: Token/s predictions for different model sizes
|
|
37
|
+
- ๐ก **Optimization Tips**: Specific advice for your system configuration
|
|
38
|
+
|
|
39
|
+
### ๐จ **Beautiful UI**
|
|
40
|
+
- ๐ **Color-coded Output**: Easy to read with semantic colors
|
|
41
|
+
- ๐ **Progress Bars**: Visual representation of usage and capacity
|
|
42
|
+
- ๐ง **Configurable**: Customize colors, emoji, detail level
|
|
43
|
+
- ๐ฑ **Responsive**: Adapts to terminal width
|
|
44
|
+
|
|
45
|
+
### ๐ ๏ธ **Developer Friendly**
|
|
46
|
+
- ๐ค **Export Formats**: JSON, YAML, Markdown
|
|
47
|
+
- ๐งช **Unit Tests**: Comprehensive test coverage
|
|
48
|
+
- ๐ **Modular Design**: Easy to extend and customize
|
|
49
|
+
- ๐ **Type Hints**: Full type annotations
|
|
50
|
+
- ๐ **Verbose Mode**: Detailed logging for debugging
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## ๐ฆ Installation
|
|
55
|
+
|
|
56
|
+
### From Source (Recommended)
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Clone the repository
|
|
60
|
+
git clone https://github.com/HFerrahoglu/llm-neofetch-plus.git
|
|
61
|
+
cd llm-neofetch-plus
|
|
62
|
+
|
|
63
|
+
# Install dependencies
|
|
64
|
+
pip install -r requirements.txt
|
|
65
|
+
|
|
66
|
+
# Run directly
|
|
67
|
+
python llm_neofetch.py
|
|
68
|
+
|
|
69
|
+
# Or install globally
|
|
70
|
+
pip install -e .
|
|
71
|
+
llm-neofetch
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Using pip
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
pip install llm-neofetch-plus
|
|
78
|
+
llm-neofetch
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## ๐ฎ Usage
|
|
84
|
+
|
|
85
|
+
### Basic Usage
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# Normal output (default)
|
|
89
|
+
llm-neofetch
|
|
90
|
+
|
|
91
|
+
# Minimal output
|
|
92
|
+
llm-neofetch -d 1
|
|
93
|
+
|
|
94
|
+
# Detailed output with all features
|
|
95
|
+
llm-neofetch -d 3
|
|
96
|
+
|
|
97
|
+
# Interactive mode (choose detail level)
|
|
98
|
+
llm-neofetch -i
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Advanced Usage
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Run disk benchmark (takes ~10 seconds)
|
|
105
|
+
llm-neofetch -b
|
|
106
|
+
|
|
107
|
+
# Export to different formats
|
|
108
|
+
llm-neofetch --export report.json # JSON format
|
|
109
|
+
llm-neofetch --export report.yaml # YAML format
|
|
110
|
+
llm-neofetch --export report.md # Markdown format
|
|
111
|
+
|
|
112
|
+
# Verbose logging for debugging
|
|
113
|
+
llm-neofetch -v
|
|
114
|
+
|
|
115
|
+
# Custom config file
|
|
116
|
+
llm-neofetch --config /path/to/config.yaml
|
|
117
|
+
|
|
118
|
+
# Combine options
|
|
119
|
+
llm-neofetch -d 3 -b --export full_report.json
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## ๐ธ Screenshots
|
|
125
|
+
|
|
126
|
+
### Normal Output
|
|
127
|
+
```
|
|
128
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
129
|
+
โ โก LLM โข NEOFETCH ++ โก โ
|
|
130
|
+
โ Advanced System Info for Local LLM Usage โ
|
|
131
|
+
โ v1.0.0 โข 2026 Edition โ
|
|
132
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
133
|
+
|
|
134
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
135
|
+
๐ป System Information
|
|
136
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
137
|
+
OS Linux-6.5.0-1-amd64-x86_64-with-glibc2.38
|
|
138
|
+
Kernel 6.5.0 (x86_64)
|
|
139
|
+
Uptime 2d 14h 32m
|
|
140
|
+
Python 3.11.5
|
|
141
|
+
|
|
142
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
143
|
+
๐ง CPU
|
|
144
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
145
|
+
Model AMD Ryzen 9 7950X 16-Core Processor
|
|
146
|
+
Cores 16 physical / 32 threads
|
|
147
|
+
Frequency 4200 MHz
|
|
148
|
+
Usage [โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] 35.2%
|
|
149
|
+
|
|
150
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
151
|
+
๐ฎ GPU
|
|
152
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
153
|
+
๐ข NVIDIA GeForce RTX 4090
|
|
154
|
+
VRAM: 24.0 GB total
|
|
155
|
+
[โโโโโโโโโโโโโโโโโโโโโโโโโ] 12.4/24.0 GB
|
|
156
|
+
Usage [โโโโโโโโโโโโโโโโโโโโโโโโโ] 20.0%
|
|
157
|
+
Temp: 58ยฐC
|
|
158
|
+
|
|
159
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
160
|
+
๐ฏ Personalized Model Recommendations
|
|
161
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
162
|
+
|
|
163
|
+
โธ Extra Large Models (70-72B)
|
|
164
|
+
โข Llama 3.1 70B
|
|
165
|
+
โข Qwen2.5 72B
|
|
166
|
+
|
|
167
|
+
โธ Large Models (30-34B)
|
|
168
|
+
โข Llama 3.1 33B
|
|
169
|
+
โข Qwen2.5 32B
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## โ๏ธ Configuration
|
|
175
|
+
|
|
176
|
+
LLM-Neofetch++ uses a YAML configuration file. By default, it looks for:
|
|
177
|
+
|
|
178
|
+
1. `./config/config.yaml` (in the project directory)
|
|
179
|
+
2. `~/.config/llm-neofetch/config.yaml`
|
|
180
|
+
3. `/etc/llm-neofetch/config.yaml`
|
|
181
|
+
|
|
182
|
+
### Sample Configuration
|
|
183
|
+
|
|
184
|
+
```yaml
|
|
185
|
+
# UI Settings
|
|
186
|
+
ui:
|
|
187
|
+
box_width: 76
|
|
188
|
+
use_emoji: true
|
|
189
|
+
show_progress_bars: true
|
|
190
|
+
compact_mode: false
|
|
191
|
+
|
|
192
|
+
# Color Theme
|
|
193
|
+
colors:
|
|
194
|
+
primary: "\033[1;34m" # Blue
|
|
195
|
+
success: "\033[1;32m" # Green
|
|
196
|
+
warning: "\033[1;33m" # Yellow
|
|
197
|
+
danger: "\033[1;31m" # Red
|
|
198
|
+
|
|
199
|
+
# Performance Thresholds
|
|
200
|
+
thresholds:
|
|
201
|
+
vram:
|
|
202
|
+
excellent: 24 # GB
|
|
203
|
+
good: 12
|
|
204
|
+
moderate: 8
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## ๐ง Development
|
|
210
|
+
|
|
211
|
+
### Project Structure
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
llm-neofetch-plus/
|
|
215
|
+
โโโ llm_neofetch.py # Main application
|
|
216
|
+
โโโ src/
|
|
217
|
+
โ โโโ detectors.py # Hardware detection modules
|
|
218
|
+
โ โโโ ui.py # UI rendering and formatting
|
|
219
|
+
โโโ config/
|
|
220
|
+
โ โโโ config.yaml # Configuration file
|
|
221
|
+
โโโ tests/
|
|
222
|
+
โ โโโ test_all.py # Unit tests
|
|
223
|
+
โโโ requirements.txt # Python dependencies
|
|
224
|
+
โโโ setup.py # Package setup
|
|
225
|
+
โโโ README.md # This file
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Running Tests
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
# Run all tests
|
|
232
|
+
python tests/test_all.py
|
|
233
|
+
|
|
234
|
+
# Run with pytest (if installed)
|
|
235
|
+
pytest tests/
|
|
236
|
+
|
|
237
|
+
# Run with coverage
|
|
238
|
+
pytest --cov=src tests/
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Contributing
|
|
242
|
+
|
|
243
|
+
Contributions are welcome! Please:
|
|
244
|
+
|
|
245
|
+
1. Fork the repository
|
|
246
|
+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
247
|
+
3. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
248
|
+
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
249
|
+
5. Open a Pull Request
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## ๐ฏ Use Cases
|
|
254
|
+
|
|
255
|
+
### For AI/ML Developers
|
|
256
|
+
- Quickly assess if your hardware can run specific models
|
|
257
|
+
- Get token/s estimates before downloading large models
|
|
258
|
+
- Understand which quantization format to use
|
|
259
|
+
- Optimize your LLM stack configuration
|
|
260
|
+
|
|
261
|
+
### For System Administrators
|
|
262
|
+
- Monitor system resources for AI workloads
|
|
263
|
+
- Export reports for documentation
|
|
264
|
+
- Benchmark storage performance for model loading
|
|
265
|
+
- Track GPU utilization and temperatures
|
|
266
|
+
|
|
267
|
+
### For Researchers
|
|
268
|
+
- Document hardware specs in papers
|
|
269
|
+
- Compare performance across different systems
|
|
270
|
+
- Generate reproducible system reports
|
|
271
|
+
- Share hardware configurations
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## ๐ Roadmap
|
|
276
|
+
|
|
277
|
+
- [ ] Docker container support
|
|
278
|
+
- [ ] Web dashboard (optional)
|
|
279
|
+
- [ ] Historical tracking and graphs
|
|
280
|
+
- [ ] Cloud GPU detection (AWS, GCP, Azure)
|
|
281
|
+
- [ ] LLM benchmarking suite
|
|
282
|
+
- [ ] Automatic model download suggestions
|
|
283
|
+
- [ ] Integration with popular LLM frameworks
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## ๐ค Acknowledgments
|
|
288
|
+
|
|
289
|
+
- Built with [psutil](https://github.com/giampaolo/psutil) for cross-platform system info
|
|
290
|
+
- Inspired by [neofetch](https://github.com/dylanaraps/neofetch)
|
|
291
|
+
- Community feedback from r/LocalLLaMA
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## ๐ License
|
|
296
|
+
|
|
297
|
+
MIT License - see [LICENSE](LICENSE) file for details
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## ๐ Star History
|
|
302
|
+
|
|
303
|
+
If you find this tool useful, please consider giving it a star โญ
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## ๐ Support
|
|
308
|
+
|
|
309
|
+
- **Issues**: [GitHub Issues](https://github.com/HFerrahoglu/llm-neofetch-plus/issues)
|
|
310
|
+
- **Discussions**: [GitHub Discussions](https://github.com/HFerrahoglu/llm-neofetch-plus/discussions)
|
|
311
|
+
- **Email**: fhamz4@proton.me
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
<div align="center">
|
|
316
|
+
|
|
317
|
+
Made with โค๏ธ for the Local LLM Community
|
|
318
|
+
|
|
319
|
+
</div>
|