Open-source election counting https://yingtongli.me/opentally/
Go to file
RunasSudo b0f869bf02
Initial framework for equal rankings
2021-09-04 01:56:04 +10:00
docs Add validation test for Church of England rules 2021-08-26 22:13:23 +10:00
html Initial framework for equal rankings 2021-09-04 01:56:04 +10:00
src Initial framework for equal rankings 2021-09-04 01:56:04 +10:00
tests Complete BLT writer and implement tests for file conversions 2021-09-02 22:35:10 +10:00
.gitignore Use Asyncify to process ties in web UI 2021-07-27 23:31:37 +10:00
COPYING Initial commit 2021-05-28 20:03:55 +10:00
Cargo.lock Implement serialised binary format 2021-09-02 17:17:45 +10:00
Cargo.toml Implement serialised binary format 2021-09-02 17:17:45 +10:00
README.md Add documentation on constraints 2021-06-27 23:15:33 +10:00
build_docs.sh Implement constraint matrix logic and test case 2021-06-27 17:49:28 +10:00
build_wasm.sh Better error messages 2021-07-31 15:24:23 +10:00
coverage.sh Initial framework for equal rankings 2021-09-04 01:56:04 +10:00
rustc_bs.sh Add code coverage calculation 2021-06-12 15:37:41 +10:00
test.csp Add subcommand for BLT/CSP file conversion 2021-08-20 02:29:47 +10:00

README.md

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)

Online usage

After preparing the BLT file, open the web UI. Select the BLT file, and click Count. OpenTally will count the election and display the results in a count sheet.

By clicking Show advanced options, you can customise the options used for the count. A detailed explanation of the various options can be found here.

Once the count is complete, you can click Print result to generate a printable result report.

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.