skillfed

openskill

Multiplayer Rating System. No Friction.

openskill v6.2.0 187.1K downloads/30d#9,970 on PyPI365
Permissive license MIT Active released

What it is and what it does

Openskill is a Bayesian multiplayer rating system designed as a faster, open-source alternative to Microsoft's TrueSkill. It calculates player skill ratings based on match outcomes and can handle complex scenarios like multiple teams of unequal size, draws, and partial participation. The package is written in pure Python with C-compiled wheels for performance, supports both CPython and PyPy, and includes five different rating models (such as PlackettLuce and Weng-Lin variants) to suit different game structures.

You use it by instantiating a model, creating initial ratings for players, and then calling the model's rate method with match results to update those ratings. It's designed for gaming platforms that need to balance matches fairly and rank players accurately without the overhead or licensing constraints of TrueSkill.

Use it for:

  • Calculate and update player ratings in competitive multiplayer games to enable skill-based matchmaking.
  • Rank teams of unequal size in asymmetric game modes where traditional Elo or TrueSkill may not fit.
  • Predict match outcomes (win, draw, or specific rank) based on current player ratings before a game starts.
  • Integrate a lightweight, open-source rating system into a game server without external dependencies or licensing fees.
  • Experiment with different Bayesian rating models to find the best fit for your game's skill distribution and match structure.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Openskill is a multiplayer rating system that calculates and updates player skill ratings in competitive games, supporting multiple teams, asymmetric team sizes, and various outcome types (win, draw, rank).

Yes. Openskill is actively maintained, has no runtime dependencies, supports current Python versions, carries a permissive MIT license, and has no known vulnerabilities. It's a solid choice if you need a multiplayer rating system for game matchmaking or skill tracking and want to avoid TrueSkill's licensing or performance constraints.

Install

openskill on PyPI

pip

pip install openskill

uv

uv add openskill

poetry

poetry add openskill

Installing openskill

Before you install

Installation is straightforward with no runtime dependencies and low friction. The package is actively maintained with recent commits and supports current Python versions (3.10–3.14) on both CPython and PyPy.

License in practice

Licensed under MIT (permissive), so you can use, modify, and distribute the package freely in commercial and private projects with minimal restrictions.

Quickstart

pip install openskill

from openskill.models import PlackettLuce
model = PlackettLuce()
r = model.rating
[[a, b], [x, y]] = [[r(), r()], [r(), r()]]
[[a, b], [x, y]] = model.rate([[a, b], [x, y]])
print(a)  # Updated rating for player a

Requires Python 3.10 or later (specified by requires_python ~=3.10).

Verify before relying

  • Whether the claimed 150% performance improvement over TrueSkill holds across all model types and input sizes.
  • How the five separate models differ in accuracy, speed, and suitability for different game types.
  • Whether partial-play and fine-grained parameter control are documented with concrete examples.

Package facts

License MIT (permissive)
Python support supports the current Python release (~=3.10)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 215 days since the last release
Last repo commit
First released
Downloads 187,119/month — #9,970 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: openskill-6.2.0-py3-none-any.whl

Keywords: ranking, trueskill, statistics, rating, math, rank

Development Status :: 5 - Production/StableIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Tags

multiplayer rating systemskill ranking algorithmtrueskill alternativecompetitive game matchmakingplayer rating calculationbayesian skill estimationteam-based ranking system
game-ratingmatchmakingbayesian-stats

More Mathematics packages

Further reading