# pfetch

> system information shell tool

**Wikidata**: [Q107369956](https://www.wikidata.org/wiki/Q107369956)  
**Source**: https://4ort.xyz/entity/pfetch

## Summary
pfetch is a free, open-source system information shell tool written by Dylan Araps that displays concise hardware and operating-system details in a terminal. Written purely in shell script and released under the MIT License, it runs on any Unix-like platform and is designed as a lightweight alternative to larger fetch utilities.

## Key Facts
- Author: Dylan Araps (b. 1998), independent programmer.
- License: MIT License; source code at https://github.com/dylanaraps/pfetch.
- Current stable release: 0.6.0 (11 Mar 2020); first public release 0.1 (28 Sep 2019).
- Implementation language: POSIX-compatible shell script.
- Supported platforms: all Unix-like operating systems; package available on SlackBuilds as desktop/pfetch.
- Software class: free software, console application, cross-platform.
- GitLab topic identifier: pfetch.

## FAQs
### Q: What does pfetch actually show?
A: It prints a short, colorized block containing the OS name, kernel, uptime, package count, shell, CPU, GPU, memory usage, and an ASCII logo for the detected distribution.

### Q: How is pfetch different from neofetch?
A: pfetch is intentionally minimal—about 500 lines of shell versus neofetch’s several thousand—making it faster to start and easier to audit or embed in dotfiles.

### Q: Can I run pfetch on macOS or *BSD?
A: Yes; the script is written for POSIX shells and officially supports macOS, Linux, and the major BSD families without modification.

### Q: Is pfetch still maintained?
A: Development slowed after v0.6.0 (March 2020), but the codebase is considered feature-complete; bug reports and pull requests are still reviewed on GitHub.

## Why It Matters
In a world of increasingly bloated system utilities, pfetch proves that essential information can be surfaced with near-zero overhead. Its sub-1 kB memory footprint and instant startup make it ideal for tiling-window-manager setups, remote SSH sessions, and container images where every byte counts. Because the entire program is a single shell script, users can audit or extend it without learning a new language, encouraging transparency and customization. pfetch’s popularity in minimalist Linux circles also influenced other developers to slim down their own fetch tools, reinforcing the Unix philosophy of doing one thing well.

## Notable For
- Entire implementation is one POSIX shell script (~500 lines) requiring no external dependencies beyond standard Unix utilities.
- Achieves cross-platform support (Linux, macOS, *BSD) without configuration files or auto-detection heuristics.
- Packaged by SlackBuilds and multiple distributions as a drop-in replacement for heavier fetch utilities.
- Released under the permissive MIT License, allowing embedding in proprietary or personal dotfiles without legal friction.
- Development history from 0.1 to 0.6.0 spanned only six months, demonstrating rapid iteration while keeping scope minimal.

## Body
### Origins and Author
Dylan Araps, an Australian programmer born in 1998, created pfetch in September 2019. He is also known for authoring other minimal Unix tools such as kiss (a Linux distribution) and neofetch; pfetch was conceived as a deliberately smaller counterpart to neofetch.

### Releases
- 0.1 – 28 Sep 2019 – first public tag.
- 0.2 – 30 Sep 2019 – added GPU detection.
- 0.3 – 1 Oct 2019 – improved BSD support.
- 0.4.0 – 5 Oct 2019 – memory output formatting.
- 0.5.0 – 10 Mar 2020 – macOS package counting.
- 0.6.0 – 11 Mar 2020 – current stable; feature freeze.

### Technical Details
The program detects the operating system via uname, lsb-release, or /etc/os-release, then selects a 3-line ASCII logo from an internal set. Hardware information is gathered by parsing /proc or sysctl values; GPU data come from lspci, glxinfo, or nvidia-smi. All output is colorized using ANSI escape sequences hard-coded in the script. No configuration file is needed—behavior is controlled only through environment variables such as PF_INFO to hide or reorder fields.

### Adoption
pfetch has become a staple in “ricing” communities focused on minimal desktop screenshots. It is the default fetch tool in several lightweight Live ISOs and is pre-installed in some Docker images to provide quick container introspection.

## References

1. [Source](https://github.com/dylanaraps/pfetch/blob/master/LICENSE.md)
2. [Source](https://github.com/dylanaraps/pfetch)
3. [Release 0.1. 2019](https://github.com/dylanaraps/pfetch/releases/tag/0.1)
4. [Release 0.2. 2019](https://github.com/dylanaraps/pfetch/releases/tag/0.2)
5. [Release 0.3. 2019](https://github.com/dylanaraps/pfetch/releases/tag/0.3)
6. [Release 0.4.0. 2019](https://github.com/dylanaraps/pfetch/releases/tag/0.4.0)
7. [Release 0.5.0. 2020](https://github.com/dylanaraps/pfetch/releases/tag/0.5.0)
8. [Release 0.6.0. 2020](https://github.com/dylanaraps/pfetch/releases/tag/0.6.0)