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.
|
4 months ago | |
---|---|---|
docs | 4 months ago | |
homepage | 1 year ago | |
html | 4 months ago | |
scripts | 11 months ago | |
src | 4 months ago | |
tests | 4 months ago | |
.gitignore | 11 months ago | |
COPYING | 2 years ago | |
Cargo.lock | 8 months ago | |
Cargo.toml | 8 months ago | |
README.md | 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:
- weighted inclusive Gregory STV (e.g. Scottish STV)
- unweighted inclusive Gregory STV (e.g. Australian Senate STV)
- exclusive Gregory STV (e.g. PRSA 1977 and ERS97)
- Meek STV – with tree-packed ballots for efficient computation
- Wright STV
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
.