Skip to content

An implementation of the Shuffle-Sum protocol for homomorphic ranked-choice voting

License

Notifications You must be signed in to change notification settings

cryptovoting/shuffle-sum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shuffle-Sum

Tallying of single transferable vote ballots using the Shuffle-Sum protocol.

Installation

Requires Python 3.6+.

git clone https://github.com/cryptovoting/shuffle-sum.git
cd shuffle-sum
pip install -e .

Note that the -e flag will instruct pip to install the package as "editable". That is, when changes are made to any part of the package during development, those changes will immediately be available system-wide on the activated python environment.

All requirements for this package should be added to setup.py.

Real Election Data

San Francisco voting data from the November 2016 Board of Supervisors election was downloaded from the Ranked Choice Voting Resource Center and is available in the data directory. The script for converting the San Francisco ballot image data to our CandidateOrderBallot format is in scripts/load_ballot_data.py. It can be run with:

python scripts/load_ballot_data.py --master_lookup data/san_francisco_nov_2016_master_lookup.txt --ballot_image data/san_francisco_nov_2016_ballot_image.txt

About

An implementation of the Shuffle-Sum protocol for homomorphic ranked-choice voting

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages