Skip to main content

A chess engine with no dependencies

Project description

Chess Engine

Documentation Status Formatting

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chessengine-0.2.1.tar.gz (12.7 MB view details)

Uploaded Source

Built Distribution

chessengine-0.2.1-py3-none-any.whl (9.9 MB view details)

Uploaded Python 3

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

Hashes for chessengine-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b331b2b6074a0b5aa635839f05775ef602e542d965e2ac6e886da5f05aada976
MD5 fc461812e2e6b3b214c9419b78e22a6f
BLAKE2b-256 09c7b97c12126c1bb7c3b24933f9f11a8e9f08b8d32b35f053705ec4efaf49b6

See more details on using hashes here.

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

Hashes for chessengine-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d8d694790e32e5e69a693675312e54ed5777691fd4f9b3b835888d77d3a8bacf
MD5 443d6cd492ee2b1dcac46404dee30d0e
BLAKE2b-256 8446f16ed01411a6dfcfabfbab04463245e5c3df21a6efd01547b33e9f9d15ff

See more details on using hashes here.

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