Skip to main content

Build, explore, and train your chess opening repertoire.

Project description

Chess Opening Tool

Chess Opening Tool helps you build, explore, and train your chess opening repertoire. It’s free, open-source, and designed to run on all platforms — including desktop, Android, and iOS.


Overview

Unlike most chess software, Chess Opening Tool is transposition-aware: it automatically recognizes when the same position is reached through different move orders and merges them into a single entry in your opening tree.

All moves played on the board are recorded in a position tree. From any position, you can view possible continuations and quickly cycle through them.


Organizing Your Openings

Using PGN Files

Each opening tree is stored as a standard PGN file. You can:

  • Import existing PGNs to merge them into your current tree (transpositions are resolved automatically).
  • Open a PGN to make it your active tree — saving will overwrite that file.
  • Export your current tree to share or back it up.

Importing vs Opening:

  • Import adds the content of a PGN into your current tree.
  • Opening replaces the current tree with the selected PGN.

Tabias (Tagged Positions)

A tabia is a named reference to a specific position — like a bookmark or key opening branch. You can:

  • Assign a name to any position.
  • Jump directly to it from the Tabia menu (m key).

Tabias are saved automatically inside the PGN (as game entries using the tabia name as the event). When saved, the main game and each tabia start where another tabia ends — forming a clear, connected structure.


Training Mode

Training mode lets you test yourself on your repertoire: you’re shown a position and must find the correct move(s).

  • Toggle it at any point with t.
  • Training starts from the current position.
  • Once you find all correct moves in a position, it moves deeper into the tree.
  • It first goes through all main lines, then the sub-variations.

This feature is designed for focused, manual training — it doesn’t track progress or use spaced repetition.


Usage / Keyboard Shortcuts

On desktop, the interface is fully keyboard-driven for a clean, distraction-free experience. Once you get used to it, this allows for an fast workflow. Of course, moves can also be played with the mouse.

Key / Combination Action
space, , l Next move
Shift + space, , h Previous move
, k Cycle variants backward
, j Cycle variants forward
+, - Promote/Demote selected variant
f Flip board
i Import PGN(s)
o Open PGN
p Move menu / peak moves during training
e Export PGN
c Copy FEN to clipboard
d Delete last move
s Save current tree
Shift + s Save as...
t Toggle training mode
m Open Tabia menu
p Open Move menu
n New opening
q Quit application

You can also hover over the top or bottom edges of the board to reveal on-screen controls for navigation and other actions on desktop. On mobile, all controls are always visible.


Notes

  • Your work is stored in standard PGN format, so it’s always portable and editable in other chess software.
  • All positions and tabias are preserved between sessions.
  • On mobile, equivalent actions are accessible via on-screen controls.
  • Packaged release downloads are described in INSTALL.md.

Licensing

Chess Opening Tool is free and open source software licensed under the GNU General Public License v3.0.

This project includes third-party components:

  • DejaVu Sans (DejaVuSans.ttf)

Packaged releases bundle further third-party components including chess board and piece artwork; see THIRD_PARTY_LICENSES.json in packaged releases.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chess_opening_tool-0.1.1.tar.gz (426.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chess_opening_tool-0.1.1-py3-none-any.whl (429.6 kB view details)

Uploaded Python 3

File details

Details for the file chess_opening_tool-0.1.1.tar.gz.

File metadata

  • Download URL: chess_opening_tool-0.1.1.tar.gz
  • Upload date:
  • Size: 426.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for chess_opening_tool-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f29df448039909e869e698201a38b16eb35691200dfabc0b0747fc471463949a
MD5 145355ce64531119dbb57883b149f331
BLAKE2b-256 99f10ed14708de658da1053277682b8f1f5f0ab6aaf0e733ad33fcd979e43a52

See more details on using hashes here.

File details

Details for the file chess_opening_tool-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: chess_opening_tool-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 429.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for chess_opening_tool-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cb91ab1f6ba2c8f664a8b4acc7f73401a2e2d3d3f8727deba3b8fdee36bdbe7c
MD5 db6274084e0cac40dc9fdf7cc5834b08
BLAKE2b-256 01ca09a7d6100e9020df851d6324e4ef5c8b679fceba754fbc7b15e31e7ee415

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page