testsAndMisc/PYTHON/stockfish_analysis
Krzysztof kuhy Rudnicki 3f793d2d17 Enable PLR2004: replace magic values with named constants
- Added constants for HTTP status codes (using http.HTTPStatus)
- Added validation limit constants in screen_locker
- Added centipawn loss threshold constants in chess analysis
- Added various other domain-specific constants across 9 files
2025-11-30 15:01:14 +01:00
..
analyze_chess_game.py Enable PLR2004: replace magic values with named constants 2025-11-30 15:01:14 +01:00
README.md fix: correct shebang and executable permissions 2025-11-30 13:42:16 +01:00
requirements.txt fix: correct shebang and executable permissions 2025-11-30 13:42:16 +01:00
run.sh feat: make the analyze chess game script use more pc resources 2025-08-22 22:30:47 +02:00

Chess move analysis with Stockfish

This utility parses a PGN (or a log that contains a PGN section) and evaluates each move with a local Stockfish engine, printing a per-move quality rating.

Install

Install python dependencies:

pip install -r PYTHON/stockfish_analysis/requirements.txt

Ensure Stockfish is installed and available in your PATH (or provide the path via --engine). On Linux, you can typically install with your package manager or download a binary.

Run

From the repo root:

python3 PYTHON/analyze_chess_game.py lichess_bot_game_8GSdY3Ci.log

Options:

  • --engine /path/to/stockfish to specify a custom engine path
  • --time 0.2 seconds per evaluation (default)
  • --depth 12 fixed depth instead of time

The script prints a table with, for each ply:

  • side to move, SAN move, eval before/after from mover's POV, delta, classification, and Stockfish best move suggestion.