GitHubFetch
A terminal-based GitHub profile viewer written in Python. View GitHub profiles right in your terminal with style!
About
GitHubFetch is a command-line tool that displays GitHub user profiles in a terminal with a nice layout inspired by system fetch tools like neofetch and fastfetch.
Features
- 🖼️ Shows user's avatar in the terminal (using imgcat)
- 👤 Displays basic profile information (bio, location, follower count, etc.)
- 🔗 Creates clickable links to profiles and websites
- ⭐ Shows starred repositories count
- 📌 Lists pinned repositories with stars and forks
- 📅 Displays a horizontal contribution heatmap to visualize activity patterns
- 🎨 Uses color-coding to make information easier to read
- 📏 Automatically adjusts to your terminal size
Installation
Option 1: Install from PyPI (Recommended)
The easiest way to install GitHubFetch is directly from PyPI:
pip install githubfetch
This will install the githubfetch command and all its dependencies.
Option 2: Install from Source
If you prefer to install from source:
-
Clone the repository:
git clone https://github.com/shubhpsd/githubfetch.git cd githubfetch
-
Install the package in development mode:
pip install -e .
Note: The script will automatically check for and offer to install the imgcat dependency on first run if it's missing.
Usage
# View a GitHub profile
githubfetch <username>
# Display a user's contribution heatmap horizontally
githubfetch <username> --heatmap
# Configure GitHub token
githubfetch --config
# Reset GitHub token
githubfetch --reset-token
# Display help
githubfetch --help
For example:
# View a user's profile
githubfetch shubhpsd
# View a user's contribution heatmap
githubfetch shubhpsd --heatmap
GitHub Token Setup
To view pinned repositories and avoid API rate limits, GitHubFetch needs a GitHub personal access token.
The first time you run the tool, it will guide you through setting up your token:
- It will prompt you to create a token at GitHub Developer Settings
- After entering your token, it's securely saved for future use
- Your token is stored securely in
~/.config/githubfetch/token.json
If you need to update or reconfigure your token later:
githubfetch --config
Your token needs the read:user scope to work properly. For contribution heatmap functionality, the user scope is required.
Requirements
- Python 3.6 or later
- A terminal that supports ANSI escape codes
- For image support: iTerm2 or a terminal that supports the imgcat protocol
Metadata
Release files for githubfetch 1.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| githubfetch-1.0.5.tar.gz | 14.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| githubfetch-1.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.0 kB
Release files / githubfetch-1.0.5.tar.gz
| Download URL | githubfetch-1.0.5.tar.gz |
|---|---|
| Size | 14.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a91e2053636ec4f89ad13cf41a4299a123472da8fc5e28eb5d6618ab4ef6089b
|
|
BLAKE2b-256 checksum How to use checksums |
57214bb892399b9595d9342649457e63fe7713884bc3656c7a3c5a01f735d9c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / githubfetch-1.0.5-py3-none-any.whl
| Download URL | githubfetch-1.0.5-py3-none-any.whl |
|---|---|
| Size | 13.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6789dbeef7209b0974dacf4ccf629cee2e02c4e32e8651e6f4c983c4aae7a9fa
|
|
BLAKE2b-256 checksum How to use checksums |
5f4c176ee9e67fc0dd18d94822f8e48acaaa9c37da47994d2cda427815c5893a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|