klaus


Nameklaus JSON
Version 3.0.0 PyPI version JSON
download
home_pagehttps://github.com/jonashaag/klaus
SummaryThe first Git web viewer that Just Works™.
upload_time2024-05-23 20:04:27
maintainerNone
docs_urlNone
authorJonas Haag
requires_python>=3.7
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            |travis-badge| |gitter-badge|

.. |travis-badge| image:: https://travis-ci.org/jonashaag/klaus.svg?branch=master
    :target: https://travis-ci.org/jonashaag/klaus

.. |gitter-badge| image:: https://badges.gitter.im/Join%20Chat.svg
   :alt: Join the chat at https://gitter.im/jonashaag/klaus
   :target: https://gitter.im/jonashaag/klaus?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge

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
* Syntax highlighting
* Markdown + RestructuredText rendering support
* Pull + push support (Git Smart HTTP)
* 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)


Running with Docker
--------------------

The easiest way to get started. We maintain a Docker image that has syntax highlighting, Markdown rendering, code navigation, etc. pre-configured::

   docker run -v /path/to/your/repos:/repos \
              -p 7777:80 \
              -it jonashaag/klaus:latest \
              klaus --host 0.0.0.0 --port 80 /repos/repo1 /repos/repo2 ...

(Replace ``/path/to/your/repos`` with the folder that contains your Git repositories on the Docker host. You can also pass in multiple ``-v`` arguments if your repos are in multiple folders on the host.)

Go to http://localhost:7777 on the Docker host et voilà!

The command line above simply runs the ``klaus`` script -- for usage details, see the "Using the ``klaus`` script" section below.


Local setup
-----------
::

   pip install klaus

(Optional dependencies: see `Markup rendering <https://github.com/jonashaag/klaus/wiki/Markup-rendering>`_ in the wiki.)

Usage
-----

See also: `Klaus wiki <https://github.com/jonashaag/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:

.. code-block:: bash

   # With Docker:
   docker run ... jonashaag/klaus:latest klaus [repo1 [repo2 ...]]
   # Local setup:
   klaus [repo1 [repo2 ...]]

For more options, see:

.. code-block:: bash

    # With Docker:
   docker run ... jonashaag/klaus:latest klaus --help
   # Local setup:
   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

The Docker image also has uwsgi preinstalled::

   docker run ... jonashaag/klaus:latest uwsgi ...

See also `deployment section in the wiki <https://github.com/jonashaag/klaus/wiki#deployment>`_.

.. _wsgiref: http://docs.python.org/library/wsgiref.html


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. <https://github.com/jonashaag/klaus/issues?q=is%3Aissue+is%3Aopen+label%3A%22C%3A+1%22>`_ :-)


|img1|_ |img2|_ |img3|_

.. |img1| image:: https://i.imgur.com/2XhZIgw.png
.. |img2| image:: https://i.imgur.com/6LjC8Cl.png
.. |img3| image:: https://i.imgur.com/EYJdQwv.png

