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 rich

Then clone or download this repository:

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.0.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.0-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: git_wrapped-1.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 0f2eb58a99c59940476833a9c417e6ffdac361175f7903b9531b9ee564fa21b1
MD5 19a17d4534706309c51359385a159741
BLAKE2b-256 233fb87f82e91b0681268ec6783d8d07fa9257a49e4546a9ff79320edc7501b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: git_wrapped-1.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 41c4e02d444e6b4a7cdde091268bc61011c57ecc48ff352df1b01121456f241e
MD5 37f9c5524836fff29bb3aecb7970fe48
BLAKE2b-256 7e7f3e15b322056bd5aa513336ce30bca62f34360a4266b8621bc15ce29c40f8

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