{ "info": { "author": "Brad Beattie", "author_email": "bradbeattie@gmail com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: GNU General Public License (GPL)", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "Python Vote Core\n================\n\npython-vote-core implements various electoral methods, providing the results\ncalculated off a provided set of ballots and options.\n\n* Project page: http://github.com/bradbeattie/python-vote-core\n* Issue tracker: http://github.com/bradbeattie/python-vote-core/issues\n* Example usage: http://modernballots.com\n\nMethods implemented\n-------------------\n\n* Single Winner Methods\n\n * Plurality (aka first-past-the-post or fptp)\n * Instant-Runoff Voting (aka IRV)\n * Schulze Method (aka Beatpath)\n\n* Multiple Winner Methods\n\n * Plurality at large (aka block voting)\n * Single Transferable Vote (aka STV)\n * Schulze STV\n\n* Ordering Methods\n\n * Schulze Proportional Representation\n * Schulze Nonproportional Representation\n\nBasic Usage\n-----------\n\nSchulze method example::\n\n >>> from pyvotecore.schulze_method import SchulzeMethod\n >>> ballots = [\n ... { \"count\":3, \"ballot\":[[\"A\"], [\"C\"], [\"D\"], [\"B\"]] },\n ... { \"count\":9, \"ballot\":[[\"B\"], [\"A\"], [\"C\"], [\"D\"]] },\n ... { \"count\":8, \"ballot\":[[\"C\"], [\"D\"], [\"A\"], [\"B\"]] },\n ... { \"count\":5, \"ballot\":[[\"D\"], [\"A\"], [\"B\"], [\"C\"]] },\n ... { \"count\":5, \"ballot\":[[\"D\"], [\"B\"], [\"C\"], [\"A\"]] }\n ... ]\n >>> SchulzeMethod(ballots, ballot_notation = \"grouping\").as_dict()\n {'actions': [{'edges': {('A', 'B')}},\n {'edges': {('A', 'C')}},\n {'nodes': {'A'}},\n {'edges': {('B', 'C')}},\n {'nodes': {'B', 'D'}}],\n 'candidates': {'A', 'B', 'C', 'D'},\n 'pairs': {('A', 'B'): 16,\n ('A', 'C'): 17,\n ('A', 'D'): 12,\n ('B', 'A'): 14,\n ('B', 'C'): 19,\n ('B', 'D'): 9,\n ('C', 'A'): 13,\n ('C', 'B'): 11,\n ('C', 'D'): 20,\n ('D', 'A'): 18,\n ('D', 'B'): 21,\n ('D', 'C'): 10},\n 'strong_pairs': {('A', 'B'): 16,\n ('A', 'C'): 17,\n ('B', 'C'): 19,\n ('C', 'D'): 20,\n ('D', 'A'): 18,\n ('D', 'B'): 21},\n 'winner': 'C'}\n\n\n20110509.1\n---\n\n- Fixing PyPi release\n\n20110509.0\n---\n\n- Initial PyPi release\n\n\nLicense\n-------\n\nCopyright (C) 2009, Brad Beattie\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program. If not, see http://www.gnu.org/licenses.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bradbeattie/python-vote-core", "keywords": "library election", "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "python-vote-full", "package_url": "https://pypi.org/project/python-vote-full/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/python-vote-full/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/bradbeattie/python-vote-core" }, "release_url": "https://pypi.org/project/python-vote-full/1.0/", "requires_dist": null, "requires_python": null, "summary": "Python based election methods, includes python-vote-core and python-graph-core.", "version": "1.0" }, "last_serial": 1415741, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "0496946be9328288b5d2a0b73104771e", "sha256": "00dc1c4b4d1f216acfdfb46bfca5b752cd32b9c6a55215a49a04b337fb23d70b" }, "downloads": -1, "filename": "python-vote-full-1.0.tar.gz", "has_sig": false, "md5_digest": "0496946be9328288b5d2a0b73104771e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52486, "upload_time": "2015-02-09T06:59:44", "url": "https://files.pythonhosted.org/packages/aa/7e/a6bcb9b75d26daef8b76944d619c8d017d8283086ade000b114a8321bf6d/python-vote-full-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0496946be9328288b5d2a0b73104771e", "sha256": "00dc1c4b4d1f216acfdfb46bfca5b752cd32b9c6a55215a49a04b337fb23d70b" }, "downloads": -1, "filename": "python-vote-full-1.0.tar.gz", "has_sig": false, "md5_digest": "0496946be9328288b5d2a0b73104771e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52486, "upload_time": "2015-02-09T06:59:44", "url": "https://files.pythonhosted.org/packages/aa/7e/a6bcb9b75d26daef8b76944d619c8d017d8283086ade000b114a8321bf6d/python-vote-full-1.0.tar.gz" } ] }