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.
- 🚀 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.
Install via pip:
pip install better-git-of-theseusRun the following in any Git repository:
better-git-of-theseusIt will automatically open your browser to the interactive dashboard.
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
Adjust parameters like "Max Series", "Normalization", and "Exponential Fit" directly in the Web UI without re-running any commands.
- 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.
Special thanks to Erik Bernhardsson for creating the original git-of-theseus.
MIT