User interface and public API for probing Syzygy endgame tablebases.
Install dependencies (with Python >= 3.5.3):
pip install -r requirements.txt
Node.js:
npm install -g grunt-cli
npm install
Create combined JavaScript and CSS files using Grunt:
grunt
Start the server on port 5000:
python server.py
You can optionally copy config.default.ini
to config.ini
and adjust
configuration variables. etc
contains configuration examples for nginx and
a systemd service.
Only the small four-men tablebases are in this Git repository. Optionally generate or download five-men and six-men tablebases and configure the directories.
Optionally build and install libgtb
and download
Gaviota tablebase files. Put them into the gaviota
directory or
a configured path.
See https://syzygy-tables.info/apidoc for information about the JSON API.
Have a look at server.py
for server side code. The client side code is in
static/js/client.js
.
This project is licensed under the AGPLv3 with the following dependencies:
- python-chess (GPL3)
- chessboard.js (MIT)
- chess.js (MIT)
- Gaviota tablebases (MIT)
- aiohttp (Apache 2)
- Jinja (BSD)
- htmlmin (BSD)
- Bootstrap (MIT)
- jQuery (MIT)
Thanks to all of them and special thanks to Ronald de Man for his endgame tablebases!