Skip to main content

Cross-platform system information display tool similar to neofetch

Project description

BasicFetch

PyPI version Python Support License: GPL v3 Downloads

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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. 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

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)

Made with ❤️ in Turkey

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

basicfetch-1.0.0.tar.gz (72.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

basicfetch-1.0.0-py3-none-any.whl (65.7 kB view details)

Uploaded Python 3

File details

Details for the file basicfetch-1.0.0.tar.gz.

File metadata

  • Download URL: basicfetch-1.0.0.tar.gz
  • Upload date:
  • Size: 72.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for basicfetch-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1e7cb5ac14b4a5cb0eade847e5c07559a91f5e4906ce5744c4b5f40a1f630b53
MD5 98346d79b63940d171938d87a04097b0
BLAKE2b-256 64d7af1a0c4ebcda4555a322963fc8854ae14d3f54969f7c99ad42257aae7854

See more details on using hashes here.

File details

Details for the file basicfetch-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: basicfetch-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 65.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for basicfetch-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 262115f2f6d143ca75edfadc2be9d7ae8efa9aaec798295de58ad6d7eeddf9ce
MD5 885c410d45a5fb81d1bc67d35daf9788
BLAKE2b-256 a141220cb47e7ce3490b30fd23b10d86d2b79899c76b755ac45e56b208ce814d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page