A fork of Neofetch written entirely in Python. Displays system information with Neofetch-style ASCII art.
- Cross-platform: works on Windows, Linux, and macOS
- Comprehensive system information: displays username, hostname, OS, kernel, uptime, packages, shell, resolution, DE/WM, terminal, CPU, GPU, RAM, disk, temperature
- ASCII Art: uses the same ASCII art as Neofetch, with support for custom art
- ANSI Colors: full support for color terminals
- Configurable: customizable configurations via JSON files
- Portable: written entirely in Python, easily extensible
- Python 3.6 or higher
psutil
module:pip install psutil
pip install git+https://github.com/dddevid/pyfetch.git
Alternatively, you can install PyFetch via pip:
pip install devid-pyfetch
Run PyFetch from the command line:
python pyfetch.py
Or, if installed via pip:
pyfetch
--ascii FILE
: Use a custom ASCII file--ascii_distro DISTRO
: Use ASCII art from a specific distribution--config FILE
: Use a custom configuration file--no_color
: Disable colors--version
: Show PyFetch version
PyFetch can be configured via a JSON configuration file. The default configuration file is located at:
- Linux/macOS:
~/.config/pyfetch/config.json
or~/.pyfetch.json
- Windows:
%APPDATA%\PyFetch\config.json
or~/pyfetch.json
{
"show_ascii": true,
"show_colors": true,
"show_color_blocks": true,
"info": {
"os": true,
"kernel": true,
"uptime": true,
"packages": true,
"shell": true,
"resolution": true,
"de": true,
"wm": true,
"terminal": true,
"cpu": true,
"gpu": true,
"memory": true,
"disk": true,
"temperatures": true
},
"ascii_art": {
"use_custom": false,
"custom_path": "",
"distro_override": ""
}
}
PyFetch is designed to be easily extensible. You can add new features by modifying the following files:
system_info.py
: Add new methods for collecting system informationascii_art.py
: Add new ASCII art for distributions or operating systemsconfig.py
: Add new configuration options
Contributions are welcome! If you want to contribute to PyFetch, follow these steps:
- Fork the repository
- Create a branch for your feature (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Added a new feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
- Neofetch - The original inspiration for this project