pip install klaus -- the first Git web viewer that Just Works™.
Python HTML CSS JavaScript Groff Shell
Latest commit af02129 Jan 15, 2017 @jonashaag committed on GitHub Merge pull request #171 from jimmyppi/wsgi_env
Expose all app arguments as env variables


travis-badge Join the chat at https://gitter.im/jonashaag/klaus

klaus: a simple, easy-to-set-up Git web viewer that Just Works™.

(If it doesn't Just Work for you, please file a bug.)

  • Super easy to set up -- no configuration required
  • Supports Python 2 and Python 3
  • Syntax highlighting
  • Git Smart HTTP support
  • Code navigation using Exuberant ctags
Mailing list:http://groups.google.com/group/klaus-users
On PyPI:http://pypi.python.org/pypi/klaus/
License:ISC (BSD)


Please do it!

I'm equally happy with bug reports/feature ideas and code contributions. If you have any questions/issues, I'm happy to help!

For starters, here are a few ideas what to work on. :-)

img1 img2 img3


pip install klaus

(Optional dependencies: see Markup rendering in the wiki.)


See also: Klaus wiki

Using the klaus script

NOTE: This is intended for testing/low-traffic local installations only! The klaus script uses wsgiref internally which doesn't scale at all (in fact it's single-threaded and non-asynchronous).

To run klaus using the default options:

klaus [repo1 [repo2 ...]]

For more options, see:

klaus --help

Using a real server

The klaus module contains a make_app function which returns a WSGI app.

An example WSGI helper script is provided with klaus (see klaus/contrib/wsgi.py), configuration being read from environment variables. Use it like this (uWSGI example):

uwsgi -w klaus.contrib.wsgi \
      --env KLAUS_SITE_NAME="Klaus Demo" \
      --env KLAUS_REPOS="/path/to/repo1 /path/to/repo2 ..." \

Gunicorn example:

gunicorn --env KLAUS_SITE_NAME="Klaus Demo" \
         --env KLAUS_REPOS="/path/to/repo1 /path/to/repo2 ..." \

See also deployment section in the wiki.