mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-07-04 22:43:02 +02:00
Replace bare 'except Exception' with specific exception types: - ValueError for move parsing (chess.Move.from_uci, board.push_uci) - json.JSONDecodeError for JSON parsing - OSError for file operations - ImportError for optional imports - AttributeError for attribute access - TypeError for type-related operations - requests.RequestException for HTTP operations - subprocess.SubprocessError for subprocess failures - selenium.NoSuchElementException for element finding Also fixes: - pytest hook signature issue in conftest.py (_config -> _) - Missing file handling in test_puzzles.py - Line length in stockfish_analysis.py Removes all BLE001 per-file ignores from pyproject.toml. |
||
|---|---|---|
| .. | ||
| analyze_chess_game.py | ||
| README.md | ||
| requirements.txt | ||
| run.sh | ||
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/stockfishto specify a custom engine path--time 0.2seconds per evaluation (default)--depth 12fixed 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.