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!

Minimal GUI to deploy updates through a VCS repository

Project Description


Easily deploy your applications through your VCS

vcsdeploy allows you to easily deploy updates of your application to your customers through your favorite Version Control System. So far, only mercurial is supported, but it should be very easy to add support for additional VCSs.

The idea is that the application is installed by cloning the repository. Every version of the application is represented as a Mercurial tag: when vcsdeploy runs, it pulls changes from the designed remote repository, and it displays a window showing all the available versions. The user can then select the appropriate version and update the application to it.

Example of usage

Suppose your application myapp is installed in c:\\myapp. You need to write a basic config file, say

class Config(object):
    path = 'c:\\myapp'
    version_regex = '^Version'

path contains the local repository which contains the application. The repository must be configured in a way that hg pull pulls the remote repository without asking the user for any password, e.g. by using the ssh protocol or by storing the http password.

version_regex is a regular expression which is tested against all the tags found in the repository, to make sure that the user will see only the tags that start with Version. This way, we can still use Mercurial tags for internal development reasons, without cluttering what is displayed to the final user.

Then, we just need to launch vcsdeploy.pyw /path/to/ to start vcsdeploy.


To run vcsdeploy you need:

  • PyQt4
  • mercurial installed as a Python package (i.e., you need to be able to do import mercurial from Python)
  • the py lib (easy_install py)

Release History

This version
History Node


History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(8.7 kB) Copy SHA256 Hash SHA256
Source None Apr 13, 2012

Supported By

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 Google Google Cloud Servers DreamHost DreamHost Log Hosting