Skip to main content

Xiangqi Lab

Python License

A fully local Xiangqi desktop app


Features

  • 100% Local & Private — No internet required, no accounts, no data collection. Everything (AI + saved games) runs and stays on your computer.
  • Fully Open Source — Licensed under AGPL-3.0 with an additional clause prohibiting use of the code for training AI models.
  • Extremely Lightweight — Built with Python and only the built-in Tkinter GUI library.
  • Cross-Platform — Works on Windows, macOS, and Linux.
  • Multiple Play Modes (requires external engine):
    • Player vs AI
    • AI vs AI
    • AI move suggestions
  • Easy Navigation — Easily switch between the main line and AI-generated variations.
  • Powerful Game Editor — Create and edit your own scenarios.
  • Compatible with strong engines — Supports Fairy-Stockfish and Pikafish (you must download the engine + neural network separately).

Xiangqi Lab is designed for study, practice, and experimentation. It is not intended for cheating in online games. Please respect fair play.


Screenshots

Xiangqi Lab is multilingual:

English • Simplified Chinese • Traditional Chinese • Vietnamese • Malay

Main Interface

English Simplified Chinese
Main Interface (EN) Main Interface (zh_CN)

Game Editor

English Simplified Chinese
Game Editor - Initial Position (EN) Game Editor - Initial Position (zh_CN)

AI Analysis (with external engine)

English Simplified Chinese
AI Analyzer (EN) AI Analyzer (zh_CN)

Install Xiangqi Lab

Prerequisites

  • Python 3.13 (or higher) with Tkinter

Windows

Recommended (easiest):

Alternative (advanced): Install from source.

  • Install Python with Tkinter
  • Install Git
  • Install Xiangqi Lab from source and Launch
    git clone https://gitlab.com/xiangqilab/xiangqilab.git
    cd xiangqilab
    ./install.bat
    ./run.bat
    

MacOS

  • Install Homebrew first
  • Install Python with Tkinter
    brew install python-tk
    
  • Install Xiangqi Lab from source and Launch
    git clone https://gitlab.com/xiangqilab/xiangqilab.git
    cd xiangqilab
    ./install.sh
    ./run.sh
    

Ubuntu

Xiangqi Lab is on Snap Store

Arch Linux

  • Install Xiangqi Lab from AUR and Launch
    paru -S xiangqilab  # or use "yay"
    xiangqilab
    

Other Linux Distributions

  • Install Xiangqi Lab from source and Launch
    git clone https://gitlab.com/xiangqilab/xiangqilab.git
    cd xiangqilab
    ./install.sh
    ./run.sh
    

Engine Setup (One-time only)

Xiangqi Lab requires a separate Xiangqi engine. We recommend Fairy-Stockfish or Pikafish.

  1. Download an Engine
  1. Launch Xiangqi Lab
  2. Open AI Settings
    • Click the "AI Settings" button in the main window.
  3. Configure Paths
    • AI Engine: Select the downloaded engine executable
    • Neural Network: Select the .nnue file
  4. Test the Engine
    • Click the "Test Engine" button
  5. Save the Settings
    • Press the "Save" button.

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-or-later).

Additional restriction: Use of this project's source code for training any AI or machine learning models is strictly prohibited.

See the LICENSE file for full details.


Contributing

Contributions are welcome! Feel free to:

  • Open issues for bugs or feature requests
  • Submit pull requests
  • Provide ideas

Enjoy playing Xiangqi!

Metadata

Release files for xiangqilab 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xiangqilab 1.2.0
File Size Uploaded
xiangqilab-1.2.0.tar.gz 120.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xiangqilab 1.2.0
File Interpreter ABI Platform
xiangqilab-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 261.2 kB

Release files / xiangqilab-1.2.0.tar.gz

Download URL xiangqilab-1.2.0.tar.gz
Size 120.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8073c2cd199dfc31530fa9d3af3dea3560df34ae4afd2dac2a14ac8ee99866d9
BLAKE2b-256 checksum
How to use checksums
84a8bf6608cb64948a597c2e2c32695cc1d9081385915b57c50ec1fe204d8d3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / xiangqilab-1.2.0-py3-none-any.whl

Download URL xiangqilab-1.2.0-py3-none-any.whl
Size 140.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4326abcd3d2ce043411fb5090695bb3417c9fc3c523bafd7891dc3fcae907289
BLAKE2b-256 checksum
How to use checksums
af98ac21473bee778ad66971f8cd85d7eaa79fca6204a6b47d915ac68634088a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page