openskill
Multiplayer Rating System. No Friction.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later (specified by requires_python ~=3.10).
- 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 · maintenance · safety
MIT (permissive) — Licensed under MIT (permissive), so you can use, modify, and distribute the package freely in commercial and private projects with minimal restrictions.
last release 2026-01-11 (215 days) · last repo commit 2026-05-12 · 365 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 187,119 downloads/mo, #9,970 on PyPI
Alternatives
Verify before relying
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- 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.
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 on it.
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
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.
Requires Python 3.10 or later (specified by requires_python ~=3.10).
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
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 |
| Classifiers | 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 |
Evidence: openskill-6.2.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “multiplayer rating system”
- openskillOpenskill is a multiplayer rating system that calculates and updates…
- glicko2Implements the Glicko-2 rating system, a skill-rating algorithm for…
- trueskillImplements the TrueSkill rating algorithm to compute player skill…
Give your agent the search over MCP, or paste the wish link into any chat.
More Mathematics packages
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
kiwisolver is a Python binding to a fast C++ implementation of the Cassowary constraint solver, enabling you to solve systems of linear constraints and inequalities.
Install it if you need to solve constraint systems; skip it if you only need simple linear algebra.
SymPy is a Python library for symbolic mathematics, performing algebraic manipulation, calculus, equation solving, and mathematical expression simplification without numerical approximation.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
PyTorch provides GPU-accelerated tensor computation and automatic differentiation for building and training deep neural networks in Python.
onnxruntime loads and executes Open Neural Network Exchange (ONNX) models with a focus on inference performance across CPUs and accelerators.
Install it if you have ONNX models to run in production or development.
See also glicko2 · trueskill · TextArena · open-spiel · nashpy · mcstatus · properscoring · rank-bm25 · skills-ref · smolagents