[EM] Votelib: RFC for Python library

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[EM] Votelib: RFC for Python library

Jan Šimbera
Dear all,
I would like to introduce you to a late pet project of mine - Votelib - and kindly ask you for any feedback you might have.

Votelib is a Python package to evaluate results of common election methods. It focuses on those currently in active use, but some prospective methods are also implemented. At the moment, it supports e.g. most known largest remainder and highest averages proportional systems, transferable vote with Hare and Gregory transfers, Condorcet methods such as Schulze or ranked pairs, Majority Judgment, variants of Borda count, score voting including STAR, approval methods including PAV or SPAV, Bucklin voting or open party list evaluation.

It is written in pure Python with no package dependencies, which means it is not lightning fast at times, but it also ensures high portability (for all it takes it can even run in the browser through Brython). It is available from PyPI (https://pypi.org/project/votelib/), the code is hosted on https://github.com/simberaj/votelib/ under the MIT license and the documentation, including some real world examples, at https://votelib.readthedocs.io/en/stable/.

If you are interested, I will greatly appreciate it if you go through it or try to use it and give me any feedback you might have. If you create some code or evaluate some results using it, I will gladly integrate that into the library's test suite. If you find some bugs, please report them at the GitHub issue tracker. I am neither a voting systems researcher nor a mathematician, so if you have any general comments on the terminology or concepts used, I will be glad to hear them. And - what would be most wonderful - if you wanted to join in with the library's development, such as implementing one of the many interesting systems I found on Electowiki, I will gladly accept your pull requests!

Looking forward to hearing from you,

Election-Methods mailing list - see https://electorama.com/em for list info