Skip to content

Navigation Menu

Sign in
Sign up

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /