Skip to content

ammsa/Githeat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

githeat

GitHeat uses your local machine to parse the git-log of your repo and build an interactive heatmap in your terminal. You can use GitHeat to see what days are most popular, and what months are most active.

To start the interactive heatmap, run:

$ githeat.interactive

video

or skip the interactive part and print the heatmap directly by running:

$ githeat

githeat_cli

Want to merge in the months? run

$ githeat --month-merge

githeat_cli_month_merge

Want to separate each day block? run

$ githeat --separate

githeat_cli_separate

Want to change the width of each block? choose between thin, reg, thick:

$ githeat --width {thick,reg,thin}

githeat_cli_width_thin

Want to change the color of the graph? choose between grass, sky, fire

$ githeat --color {grass,fire,sky}

githeat_cli_color_fire

Want to show who are the top 10 most committers? run and it will parse the days for you:

$ githeat --stat --stat-number 10

githeat_cli_stat_stat_number_10

Want to filter out commits by author? write regex in the author argument:

$ githeat --author="Will"

Want to filter out commits by keywords in commit? write regex in the grep argument:

$ githeat --grep="Fix"

Have a specific YAML configuration file you want to use? pass it to the config argument:

$ githeat --config PATH_TO_CONFIG.yaml

Need help? run:

$ githeat -h

usage: githeat.py [-h] [-c FILE] [--gtype {inline,block}]
                 [--width {thick,reg,thin}] [--days DAYS [DAYS ...]]
                  [--color {grass,fire,sky}] [--stat-number STAT_NUMBER]
                  [--stat] [--separate] [--month-merge] [--author AUTHOR]
                  [--grep GREP] [-v]
                  [--logging {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET}]

githeat: Terminal Heatmap for your git repos

optional arguments:
  -h, --help            show this help message and exit
  -c FILE, --config FILE
                        Specify YAML config file
  --gtype {inline,block}
                        Choose how you want the graph to be displayed
  --width {thick,reg,thin}
                        Choose how wide you want the graph blocks to be
  --days DAYS [DAYS ...]
                        Choose what days to show. Please enter list of day
                        abbreviations or full name of week
  --color {grass,fire,sky}
                        Choose type of coloring you want for your graph
  --stat-number STAT_NUMBER
                        Number of top committers to show in stat
  --stat, -s            Show commits stat
  --separate, -b        Separate each day
  --month-merge         Separate each month
  --author AUTHOR, -a AUTHOR
                        Filter heatmap by author. You can also write regex
                        here
  --grep GREP, -g GREP  Filter by keywords in commits
  -v, --version         print version and exit
  --logging {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET}
                        logger level

or for the interactive help

$ githeat.interactive -h
 usage: githeat.py [-h] [-c FILE] [--width {thick,reg,thin}]
          [--days DAYS [DAYS ...]] [--color {grass,fire,sky}]
          [--month-merge] [--hide-legend] [--author AUTHOR]
          [--grep GREP] [-v]
          [--logging {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET}]

 githeat: Terminal Heatmap for your git repos

 optional arguments:
   -h, --help            show this help message and exit
   -c FILE, --config FILE
                         Specify YAML config file
   --width {thick,reg,thin}
                         Choose how wide you want the graph blocks to be
   --days DAYS [DAYS ...]
                         Choose what days to show. Please enter list of day
                         abbreviations or full name of week
   --color {grass,fire,sky}
                         Choose type of coloring you want for your graph
   --month-merge         Separate each month
   --hide-legend         Hide legend
   --author AUTHOR, -a AUTHOR
                         Filter heatmap by author. You can also write regex
                         here
   --grep GREP, -g GREP  Filter by keywords in commits
   -v, --version         print version and exit
   --logging {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET}
                         logger level

Minimum Requirements

  • Python 2.7

Optional Requirements

  • py.test 2.7 (for running the test suite)
  • Sphinx 1.3 (for generating documentation)

Basic Setup

Install using pip:

$ pip install githeat

Or to obtain the latest most-up-to-date version, clone the repo and install it from source:

$ git clone https://github.com/AmmsA/Githeat
$ cd Githeat && python setup.py install

Install for the current user:

$ python setup.py install --user

Run the application:

$ python -m githeat --help

Run the test suite:

$ py.test test/

Build documentation:

$ cd doc && make html

Deploy the application in a self-contained Virtualenv environment:

$ python deploy.py /path/to/apps
$ cd /path/to/apps/ && githeat/bin/cli --help