Voting and election related functions.
Project description
A pure Python module for election quotas, voting measures, and apportionment methods.
Installation
The voting package works in Python 2.7, 3.5, 3.6 and 3.7. It is available on pypi and can be installed using pip.
pip install voting
Package structure
- voting
- apportionment
- adams
- dhondt
- hagenbach_bischoff
- hamilton
- huntington_hill
- jefferson
- sainte_lague
- vinton
- webster
- diversity
- berger_parker
- general
- gini_simpson
- golosov
- inverse_simpson
- laakso_taagepera
- renyi
- shannon
- simpson
- proportion
- adjusted_loosemore_hanby
- dhondt
- gallagher
- grofman
- least_square
- lijphart
- loosemore_hanby
- rae
- regression
- rose
- sainte_lague
- quota
- droop
- hagenbach_bischoff
- hare
- imperiali
- apportionment
Examples
Apportioning seats using the Huntington-Hill method.
from voting import apportionment votes = [2560, 3315, 995, 5012] seats = 20 assignments = apportionment.huntington_hill(votes, seats)
Calculating the effective number of parties using Golosov’s measure.
from voting import diversity parties = [750, 150, 50, 50] effective_parties = diversity.golosov(parties)
Measuring the disproportionality of democratic representation using the Sainte-Lague measure.
from voting import proportion votes = [750, 150, 50, 50] seats = [80, 16, 2, 2] disproportionality = proportion.sainte_lague(votes, seats)
Determining the Droop quota
from voting import quota votes = 1000 seats = 20 election_quota = quota.droop(votes, seats)
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
voting-0.1.3.tar.gz
(7.7 kB
view hashes)
Built Distribution
Close
Hashes for voting-0.1.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9ccedf7e0732f73a8da22e457b271e36de6d2b1d12acb9daa580754988a4632 |
|
MD5 | 31c0c0aa4aff462eca47cdc986afff12 |
|
BLAKE2-256 | b8854455a9ffb8cf7dd3e1e6f1da0f979f4de7054188703bb6108667ef79ea6f |