pepper is a flexible command-line tool for retrieving statistics and generating reports from source code repositories. It ships with several graphical and textual reports, and is easily extendable using the Lua scripting language. pepper includes support for multiple version control systems, including Git and Subversion. Using native language bindings, multi-threading and a local revision cache, it provides fast access to repository data.

Please see the Gallery page for a quick look on output images generated by some of pepper's built-in graphical reports.

pepper is free and open-source software, released under the GNU General Public License. Feature suggestions, bug reports as well as report and code contributions are welcome!

Feature overview:

  • Many built-in reports, including lines of code, author contribution and other activity charts.
  • Custom report scripts can be written in Lua. A Gnuplot interface is provided for easy graphical output.
  • Support for multiple repository types. Currently, backends for Git, Subversion. and Mercurial are available.
  • Fast repository access by using native libraries if possible (i.e., the SVN backend uses the Subversion C API, and the Python C API is used by the Mercurial backend).
  • Fast local diffstat and meta-data cache using zlib compression.


Project news

I'm happy to announce that source and binary packages are now available for both Debian Sid and Ubuntu 13.04 "Raring Ringtail". Thanks go out to the respective maintainers!

Posted April 26, 2013, 11:48 CEST

I'm happy to announce that version 0.3.2 of pepper is now available. This release fixes compilation with GCC 4.7 as well as some minor memory leaks. As usual, you can find source tarballs the Download section.

Posted June 01, 2012, 20:56 CEST

I've just pushed the first version of a repository statistics server to GitHub. peprserv is actually a Lua report script for pepper, utilizing the Xavante HTTP web server. The main intention for this project is providing a backend for serving repository statistics to other web applications, like repository interfaces or bug trackers.

A live demo using the official Git repository is running at http://jgehring.net:9000, and the source code is available on GitHub.

Posted March 20, 2012, 16:16 CET

I'm happy to announce that version 0.3.1 of pepper is now available. This release brings the usual fixes as well as new features. Experimental support for using LevelDB as a backend for the revision cache has been added. The built-in Gnuplot interface received a function for pie charts, which is already used by the new authors_pie report and the new --pie flag for the filetypes report. Furthermore, there's a new report called volume which closely resembles the commit volume report from Ohloh.

The list of bugs that have been fixed in this release includes an issue that broke plotting on Mac OS X and some headless environments. Repository detection for working copies handled with Subversion 1.7 has been fixed, too.

A more detailed listing of the changes can be found in the change log, source tarballs are available at the Download section.

The Gallery has been updated with new examples, now using a pretty Gnuplot style based on this GuidoLabs article.

Posted March 16, 2012, 00:46 CET

Version 0.3 of pepper is now available. This release features an improved report API, a new report for running other reports from a graphical user interface and numerous bugfixes and smaller improvements.

The report API has received a big update. In particular, the ability to access and run other reports from within the current report has been improved. Among other things, this enables the creation of meta-reports that aggregate existing reports. These features are also heavily used by the new GUI report.

NOTE: This update breaks compatibility with existing scripts. However, the changes required to make old reports working have been kept small and are described in detail in the respective porting guide.

A more detailed listing of the changes can be found in the change log. As usual, source tarballs can be found at the Download section.

Posted December 21, 2011, 02:17 CET

Latest commits