Skip to content

flashcode/gitchart

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Gitchart

PyPI Build Status CodeQL

Gitchart is a Python script to build charts from a Git repository.

It can build following charts, as SVG or PNG:

  • authors, processed tickets by author (pie charts)
  • commits by hour of day, day, day of week, month of year, year, year/month (bar charts)
  • commits by hour of week (dot chart)
  • files by type (pie chart)

Requirements

Gitchart requires:

  • Python ≥ 3.6
  • Pygal (pip install pygal)

Optional dependencies:

  • cairosvg, to generate PNG files

Install

You can install Gitchart with this command from the source repository:

$ python setup.py install

Usage

See output of command:

$ gitchart --help

Examples

Generate pie chart with authors:

$ gitchart --title "Git authors on project X" --repo /path/to/gitrepo/ authors authors.svg

Generate bar chart with commits by year using dark style:

$ gitchart --style gitchart_dark --repo /path/to/gitrepo/ commits_year commits_year.svg

Generate bar chart with commits by version (git tag):

$ cd /path/to/gitrepo/
$ git tag | gitchart commits_version /tmp/commits_version.svg

Demo

Gitchart is used to build statistics for WeeChat: https://weechat.org/dev/stats/

Copyright

Copyright © 2013-2023 Sébastien Helleu

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.