multi-elo

ELO score calculator for more than two players


Keywords
elo, elo-score, chess, ranking, multiplayer, scoring, score, rating, python3
License
Apache-2.0
Install
pip install multi-elo==2.0.0

Documentation

multi_elo

Python ELO score calculator for more than two players. It can be used e.g. for a 4 player multiplayer match and for team-based games as well.

Install

pip install multi_elo

Compatibility

Python 3.5+

Usage

from random import randint
from multi_elo import EloPlayer, calc_elo

# Generate players with random ELO.
# It can be a list of any elements having the `place` and `elo` properties.
elo_players = [EloPlayer(place=place, elo=randint(1200, 1800))
               for place in range(1, 5)]

print('Original ELO scores:')
for player in enumerate(elo_players, start=1):
    print(f'{i}: #{player.place} ({player.elo})')

# Set the K factor (optional)
k_factor = 16

# Calculate new ELO scores
new_elos = calc_elo(elo_players, k_factor)

print('\nNew ELO scores:')
for i, new_elo in enumerate(new_elos, start=1):
    print(f'{i}: {new_elo}')

Development

# install dependencies
pip install requirements_dev.txt
# run tests with all of the supported python interpreters
tox
# or only with the currently active python interpreter
pytest