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.
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
File details
Details for the file chessengine-0.2.1.tar.gz
.
File metadata
- Download URL: chessengine-0.2.1.tar.gz
- Upload date:
- Size: 12.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b331b2b6074a0b5aa635839f05775ef602e542d965e2ac6e886da5f05aada976 |
|
MD5 | fc461812e2e6b3b214c9419b78e22a6f |
|
BLAKE2b-256 | 09c7b97c12126c1bb7c3b24933f9f11a8e9f08b8d32b35f053705ec4efaf49b6 |
File details
Details for the file chessengine-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: chessengine-0.2.1-py3-none-any.whl
- Upload date:
- Size: 9.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8d694790e32e5e69a693675312e54ed5777691fd4f9b3b835888d77d3a8bacf |
|
MD5 | 443d6cd492ee2b1dcac46404dee30d0e |
|
BLAKE2b-256 | 8446f16ed01411a6dfcfabfbab04463245e5c3df21a6efd01547b33e9f9d15ff |