User interface and public API for probing Syzygy endgame tablebases.
Dependencies:
pip install flask
pip install python-chess
pip install tornado # Required for dealing with many
# open file descriptors
# when serving six-men tablebases.
pip install htmlmin # Recommended.
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
Only the small four-men tablebases are in this Git repository. Optionally generate or download five-men and six-men tablebases and place them in the corresponding directories.
Optionally build and install libgtb and download Gaviota tablebase files. Put them into the gaviota
directory.
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 GPLv3 with the following dependencies:
- python-chess (GPL3)
- chessboard.js (MIT)
- chess.js (MIT)
- Bootstrap (MIT)
- jQuery (MIT)
- Flask (BSD)
- htmlmin (BSD)
- Tornado (Apache License Version 2.0)
Thanks to all of them and special thanks to Ronald de Man for his endgame tablebases!