BasicFetch
Cross-platform system information display tool similar to neofetch/fastfetch, written in Python with rich feature set and beautiful ASCII logos.
Features
- 🖥️ Cross-platform support: Windows, Linux, macOS, BSD systems
- 🎨 Beautiful ASCII logos: Over 200+ distribution logos
- 📊 Comprehensive system info: Hardware, software, network, storage details
- 🌈 Rich color support: ANSI color codes and RGB support
- 🎯 Multiple display modes: Simple, detailed, JSON output
- ⚡ Fast performance: Efficient system information gathering
- 🔧 Highly customizable: Various command-line options
- 🐍 Pure Python: No external system dependencies
Installation
From PyPI (Recommended)
pip install basicfetch
From Source
git clone https://github.com/y4kupkaya/BasicFetch.git
cd BasicFetch
pip install -e .
Development Installation
git clone https://github.com/y4kupkaya/BasicFetch.git
cd BasicFetch
pip install -e .[dev]
Usage
Basic Usage
# Display system information with logo
basicfetch
# Alternative command
bfetch
Display Modes
# Simple mode - minimal information
basicfetch --simple
basicfetch -s
# Full mode - detailed information with color palette
basicfetch --full
basicfetch -f
# JSON output - machine readable format
basicfetch --json
basicfetch -j
# Only color palette
basicfetch --palette
basicfetch -p
Logo Options
# Display without logo
basicfetch --no-logo
basicfetch -n
# Use specific distribution logo
basicfetch --distro ubuntu
basicfetch -d arch
# Show only logo for specific distribution
basicfetch --logo windows
basicfetch -l macos
Display Options
# Disable colors
basicfetch --no-color
# Don't clear console before displaying
basicfetch --no-clear
Examples
# Show detailed Windows information with logo
basicfetch -f -d windows
# Get system info in JSON format without clearing screen
basicfetch -j --no-clear
# Show Ubuntu logo only
basicfetch -l ubuntu
# Simple mode without colors
basicfetch -s --no-color
System Information Displayed
Basic Information
- OS: Operating system name and version
- Host: Computer name and model
- Kernel: Kernel version
- Uptime: System uptime
- Packages: Installed packages count
- Shell: Current shell
- Resolution: Screen resolution
- Terminal: Terminal emulator
Hardware Information
- CPU: Processor name, cores, threads, frequency, usage
- GPU: Graphics card information and temperature
- Memory: RAM usage, total, available, swap
- Storage: Disk usage by partition
- Motherboard: Motherboard information
Network Information
- Network: Data sent/received statistics
Supported Systems
- Windows: 7, 8, 10, 11 (32-bit and 64-bit)
- Linux: All major distributions (Ubuntu, Debian, Arch, Fedora, etc.)
- macOS: 10.13+ (High Sierra and newer)
- BSD: FreeBSD, OpenBSD, NetBSD
Supported Distribution Logos
Over 200+ ASCII logos including:
- Linux: Ubuntu, Debian, Arch, Fedora, CentOS, SUSE, Manjaro, etc.
- BSD: FreeBSD, OpenBSD, NetBSD
- Windows: All versions
- macOS: All versions
- Other: Android, Haiku, and many more
Dependencies
- Python 3.7+
- psutil: System and process utilities
- rich: Rich text and beautiful formatting
- wmi (Windows only): Windows Management Instrumentation
Performance
BasicFetch is designed to be fast and efficient:
- Startup time: < 0.5 seconds
- Memory usage: < 50MB
- CPU usage: Minimal impact
- Network: No external requests
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Development Setup
git clone https://github.com/y4kupkaya/BasicFetch.git
cd BasicFetch
pip install -e .[dev]
# Run tests
pytest
# Format code
black .
# Lint code
flake8
# Type checking
mypy basicfetch.py
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Changelog
v1.0.0 (2025-01-18)
- Initial PyPI release
- Cross-platform system information display
- 200+ distribution logos
- Multiple display modes
- Rich color support
- Comprehensive hardware detection
- JSON output support
- Command-line interface
Acknowledgments
- Inspired by neofetch and fastfetch
- ASCII logos from various sources and community contributions
- Built with psutil and rich
Support
If you encounter any issues or have questions:
- Open an issue on GitHub Issues
- Check the documentation and examples above
- Make sure you're using Python 3.7 or newer
Author
Yakup Kaya (@y4kupkaya)
- 🌐 Website: yakupkaya.me
- 📱 Telegram: @YakupKaya
- 💻 GitHub: @y4kupkaya
Made with ❤️ in Turkey
Metadata
Release files for basicfetch 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| basicfetch-1.0.0.tar.gz | 72.9 kB | Without provenance | Details for basicfetch-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| basicfetch-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for basicfetch-1.0.0-py3-none-any.whl |
Total release size: 138.6 kB
Release files / basicfetch-1.0.0.tar.gz
| Download URL | basicfetch-1.0.0.tar.gz |
|---|---|
| Size | 72.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1e7cb5ac14b4a5cb0eade847e5c07559a91f5e4906ce5744c4b5f40a1f630b53
|
|
BLAKE2b-256 checksum How to use checksums |
64d7af1a0c4ebcda4555a322963fc8854ae14d3f54969f7c99ad42257aae7854
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.11
|
Release files / basicfetch-1.0.0-py3-none-any.whl
| Download URL | basicfetch-1.0.0-py3-none-any.whl |
|---|---|
| Size | 65.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
262115f2f6d143ca75edfadc2be9d7ae8efa9aaec798295de58ad6d7eeddf9ce
|
|
BLAKE2b-256 checksum How to use checksums |
a141220cb47e7ce3490b30fd23b10d86d2b79899c76b755ac45e56b208ce814d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.11
|
Security for basicfetch 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.