Skip to content
pip install klaus -- the first Git web viewer that Just Works™.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Fix 0114734 May 10, 2016
klaus
tests Tarball names: Account for 'v[a-z]+', refactoring Nov 10, 2018
tools
.gitignore
.travis.yml
CHANGELOG.rst Version 1.3.0 Jun 19, 2018
LICENSE
MANIFEST.in
README.rst
RELEASE_PROCESS
klaus.1
runtests.sh
setup.py
test_requirements.txt

README.rst

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
Demo:http://klausdemo.lophus.org
Mailing list:http://groups.google.com/group/klaus-users
On PyPI:http://pypi.python.org/pypi/klaus/
Wiki:https://github.com/jonashaag/klaus/wiki
License:ISC (BSD)

Contributing

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

Installation

pip install klaus

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

Usage

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 ..." \
         klaus.contrib.wsgi

See also deployment section in the wiki.

You can’t perform that action at this time.