Skip to main content

A Python CLI for git repository analytics: commits, file churn, branches, hotspots

Project description

gitaura

A Python CLI for git repository analytics. Visualize commit activity, analyze file churn, explore branch history, and discover where you work most—all from the terminal.

Installation

pip install gitaura
248 commits over 12 month(s)
2024-01     12 ▀▀▀▀▀
2024-02     28 ▀▀▀▀▀▀▀▀▀▀▀▀▀
2024-03     45 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
...

Commands

Commit Activity

Command Description
(default) Bar chart of commits by period (day/week/month/year)
-p day Daily granularity
-p week Weekly (ISO week)
-p month Monthly (default)
-p year Yearly
-f Fill missing dates with zero-commit bars

File Analysis

Command Description
--files File type breakdown (% JS, TS, MD, etc.)
--churn File churn ranking (most modified files)
--hotspots Hotspot detection (high churn + many contributors)
--refactor Refactor density (balanced add/del ≈ refactoring)
--min-churn N Minimum churn for hotspots (default: 50)

Branch Analysis

Command Description
--branches Active branches ranked by recency
--stale Stale branches (no commits in N days)
--stale-days N Staleness threshold (default: 30)
--divergence Ahead/behind counts vs main
--branch-lifetime Creation → merge duration for merged branches
--merges Merge frequency timeline (aggregated)
--merge-timeline Timeline of branch merges (date + branch name)
--compare A B Compare two branches statistically
--main BRANCH Main branch for divergence/lifetime/merges (default: main or master)

Activity Map

Command Description
--work-map “Where do I work most?” — directory activity map

Global Options

Apply to most commands:

Option Description
-a, --after DATE After date (e.g. 2024-01-01)
-b, --before DATE Before date
-u, --author EMAIL Filter by author (substring match)

Examples

Commit bars by week, filtered by author

gitaura -p week -u "alice@company.com"

File type breakdown for 2024

gitaura --files -a 2024-01-01 -b 2024-12-31

Most modified files

gitaura --churn

Hotspots — high churn and many contributors

gitaura --hotspots --min-churn 100

Refactor vs feature density

gitaura --refactor

Stale branches (no activity in 60 days)

gitaura --stale --stale-days 60

Branch divergence from main

gitaura --divergence

Compare main and feature branch

gitaura --compare main feature-branch
gitaura --compare main origin/feature-branch

Where do I work most?

gitaura --work-map
gitaura --work-map -u "me@email.com"

Merge timeline

gitaura --merge-timeline

Output Notes

  • Weekend bars are colored blue in commit activity view.
  • Churn = lines added + lines deleted per file.
  • Refactor density uses “balanced” edits (adds ≈ dels) as a proxy for refactoring.
  • Hotspots combine churn and contributor count; files with both rank higher.
  • Work map shows directories by edit count and lines changed; hierarchy is indented.

License

MIT

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

gitaura-0.1.4.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

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

gitaura-0.1.4-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file gitaura-0.1.4.tar.gz.

File metadata

  • Download URL: gitaura-0.1.4.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for gitaura-0.1.4.tar.gz
Algorithm Hash digest
SHA256 35606f2e5eadd4d9a0691f30a28cdee0436274d19989fea0f35dba055603ef06
MD5 0aef34bf461e161a457eecf9e18f379f
BLAKE2b-256 535e21c294be4b6c3504bb8199b04b11e814b6d397588cebaa51f103b00f8441

See more details on using hashes here.

File details

Details for the file gitaura-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: gitaura-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for gitaura-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 febda18a259df6eeab7545f5d0299277a5d868ab82205d30f68ec0f1a134debe
MD5 b4e4d03ae1dcc1989516f5a671033596
BLAKE2b-256 8419913411bd367fb511a3e0f0b010a3fa425bb0cebb23d2a4933955c8a34c11

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