aus_senate icon indicating copy to clipboard operation
aus_senate copied to clipboard

Implementation of the Australian senate voting algorithm

Australian Senate Voting Algorithms

Build Status

This is an implementation of the Australian Senate Voting algorithm as described by the AEC. The AEC won't show us their code, but we can still verify their results using an independent implementation!

You can read more about this project on Medium.

All code in Rust.

Running the Code

To download all the CSV files, verify their integrity and run the elections, just do this:

$ ./run.py

You'll need Python and a Rust compiler.

You can also run elections for a few states of your choice:

$ ./run.py NSW SA

Other Implementations

Grahame Bowland maintains a Python implementation of the same algorithm, and hosts a nice site with the results:

  • Code: https://github.com/grahame/dividebatur
  • Results: https://angrygoats.net/senate2016/#/index

License

Copyright Michael Sproul 2016. Licensed under the terms of the GNU General Public License version 3.0 or later.