Skip to content

A python-based Single Transferrable Voting tabulation system.

Notifications You must be signed in to change notification settings

ASUCSBTech/UC_STV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

110 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UCSB AS Elections Tabulator

Software by Associated Students, UC Santa Barbara.
Code: Ryan Tse | Project: Sean Lieberman | Contact Us

A Python-based elections tabulator utilizing a single transferable vote system with support for custom election configurations and dynamic ballot format parsing.

Screenshot

UCSB AS Elections Tabulator Screenshot

Installation

Prerequisites:

  • Python 3.3.0+
  • pip

Installation:

pip install --upgrade -r requirements.txt

Usage

The application can be started with: python ElectionApplication.py.

For advanced configuration options, refer to the help documentation available by invoking python ElectionApplication.py --help. For example:

python ElectionApplication.py --interface-options="--font-size=30"

References: The data format schemas for configuration, candidate, and ballot files can be found in the /schemas/ directory. Configuration, candidate, and ballot file data are automatically compared against the provided JSON schemas prior to usage by the application. To verify a custom configuration/implementation, utilize a service like JSON Schema Lint.

Sample Data: Sample configuration and data can be found in /data/. Existing format compatibility has been developed for UC Santa Barbara (/data/ucsb/) and UC Berkeley (/data/ucb/) ballot formats.

Refer to the /data/*/generated/ folder for each respective directory for a random data generator for the file format. To invoke the generator, run python generator.py. The resulting files will be created in the same directory.

Compatibility

Tested on Mac OS X 10.11.4 and Windows 10 with:

  • Python 3.5.1 (64-bit)
  • wxPython 4.0.1
  • jsonschema 2.5.1
  • terminaltables 2.1.0

Note: The application's performance has not been optimized for Windows.

About

A python-based Single Transferrable Voting tabulation system.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages