Introduction¶
Preferential Voting Tools (pref_voting
) is a Python library that can be used to study and run elections with different preferential voting methods (graded voting methods and cardinal voting methods are also included for comparison). In a preferential voting election, each voter submits a ranking of the candidates, and the winners are determined based on the submitted rankings. The rankings may include ties between candidates, and some candidates may be left off the ranking.
The main objective is to create a set of tools that can be used by researchers to study voting methods, teachers to present topics in voting theory, and election administrators to run elections. Use the following website to run an election using the preferential voting method Stable Voting: https://stablevoting.org/
The library is developed by Wes Holliday (http://wesholliday.net) and Eric Pacuit (https://pacuit.org).
Survey articles about voting methods
Pacuit (2019). Voting methods, Stanford Encyclopedia of Philosophy.
Zwicker (2016). Introduction to the theory of voting, Handbook of Computational Social Choice.
How to cite¶
If you would like to acknowledge our work in a scientific paper, please use the following citation:
Wesley H. Holliday and Eric Pacuit (2025). pref_voting: The Preferential Voting Tools package for Python. Journal of Open Source Software, 10(105), 7020. https://doi.org/10.21105/joss.07020
Bibtex:
@article{HollidayPacuit2025,
author = {Wesley H. Holliday and Eric Pacuit},
title = {pref_voting: The Preferential Voting Tools package for Python},
journal = {Journal of Open Source Software},
year = {2025},
publisher = {The Open Journal},
volume = {10},
number = {105},
pages = {7020},
doi = {10.21105/joss.07020}
}
Contents¶
Elections
Generating Elections
Collective Decision Procedures
Axioms
- Overview
- Dominance Axioms
- Invariance Axioms
- Monotonicity Axioms
- Strategic Axioms
- Variable Voter Axioms
- Reinforcement
- Positive Involvement
- Negative Involvement
- Positive-Negative Involvement
- Tolerant Positive Involvement
- Bullet-Vote Positive Involvement
- Semi-Positive Involvement
- Truncated Involvement
- Participation
- Single-Voter Resolvability
- Neutral Reversal
- Neutral Indifference
- Nonlinear Neutral Reversal
- Variable Candidate Axioms
- SWF Axioms