pitweb is a web frontend for git repositories written in python.
pitweb was created because I wasn't able to find any web interface suitable for deployment on my python hosting. pitweb is strongly inspired by cgit and gitweb.
pitweb is distributed under the GNU Lesser General Public License v3. The GNU Lesser General Public License v3 should be available at http://www.gnu.org/licenses/lgpl.html
pitweb is currently prepared to run under apache's mod_python module but is shouldn't be problem to run it as cgi script or anything else. Here will be described how to deploy pitweb under mod_python.
Here is how should look configuration for virtual host. All directives should be self explanatory.
<VirtualHost *:80>
ServerName pitweb.host.com
DocumentRoot "/path/to/directory"
<Directory "/path/to/directory">
SetHandler mod_python
PythonPath "['/path/to/pitweb'] + sys.path"
PythonHandler index
PythonDebug On
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
In configuration above is defined that handler is located in index.py file (PythonHandler directive).
from mod_python import apache, util
import pitweb
def handler(req):
parent_dir = '/path/to/dir/with/git/repositories'
prj_list = pitweb.ProjectListDir(req, parent_dir)
return prj_list.run()
Last thing to do is correctly prepare directories with git repositories. Directory (defined in python script above in variable parent_dir) must contain git repositories created with --bare option (git --bare clone ...). Every git repository that also contains pitweb.py configuration file will be listed on pitweb projects page.
Template configuration file pitweb.py can be found in the pitweb source. All configuration options are described there.