Skip to content

Protect-Democracy/ranked-choice-scorer

Repository files navigation

Ranked Choice Scorer

Description: A Python script that scores ranked choice results from Google Forms.

Screenshots:

Google Form Ranked Choice Example

Dependencies

  1. Python 3.9 or greater
  2. Poetry 1.1 or greater
  3. Google Form results spreadsheet with at least one Multiple Choice Grid question you want scored.
  4. Google Sheets API access and credentials. See Google Developer documentation for details on setting up "Desktop App" access.

Installation

  1. Clone the repository.
  2. From the base project directory, run poetry install
  3. Run poetry shell
  4. Run python ranked_choice_scorer.py --help for a list of options

Usage

The command line tool has four parameters available:

  1. --googleid: The Google Sheet ID of the spreadsheet you want to process (required)
  2. --questions: The exact text string of the questions you want to process (required; currently a bug in processing multiple questions in one command)
  3. --chart: A flag to include Sankey diagrams of the results (optional)
  4. --verbose: A flag to include detailed output about vote allocation for each round

Getting help

If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.


Open source licensing info

  1. TERMS
  2. LICENSE
  3. Protect Democracy Source Code Policy

Credits and references

  1. Ricardo Rosas's Medium post was used as a basis for this project and we owe them a debt of gratitude for sharing their solution.
  2. This Toward Data Science article was helpful in understanding some of the nuances of Plotly's Sankey implementation.

About

A script to score ranked choice Google Forms

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages