Skip to main content

Spotify Wrapped, but for your Git history. Beautiful terminal visualizations of your coding year.

Project description

git-wrapped

Spotify Wrapped, but for your Git history.

git-wrapped analyzes your repository's commit history and generates a beautiful, colorful terminal report — complete with activity heatmaps, coding personality insights, streak tracking, and fun facts about your development habits.

Demo

git-wrapped demo

Stats, Heatmap & Activity Charts

Languages, Streaks, Coder DNA & Fun Facts

Features

  • The Numbers — Total commits, files changed, lines added/deleted, net impact
  • Activity Heatmap — GitHub-style contribution calendar rendered in your terminal
  • When You Code — Hour-of-day and day-of-week activity bar charts
  • Top Files — Most frequently modified files leaderboard
  • Languages — Programming language breakdown with visual bars
  • Streaks & Records — Longest streak, current streak, busiest day
  • Coder DNA — Fun personality assessment based on your coding patterns (Night Owl, Early Bird, Weekend Warrior, Feature Machine, and more)
  • Fun Facts — Holiday commits, longest/shortest commit messages, productivity stats
  • JSON Export — Export raw stats for sharing or further analysis

Installation

pip install git-wrapped

Or install from source:

git clone https://github.com/stackmasteraliza/git-wrapped.git
cd git-wrapped
pip install -e .

Usage

Run inside any git repository:

# Analyze the current repo (all time)
git-wrapped

# Analyze a specific year
git-wrapped --year 2025

# Analyze a specific repo
git-wrapped --path ~/projects/my-cool-project

# Filter by author
git-wrapped --author "Jane Doe"

# Disable animations for instant output
git-wrapped --no-animate

# Export as JSON
git-wrapped --json > my-wrapped.json

# Combine options
git-wrapped --path ~/work/api --year 2025 --author "me@email.com" --no-animate

You can also run it as a Python module:

python -m git_wrapped --year 2025

CLI Options

Flag Description
--path, -p Path to the git repository (default: .)
--year, -y Year to analyze (default: all time)
--author, -a Filter by author name or email
--no-animate Skip loading animation and section pauses
--json Output raw statistics as JSON
--version, -v Show version number

Coder Personalities

Based on your commit patterns, git-wrapped assigns you one of these personalities:

Personality Trigger
Night Owl 30%+ of commits after 10 PM
Early Bird 45%+ of commits before noon
Weekend Warrior 30%+ of commits on Sat/Sun
Streak Master 14+ day commit streak
Feature Machine 3x more additions than deletions
Code Surgeon Deletions approach additions
Balanced Builder Even mix of all patterns

Requirements

  • Python 3.8+
  • Git installed and in PATH
  • Terminal with color support (most modern terminals)

Dependencies

  • rich — Beautiful terminal formatting

That's it! Only one external dependency.

How It Works

  1. Parses git log output with --numstat for file-level statistics
  2. Computes time patterns, streaks, language breakdown, and more
  3. Determines your "coder personality" based on commit patterns
  4. Renders everything with Rich panels, tables, and styled text

Built With GitHub Copilot CLI

This project was built using GitHub Copilot CLI as part of the GitHub Copilot CLI Challenge on DEV. Copilot CLI assisted with:

  • Scaffolding the project structure
  • Writing the git log parser and statistics engine
  • Designing the Rich-based terminal visualizations
  • Debugging edge cases in date/streak calculations

Here are some examples of Copilot CLI in action during development:

Copilot CLI explaining git log format

Copilot CLI helping calculate commit streaks

Copilot CLI helping count commits by hour of day

Copilot CLI helping render a colored heatmap with Rich

License

MIT License — see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

git_wrapped-1.0.1.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

git_wrapped-1.0.1-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file git_wrapped-1.0.1.tar.gz.

File metadata

  • Download URL: git_wrapped-1.0.1.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.6

File hashes

Hashes for git_wrapped-1.0.1.tar.gz
Algorithm Hash digest
SHA256 3ae0b438213d5063e739ae693ff2785d8ba002c42038b455eb996e31a49c8fc9
MD5 c16a084846181deddeb2618ba170f409
BLAKE2b-256 fd818fa9c3665effac4f8fd1b2af4e68dc486a2ecdb1c03e248e2de1bdd69885

See more details on using hashes here.

File details

Details for the file git_wrapped-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: git_wrapped-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.6

File hashes

Hashes for git_wrapped-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 561b7d1375dd8e8ecd7ff8a8be9ed44f5d0ec3961259ecc8393cbfa3b9e38e5c
MD5 e7070867d24261bee26548907c8103eb
BLAKE2b-256 357106ac130bdcfa593b75e66e2c18e92edee1dc5a7497bf4903c2c4a9a5f36c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page