Open-source election counting https://yingtongli.me/opentally/
Go to file
2023-06-11 15:56:17 +10:00
docs Fix typo in documentation 2023-06-11 15:56:17 +10:00
homepage Update documentation 2022-06-18 02:02:00 +10:00
html Modify WA Legislative Council STV preset to conform to WAEC's implementation 2023-06-11 15:31:55 +10:00
scripts Add draft functional specifications 2022-11-06 21:50:25 +11:00
src Implement --exclusion first_prefs_then_by_value 2023-02-07 21:12:26 +11:00
tests Add preset and test for Victorian Legislative Council STV 2023-02-08 21:38:52 +11:00
.gitignore Add draft functional specifications 2022-11-06 21:50:25 +11:00
Cargo.lock Update to prettytable 0.10.0 2023-02-01 18:26:45 +11:00
Cargo.toml Update to prettytable 0.10.0 2023-02-01 18:26:45 +11:00
COPYING Initial commit 2021-05-28 20:03:55 +10:00
README.md Rename docs files to avoid reserved Windows paths 2022-01-04 18:26:15 +11:00

OpenTally

OpenTally is an application for counting various preferential voting elections, with an academic focus, and emphasis on configurability.

OpenTally may be used in a number of different ways:

  • as an online web application, no installation or special software required
  • as a standalone command line application
  • as a Rust library within another application

Features

OpenTally accepts data in the BLT file format, and can count votes using:

OpenTally is highly customisable, including options for:

  • different quotas and quota rules (e.g. exact Droop, Hare)
  • calculations using fixed-point arithmetic, guarded fixed-point (quasi-exact) or exact rational numbers
  • different tie breaking rules (backwards, random, manual) with auditable deterministic random number generation
  • multiple constraints (e.g. affirmative action rules)
  • equal rankings

Online usage

See the quick start guide for how to use OpenTally online.

Command line usage

OpenTally may also be invoked as a command line application. Run ./opentally --help to view help.

For example, run ./opentally stv path/to/blt_file.blt --ties backwards random --random-seed foobar.