Fork of OpenTally that includes dependency updates. See upstream under https://yingtongli.me/git/OpenTally
Rust 10.1%
TeX 1.4%
JavaScript 1.0%
HTML 0.4%
CSS 0.2%
Ruby 0.1%
Shell 0.1%
Other 86.6%
294 1 1

Clone this repository

https://tangled.org/jcg.re/opentally
git@tangled.org:jcg.re/opentally

For self-hosted knots, clone URLs may differ based on your setup.

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)
  • 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.