A chess engine written in Python with no dependencies. All contributions welcome.
This project is in active development and you may encounter bugs, especially in the game loop.
The contribution guide can be found on the documentation page
- Internal bitboard representation
- Alpha-beta pruned search
- Move generation API
- Opening book
- Move ordering for faster forward search
- Non-trivial board state evaluation using better heuristics
Install using pip
-
# macOS / Linux (could work on Windows)
python3 -m pip install -U chessengine
# Windows (the primary way)
py -3 -m pip install -U chessengine
Start a game with the computer -
chessengine play
or
python -m chessengine play
If you want to play against another player -
chessengine play -p
or
python -m chessengine play -p
This project uses the black linter for determining code style.
# Install black via pip.
python -m pip install black==22.10.0
# Format
black .
If you've forked this repository, consider enabling GitHub Actions to leverage the automatic pull request creation provided for resolving code formatting errors!