Skip to content

lispandfound/voting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CompSoc Voting Script

This program manages the voting for CompSoc elections, using output from the Google Form.

$ python main.py -h
usage: main.py [-h] VOTES_CSV MEMBERS_CSV ROLES_JSON

CompSoc voting tool.

positional arguments:
  VOTES_CSV    Location of CSV file containing votes.
  MEMBERS_CSV  Location of CSV file containing membership for the current
               year.
  ROLES_JSON   Location of JSON file containing description of the roles in
               the comittee.

optional arguments:
  -h, --help   show this help message and exit

Key Features

  1. STV ranked choice voting (using Meek's Method to count surplus votes).
  2. Validation of votes to ensure duplicate votes are not counted, and that only members votes are counted.
  3. Extensibility for new roles, with the ability to detect if roles may be held in conjunction with any other roles.
  4. CLI for interacting with all these elements.

Technical Documentation

See the corresponding modules, all functions should be documented in thorough detail including on things like the method used to count votes, how votes are parsed, edges cases, and exceptions.

About

Meek STV voting for CompSoc elections

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages