Metadata-Version: 2.1
Name: chess-tuning-tools
Version: 0.9.1
Summary: A collection of tools for local and distributed tuning of chess engines.
Home-page: https://github.com/kiudee/chess-tuning-tools
License: Apache-2.0
Keywords: chess,tuning,optimization,engine
Author: Karlson Pfannschmidt
Author-email: kiudee@mail.upb.de
Requires-Python: >=3.7,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Provides-Extra: dist
Provides-Extra: docs
Requires-Dist: Click (>=7.1.2)
Requires-Dist: Sphinx (>=3); extra == "docs"
Requires-Dist: atomicwrites (>=1.4.0)
Requires-Dist: bask (>=0.9.3,<1.0.0)
Requires-Dist: dill (>=0.3.4)
Requires-Dist: importlib_metadata (>=1.4); python_version >= "3.7" and python_version < "3.8"
Requires-Dist: joblib (>=0.16.0); extra == "dist"
Requires-Dist: myst-nb (>=0.9); extra == "docs"
Requires-Dist: numpy (>=1.19.1)
Requires-Dist: pandas (>=1.1.0); extra == "dist"
Requires-Dist: psycopg2 (>=2.8.5); extra == "dist"
Requires-Dist: scikit-learn (>=0.22,<0.24)
Requires-Dist: scikit-optimize (>=0.8,<0.9)
Requires-Dist: scipy (>=1.5.2)
Requires-Dist: sphinx-book-theme (>=0.0.35); extra == "docs"
Requires-Dist: sqlalchemy (>=1.3.18); extra == "dist"
Project-URL: Bug Tracker, https://github.com/kiudee/chess-tuning-tools/issues
Project-URL: Documentation, https://chess-tuning-tools.readthedocs.io
Project-URL: Repository, https://github.com/kiudee/chess-tuning-tools
Description-Content-Type: text/x-rst


.. image:: https://raw.githubusercontent.com/kiudee/chess-tuning-tools/master/docs/_static/CTT-Plots.png

.. image:: https://raw.githubusercontent.com/kiudee/chess-tuning-tools/master/docs/_static/logo.png

.. image:: https://readthedocs.org/projects/chess-tuning-tools/badge/?version=latest&style=flat-square
        :target: https://chess-tuning-tools.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status

.. image:: https://zenodo.org/badge/234719111.svg?style=flat-square
   :target: https://zenodo.org/badge/latestdoi/234719111


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


* Free software: Apache Software License 2.0
* Documentation: https://chess-tuning-tools.readthedocs.io.


Features
--------



* Optimization of chess engines using state-of-the-art `Bayesian optimization <https://github.com/kiudee/bayes-skopt>`_.
* Support for automatic visualization of the optimization landscape.
* Scoring matches using a Bayesian-pentanomial model for paired openings.

Quick Start
-----------

In order to be able to start the tuning, first create a python
environment (at least Python 3.7) and install chess-tuning-tools by typing::

   pip install chess-tuning-tools

Furthermore, you need to have `cutechess-cli <https://github.com/cutechess/cutechess>`_
in the path. The tuner will use it to run matches.

To execute the local tuner, simply run::

   tune local -c tuning_config.json

Take a look at the `usage instructions`_ and the `example configurations`_ to
learn how to set up the ``tuning_config.json`` file.

Installation on Windows
^^^^^^^^^^^^^^^^^^^^^^^

To get chess-tuning-tools to work on Windows, the easiest way is to install
the `Miniconda <https://docs.conda.io/en/latest/miniconda.html>`_ distribution.
Then, create a new environment and install chess-tuning-tools::

   conda create -n myenv python=3.9 scikit-learn=0.23
   activate myenv
   pip install chess-tuning-tools

.. _example configurations: https://github.com/kiudee/chess-tuning-tools/tree/master/examples
.. _usage instructions: https://chess-tuning-tools.readthedocs.io/en/latest/usage.html

