Beyond Party Lines

Quick Start

Windows: Download, unzip, and double-click on beyondpartylines.exe.

Python method: This method works for Linux (and hopefully Mac OS), or on Windows it offers a much smaller footprint if you already have Python and Tk installed. Clone the repository from Github:

git clone git:// .

Then, enter the directory and run: python


This Python/Tk application allows you to vote as if you were a member of the Canadian House of Commons. It is possible to perform a "voter catch-up", downloading all of the votes since last time you ran the program, as well as giving you the ability to compare your voting record with any Canadian MP you choose.

Obviously this work isn't possible in isolation - credit goes to the Canadian parliament for releasing their voting records so transparently (and in easy to use XML format!) as well as Michael, the creator of, which I link to for detailed information about parliamentary votes because of its easy-to-read format.

The main target for this software is the educational system - I envision a compelling student project could involve carefully tracking votes for two weeks and seeing how well you match the Prime Minister. The output plots are fairly anonymized, because they only show coloured squares depending on the goodness-of-match, so they could be distributed and compared with other students.

The full source code is available on GitHub at:


I have also been experimenting with the compilation of the python source into executables (see above for the Windows binaries). Your mileage may vary! Let me know if you encounter any errors. Unzip and double-click on "beyondpartylines.exe". I unfortunately haven't been able to test the software on Mac OS. Two options exist for running the program: either download the executables and double click on them to run, or download the source code (and prereqs), and from the command line enter the beyondpartylines directory, then run "python". If you want to run the source code, you'll need a few dependencies for Python 2.6 - matplotlib, numpy, BeautifulSoup, urllib2, and Python/ttk. Post a bug on GitHub if you find something weird or have problems running from source, and I'll see what I can do.