.. _img1: https://i.imgur.com/MV3uFvw.png
.. _img2: https://i.imgur.com/9HEZ3ro.png
.. _img3: https://i.imgur.com/kx2HaTq.png

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jonashaag/klaus",
    "name": "klaus",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": null,
    "author": "Jonas Haag",
    "author_email": "jonas@lophus.org",
    "download_url": "https://files.pythonhosted.org/packages/1b/61/7e463bfef80696cda3278da9f37e5582d88e6343b6c2c29ff2ab75105a27/klaus-3.0.0.tar.gz",
    "platform": null,
    "description": "|travis-badge| |gitter-badge|\n\n.. |travis-badge| image:: https://travis-ci.org/jonashaag/klaus.svg?branch=master\n    :target: https://travis-ci.org/jonashaag/klaus\n\n.. |gitter-badge| image:: https://badges.gitter.im/Join%20Chat.svg\n   :alt: Join the chat at https://gitter.im/jonashaag/klaus\n   :target: https://gitter.im/jonashaag/klaus?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n\nklaus: a simple, easy-to-set-up Git web viewer that Just Works\u2122.\n================================================================\n\n(If it doesn't Just Work for you, please file a bug.)\n\n* Super easy to set up -- no configuration required\n* Syntax highlighting\n* Markdown + RestructuredText rendering support\n* Pull + push support (Git Smart HTTP)\n* Code navigation using Exuberant ctags\n\n:Demo: http://klausdemo.lophus.org\n:Mailing list: http://groups.google.com/group/klaus-users\n:On PyPI: http://pypi.python.org/pypi/klaus/\n:Wiki: https://github.com/jonashaag/klaus/wiki\n:License: ISC (BSD)\n\n\nRunning with Docker\n--------------------\n\nThe easiest way to get started. We maintain a Docker image that has syntax highlighting, Markdown rendering, code navigation, etc. pre-configured::\n\n   docker run -v /path/to/your/repos:/repos \\\n              -p 7777:80 \\\n              -it jonashaag/klaus:latest \\\n              klaus --host 0.0.0.0 --port 80 /repos/repo1 /repos/repo2 ...\n\n(Replace ``/path/to/your/repos`` with the folder that contains your Git repositories on the Docker host. You can also pass in multiple ``-v`` arguments if your repos are in multiple folders on the host.)\n\nGo to http://localhost:7777 on the Docker host et voil\u00e0!\n\nThe command line above simply runs the ``klaus`` script -- for usage details, see the \"Using the ``klaus`` script\" section below.\n\n\nLocal setup\n-----------\n::\n\n   pip install klaus\n\n(Optional dependencies: see `Markup rendering <https://github.com/jonashaag/klaus/wiki/Markup-rendering>`_ in the wiki.)\n\nUsage\n-----\n\nSee also: `Klaus wiki <https://github.com/jonashaag/klaus/wiki>`_\n\nUsing the ``klaus`` script\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n**NOTE:** This is intended for testing/low-traffic local installations *only*!\nThe `klaus` script uses wsgiref_ internally which doesn't scale *at all*\n(in fact it's single-threaded and non-asynchronous).\n\nTo run klaus using the default options:\n\n.. code-block:: bash\n\n   # With Docker:\n   docker run ... jonashaag/klaus:latest klaus [repo1 [repo2 ...]]\n   # Local setup:\n   klaus [repo1 [repo2 ...]]\n\nFor more options, see:\n\n.. code-block:: bash\n\n    # With Docker:\n   docker run ... jonashaag/klaus:latest klaus --help\n   # Local setup:\n   klaus --help\n\n\nUsing a real server\n^^^^^^^^^^^^^^^^^^^\nThe ``klaus`` module contains a ``make_app`` function which returns a WSGI app.\n\nAn example WSGI helper script is provided with klaus (see ``klaus/contrib/wsgi.py``),\nconfiguration being read from environment variables. Use it like this (uWSGI example)::\n\n   uwsgi -w klaus.contrib.wsgi \\\n         --env KLAUS_SITE_NAME=\"Klaus Demo\" \\\n         --env KLAUS_REPOS=\"/path/to/repo1 /path/to/repo2 ...\" \\\n         ...\n\nGunicorn example::\n\n   gunicorn --env KLAUS_SITE_NAME=\"Klaus Demo\" \\\n            --env KLAUS_REPOS=\"/path/to/repo1 /path/to/repo2 ...\" \\\n            klaus.contrib.wsgi\n\nThe Docker image also has uwsgi preinstalled::\n\n   docker run ... jonashaag/klaus:latest uwsgi ...\n\nSee also `deployment section in the wiki <https://github.com/jonashaag/klaus/wiki#deployment>`_.\n\n.. _wsgiref: http://docs.python.org/library/wsgiref.html\n\n\nContributing\n------------\nPlease do it!\n\nI'm equally happy with bug reports/feature ideas and code contributions.\nIf you have any questions/issues, I'm happy to help!\n\nFor starters, `here are a few ideas what to work on. <https://github.com/jonashaag/klaus/issues?q=is%3Aissue+is%3Aopen+label%3A%22C%3A+1%22>`_ :-)\n\n\n|img1|_ |img2|_ |img3|_\n\n.. |img1| image:: https://i.imgur.com/2XhZIgw.png\n.. |img2| image:: https://i.imgur.com/6LjC8Cl.png\n.. |img3| image:: https://i.imgur.com/EYJdQwv.png\n\n.. _img1: https://i.imgur.com/MV3uFvw.png\n.. _img2: https://i.imgur.com/9HEZ3ro.png\n.. _img3: https://i.imgur.com/kx2HaTq.png\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "The first Git web viewer that Just Works\u2122.",
    "version": "3.0.0",
    "project_urls": {
        "Homepage": "https://github.com/jonashaag/klaus"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1b617e463bfef80696cda3278da9f37e5582d88e6343b6c2c29ff2ab75105a27",
                "md5": "dfcdc54984dc6f7e5cde93290846ca4e",
                "sha256": "27096f41afb062d97b08b3168c4bf8eaa18904ebf98402cb7a11b6c042a3274a"
            },
            "downloads": -1,
            "filename": "klaus-3.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "dfcdc54984dc6f7e5cde93290846ca4e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 47126,
            "upload_time": "2024-05-23T20:04:27",
            "upload_time_iso_8601": "2024-05-23T20:04:27.997970Z",
            "url": "https://files.pythonhosted.org/packages/1b/61/7e463bfef80696cda3278da9f37e5582d88e6343b6c2c29ff2ab75105a27/klaus-3.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-23 20:04:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jonashaag",
    "github_project": "klaus",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "test_requirements": [],
    "lcname": "klaus"
}
        
Elapsed time: 0.38187s