Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

A standalone server application for serving up Bazaar repositories over HTTP

Project Description


ClueBzrServer is a http server designed to serve up arbitrary bzr directories in configurable way. Authentication and authorization can be configured via config files.


The preferred manner of setup is to install ClueBzrServer within a virtualenv. Older instructions for setting up virtualenv can be found at Setting up virtualenv. Once the virtualenv is setup just use easy_install in the traditional way. For example:

$ easy_install ClueBzrServer


Running the Server

Once ClueBzrServer is installed, running clue-bzrserver the first time will generate a standard config file with all access turned off (for security reasons).

This will serve the currect directory as a bzr source:

$ clue-bzrserver

To specify an alternate port to the default 8080, try:

$ clue-bzrserver -p 9339

Display the --help arg for usage info:

$ clue-bzrserver --help

The default configuration will be generated at clue-bzrserver.ini in the same directory. It is configured to use htpasswd based access by looking at the file clue-bzrserver.passwd in the same directory. Use the standard apache2 htpasswd tool to update username/password entries.

At this point you should setup your first user account by doing something like follows (assumes apache2 htpasswd utility is available somewhere on the path):

$ htpasswd clue-bzrserver.passwd testuser1

The complete format of clue-bzrserver.ini for allowing access such as SQL or LDAP is dictated by the repoze.who project. See repoze.who security for details.

ACL Security

Security can be defined on a per branch basis. It gets defined inside the clue-bzrserver.ini file. Here’s an example:

anonymous = r
testuser1 = rw

Connecting to the Server

After you have launched the server for the first time the simplest way to get started is as follows:

$ bzr init-repo --no-trees --1.9 bzr+http://testuser1:mypassword@localhost:8080/MyProject

Now go ahead and start your new project (or work within an existing non-versioned directory). Lets assume you’re working on a project called “MyProject” and now want to turn what you have into the trunk:

$ cd MyProject
$ bzr init
$ bzr push --create-prefix bzr+http://testuser1:mypassword@localhost:8080/MyProject/trunk

Once you make some changes, you commit then as you normally would:

$ bzr commit

And then you have to make sure to push your local commits to the parent branch which in this case is the remote trunk:

$ bzr push


ClueBzrServer is covered under a BSD license. See LICENSE.txt for further details.


Written and maintained by Rocky Burt (rocky AT serverzen DOT com).


0.2 - (Mar-01-2009)

  • New ACL based security

0.1 - Nov-10-2008

  • Initial release
Release History

Release History

This version
History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
ClueBzrServer-0.2-py2.5.egg (14.8 kB) Copy SHA256 Checksum SHA256 2.5 Egg Mar 1, 2009
ClueBzrServer-0.2.tar.gz (6.8 kB) Copy SHA256 Checksum SHA256 Source Mar 1, 2009

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting