Skip to main content

Multiplayer Rating System. No Friction.

Project description

Multiplayer Rating System. No Friction.

A faster and open license asymmetric multi-team, multiplayer rating system comparable to TrueSkill.

Stand With Ukraine

Tests codecov PyPI - Downloads Documentation Status

Description

PyPI - Python Version Conda (channel only) PyPI - Implementation

Discord

Here are some, but not all, of the reasons you should drop TrueSkill and bury Elo once and for all:

  • Multiplayer.
  • Multifaction.
  • Assymetric faction size.
  • Predict Win, Draw and Rank Outcomes.
  • 150% faster than TrueSkill.
  • 100% Pure Python.
  • 100% Test Coverage.
  • CPython and PyPy Support.
  • 5 Separate Models.
  • Fine-grained control of mathematical constants.
  • Open License
  • Up to 7% more accurate than TrueSkill.

Installation

pip install openskill

Usage

The official documentation is hosted here. Please refer to it for details on how to use this library.

Limited Example

>>> from openskill.models import PlackettLuce
>>> model = PlackettLuce()
>>> model.rating()
PlackettLuceRating(mu=25.0, sigma=8.333333333333334)
>>> r = model.rating
>>> [[a, b], [x, y]] = [[r(), r()], [r(), r()]]
>>> [[a, b], [x, y]] = model.rate([[a, b], [x, y]])
>>> a
PlackettLuceRating(mu=26.964294621803063, sigma=8.177962604389991)
>>> x
PlackettLuceRating(mu=23.035705378196937, sigma=8.177962604389991)
>>> (a == b) and (x == y)
True

References

This project is originally based off the openskill.js package. All of the Weng-Lin models are based off the work in this wonderful paper or are the derivatives of algorithms found in it.

  • Julia Ibstedt, Elsa Rådahl, Erik Turesson, and Magdalena vande Voorde. Application and further development of trueskill™ ranking in sports. 2019.
  • Ruby C. Weng and Chih-Jen Lin. A bayesian approximation method for online ranking. Journal of Machine Learning Research, 12(9):267–300, 2011. URL: http://jmlr.org/papers/v12/weng11a.html.

Implementations in other Languages

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openskill-5.0.0.tar.gz (47.9 kB view hashes)

Uploaded Source

Built Distribution

openskill-5.0.0-py3-none-any.whl (45.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page