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.
Key Enhancements
- 🚀 One-Click Visualization: New
better-git-of-theseuscommand 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
.jsonfiles 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
Metadata
Release files for better-git-of-theseus 0.8.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 | |
|---|---|---|---|
| better_git_of_theseus-0.8.0.tar.gz | 421.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| better_git_of_theseus-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 451.2 kB
Release files / better_git_of_theseus-0.8.0.tar.gz
| Download URL | better_git_of_theseus-0.8.0.tar.gz |
|---|---|
| Size | 421.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
66f750e0ccb3ef5d72b748f5d5fdee12212c4df1b75ac8499ef54b9c8b87aa9c
|
|
BLAKE2b-256 checksum How to use checksums |
7dbcc1074843489be0f157e4e024ca1dac465b00f6c8887a4cea208caa448d40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.
Transparency logRelease files / better_git_of_theseus-0.8.0-py3-none-any.whl
| Download URL | better_git_of_theseus-0.8.0-py3-none-any.whl |
|---|---|
| Size | 29.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b58f1392eae85c08c66554a29cbe6a5dabd14ceb8c0ee1d260a8a852b081ef4b
|
|
BLAKE2b-256 checksum How to use checksums |
d981231e43279a60d4687e42d6b92c60c96e1426f1c37ebc503396860c289aff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.
Transparency log