Blindfold chess CLI with built-in engines
Project description
ch0 - Blindfold Chess CLI
Minimal terminal game for playing blindfold chess against built-in engines.
Quick start
- Install deps with
uv sync(Python 3.13+). - Run the game:
uv run ch0and follow the prompts to pick an engine and color. - Optional: place
book.binin the repo root to enable opening-book moves.
Gameplay
- Play blindfolded in the terminal: enter SAN moves (
e4,Nf3,exd5,a8=Q) or commands likeshow,moves,fen,pgn,resign. - Start from the lobby with
start, choose engine and color; the bot moves automatically on its turn. - Use
helpin the lobby or in-game to list commands;quitexits. - Commands can be prefixed with
:(e.g.,:show). - PGN is built as you play; you can print it when the game ends.
Dependencies
- Python 3.13+ with
uvfor managing the virtualenv (uv sync). - Runtime:
python-chess; optionalcoloramafor Windows ANSI colors (auto-enabled if installed). - Optional data:
book.binopening book in the repo root.
Engines
- Options:
random,andoma,sunfish, oruci. - UCI lets you provide a path/command to any UCI engine (e.g., Stockfish) and plays via
python-chess. - Includes the open-source Sunfish and Andoma engines under
src/ch0/engines/; they are third-party projects I do not create or maintain.
Third-party licenses
- Sunfish is distributed under the GNU General Public License; see
src/ch0/engines/sunfish/LICENSE.md. - Andoma is distributed under the MIT License; see
src/ch0/engines/andoma/LICENSE.
TODO
- Fix turn bookkeeping - Remove
game.turnand rely onboard.turn - Update move numbering / PGN formatting using
board.turnbefore pushing moves - Sunfish: validate emitted UCI move is legal
- Make Polyglot book usage optional
- Show a subtle “(book)” indicator when a book move is used
- Add
undo(at least one ply) - Add
status/checkcommand that reports check-like info - Decide and implement draw policy: claimable vs automatic handling of draws
- Add optional PGN autosave to a file (date/engine/color in file-name)
- Add "illegal moves" count (which will be printed at the end)
- Add Stockfish bundling or automatic UCI discovery
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
play_ch0-0.2.2.tar.gz
(1.1 MB
view details)
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 play_ch0-0.2.2.tar.gz.
File metadata
- Download URL: play_ch0-0.2.2.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56adc3329b09d277309cb0967cb6b55b120f68ef452686bc76ecb1d32fe2d3cf
|
|
| MD5 |
dd3ee08d4598615116e19db66964e8d4
|
|
| BLAKE2b-256 |
c9f6afee9aca8cbf5874f9d09909245b2a3b352bb117a43d8becf915117e6a10
|
File details
Details for the file play_ch0-0.2.2-py3-none-any.whl.
File metadata
- Download URL: play_ch0-0.2.2-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0eb8b03a4334aaac8e6ff3e7b4efbe89d7d1ff97dbfa382c5d7777c4c614af3d
|
|
| MD5 |
98563fcdaedce53b980ec24a1cd4455a
|
|
| BLAKE2b-256 |
73243bd01440d012e4361865446160689d4f4bf0dec6d3a86d2dbe5306a534f8
|