This one is a treemap by the article's definition but is called a heatmap for as long as I can remember: https://www.marketbeat.com/market-data/sector-performance/
I reviewed the OP's code and did some benchmarks; SQLite is not the bottleneck here. The code first generates the commit info from the git log, prints that to stdin [1] and the python script reads from it one by one in a loop [2]. Each of the commit info is written to SQLite. So, with or without WAL, the time is almost the same.
To confirm my hypothesis, I ran the project without insert calls. On my machine, for cpython, it took 160 seconds and without sqlite inserts 159 ish.
I believe the git log will be fast anyway, so other ways to make it faster would be to read a bunch of commits at once and then do batch inserts. We can also make it run in parallel since each commit info is independent, and we don't need to care about ordering while inserting.
[0] - https://avi.im/blag/2021/fast-sqlite-inserts/
[1] - https://github.com/jmforsythe/Git-Heat-Map/blob/bd9bc22/git-...
[2] - https://github.com/jmforsythe/Git-Heat-Map/blob/bd9bc22/git-...
I had the same minor install issue, specifically needed to do the following:
>chmod +x git-log-format.sh generate-db.sh
>python -m venv .venv
>source .venv/bin/activate
>pip install flask
I'm not sure the colouring is working as expected; I tried submitting with many email addresses I know are in the repo it ran over (with/out the wildcard) and the highlighting behaviour was difficult to predict.Also I wasn't sure how to get the colors :shrug:
For the highlighting, currently only a single email pattern input is supported. Type in your pattern into the box at the bottom, then click submit. The pattern gets fed into a LIKE statement in SQLite, so just plaintext, with % representing a wildcard eg torvalds% would highlight files modified by an email starting with torvalds.