{ "info": { "author": "Johan Schiff & Betahaus development team", "author_email": "johan@betahaus.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python" ], "description": "STVPoll README\n==============\n\n.. image:: https://travis-ci.org/VoteIT/STVPoll.svg?branch=master\n :target: https://travis-ci.org/VoteIT/STVPoll\n\nLibrary to perform STV Poll calculations.\nThe package was created as part of the VoteIT project, specifically to handle larger\nelections that was hard to count with Markus Schulzes STV method.\n\nTypical usage would be primary elections or elections with many winners\nfrom a pool of many candidates. The result will be proportional.\n\n\nFully supported:\n\n* Scottish STV\n\nWork in progress:\n\n* CPO STV\n\n\nExample\n-------\n\nCase from:\nhttps://en.wikipedia.org/wiki/Single_transferable_vote\n\n\n.. code-block:: python\n\n from stvpoll.scottish_stv import ScottishSTV\n\n example_ballots = (\n (('orange',), 4),\n (('pear', 'orange',), 2),\n (('chocolate', 'strawberry',), 8),\n (('chocolate', 'bonbon',), 4),\n (('strawberry',), 1),\n (('bonbon',), 1),\n )\n\n poll = ScottishSTV(seats=3, candidates=('orange', 'chocolate', 'pear', 'strawberry', 'bonbon'))\n for (candidates, bcount) in example_ballots:\n poll.add_ballot(candidates, bcount)\n\n result = poll.calculate()\n\n\nThis will return a ElectionResult object that contains the result and some useful metadata.\nThe elected attribute contains the elected candidates.\n\nCandidates to the left have higher preference, so:\n['pear', 'orange'] means 'pear' before 'orange' etc.\nThe number is how many of that kind of ballot there is.\n\n\n.. code-block:: python\n\n result.elected\n [, , ]\n\n\nCode & Contributions\n--------------------\n\nYou may fork the code at:\nhttps://github.com/VoteIT/STVPoll\n\nPlease report any bugs there, or email info@voteit.se\n\n\n\nChanges\n=======\n\n\n0.2.0 (dev)\n-----------\n\n- Fixed bug in deciding which vote to transfer first when multiple elected in Scottish STV. [schyffel] [robinharms]\n- Scottish STV: Resolve ties so that winners are always in correct ranking order (extreme case). [schyffel]\n- Now works on Python 3. [schyffel]\n- Test coverage 100 %. [schyffel]\n\n\n0.1.4 (2018-05-12)\n------------------\n\n- Fixed a situation where primary_candidate in rounds didn't exist. [schyffel] [robinharms]\n\n\n0.1.3 (2018-03-22)\n------------------\n\n- Excluded empty ballots, so that they do not affect the quota. [schyffel]\n\n\n0.1.2 (2017-11-24)\n------------------\n\n- Fixed exception on empty ballots. [schyffel]\n\n\n0.1.1 (2017-11-24)\n------------------\n\n- Fixed case where randomization caused an exception. [schyffel]\n\n\n0.1.0 (2017-11-03)\n------------------\n\n- Initial version\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/VoteIT/STVPoll", "keywords": "election poll stv", "license": "", "maintainer": "", "maintainer_email": "", "name": "STVPoll", "package_url": "https://pypi.org/project/STVPoll/", "platform": "", "project_url": "https://pypi.org/project/STVPoll/", "project_urls": { "Homepage": "https://github.com/VoteIT/STVPoll" }, "release_url": "https://pypi.org/project/STVPoll/0.2.0/", "requires_dist": null, "requires_python": "", "summary": "STV polling methods", "version": "0.2.0" }, "last_serial": 3891166, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3e7ff69d173d988cc8bb24a9ab8d24b7", "sha256": "a55425f9477cfea4c3941108bfc4f60fd0991609ce01bc6a814f211f88fba3e4" }, "downloads": -1, "filename": "STVPoll-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3e7ff69d173d988cc8bb24a9ab8d24b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8241, "upload_time": "2017-11-03T14:51:28", "url": "https://files.pythonhosted.org/packages/8e/34/2f299d7d9fd9fc41e877d0311714a53f93bf31155b936c54296f2fad036a/STVPoll-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "119a553146379b81a5549d9660a931cb", "sha256": "818ec3edfd78f5ec4be944e352ce10081e19c80813163d9e318fad6e7a74819c" }, "downloads": -1, "filename": "STVPoll-0.1.1.tar.gz", "has_sig": false, "md5_digest": "119a553146379b81a5549d9660a931cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8384, "upload_time": "2017-11-24T13:59:21", "url": "https://files.pythonhosted.org/packages/bf/95/b2d6525f576ea64f6432f600c49a0691f10b45283d33660474b41a3c0f98/STVPoll-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "5dd1730a4d2759c552146919d718e083", "sha256": "4d353e1b370d809e4fe08296a488dd63732fe04b40e21a819300275a84aefa52" }, "downloads": -1, "filename": "STVPoll-0.1.2.tar.gz", "has_sig": false, "md5_digest": "5dd1730a4d2759c552146919d718e083", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8447, "upload_time": "2017-11-24T20:36:34", "url": "https://files.pythonhosted.org/packages/17/1e/5887c5ec31aec0990ad252056160b11f0ccca0b1e3cb3c6e44b1aceafcb6/STVPoll-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e2f1389280bce2689d077849801dabc5", "sha256": "a53200e07011f795b83236e4458f812457c36e03c042182e82722508e4de6b6b" }, "downloads": -1, "filename": "STVPoll-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e2f1389280bce2689d077849801dabc5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8740, "upload_time": "2018-03-22T10:27:23", "url": "https://files.pythonhosted.org/packages/23/db/680838b65f920ca2c12d08f2626af2a01f99b94c6bfcd8957db6fd731b44/STVPoll-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "3043bc1a597af50727f7f1419dcbc529", "sha256": "94afb9fad0505fc37a57a34c54c59f65337bdc6a728b98f6c9772edff3551665" }, "downloads": -1, "filename": "STVPoll-0.1.4.tar.gz", "has_sig": false, "md5_digest": "3043bc1a597af50727f7f1419dcbc529", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8482, "upload_time": "2018-05-12T14:54:20", "url": "https://files.pythonhosted.org/packages/77/0b/7881442a2b0b9fe937d9a4f5fffdd834f288e43aed0a8f5dcc57e0f6f01d/STVPoll-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "1584a47f5a73834a4a4f46618d935d69", "sha256": "e1759ec2f39e4a36119e0f96736abeb930c3800c82efb7252919bdb905e40d4d" }, "downloads": -1, "filename": "STVPoll-0.2.0.tar.gz", "has_sig": false, "md5_digest": "1584a47f5a73834a4a4f46618d935d69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9023, "upload_time": "2018-05-23T12:23:34", "url": "https://files.pythonhosted.org/packages/b0/06/519d3074b8fe74a659aa055c173549f49277dce012d23d46b6fbcfd5804f/STVPoll-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1584a47f5a73834a4a4f46618d935d69", "sha256": "e1759ec2f39e4a36119e0f96736abeb930c3800c82efb7252919bdb905e40d4d" }, "downloads": -1, "filename": "STVPoll-0.2.0.tar.gz", "has_sig": false, "md5_digest": "1584a47f5a73834a4a4f46618d935d69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9023, "upload_time": "2018-05-23T12:23:34", "url": "https://files.pythonhosted.org/packages/b0/06/519d3074b8fe74a659aa055c173549f49277dce012d23d46b6fbcfd5804f/STVPoll-0.2.0.tar.gz" } ] }