Skip to main content

WindFetch 🌀

中文

An elegant Python system information tool, inspired by neofetch.

✨ Features

🎯 Core Features

  • 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.

🎨 Logo System

Default Logo Examples

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

Custom Logos

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"
}

⚙️ Configuration Management

  • Online Logo download and update
  • Custom Logo support
  • Safe loading control
  • Flexible configuration management

🚀 Quick Start

Installation

pip install windfetch

Basic Usage

windfetch

📋 Displayed Information

WindFetch 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.

⚠️ Platform Support Note

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".

⚙️ Configuration

Configuration File Location

~/.windfetch/config.json

Default Configuration

{
    "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
}

Configuration Explanation

  • logo_path - Default Logo file path (not recommended to modify manually)
  • custom_logo_path - Custom Logo file path
  • logo_url - Logo data source URL
  • download_default_logo - Whether to automatically download the default Logo
  • load_customLogo_unsafe - Whether to allow loading custom Logos in Python format

🔧 Custom Logo Guide

Security Recommendations

  1. Prefer JSON format - Safer, no code execution needed.
  2. Use Python format with caution - Only use from trusted sources.
  3. Do not modify the default logo.py - The tool updates it automatically; manual modifications may be overwritten.
  1. Create a Logo file in JSON or .py format

  2. 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.

🛠️ Development

Project Structure

.
├── ExampleLogos/
│   ├── logo.json
│   └── logo.py
├── pyproject.toml
└── src/
    └── windfetch/
        ├── __init__.py
        ├── loader.py
        └── windfetch.py

Dependencies

  • requests - HTTP request handling
  • stv_utils>=0.0.8 - Utility functions and color output
  • psutil - System information retrieval

Security Reminder

  • 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.

📄 License

This project is licensed under the MIT License.

🤝 Contributing

Issues and Pull Requests are welcome!

📞 Contact

Metadata

Release files for windfetch 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for windfetch 0.0.2
File Size Uploaded
windfetch-0.0.2.tar.gz 10.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for windfetch 0.0.2
File Interpreter ABI Platform
windfetch-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 20.5 kB

Release files / windfetch-0.0.2.tar.gz

Download URL windfetch-0.0.2.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
859fe70feabeca13946bcf6780b309a9eab797f18c3b9b9ab2f7f9edd69e803f
BLAKE2b-256 checksum
How to use checksums
74ece5818b73a134bbbc8ca519209341bf2887a242c07da84366af9439be6fa0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.6

Release files / windfetch-0.0.2-py3-none-any.whl

Download URL windfetch-0.0.2-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e740233d0e4760c981beccb228e13fb1f319d369c689186f1fd6030c3482799e
BLAKE2b-256 checksum
How to use checksums
cab6d9209046b8e15a7e1034b7adfbffce19f97f5f34e531d09bc3feba680b6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.6

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page