Skip to main content

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.0.tar.gz (13.0 kB view hashes)

Uploaded Source

Built Distribution

chessEngines-1.0.0-py3-none-any.whl (15.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page