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.3.tar.gz (426.0 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.3-py3-none-any.whl (429.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: chess_opening_tool-0.1.3.tar.gz
  • Upload date:
  • Size: 426.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.3.tar.gz
Algorithm Hash digest
SHA256 ff48368b69bc559b3b1882bc6c324a806c4c76b7952e13423a6cf4a4fc96684c
MD5 60458537b1bd583b070369944dbf55e4
BLAKE2b-256 3b4ab34e34cb99920014b9ee9065a2fb78c39d9f785309986a12c1cab6c6db3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chess_opening_tool-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 429.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 27e8dd9168c7366b66971eafb42cc023c04849db7573e62883c3446f42ead09c
MD5 67a949e69ed1929c85825df9b9ed1fbb
BLAKE2b-256 b8bf41f2c225f8506b57b061ede2894ea94e34f07889bb1d0771a227e3a5bd7d

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