Skip to main content

Python API for adjudicating single transferable vote elections. Also contains basic web server to adjudicate results in CSV format.

Project description

PyPi Status Test Status Documentation Status

Python project for adjudicating ranked choice voting elections using the single transferable vote (STV) method. For more information on ranked choice voting, visit the FairVote website on RCV.

The project also contains a small flask server for adjudicating and visualizing election results from a CSV file. It is automatically deployed at at pystv.org

Features

  • General standards and APIs for voting data and vote tabulation.

  • Tabulation of ranked-choice elections using the single-transferable-vote (STV) method.

  • Support for both single-winner and multi-winner contests.

  • Generation of Sankey diagram showing the flow of vote counts through the rounds of a multi-round election.

  • Parser for converting Google Form based election output to voting data standard format.

  • Web server which processes CSV data output from a Google Form based election, and displays winners and a Sankey diagram.

Credits

Inspired by FairVote and CalRCV. FairVote’s examples were extremely helpful for development and correctness-testing.

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pystv-1.0.3.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

pystv-1.0.3-py2.py3-none-any.whl (14.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pystv-1.0.3.tar.gz.

File metadata

  • Download URL: pystv-1.0.3.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for pystv-1.0.3.tar.gz
Algorithm Hash digest
SHA256 421adb8f08762cdfd5d82edb53967c42e2e9a2198cef50b8a62ecc77d7def582
MD5 79e7a52bece1374747c22922d5b590d5
BLAKE2b-256 0dd796b8ef7077cc28384a9261f1cde9c4c694f199bf2d6f5d646932d064c255

See more details on using hashes here.

File details

Details for the file pystv-1.0.3-py2.py3-none-any.whl.

File metadata

  • Download URL: pystv-1.0.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for pystv-1.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7a8b7f1e5a19aad1269217b219eb0789dadaa59119ec3bffb7a54eb8523248e6
MD5 c8cdbd61481596d2e4208a8513809cdd
BLAKE2b-256 1507705ae99cfa3519f7863b38572f3bb9d7be4cad3211f86fa36faa255c4e39

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page