A wrapper for chess engines supporting the UCI protocol
Project description
chessEngines
This project is a wrapper for chess engines supporting the UCI protocol. It allows you to create a connection to a compiled chess engine and communicate with it. By default, the following engines are distributed with this project:
- Stockfish
- Leela Chess Zero
These distributions can be found under /Engines. The distributions are original and no changes have been made.
Usage
In the following we will connect to the default distribution of Stockfish and find the best move in a set position:
from chess_engines import engines
# called each time stockfish finds a potential 'best move'
def on_move_found(move):
print(move)
# load Stockfish
sf = engines.Stockfish()
# set starting position
sf.play_moves_san('1. e4 e5 2. Nf3 Nc6 3. Bc4')
# find the best move within 2 seconds
best_move = sf.best_move_san(max_secs=2, callback=on_move_found)
print(f'Best move: {best_move}')
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
chessEngines-1.0.8.tar.gz
(26.3 kB
view hashes)
Built Distribution
Close
Hashes for chessEngines-1.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 343c7711ce9a34e968faf14868a0f91413836097d96cdd87f4003df01f3657ae |
|
MD5 | 75a1db5f76f10499fb16e0a26bd03dea |
|
BLAKE2b-256 | 65a03dd4b5672f64adf594c53ab17d583bec8dfb61888ecd7bef21e7a52a2685 |