A Chess GUI using PyQt


Licenses
GPL-3.0/GPL-3.0+
Install
pip install MzChess==2.4.0

Documentation

MzChess: a chess GUI using PyQt6 and chess modules

The chess GUI allows for:

  • play standard chess games
  • configure the game header
  • load and/or save games and/or databases with many games
  • configure and run Universal Chess Interface (UCI) engines
  • detects Encyclopaedia of Chess Openings (ECO)
  • annotates games or single moves
  • shows score graphs
  • allows to monitor scores and move hints continously (for training purposes)
  • allows to warn on danger (for training purposes)
  • allows to show move options (for training purposes)

It supports the following game formats:

  • Portable Game Notation (PGN) standard
  • Pickled PGN (PPNG), an internal format for rapid loading

Installing

Mz Chess is based on Python 3.7+.

Warning

If you’re not on Windows, you are responsible for the installation of the binary PyQt-packages, i.e.

  • PyQt6, PyQt6.QtCharts (v6.2+)
  • or PyQt5, PyQt5.QtChart, and - if available - PyQt5.QtSvg (v5.11+),

using a Linux Package Manager, Homebrew or pip3 in advance. Linux users planning a pip3 installation should consult the manylinux webpage to see whether their distribution is supported.

Then, download and install the latest release:

pip install mzChess

If you are under Windows or Linux, you can run

<python> -c "import MzChess; MzChess.postInstall()"

to get symbolic links to the tools mzChess and fenBuild on the desktop (<python> is the python interpreter used for installation). Under Windows, the postInstall function must be executed as administrator.

Running the GUI

An executable is generated and installed in python's Scripts directory. So, if this directory is in your search PATH, you type simply

mzChess

to start the GUI. A little helper

buildFen

allows to build position strings using the Forsyth-Edwards Notation (FEN) and copy them to the clipboard.