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

Uploaded Python 3

File details

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

File metadata

  • Download URL: chess_opening_tool-0.1.0.tar.gz
  • Upload date:
  • Size: 426.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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.0.tar.gz
Algorithm Hash digest
SHA256 d213c884ec724d6ed3f93980efbfa5ea2b19ac8e5811c966f97a209bf20f2b92
MD5 cd39ed9662972a305a4558c3a99137e7
BLAKE2b-256 992915077b8749913e2792b3468084beef103cb37576a2acdfb496569005d21b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chess_opening_tool-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 429.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 42a8caa048af9d2b16cd7497d0711ee3e1498651e7bdd5fd8b215619d4e85723
MD5 269d817903d275a130d0a0d909a092cf
BLAKE2b-256 d6297a58689aed2af3ce86bb3874e8c299ca84efff2ee94b35d04518cf842e41

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