Convert git logs to JSON for easy analysis
Python Makefile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



Convert git logs to JSON for easier analysis.


The easiest way to install git2json is through pip:

pip install git2json

If you want the most up-to-date version (at a greater risk of encountering bugs) you can clone this repository and install it manually:

git clone
cd git2json
python install


usage: git2json [-h] [--git-dir GIT_DIR] [--since SINCE]

optional arguments:
  -h, --help         show this help message and exit
  --git-dir GIT_DIR  Path to the .git/ directory of the repository you are
  --since SINCE      Show commits more recent than a specific date. If
                     present, this argument is passed through to "git log"

usage: git2json [-h] [--git-dir GIT_DIR]

The resulting JSON log is printed to standard output.

Example JSON

The following shows the structure of the JSON emitted by the tool.

    "committer": {
        "date": 1379903278,
        "timezone": "-0400",
        "name": "Tavish Armstrong",
        "email": ""
    "parents": ["e307663594031738c932877c8589552d5aafc953"],
    "author": {
        "date": 1379903278,
        "timezone": "-0400",
        "name": "Tavish Armstrong",
        "email": ""
    "tree": "bd03127651335e3a51241f507f3bf194d8336485",
    "commit": "d06454c160218b4a782afad2429abda1add54df0",
    "message": "Allow user to specify git-dir on the command line.",
    "changes": [
        [23, 3, "git2json/"]
    // ... More commits

Usage Examples

If you are using git2json in interesting ways, please share and I will add your notebooks/blog posts/code to this list.