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!
- 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.
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.
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.
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
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.
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.