Open-source election counting https://yingtongli.me/opentally/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
RunasSudo dde79520a1
Implement dynamic dispatch for different number types
2 years ago
docs NZ Meek STV validated against Hill (2006) implementation 2 years ago
html Implement dynamic dispatch for different number types 2 years ago
src Implement dynamic dispatch for different number types 2 years ago
tests NZ Meek STV validated against Hill (2006) implementation 2 years ago
.gitignore Initial quick port of HTML interface 2 years ago
COPYING Initial commit 2 years ago
Cargo.lock Implement constraint matrix logic and test case 2 years ago
Cargo.toml Implement constraint matrix logic and test case 2 years ago
README.md Add documentation on constraints 2 years ago
build_docs.sh Implement constraint matrix logic and test case 2 years ago
build_wasm.sh Allow building debug profile from WASM build script 2 years ago
coverage.sh Fix incorrect calculation of code coverage 2 years ago
rustc_bs.sh Add code coverage calculation 2 years ago

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.