https://github.com/davewalker5/chessanalyser
Command-line tool for chess game analysis using UCI engines, with SQLite backend storage
https://github.com/davewalker5/chessanalyser
Last synced: 5 months ago
JSON representation
Command-line tool for chess game analysis using UCI engines, with SQLite backend storage
- Host: GitHub
- URL: https://github.com/davewalker5/chessanalyser
- Owner: davewalker5
- License: other
- Created: 2025-04-01T15:39:52.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-05T13:35:01.000Z (about 1 year ago)
- Last Synced: 2025-06-05T14:32:46.479Z (about 1 year ago)
- Language: Python
- Size: 880 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/davewalker5/ChessAnalyser/issues)
[](https://github.com/davewalker5/ChessAnalyser/releases)
[](https://github.com/davewalker5/ChessAnalyser/blob/main/LICENSE)
[](https://www.python.org)
[](https://github.com/davewalker5/ChessAnalyser/)
# Chess Analyser
The Chess Analyser is a command-line tool for analysing chess games stored as PGN files. It was developed in
response to a need to analyse games using UCI compliant engines on older operating systems that are not supported by some of the modern chess GUIs.
It provides the following functionality:
- The ability to load games from PGN files and store them in a SQLite database
- Analysis of stored games using local installations of UCI-compliant chess engines, with storage of the analysis in the database
- Reporting on the analysis to:
- The console
- XLSX spreadsheets
- DOCX documents
- Export of the following:
- PGN files with the evaluations and move annotations included
- Images (PNG format) of the board at any point in the game
- Movies (MP4 format) of the game with or without annotations and evaluations shown per move
- Personal performance modelling from game analysis results, using Jupyter Notebooks
- A simple performance calculation application, designed for use on the *"TI-84 Plus CE Python Edition"* calculator
The application uses the [python-chess](https://github.com/niklasf/python-chess) library to communicate with the analysis engines and applies the scoring algorithms from [Lichess](https://lichess.org/page/accuracy) and [En Croissant](https://github.com/franciscoBSalgueiro/en-croissant) to the per-move analysis results to score each move.
# Getting Started
The repository includes documentation in RST format that covers setting up and running the application. To build the documentation, the following pre-requisites must be met:
- An installation of Python 3
The documentation can be built as follows:
1. Clone the repository
2. In the root of the working copy, run the following command to build the virtual environment:
```
./make_venv.sh
```
3. Change to the "docs" folder and run the following command:
```
./make_docs.sh
```
Once built, the documentation can be browsed from the following HTML document:
```
docs/build/html/index.html
```
# Authors
- **Dave Walker** - _Initial work_
# Feedback
To file issues or suggestions, please use the [Issues](https://github.com/davewalker5/ChessAnalyser/issues) page for this project on GitHub.
# License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details