A chess engine with no dependencies
Project description
Chess Engine
A chess engine written in Python with no dependencies. All contributions welcome.
Note
This project is in active development and you may encounter bugs, especially in the game loop and/or implementation of game rules.
Contribution Guide
The contribution guide can be found on the documentation page
Features
- Internal bitboard representation
- Alpha-beta pruned search
- Move generation API
- Opening book
TODOs
- Move ordering for faster forward search
- Non-trivial board state evaluation using better heuristics
Usage
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
Developer Notes
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!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for chessengine-0.3.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c10993e9236d536b5554e363e4874520ee6f7e31c5587ec5521701bdbc60022b |
|
MD5 | 675b40ed5824c812bb6663c19dcc088a |
|
BLAKE2b-256 | 7c1f3f90ac9836251142a16b723e9e99ea2657f5b1a7956e0c0c3a19d440ae5e |