Skip to main content

A collection of tools for local and distributed tuning of chess engines.

Project description

Chess Tuning Tools Documentation Status

A collection of tools for local and distributed tuning of chess engines.


  • Optimization of chess engines (Leela Chess Zero in particular) using distributed Bayesian optimization.
  • Scoring matches using the pentanomial model for paired openings.

Starting the tuning client

In order to be able to start the tuning client, first create a python environment and install chess-tuning-tools by typing:

pip install chess-tuning-tools

Furthermore, you need to have cutechess-cli in the path. The tuning client will use it to run matches.

Then after extracting the current .zip package into another folder, make sure that you have the following directory structure:

|---- networks/
|     |---- 58613
|     |---- other networks
|---- openings/
|     |---- ...
|     |---- openings-6ply-1000.pgn
|     |---- ...
|---- dbconfig.json
|---- lc0[.exe]
|---- sf[.exe]

Finally, the tuning client can be started as follows:

cd path/to/folder
tune run-client dbconfig.json

The client can be terminated gracefully by inputting ctrl-c once or terminated immediately by sending it twice.


This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.


0.2.0 (2020-02-10)

  • Completely new database implemented in SQLAlchemy.
  • Pentanomial scoring of matches, accounting for the paired openings and different draw rates of time controls.

0.1.6 (2020-02-02)

  • Allow timed termination of the client by the option --terminate-after

0.1.5 (2020-02-02)

  • Support for non-increment time controls

0.1.4 (2020-02-02)

  • Allow graceful termination of tuning-client using ctrl-c.

0.1.3 (2020-02-01)

  • Implement probabilistic load balancing support in the clients.

0.1.2 (2020-02-01)

  • Simplified tuning client tutorial and logging.

0.1.0 (2020-01-31)

  • First release on PyPI.

Project details

Download files

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

Files for chess-tuning-tools, version 0.2.3
Filename, size File type Python version Upload date Hashes
Filename, size chess_tuning_tools-0.2.3-py2.py3-none-any.whl (18.9 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size chess-tuning-tools-0.2.3.tar.gz (22.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page