Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitFetch

A terminal-based GitHub profile dashboard.

GitFetch is a lightweight terminal application that displays GitHub user profiles and their top repositories in a clean, configurable Textual UI.

✨ Features

  • 👤 Display GitHub user information
  • ⭐ Show top repositories sorted by stars
  • 🔄 Automatically refresh profile data
  • 🎨 Customize label and value colors
  • 🖥️ Optional ASCII greyscale mode
  • 🔑 Optional GitHub Personal Access Token (PAT)
  • ⚙️ Interactive configuration UI
  • 🪟 Windows installer
  • 🚀 Run globally from any directory

📸 Preview

GitFetch preview

📦 Installation

Windows

Download the latest GitFetch-Setup.exe from the Releases page.

Run the installer, then open a new terminal.

GitFetch will be available globally:

gitfetch <username>

For example:

gitfetch octocat

🚀 Usage

View a GitHub profile

gitfetch <username>

Example:

gitfetch torvalds

Open configuration

gitfetch --config

The configuration interface lets you customize:

  • ASCII greyscale mode
  • Label color
  • Value color
  • GitHub Personal Access Token
  • Display refresh rate

🔑 GitHub Personal Access Token

A GitHub Personal Access Token is optional.

Without a PAT, GitFetch uses GitHub's unauthenticated API, which has a more limited rate limit.

You can add a PAT through:

gitfetch --config

If no token is configured, GitFetch displays:

None (limited)

A PAT is not required to display public GitHub profiles.

⚙️ Configuration

GitFetch stores its configuration locally at:

~/.gitfetch/config.json

Example configuration:

{
    "ascii-greyscale": false,
    "label-color": "cyan",
    "value-color": "white",
    "pat-key": null,
    "refresh-rate": 60
}

You can modify these settings interactively with:

gitfetch --config

🛠️ Building from Source

Requirements

  • Python 3.11+
  • Git
  • PyInstaller

Clone the repository

git clone https://github.com/arrntwzz/gitfetch.git
cd gitfetch

Install dependencies

py -m pip install -r requirements.txt

Build GitFetch

py -m PyInstaller --onefile --name gitfetch build_launcher.py

The executable will be created at:

dist/gitfetch.exe

Build the Windows installer

First, build gitfetch.exe, then run:

py -m PyInstaller --onefile --name GitFetch-1.0.0-Setup --add-binary "dist\gitfetch.exe;." installer\installer.py

The installer will be created at:

dist/GitFetch-1.0.0-Setup.exe

📁 Project Structure

gitfetch/
├── src/
│   └── gitfetch/
│       ├── __init__.py
│       ├── __main__.py
│       ├── main.py
│       ├── config.py
│       ├── config_ui.py
│       ├── display.py
│       └── github_api.py
│
├── installer/
│   └── installer.py
│
├── scripts/
│   └── build_launcher  .py
├── pyproject.toml
├── README.md
├── LICENSE
└── .gitignore

📄 License

GitFetch is licensed under the MIT License.

See LICENSE for details.

About

No description or website provided.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages