Welcome to Pani’s documentation!

Pani is a glue tool to put together various Mercurial extensions. The web application allows an administrator to manage projects and users.


  • Install the required packages:

    # yum install python-virtualenv
  • Create the user - mercurial:

    # adduser mercurial
  • Switch to mercurial user:

    # su - mercurial
  • Create a Python virtual environment:

    $ virtualenv panienv
  • Download the tarball:

    $ wget 'https://bitbucket.org/bngsudheer/paniweb/downloads/pani.tar.gz'
  • Extract the tarball:

    $ tar -zxvf pani.tar.gz
  • Change directory:

    $ cd pani
  • Install the Paniweb application:

    $ ~/panienv/bin/python setup.py install
  • Paniweb requires a configuration file. The location of the configuration file should be set in your environment. For example, add this in your ~/.bashrc file:

    export PANI_SITE_SETTINGS=/home/mercurial/etc/pani.cfg
  • The next time you login to the shell, the environment variable will be available. To make it available immediately:

    source ~/.bashrc
  • Create the directory for configuration:

    $ mkdir ~/etc
  • Setup the database:

    $ cat pani/doc/schema.sql | sqlite3 pani.db
  • Add the following to your configuration file(/home/mercurial/etc/pani.cfg):

  • Create .ssh directory if it does not exist alredy:


The lazy way of creating the .ssh directory with appropriate permission.

  • Run the application:

    $ ~/panienv/bin/python runserver.py

The application will be running on port 5006. Setup a proxt to put Pani behind a web server like Apache or Nginx if you wish.

The default account details:

username: admin
password: password

To change the password, click Users and then click Edit button next to the user.

Indices and tables