A simple chess engine
Project description
chessy
A simple chess engine.
This is a learning project. It is much slower than other production-ready engines and may have bugs, but feel free to contribute if you wish to.
Features
- Minimal UCI support.
- Lichess integration (see this repository).
Getting started
- Create a venv with
python -m venv .venv
. The exact Python required version can be found at pyproject.toml. - Install poetry and run
$ poetry install
to install dependencies. - Run it with
$ poetry run chessy
or manually with$ .venv/bin/activate
followed by$ python -m chessy.core
.- If you are trying to debug some problem, you can use the
--debug
(-d
for short) flag to increase log level:$ poetry run chessy -d
.
- If you are trying to debug some problem, you can use the
Planned features
Short term:
- Improve move evaluation and search.
- Be able to process at least depth 8 within a reasonable time.
- Quiescence search (as soon as we get some performance improvements - not right now because it will slow down things too much).
Long term:
- Advanced UCI support
- Adapt playstyle according to
wtime
andbtime
. - Ponder.
- Report more info (e.g.
seldepth
). - Maybe support customization options.
- Adapt playstyle according to
Development utils
- If you're using VSCode, we have a .vscode with recommended extensions / settings, and launch profiles.
- Alternatively, use tools/format_lint_test.bash to run all available lints. Check the script source code if you want to run any of these lints separately.
License
chessy is licensed under the GNU Affero General Public License, either version 3 or any later versions at your choice. See LICENSE.txt for more details.
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
chessy-0.2.3.tar.gz
(36.7 kB
view details)
Built Distribution
chessy-0.2.3-py3-none-any.whl
(55.6 kB
view details)
File details
Details for the file chessy-0.2.3.tar.gz
.
File metadata
- Download URL: chessy-0.2.3.tar.gz
- Upload date:
- Size: 36.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.11.3 Linux/6.2.0-1015-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a38d5872a7a1fe3678df7f5b05323674fcde199965fbe81feb33e9df8b0a496e |
|
MD5 | 1b90946ef348eac8ed0c66ebe8fb0c01 |
|
BLAKE2b-256 | 6a36cd2ed404c6cb4629bf50bb137797363f9ca235e66a6b3f91d3a4e56450d6 |
File details
Details for the file chessy-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: chessy-0.2.3-py3-none-any.whl
- Upload date:
- Size: 55.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.11.3 Linux/6.2.0-1015-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11425630a26e8fd7456d862ec142a076bc152ad34d8c7208eb7c75fd70d9b432 |
|
MD5 | 2d5a64d55bc086deb21a15a990df79b2 |
|
BLAKE2b-256 | b0b16f9cf2fa0c0c6d30023f6f340ca1d325bfe634fefcb3260bbcaa6492b0df |