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 pyrcv.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

pyrcv-1.2.1.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyrcv-1.2.1-py2.py3-none-any.whl (14.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pyrcv-1.2.1.tar.gz.

File metadata

  • Download URL: pyrcv-1.2.1.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyrcv-1.2.1.tar.gz
Algorithm Hash digest
SHA256 c7cb0747667fe2ca9a719cf89a75403b409a68effb54e10b440714d22889e427
MD5 6617818d81d31f8356b5c5d9aa75ec4c
BLAKE2b-256 7370e204c596886acdda8dd0199f8057a94b1c8a91e3e0b4a6e73eb4d6bebef0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrcv-1.2.1.tar.gz:

Publisher: ci.yml on chrisroat/pyrcv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrcv-1.2.1-py2.py3-none-any.whl.

File metadata

  • Download URL: pyrcv-1.2.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyrcv-1.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 39c8eb58135dbd0ac5b9c02861bdb2b8bc66b0d0a30467612d4258fa5651f2e4
MD5 30ccbbbc6bf2338f835b148c4fdcb1c6
BLAKE2b-256 d2eeaeb4fab20fdd0dc4ab86e9500113406fd7d63f0f92d262f1b15ee1fe87fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrcv-1.2.1-py2.py3-none-any.whl:

Publisher: ci.yml on chrisroat/pyrcv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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