Description: A Python script that scores ranked choice results from Google Forms.
Screenshots:
- Python 3.9 or greater
- Poetry 1.1 or greater
- Google Form results spreadsheet with at least one Multiple Choice Grid question you want scored.
- Google Sheets API access and credentials. See Google Developer documentation for details on setting up "Desktop App" access.
- Clone the repository.
- From the base project directory, run
poetry install - Run
poetry shell - Run
python ranked_choice_scorer.py --helpfor a list of options
The command line tool has four parameters available:
--googleid: The Google Sheet ID of the spreadsheet you want to process (required)--questions: The exact text string of the questions you want to process (required; currently a bug in processing multiple questions in one command)--chart: A flag to include Sankey diagrams of the results (optional)--verbose: A flag to include detailed output about vote allocation for each round
If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.
- 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.
- This Toward Data Science article was helpful in understanding some of the nuances of Plotly's Sankey implementation.
