PyVotons! : A polling software prototype

  1. Introduction

    PyVotons! is a free software to organize polls (online voting system).

    It is part of a larger project (Propositions) which aims to bring the tools to work together, elaborate propositions, debate and for collective decision-making.

    Developing a software for voting was needed to experiment alternative voting methods.

    As I had neither qualification nor interest in web interface development using AJAX technologies, I wrote a simple prototype for a polling software to elect candidates to an election. This classical version of PyVotons! must be used in a polling station (installed on a local voting computer), it is incomplete but usable.

The next version of PyVotons! will be a web version. All voters will be able to vote on a website where PyVotons! will be installed.

The technology used will be python/pyjamas for the user interface (code is written in python, and compiled to javascript/html/css), a SQL database on the server, and a server software in python (or another language depending on the server).

  1. PyVotons! main goals

    • demonstrate that a web voting system system is a realistic way of implementing direct democracy for use in an association or political party.
    • experiment voting systems that represent the opinion of voters better than those in use in our democracies.

    The web version is not functional yet. UI elements, a database structure were developed. A GIT repository is used to keep track of the development. It is not available online at the moment. Any volunteer is welcomed to contact us to help.

    Some pages show the graphical elements here.

  3. Older versions

    Only the source code is available (no package, no binary).

    The software should run on Linux, Windows and MacOS, but was tested only on Linux.

    To use it, a working version of Qt 4, PyQt 4 and Python is necessary.

    Download the last local version of PyVotons!, extract it in a directory.

    You can run,, and to start a poll, register votes and compute the results. For more details, please refer to the documentation (french).

  4. Documentation

    User Documentation

    Developer Documentation

  5. Tools, license and copyright

    This software uses these outstanding free software tools :

    • Python language;
    • Qt toolkit by Trolltech (now Nokia) for the UI of the local version
    • PyQt to use Qt with Python, by Riverbank computing
    • Pyjamas for the web version.

    PyVotons! is a free software written in 2009, 2010 and 2011 by Manik Bhattacharjee (manik-listes at, distributed under GNU GPL license version 3 (for local version) and Affero GPL version 3 (web version)

    GPL v3

  6. Todo list

    • Server-side software to store votes, communication protocol with voting server.
    • Add other voting methods
    • Try to use english in the code to ease international use and development.
    • Multi-language support.

Software of interest :

Glasnost, debian voting system, STV

This entry was posted in Documentation. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *