Accessible CLI chess study tool with Stockfish analysis and Lichess integration.
Project description
BlindBase – Accessible Chess-Study CLI
BlindBase is a text-mode chess study tool that brings Stockfish analysis, Lichess Masters statistics and speech feedback to the terminal. It is designed for visually-impaired players but equally useful for anyone who prefers a distraction-free CLI over a GUI.
Features
- Interactive board with Rich ASCII graphics or screen-reader-friendly layout.
- Fast Stockfish analysis (multi-PV).
- Masters moves tree (lichess.org database).
- PGN navigation, variation editing, comments.
- Broadcast streaming of live games.
- Speech synthesis (optional) via
pyttsx3. - Ships with Stockfish binaries for macOS (arm64 + x86_64) and Windows x64 – no separate download required.
- Stand-alone executables ship with Stockfish (macOS arm64/x86_64 and Windows x64) — no separate download required, while the PyPI wheel stays slim and expects Stockfish in your PATH.
Quick start
pip install blindbase # installs lightweight wheel (Stockfish required, see below)
blindbase play games.pgn # open PGN browser
Command list appears below the board; type a
Quick start (continued)
Command list appears below the board; type a to start engine analysis, t to view Masters moves, m to save.
Install Stockfish (required for pip users)
The PyPI wheel is lightweight and does not include the Stockfish engine. Install Stockfish once and make sure it is discoverable from the shell:
• macOS – brew install stockfish
• Windows – download stockfish_15_x64_avx2.exe (or the ..._noavx2.exe if your CPU lacks AVX2) from the official site and place it somewhere in your %PATH% (e.g. C:\Windows\System32).
• Linux – sudo apt install stockfish or your distro's package.
Alternatively, pass an explicit path:
blindbase play games.pgn --engine /full/path/to/stockfish
The single-file executables (blindbase_mac_arm64, blindbase.exe, …) already contain the correct engine and do not need this step.
Building from source
git clone https://github.com/itshak/blind-base-cli.git
cd blind-base-cli
pip install -e .[dev] # editable install with dev extras
Run unit tests:
pytest -q
Single-file executables
The repo provides scripts and CI workflow to create stand-alone binaries (no Python required).
Local Apple-Silicon build
python3 -m venv venv
source venv/bin/activate
pip install . pyinstaller
python -m PyInstaller \
--clean --onefile --target-arch arm64 \
--name blindbase_mac_arm64 \
--add-binary blindbase/engine/mac/stockfish:engine \
blindbase/menu.py
dist/blindbase_mac_arm64 runs on Apple-Silicon and Intel Macs (via Rosetta).
CI builds (Intel macOS & Windows)
GitHub Actions workflow release.yml publishes artefacts on every push tag:
blindbase_mac_x86_64– native Intel Mac binaryblindbase.exe– Windows 64-bit binary
Download them from the Actions → run → Artefacts section.
Package layout
blindbase/
├─ menu.py # interactive main menu
├─ app.py # Typer entry-point
├─ engine/ # bundled Stockfish binaries (for PyInstaller builds)
│ ├─ mac/stockfish (arm64)
│ ├─ mac/stockfish_x86 (x86_64)
│ └─ win/stockfish.exe (win64)
└─ ...
packaging/
├─ build_macos.py # PyInstaller helper script
└─ build_windows.py
Contributing
Pull requests are welcome! Please open an issue first to discuss major changes.
- Fork → feature branch → PR.
- Run
pre-commit run --all-filesbefore pushing. - Ensure
pytestandruffpass.
License
BlindBase is licensed under the MIT License. Stockfish binaries are GPLv3; they are distributed unmodified in the engine/ directory – see engine/LICENSE. By using the one-file executables you accept the terms of Stockfish's GPL.
- CI builds produce single-file executables for macOS (arm64 + x86_64) and Windows x64.
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 blindbase-0.13.0.tar.gz.
File metadata
- Download URL: blindbase-0.13.0.tar.gz
- Upload date:
- Size: 52.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b74c128ca6fdc4a6b4a9cc709262654afdde0718af24c82778ac13dfeccd0027
|
|
| MD5 |
a898398b9e79443b9d21927fd9618c79
|
|
| BLAKE2b-256 |
bc3ac46b73eb395370cbfb8598db73babab5280ed361776f5a0abc8de2302217
|
Provenance
The following attestation bundles were made for blindbase-0.13.0.tar.gz:
Publisher:
release.yml on itshak/blind-base-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blindbase-0.13.0.tar.gz -
Subject digest:
b74c128ca6fdc4a6b4a9cc709262654afdde0718af24c82778ac13dfeccd0027 - Sigstore transparency entry: 413430600
- Sigstore integration time:
-
Permalink:
itshak/blind-base-cli@e05d9070a0c653ed3d6f3646f0174253a8257953 -
Branch / Tag:
refs/tags/v0.13.0 - Owner: https://github.com/itshak
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e05d9070a0c653ed3d6f3646f0174253a8257953 -
Trigger Event:
push
-
Statement type:
File details
Details for the file blindbase-0.13.0-py3-none-any.whl.
File metadata
- Download URL: blindbase-0.13.0-py3-none-any.whl
- Upload date:
- Size: 60.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7eb590ba8379219c8ba51ecfb9be3daa068f24bd4ad53709e6172cd90a958a14
|
|
| MD5 |
7bd085d362128a97b036f057b8c7f22f
|
|
| BLAKE2b-256 |
c4dd2b9a0fcc3c75bf32f1b0533b4e914926b1111eb0d9527b22c939e92aa46c
|
Provenance
The following attestation bundles were made for blindbase-0.13.0-py3-none-any.whl:
Publisher:
release.yml on itshak/blind-base-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blindbase-0.13.0-py3-none-any.whl -
Subject digest:
7eb590ba8379219c8ba51ecfb9be3daa068f24bd4ad53709e6172cd90a958a14 - Sigstore transparency entry: 413430620
- Sigstore integration time:
-
Permalink:
itshak/blind-base-cli@e05d9070a0c653ed3d6f3646f0174253a8257953 -
Branch / Tag:
refs/tags/v0.13.0 - Owner: https://github.com/itshak
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e05d9070a0c653ed3d6f3646f0174253a8257953 -
Trigger Event:
push
-
Statement type: