Skip to main content

Plot stats on Git repositories with interactive Plotly charts

Project description

Better Git of Theseus

pypi badge PyPI - Downloads PyPI - Python Version GitHub License Ask DeepWiki LLMAPIS

中文版

Better Git of Theseus is a modern refactor of the original git-of-theseus. It provides a fully interactive Web Dashboard powered by Streamlit and Plotly, making it easier than ever to visualize how your code evolves over time.

Git of Theseus Cohorts Git of Theseus Authors

Key Enhancements

  • 🚀 One-Click Visualization: New better-git-of-theseus command automatically scans your project and launches a Web UI.
  • 📊 Interactive Charts: Replaced static Matplotlib plots with Plotly. Support for zooming, panning, and detailed data hovers.
  • 🧠 In-Memory Processing: Data flows directly in memory. No more mandatory intermediate .json files cluttering your repo.
  • Smart Caching: Leverages Streamlit's caching to make repeat analysis of large repos nearly instantaneous.
  • 🎨 Modern UI: Adjust parameters (Cohort format, ignore rules, normalization, etc.) in real-time via the sidebar.

Installation

Install via pip:

pip install better-git-of-theseus

Quick Start

Run the following in any Git repository:

better-git-of-theseus

It will automatically open your browser to the interactive dashboard.

Feature Highlights

Cohort Formatting

Customize how commits are grouped by year, month, or week (based on Python strftime):

  • %Y: Group by Year (Default)
  • %Y-%m: Group by Month
  • %Y-W%W: Group by Week

Real-time Parameters

Adjust parameters like "Max Series", "Normalization", and "Exponential Fit" directly in the Web UI without re-running any commands.

FAQ

  • Duplicate Authors? Configure a .mailmap file in your repo root to merge identities.
  • Performance? First-time analysis of very large repos (like the Linux Kernel) may take time, but subsequent views are extremely fast due to caching.

Credits

Special thanks to Erik Bernhardsson for creating the original git-of-theseus.

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

better_git_of_theseus-0.7.0.tar.gz (419.2 kB view details)

Uploaded Source

Built Distribution

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

better_git_of_theseus-0.7.0-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file better_git_of_theseus-0.7.0.tar.gz.

File metadata

  • Download URL: better_git_of_theseus-0.7.0.tar.gz
  • Upload date:
  • Size: 419.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for better_git_of_theseus-0.7.0.tar.gz
Algorithm Hash digest
SHA256 fa2c50062f66448ae571ff416299871a8a724ef2fba8c022fac1aa0eef50f1d5
MD5 834551fd78d9d3bce596405889493c81
BLAKE2b-256 30311153f31b25a553f8b57bbab0431a7cc6202f5ea13291f95823f7a962fbbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for better_git_of_theseus-0.7.0.tar.gz:

Publisher: release.yml on onewesong/better-git-of-theseus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file better_git_of_theseus-0.7.0-py3-none-any.whl.

File metadata

File hashes

Hashes for better_git_of_theseus-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 21586b9bf82ae82ed25be5e0f2c39eb537b952afc4eb524424b57b78f128713c
MD5 8882253a28cd09f96eb84f73c99d54c8
BLAKE2b-256 ce1e57e1bc4dd042af7c18c4cb1e1d9ff822f85c7f920d58862caed4cae1316f

See more details on using hashes here.

Provenance

The following attestation bundles were made for better_git_of_theseus-0.7.0-py3-none-any.whl:

Publisher: release.yml on onewesong/better-git-of-theseus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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