#chess #player #statistics #sets #analysis #within #opening

bin+lib chesshound

A library for supporting statistical analysis of sets of chess games

1 unstable release

0.1.0 Nov 28, 2021

#846 in Games

GPL-3.0-only

44KB
1K SLoC

Chesshound

Chesshound is a rust library and cli tool that is intended for analyzing player patterns within any set of games. Its main goals include:

  • "At a glance" analysis of player mistakes through the use of opening statistics and blunder patterns.
  • Easy scraping of player games from chess.com or lichess.org based on useful criteria such as time period.
  • Comparison of user statistics to players at a similar rating level.
  • Preprocessing of game data such as annotating with engine analysis.
  • Identification of the most important areas of improvement for rating increases.

Thus, the currently planned features are:

  • Opening explorer that works with arbitrary sets of games, rather than all games within the account as with chess.com
  • An accessible wrapper around the chess.com and lichess APIs for gathering player game data
  • Sampling functions that allow the user to collect data from a wider variety of players
  • Functions to take useful statistics on sets of games, such as win rate, average accuracy, etc.
  • An API to compare user statistics with players of similar rating level, and integration of this API within the Chesshound CLI.
  • A rating forecaster to let users know where they currently stand against players at their level.
  • Engine annotation of games, and the ability to turn annotated game sets into analysis friendly formats such as CSVs.
  • Rating prediction with recently played games as input.
  • Annotating engine decisions with explanations.
  • Causal modeling between explained engine decisions and rating.

Farther down the road is a goal to make the application more accessible by:

  • Creating a python wrapper around library functionality.
  • Using the python library to implement a GraphQL service for the application.
  • Designing a ReactJS frontend for end users who wish to analyze their games or use the service to extract game data.

Contributing

The project will be open to contributions once it has reached the 1.0.0 release.

Dependencies

~2MB
~31K SLoC