An elegant Python system information tool, inspired by neofetch.
- System Information Display - Comprehensive hardware and software system information.
- Automatic Logo Matching - Automatically displays the corresponding ASCII Logo based on the system name and aligns the output format.
- Colorful Output - Beautiful terminal color support.
- Smart Detection - Automatically detects desktop environment, theme, icons, etc.
- Highly Customizable - Supports custom logos and configurations.
The project has built-in links providing ASCII Logos for several common systems:
- Red Hat - Classic Red Hat Logo
- Ubuntu - Iconic Ubuntu Logo
- Windows - Colorful Windows Logo (Logo support only, system detection not yet supported)
- Debian - Debian Swirl Logo
- CentOS - CentOS Geometric Logo
- Arch Linux - Iconic Arch Logo
- Android - Android Robot Logo
You can create custom logos for any system:
Method 1: JSON Format (Recommended)
{
"mysystem": "Your ASCII Art Text",
"ubuntu": "\u001b[38;5;123mCustom Ubuntu Logo\u001b[0m"
}Method 2: Python Format (Requires enabling unsafe loading)
logo = {
"mysystem": "Colorful ASCII Art"
}- Online Logo download and update
- Custom Logo support
- Safe loading control
- Flexible configuration management
pip install windfetchwindfetchWindFetch displays the following system information:
| Category | Information Content |
|---|---|
| User Info | Username@Hostname |
| System Info | OS, Kernel Version, Uptime |
| Software Info | Package Count, Shell, Terminal |
| Desktop Env. | DE, Theme, Icon Theme |
| Hardware Info | CPU, GPU, Memory Usage, etc. |
Currently only supports Linux systems
- ✅ Full support for common Linux distributions
- ❌ Windows system detection not yet adapted
- ❌ macOS system detection not yet adapted
On unsupported platforms, some system information may display as "Unknown".
~/.windfetch/config.json
{
"logo_path": "~/.windfetch/logo.py",
"custom_logo_path": null,
"logo_url": "https://windfetch.starwindv.top/api/logo",
"download_default_logo": true,
"overwrite_default_logo": true,
"load_customLogo_unsafe": false,
"need_update_logo": false
}logo_path- Default Logo file path (not recommended to modify manually)custom_logo_path- Custom Logo file pathlogo_url- Logo data source URLdownload_default_logo- Whether to automatically download the default Logoload_customLogo_unsafe- Whether to allow loading custom Logos in Python format
- Prefer JSON format - Safer, no code execution needed.
- Use Python format with caution - Only use from trusted sources.
- Do not modify the default logo.py - The tool updates it automatically; manual modifications may be overwritten.
-
Create a Logo file in JSON or .py format
-
Update the configuration file
{
"custom_logo_path": "/path/to/your/logo.json",
"load_customLogo_unsafe": true
}Note: Regardless of whether a .py format custom logo is used, load_customLogo_unsafe must be true to load it correctly.
.
├── ExampleLogos/
│ ├── logo.json
│ └── logo.py
├── pyproject.toml
└── src/
└── windfetch/
├── __init__.py
├── loader.py
└── windfetch.py
requests- HTTP request handlingstv_utils>=0.0.8- Utility functions and color outputpsutil- System information retrieval
- When enabling
load_customLogo_unsafe, ensure the custom Logo file comes from a trusted source. - Periodically check if the default Logo file has been modified unexpectedly.
This project is licensed under the MIT License.
Issues and Pull Requests are welcome!
- Author: StarWindv
- Email: starwindv.stv@gmail.com
- Project Homepage: https://github.com/StarWindv/windfetch