git @ Cat's Eye Technologies klaus / master

Tree @master (Download .tar.gz)

|travis-badge| |gitter-badge|

.. |travis-badge| image::

.. |gitter-badge| image::
   :alt: Join the chat at

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:
:On PyPI:
: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|_

.. |img1| image::
.. |img2| image::
.. |img3| image::

.. _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/``),
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 <>`_.

.. _wsgiref: