Skip to main content

♞ ChessMG

CI Version Performance Python C++ Perft License

Blazing-fast chess move generation for Python, powered by a C++20 bitboard engine.

One pip install. 200 million moves per second. A Python API that stays out of your way.


Why ChessMG?

Fast Magic bitboards + zero-copy Cython bindings — roughly 50× faster than pure-Python move generators
Pythonic A clean ChessPosition / Move API with type annotations, UCI notation and rich move metadata
Complete Castling, en passant, promotions, check / checkmate / stalemate detection, legality checks
Verified Move generation validated against the standard perft reference values up to depth 8
Lean No runtime dependencies beyond NumPy — and less than 1 MB per position

Typical uses: engine prototyping, puzzle solvers, dataset generation for ML, move validation backends, perft research — anywhere Python convenience meets the need for raw speed.


🚀 Quick Start

Install

pip install chessmg

Prebuilt wheels cover Linux (x86_64, aarch64) and macOS (Intel, Apple Silicon) for Python 3.9–3.13. On other platforms pip falls back to building from source.

Or install the latest development version from source:

git clone https://github.com/osick/ChessMG.git
cd ChessMG
pip install .

Building from source requires a C++20 compiler (g++/clang), Cython and numpy.

Play

from chessmg import ChessPosition

pos = ChessPosition()                # standard starting position (or pass any FEN)

for move in pos.legal_moves():       # 20 legal moves, as rich Move objects
    print(move.uci)                  # "e2e4", "g1f3", ...

pos.make_move("e2e4")                # UCI strings or Move objects
pos.make_move("e7e5")
print(pos.fen)                       # rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPP1PPP/RNBQKBNR w KQkq e6 0 2

pos.undo_move()                      # take it back

print(pos.turn)                      # Color.BLACK
print(pos.is_checkmate)              # False

print(ChessPosition().perft(6))      # 119060324 — in about half a second

Promotions, castling and en passant just work:

pos = ChessPosition("8/4P1k1/8/8/8/8/8/4K3 w - - 0 1")
pos.make_move("e7e8q")               # promote to queen
print(pos.fen)                       # 4Q3/6k1/8/8/8/8/8/4K3 b - - 0 1

📖 API at a Glance

ChessPosition

Member Description
ChessPosition(fen) Create position from FEN — raises ValueError on invalid or illegal input
legal_moves() List of legal Move objects
make_move(move) Play a move (UCI string or Move); full move semantics
undo_move() Undo the last move
fen Current position as a complete 6-field FEN string
turn Side to move (Color.WHITE / Color.BLACK)
is_check / is_checkmate / is_stalemate / is_game_over Game state
perft(depth) Count leaf nodes at the given depth
copy() Independent copy of the position

Move

Property Description
from_square / to_square Square indices (0–63)
from_square_name / to_square_name Algebraic notation ("e2")
uci UCI notation ("e2e4", "e7e8q")
promotion PieceType for promotions, else None
Move.from_uci("e2e4") Construct from a UCI string
Legacy low-level API (click to expand)

For backward compatibility, the lower-level API remains available:

from chessmg import ChessMoveGenerator, perft, moves

gen = ChessMoveGenerator("r3k2r/8/8/8/8/8/8/R3K2R w KQkq - 0 1")
arr = gen.moves()          # numpy array of shape (n_moves, 3): [from, to, flags]
n   = perft(fen, depth)    # one-shot perft; returns 0 for illegal positions

See chessmg/README.md for details.


🏁 Performance

Perft from the starting position, single-threaded (AMD Ryzen, g++ -O2):

Depth Nodes Time Speed
5 4,865,609 < 0.1 s ~166M NPS
6 119,060,324 0.5 s ~218M NPS
7 3,195,901,860 12.9 s ~247M NPS
8 84,998,978,956 6.7 min ~213M NPS

All results match the published perft reference values exactly.

How it's fast: magic bitboards for sliding pieces, pre-computed attack tables, perfect-hash lookups, cache-friendly data layout in the C++20 core — and Cython bindings that avoid copying on the way into Python.

Reproduce it yourself:

python tests/benchmark_perft.py
python tests/test_perft_start_fen.py 7 verbose

🗂️ Project Structure

ChessMG/
├── chessmg/              # Python package
│   ├── position.py       #   High-level API (ChessPosition, Move)
│   ├── libchessmg.pyx    #   Cython bindings
│   └── libcmg/           #   C++20 engine
│       ├── libcmg.*      #     Position wrapper, game states, perft
│       ├── libsurge.*    #     Bitboard core (based on surge)
│       └── tests/        #     C++ unit tests
├── tests/                # Python test suite + benchmarks
├── examples/             # Example scripts
└── docs/                 # Technical documentation

🛠️ Development

# Editable install with dev tools (pytest, black, mypy, pytest-cov)
pip install -e ".[dev]"

# Rebuild the extension in place after C++/Cython changes
python setup.py build_ext --inplace

# Run the test suite
pytest tests/

# Script-style correctness / perft tests (also run by `make test`)
python tests/test_correctness.py verbose
python tests/test_perft_start_fen.py 6 verbose
python tests/test_set_position.py verbose

Further reading:


📄 License

MIT License — see LICENSE. Third-party attribution is in NOTICE; it is kept out of LICENSE so the file stays byte-identical to the canonical MIT text and licence scanners classify it correctly.

Acknowledgments

  • surge — the C++ bitboard engine ChessMG's core is based on

ChessMG — chess move generation at engine speed, with Python comfort.

Report an issue · Documentation

Metadata

Release files for chessmg 0.6.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 chessmg 0.6.0
File Size Uploaded
chessmg-0.6.0.tar.gz 185.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for chessmg 0.6.0
File
chessmg-0.6.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
chessmg-0.6.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
chessmg-0.6.0-cp313-cp313-macosx_11_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 11.0+ x86-64 Details
chessmg-0.6.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
chessmg-0.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
chessmg-0.6.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
chessmg-0.6.0-cp312-cp312-macosx_11_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 11.0+ x86-64 Details
chessmg-0.6.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
chessmg-0.6.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
chessmg-0.6.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
chessmg-0.6.0-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
chessmg-0.6.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
chessmg-0.6.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
chessmg-0.6.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
chessmg-0.6.0-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
chessmg-0.6.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
chessmg-0.6.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
chessmg-0.6.0-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
chessmg-0.6.0-cp39-cp39-macosx_11_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 11.0+ x86-64 Details
chessmg-0.6.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 10.0 MB

Release files / chessmg-0.6.0.tar.gz

Download URL chessmg-0.6.0.tar.gz
Size 185.6 kB
Tags Source
SHA-256 checksum
How to use checksums
132a7b7fc7cea5c489f1e3138aacd9bcba2c500d387bd56a59c5b10c437286f6
BLAKE2b-256 checksum
How to use checksums
543a22c7947c5dfce33afd36655552e94124d49b61583c99e24739ceec4f60e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL chessmg-0.6.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 711.8 kB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3aeb9574ef69fa7c3cb88075522411a2a9a8101a2943e6d778fc942a6c23613f
BLAKE2b-256 checksum
How to use checksums
588dd092ff33c5a409f60651c37c56a1483b6f23ad361fd4814ed9b22e53e275
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL chessmg-0.6.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 697.6 kB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
21af7670c2af4babe0f9bf1c87efb48c067ab7e6b0aa7db94803d0a85eb943ef
BLAKE2b-256 checksum
How to use checksums
f27748e43c0c4031357b6371ecbd7563d80bfcf9b1def230d9f701cc44147770
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp313-cp313-macosx_11_0_x86_64.whl

Download URL chessmg-0.6.0-cp313-cp313-macosx_11_0_x86_64.whl
Size 280.6 kB
Tags CPython 3.13 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
2c3958225cc829042c467125e7ebd15659cf9df10c454a41fc0961d402388bef
BLAKE2b-256 checksum
How to use checksums
f0b39efc420d7365d6e968b5e01e1e3cf04fb07ba3f3669c82407c628b2bc84a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL chessmg-0.6.0-cp313-cp313-macosx_11_0_arm64.whl
Size 277.8 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e56609d06b86e3d732adff89b1e696fc1f4aa1ca2b7714fc0efdcf29169f3b40
BLAKE2b-256 checksum
How to use checksums
85178f1db769d82bd3763ead853de96032684b155a6ffcd5a72b9a7c4ede225e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL chessmg-0.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 713.4 kB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
efec9174854b873e4fe6009c6165e9bb9c5e5586810699bcf03abce0a3ec6d10
BLAKE2b-256 checksum
How to use checksums
a7353d760869b749d5b66ea8d4095686b14b3ea69ada54f73d2be9610ae71ea4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL chessmg-0.6.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 699.8 kB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3c3f230fae38b443cc8cf13d86e30414a9b1451f62217f4e7ecf4f347262c36e
BLAKE2b-256 checksum
How to use checksums
ec1cba1d4aa815fcdbc5cfd2469cb4a8df7e95a4a2e407a11256db5117e65409
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp312-cp312-macosx_11_0_x86_64.whl

Download URL chessmg-0.6.0-cp312-cp312-macosx_11_0_x86_64.whl
Size 281.0 kB
Tags CPython 3.12 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
6068556f3617a1609bf69c53ef8e28a6d4cac64e1eb09b20b8ced6bbaa3fd5b9
BLAKE2b-256 checksum
How to use checksums
848686b3aa3bf29dd75881f280033796079e3618b819174b7e4ee74f3fed407d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL chessmg-0.6.0-cp312-cp312-macosx_11_0_arm64.whl
Size 278.8 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ecfae4baaba8ed68fcb2985b0b3ef4f13726a7b130e1fdb2ddc3a6a4629e7c1d
BLAKE2b-256 checksum
How to use checksums
cf0e05d9d3d481e1b2f9b11c38df25214316874ec24f00c77250d5ca048e0f3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL chessmg-0.6.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 723.2 kB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
59325f401390cacfe48d70a29aa42a0ebdde3adeb93e04e2158ce9e3dec093fc
BLAKE2b-256 checksum
How to use checksums
c7ecf1ffcc76bc16f97c77da8acfe8beec428ce0bf448d79f3caed9e7fc4b10f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL chessmg-0.6.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 712.9 kB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2ea40601d2446ee9f58b2694ebb5bbe6e03db566f07fd019f257eb9733a39338
BLAKE2b-256 checksum
How to use checksums
afe60e3a74ba48c237a2ed1b3a96bf837412965dff4ae1055ae3b1907e255eff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp311-cp311-macosx_11_0_x86_64.whl

Download URL chessmg-0.6.0-cp311-cp311-macosx_11_0_x86_64.whl
Size 283.8 kB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
647f6faa447278c2e3fd7023b36318b5cfc0415e17b8cf5646d34760d9b29285
BLAKE2b-256 checksum
How to use checksums
4f79add90521d87941c49c45e759171a2bbaabe441300e59a2a4e8a8644dd84e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL chessmg-0.6.0-cp311-cp311-macosx_11_0_arm64.whl
Size 278.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7d11dd66b016c223b9cf75138162c54fe8cb07712fc98e0babfb65a70938784d
BLAKE2b-256 checksum
How to use checksums
fc436413fd46f8572d5946eb6dbe585635035cf700b2d60b7550feccdf3eb851
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL chessmg-0.6.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 697.3 kB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a2c686af3ca620446a51dd96fb699a9a3439cf72a1ee8cb6b3595dfae411d598
BLAKE2b-256 checksum
How to use checksums
e0ba7706879695f6025613cc9d0f7e4984ce1f0ff865eeebc01e24172620188a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL chessmg-0.6.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 688.1 kB
Tags CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0be8ed4e2261698dcf5d943bbd6ca30ea1aa2dec6414d1d8a7904a8316e41748
BLAKE2b-256 checksum
How to use checksums
c95f689b5f216552fb4fa5b8e2ef2d300b45fe61b5fc35f08947431647b07a51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp310-cp310-macosx_11_0_x86_64.whl

Download URL chessmg-0.6.0-cp310-cp310-macosx_11_0_x86_64.whl
Size 284.1 kB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
15d32ea841d240d0768aab973b37030c1f4a827a9a9c4c2d5559ada74eb9804c
BLAKE2b-256 checksum
How to use checksums
0ee5900450ee39293a43f80896636e7f3d4784350ce6a84d960d2d5cb92dde75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL chessmg-0.6.0-cp310-cp310-macosx_11_0_arm64.whl
Size 278.4 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
25be4d856f4ad6292a6d5211cbd3ee853ed6435f339e7b46d8b0fb8a72f45890
BLAKE2b-256 checksum
How to use checksums
122a502d1fa2f5c316df72018e51fdd0127c6816fed3d068f89ab024be62a4e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL chessmg-0.6.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 695.8 kB
Tags CPython 3.9 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c5a762ee6de880e7eb8067c9732f6b7ff62c0aca83cb891fb8c9a99180138e1c
BLAKE2b-256 checksum
How to use checksums
a791e1d8ba43db52eda174eb410c55aa72e0a47c372764e6dacf6f458e206eb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL chessmg-0.6.0-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 685.3 kB
Tags CPython 3.9 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
15d8c1370b8549d46358534b6a0aa0a4a1767db6320673a4ccf0ecc62935544b
BLAKE2b-256 checksum
How to use checksums
7c6f42a8748e95d73a63f63d445d2656d67b09b3c48da83750546c0e0e0caffe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp39-cp39-macosx_11_0_x86_64.whl

Download URL chessmg-0.6.0-cp39-cp39-macosx_11_0_x86_64.whl
Size 284.5 kB
Tags CPython 3.9 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
5e9345f3b54a5f253e3e72d1d4efe97afa5bbe947a00963f0f02689b759e5ff9
BLAKE2b-256 checksum
How to use checksums
4d399679ba81455eb2490de1d8aaac6003d6b45ceb5b7070dbcf6e0673d44bd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / chessmg-0.6.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL chessmg-0.6.0-cp39-cp39-macosx_11_0_arm64.whl
Size 278.9 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c16cf14552a50968f87639b703e7e5f1ae636839097e4b761703aa890860c44f
BLAKE2b-256 checksum
How to use checksums
2ede7090b4a3967743e2bb68bc8b137ece97ec95de8222e7e2d13853250b0b44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.0 This release

21 release files

0.5.1

21 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