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 chessengineStart a game with the computer -
chessengine playor
python -m chessengine playIf you want to play against another player -
chessengine play -por
python -m chessengine play -pThis 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!