ChessPath allows users to manage opening databases, explore and train openings, replay mistakes from their Chess.com games, and simulate common moves from the Lichess database based on ELO and time controls.
To reset or initialize the opening database, run:
python main.py db op resetTo create a new opening, use the following command:
python main.py db op commit create <name> <color><name>: The name of the opening.<color>: The color you play the opening with (wfor white,bfor black).
To set the PGN for an opening, run:
python main.py db op pgn set <name> <color> <pgn>To retrieve the PGN for an opening, use:
python main.py db op pgn get <name> <color>To delete an existing opening, run:
python main.py db op commit delete <name> <color>To list all openings in the database:
python main.py db op tableTo display a chessboard, run:
python main.py boardTo edit an opening, use:
python main.py edit <openingName> <color><openingName>: The name of the opening to edit.<color>: The color you play this opening with (worb).
To explore a specific opening, run:
python main.py player <openingName> <color>To train an opening, use:
python main.py train <openingName> <color>- For black openings (
<color>=b), press<r>to reset and start the line.
Replay mistakes from your Chess.com games by running:
python main.py mistakes <user-name> <from-date> --time-control <time-control>Where:
<user-name>: Your Chess.com username.<from-date>: A date in the formatyyyy-mm-ddfrom which you want to analyze your games.<time-control>: The time control in seconds or in the formatseconds+increment.
Example:
python main.py mistakes Bob 2024-08-01 --time-control 600This would fetch rapid games played from 2024-08-01 by Bob with a 10-minute time control.
- To go to the next mistake, press
<M>. - To reset the board to the current mistake, press
<m>. - For automatic progression after inputting the correct move, use:
python main.py mistakes <user-name> <from-date> <time-control> --auto-nextTrain against common moves from the Lichess database for a specified ELO range, position, and time control:
python main.py lichess-sim <color> <min_elo> <max_elo> <time_control> <number_of_moves>Where:
<color>: The color you will play as (worb).<min_elo>: Minimum ELO of players in the database.<max_elo>: Maximum ELO of players in the database.<time_control>: Time control (bullet,blitz,rapid,classical).<number_of_moves>: Number of the most common moves to consider.
- Press
<t>to toggle two-player mode. - Input a position of interest.
- Press
<t>again to toggle back. - Press
<a>to set an anchor to that position. - Continue playing, and press
<A>to return to the anchor.
<r>: Reset the board.<s>: Show the moves of the opening once.<S>: Always show the moves of the opening.<c>: Clear all drawings on the board.<W>: Show all annotations for the current position.<t>: Toggle two-player mode.<a>: Set an anchor at the current position.<A>: Jump to the anchor.<Left>: Undo the last move.<Forward>: Play the next move automatically.<Space>: Show a hint for the next move.<l>: Open current position in a lichess analysis board.
<w>: Write all drawings into the position annotation.<Ctrl+s>: Save the current state of the opening.<Delete>: Delete the last move in the editor.
<M>: Go to the next mistake.<m>: Reset the board to the current mistake.