Skip to main content

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.

Show the available command-line options or installed version:

better-git-of-theseus --help
better-git-of-theseus --version

Releasing

After the release PR is merged, create and push the next patch tag with one command:

make release-patch

The command requires a clean, up-to-date master branch. It pushes the next vX.Y.Z tag and triggers the PyPI release workflow. Use make release-minor or make release-major for those version increments.

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

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.8.0.tar.gz (421.4 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.8.0-py3-none-any.whl (29.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: better_git_of_theseus-0.8.0.tar.gz
  • Upload date:
  • Size: 421.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for better_git_of_theseus-0.8.0.tar.gz
Algorithm Hash digest
SHA256 66f750e0ccb3ef5d72b748f5d5fdee12212c4df1b75ac8499ef54b9c8b87aa9c
MD5 8b382580b956e06b73c388d09dcccb52
BLAKE2b-256 7dbcc1074843489be0f157e4e024ca1dac465b00f6c8887a4cea208caa448d40

See more details on using hashes here.

Provenance

The following attestation bundles were made for better_git_of_theseus-0.8.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.8.0-py3-none-any.whl.

File metadata

File hashes

Hashes for better_git_of_theseus-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b58f1392eae85c08c66554a29cbe6a5dabd14ceb8c0ee1d260a8a852b081ef4b
MD5 816c9e8f3de72e587d7e250564014016
BLAKE2b-256 d981231e43279a60d4687e42d6b92c60c96e1426f1c37ebc503396860c289aff

See more details on using hashes here.

Provenance

The following attestation bundles were made for better_git_of_theseus-0.8.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.

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 files

0.7.0

2 files

0.6.0

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.5

2 files

0.4.2

2 files

0.4.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page