https://github.com/krishnakanthb13/github-meter
Floating desktop widget displaying your GitHub contribution graph in Sallar's poster style. Built with Python stdlib (urllib, ThreadingHTTPServer) — no Selenium or Flask. Features HTTP-based fetching with retry/backoff, 9 color themes, year cycling, persistent caching, and one-click profile access.
https://github.com/krishnakanthb13/github-meter
cache contributions desktop-widget github http-server python sallar theme urllib
Last synced: 1 day ago
JSON representation
Floating desktop widget displaying your GitHub contribution graph in Sallar's poster style. Built with Python stdlib (urllib, ThreadingHTTPServer) — no Selenium or Flask. Features HTTP-based fetching with retry/backoff, 9 color themes, year cycling, persistent caching, and one-click profile access.
- Host: GitHub
- URL: https://github.com/krishnakanthb13/github-meter
- Owner: krishnakanthb13
- License: mit
- Created: 2026-06-20T17:59:29.000Z (28 days ago)
- Default Branch: main
- Last Pushed: 2026-07-13T13:34:48.000Z (6 days ago)
- Last Synced: 2026-07-13T14:10:09.727Z (5 days ago)
- Topics: cache, contributions, desktop-widget, github, http-server, python, sallar, theme, urllib
- Language: HTML
- Size: 28.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GitHub Contribution Meter 📊
A beautiful floating desktop widget that displays your GitHub contribution graph, styled in the signature poster layout popularized by **Sallar Kaboli**. It fetches live GitHub calendar HTML via HTTP requests (no browser automation) and serves it locally to a customized border-less window.
Based on the architecture of the **Rhyming Clock**.
## Features
- **HTTP-Based Fetching**: Fetches your live contribution calendar using Python's built-in `urllib` — no Selenium or browser automation required.
- **Sallar Poster Aesthetic**: Redesigned to mimic Sallar's contribution cards, displaying month and weekday labels cleanly.
- **Dynamic Year Navigation**: Supports navigating and loading calendar history dynamically from a year cycler in the UI (current year back to 2015).
- **Persistent Data Folder**: Stores yearly contribution charts in a dedicated `data/` directory to facilitate instant local swapping between fetched years.
- **Color Theme Selection**: Switch dynamically between 9 color themes: Dracula, Classic Green, Obsidian, Halloween, Violet, Cyberpunk, Arctic, Sakura, and Paper.
- **Interactive Tooltips**: Preserves contribution count and date details when hovering over grid blocks.
- **Clickable Profile Info**: Clicking on your avatar, username, or details opens your live GitHub profile in a new window/tab in your default browser.
- **Floating Window Mode**: Launches Chrome/Edge in `--app` mode without window borders, address bar, or tabs, docked in the bottom-right corner of your desktop.
## Prerequisites
- **Python 3.8+**
- **Google Chrome** or **Microsoft Edge**
## Setup
1. Clone the repository and install dependencies:
```bash
pip install -r requirements.txt
```
2. Copy `.env.example` to `.env` and set your GitHub profile URL:
```env
GITHUB_PROFILE=https://github.com/your-username-here
```
## Running the App
### Windows
Double-click the **`github-meter.bat`** script.
### macOS / Linux
```bash
chmod +x github-meter.sh
./github-meter.sh
```
Both launchers will:
1. Start the backend API server (`server.py`) in the background.
2. Spin up Chrome/Edge in app mode as a floating window.
3. Automatically load the contribution graph.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.