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 installto install dependencies. - Run it with
$ poetry run chessyor manually with$ .venv/bin/activatefollowed by$ python -m chessy.core.- If you are trying to debug some problem, you can use the
--debug(-dfor 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
wtimeandbtime. - 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|