git_count
A powerful Git commit activity visualization tool with detailed repository insights, beautiful ASCII charts, and advanced visualizations.
Installation
pip install git-count
Features
Core Features
- Visualize git commit activity with ASCII bars
- Group commits by day, month, or year
- Filter commits by author
- Date range filtering
- Directory-specific analysis
- Detailed repository insights
- Commit streak tracking (current and longest streaks)
- File churn analysis (identify hotspot files)
- Code velocity metrics (lines added/removed per period)
- Multiple output formats (text, JSON, CSV, SVG)
Advanced Visualizations
- GitHub-style Contribution Heatmap - 365-day calendar view of commit activity
- Sparklines - Compact trend visualization for commit patterns
- Box Plots - Statistical distribution of commit activity
- Violin Plots - Density visualization for hourly/daily patterns
- SVG Export - Publication-ready vector graphics
- Emoji Mode - Visual indicators for enhanced readability
- Desktop Notifications - Milestone alerts for achievements
- Progress Bars - Real-time feedback for large repository analysis
Usage
# Basic usage
git-count
# Show commits by month
git-count -p month
# Filter by author
git-count -a "uday"
# Show commits since a specific date
git-count -s "2023-01-01"
# Show detailed repository insights
git-count -i
# Output as JSON
git-count -o json
# Show most frequently changed files
git-count -c
# Show code velocity (lines added/removed)
git-count -v
# Show velocity by month
git-count -v -p month
Options
Basic Options
-p, --period: Group commits by period (day/month/year)-a, --author: Filter commits by author-s, --since: Show commits more recent than a specific date-u, --until: Show commits older than a specific date-d, --directory: Analyze commits in a specific directory-m, --max-commits: Limit the number of commits to display-o, --output: Output format (text/json/csv/svg)
Analysis Options
-i, --insights: Show detailed repository insights-c, --churn: Show most frequently changed files (hotspots)-v, --velocity: Show code velocity (lines added/removed per period)-H, --heatmap: Show GitHub-style contribution heatmap
Visualization Options
-e, --emoji: Enable emoji mode for visual indicators--sparkline: Show sparkline trends in insights--boxplot: Show box plot for commit distribution--violinplot: Show violin plot for hourly/daily patterns
Utility Options
-n, --notify: Send desktop notifications for milestones-q, --quiet: Disable progress bars-V, --version: Show version number-h, --help: Show help message
Advanced Examples
# Show GitHub-style contribution heatmap
git-count -H
# Enable emoji mode for better visuals
git-count -i -e
# Full analysis with advanced visualizations
git-count -i -c -v --sparkline --boxplot --violinplot -e
# Show heatmap with emoji mode
git-count -H -e
# Export to SVG for presentations
git-count -o svg
# Get desktop notifications for milestones
git-count -i -n
# Combine multiple filters with visualizations
git-count -a "uday" -s "2024-01-01" -p month -i --sparkline -e
# Export data for further analysis
git-count -o json > commits.json
git-count -o csv > commits.csv
# Analyze specific directory changes
git-count -d src/ -p month -H
# Get insights for team productivity with emoji mode
git-count -i -s "2025-01-01" -e
# Find hotspot files changed by a specific author
git-count -c -a "uday" -s "2024-01-01" -e
# Full analysis: insights + churn + velocity + heatmap
git-count -i -c -v -H -p month -e
Customization
You can customize colors and emoji settings by creating a ~/.gitbarsrc configuration file:
[colors]
reset = \033[0m
title = \033[1;36m
date = \033[0;32m
number = \033[0;33m
bar = \033[0;34m
alert = \033[0;31m
[emoji]
enabled = true
What You'll See
Insights Mode (-i)
- Project timeline and age
- Average commits per day
- Current and longest commit streaks
- Most active hours and days
- Commit types distribution (features, fixes, docs, etc.)
- Top contributors
- Activity patterns with visual charts
- NEW: Sparkline trends (
--sparkline) - NEW: Box plot distribution (
--boxplot) - NEW: Violin plot patterns (
--violinplot)
Contribution Heatmap (-H)
- GitHub-style 365-day calendar view
- Color-coded intensity levels (gray to red)
- Weekly and monthly patterns
- Visual commit frequency distribution
Churn Mode (-c)
- Most frequently changed files ranked by number of commits
- Visual bar chart of file change frequency
- Identifies code hotspots
Velocity Mode (-v)
- Lines added/removed per period with color-coded bars
- Total lines added, removed, and net change
- Trend indicators with emoji mode
Emoji Mode (-e)
- 🔥 Hot files and streak indicators
- 🚀 Velocity and activity metrics
- ⭐ Top contributors with 🏆 trophy for #1
- 📈 Trending up, 📉 trending down indicators
- ✨ Enhanced visual experience
SVG Export (-o svg)
- Publication-ready vector graphics
- Responsive and scalable charts
- Professional color schemes
- Embeddable in documentation
Desktop Notifications (-n)
- 🎉 Milestone alerts (100, 500, 1000+ commits)
- 🔥 Streak achievements (30+ days)
- Non-intrusive notifications
Requirements
- Python 3.8+
- Git must be installed and repository must be a valid Git repository
License
MIT License
Metadata
Release files for git-count 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| git_count-0.4.0.tar.gz | 19.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| git_count-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.8 kB
Release files / git_count-0.4.0.tar.gz
| Download URL | git_count-0.4.0.tar.gz |
|---|---|
| Size | 19.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b57e04eed546075b62113b3af8f76a7d8cf981cd7a0ca511a1219eec401c10f8
|
|
BLAKE2b-256 checksum How to use checksums |
d8a1005c040f68b749899ccc7b72a8343df27ce7a76dd88d7808f6eeb653abe3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / git_count-0.4.0-py3-none-any.whl
| Download URL | git_count-0.4.0-py3-none-any.whl |
|---|---|
| Size | 14.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
70bd693a2334e7fdc399b660e656d8d9f62836958c56eb620f3a8f4153080656
|
|
BLAKE2b-256 checksum How to use checksums |
9e5545f52d667565b081aafb81576df66991579cac0347c9758affb8dd90a873
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|