league-ranker


Nameleague-ranker JSON
Version 1.0.3 PyPI version JSON
download
home_pagehttps://ranker.readthedocs.io/en/latest/
SummaryLeague ranking for arbitrary numbers of competitors.
upload_time2024-03-12 18:04:14
maintainer
docs_urlNone
authorStudent Robotics Competition Software SIG
requires_python>=3.7
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            League Ranker
=============

|Build Status| |PyPI - Version|

Given a collection of entrants and their scores, sort them and return their
ranked points.

The mechanism used to allocate the ranked points is a generalised form of that
used for the `Student Robotics <https://www.studentrobotics.org>`__ league
points (quote from the SR
`rulebook <https://www.studentrobotics.org/docs/rules>`__):

    The team with the **most** game points will be awarded 8 points
    towards the competition league. The team with the second most will
    be awarded 6. The team with the third most will be awarded 4 points,
    and the team with the fewest game points will be awarded 2 points.
    Teams whose robot was not entered into the round, or who were
    disqualified from the round, will be awarded no points.

    Tied robots will be awarded the average of the points that their
    combined positions would be awarded. Thus, three robots tied for
    first place would receive 6 points each (since this is
    ``(8+6+4)/3``).

The ranker supports an arbitrary number of entrants and zones (as long as there
are fewer entrants than zones) and will return points which follow the pattern
described above.

The points for the winning team will be 2 × the number of zones, points for
subsequent places reduce by 2 points per place. Ties are resolved as described
and as a result of the points per place reducing by two, the points for any
entrant will always be an integer.

It supports Python 3.7+.

Tests
~~~~~

Tests can be run for the current interpreter by running ``./run-tests`` or for
all supported available interpreters by running ``tox``.

.. |Build Status| image:: https://circleci.com/gh/PeterJCLaw/ranker.svg?style=svg
   :target: https://circleci.com/gh/PeterJCLaw/ranker

.. |PyPI - Version| image:: https://img.shields.io/pypi/v/league-ranker
   :target: https://pypi.org/project/league-ranker/



            

Raw data

            {
    "_id": null,
    "home_page": "https://ranker.readthedocs.io/en/latest/",
    "name": "league-ranker",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "",
    "author": "Student Robotics Competition Software SIG",
    "author_email": "srobo-devel@googlegroups.com",
    "download_url": "https://files.pythonhosted.org/packages/72/23/e9352a56ee75886abe33755a22aca3b6ba9b7d10358ead6051469f940224/league-ranker-1.0.3.tar.gz",
    "platform": null,
    "description": "League Ranker\n=============\n\n|Build Status| |PyPI - Version|\n\nGiven a collection of entrants and their scores, sort them and return their\nranked points.\n\nThe mechanism used to allocate the ranked points is a generalised form of that\nused for the `Student Robotics <https://www.studentrobotics.org>`__ league\npoints (quote from the SR\n`rulebook <https://www.studentrobotics.org/docs/rules>`__):\n\n    The team with the **most** game points will be awarded 8 points\n    towards the competition league. The team with the second most will\n    be awarded 6. The team with the third most will be awarded 4 points,\n    and the team with the fewest game points will be awarded 2 points.\n    Teams whose robot was not entered into the round, or who were\n    disqualified from the round, will be awarded no points.\n\n    Tied robots will be awarded the average of the points that their\n    combined positions would be awarded. Thus, three robots tied for\n    first place would receive 6 points each (since this is\n    ``(8+6+4)/3``).\n\nThe ranker supports an arbitrary number of entrants and zones (as long as there\nare fewer entrants than zones) and will return points which follow the pattern\ndescribed above.\n\nThe points for the winning team will be 2 \u00d7 the number of zones, points for\nsubsequent places reduce by 2 points per place. Ties are resolved as described\nand as a result of the points per place reducing by two, the points for any\nentrant will always be an integer.\n\nIt supports Python 3.7+.\n\nTests\n~~~~~\n\nTests can be run for the current interpreter by running ``./run-tests`` or for\nall supported available interpreters by running ``tox``.\n\n.. |Build Status| image:: https://circleci.com/gh/PeterJCLaw/ranker.svg?style=svg\n   :target: https://circleci.com/gh/PeterJCLaw/ranker\n\n.. |PyPI - Version| image:: https://img.shields.io/pypi/v/league-ranker\n   :target: https://pypi.org/project/league-ranker/\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "League ranking for arbitrary numbers of competitors.",
    "version": "1.0.3",
    "project_urls": {
        "Code": "https://github.com/PeterJCLaw/ranker",
        "Documentation": "https://ranker.readthedocs.io/en/latest/",
        "Homepage": "https://ranker.readthedocs.io/en/latest/",
        "Issue tracker": "https://github.com/PeterJCLaw/ranker/issues"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96502a76922a74d8f55045d23d03fd3986dea43d254cd8da027d884e3d8c3773",
                "md5": "05c9b6440346d5c86f659403f643fd50",
                "sha256": "05e430c241002268439c813018d50833b5e8dd72278caa3c68db37422e4475a4"
            },
            "downloads": -1,
            "filename": "league_ranker-1.0.3-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "05c9b6440346d5c86f659403f643fd50",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.7",
            "size": 6820,
            "upload_time": "2024-03-12T18:04:13",
            "upload_time_iso_8601": "2024-03-12T18:04:13.283893Z",
            "url": "https://files.pythonhosted.org/packages/96/50/2a76922a74d8f55045d23d03fd3986dea43d254cd8da027d884e3d8c3773/league_ranker-1.0.3-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7223e9352a56ee75886abe33755a22aca3b6ba9b7d10358ead6051469f940224",
                "md5": "26c3e5eed4c5a2d07553372801cfb3f2",
                "sha256": "605c3f3832d1d801d848ea72b1bbe4a67dae3f3db5374d1084951a135836b0ae"
            },
            "downloads": -1,
            "filename": "league-ranker-1.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "26c3e5eed4c5a2d07553372801cfb3f2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 5733,
            "upload_time": "2024-03-12T18:04:14",
            "upload_time_iso_8601": "2024-03-12T18:04:14.903389Z",
            "url": "https://files.pythonhosted.org/packages/72/23/e9352a56ee75886abe33755a22aca3b6ba9b7d10358ead6051469f940224/league-ranker-1.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-12 18:04:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "PeterJCLaw",
    "github_project": "ranker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "circle": true,
    "tox": true,
    "lcname": "league-ranker"
}
        
Elapsed time: 0.22550s