Skip to content

flashcode/gitchart

Repository files navigation

Gitchart

PyPI Build Status CodeQL REUSE status

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.10
  • Pygal (pip install pygal)

Optional dependencies:

Usage

See output of command:

uvx gitchart --help

Examples

Generate pie chart with authors:

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

Generate bar chart with commits by year using dark style:

uvx 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 | uvx gitchart commits_version /tmp/commits_version.svg

Tests

The tests are run with pytest, on a temporary git repository built with deterministic commits, authors, dates and tags:

make test

Demo

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

Copyright

Copyright © 2013-2026 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/.

About

Build SVG charts from a Git repository.

Topics

Resources

Stars

Watchers

Forks

Releases

Used by

Contributors

Languages