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 LICENCE for details.

Acknowledgments

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

ChessMGchess move generation at engine speed, with Python comfort.

Report an issue · Documentation

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chessmg-0.5.1.tar.gz (185.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

chessmg-0.5.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (710.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

chessmg-0.5.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (696.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

chessmg-0.5.1-cp313-cp313-macosx_11_0_x86_64.whl (279.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

chessmg-0.5.1-cp313-cp313-macosx_11_0_arm64.whl (276.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

chessmg-0.5.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (712.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

chessmg-0.5.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (698.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

chessmg-0.5.1-cp312-cp312-macosx_11_0_x86_64.whl (280.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

chessmg-0.5.1-cp312-cp312-macosx_11_0_arm64.whl (278.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

chessmg-0.5.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (722.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

chessmg-0.5.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (709.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

chessmg-0.5.1-cp311-cp311-macosx_11_0_x86_64.whl (283.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

chessmg-0.5.1-cp311-cp311-macosx_11_0_arm64.whl (277.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

chessmg-0.5.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (696.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

chessmg-0.5.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (687.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

chessmg-0.5.1-cp310-cp310-macosx_11_0_x86_64.whl (283.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

chessmg-0.5.1-cp310-cp310-macosx_11_0_arm64.whl (277.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

chessmg-0.5.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (694.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

chessmg-0.5.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (684.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

chessmg-0.5.1-cp39-cp39-macosx_11_0_x86_64.whl (283.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

chessmg-0.5.1-cp39-cp39-macosx_11_0_arm64.whl (278.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file chessmg-0.5.1.tar.gz.

File metadata

  • Download URL: chessmg-0.5.1.tar.gz
  • Upload date:
  • Size: 185.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for chessmg-0.5.1.tar.gz
Algorithm Hash digest
SHA256 380a93bf4dd6ab1336578adbca129d2b1ec0eef4ff864eed76097f077c3106d8
MD5 84fb1286fc4ef3fa836bca734170f9ef
BLAKE2b-256 a71a5029141e88fae220158b4154316370cd745cfe65caa0d52f393972c459ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1.tar.gz:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0763300411bb4fdaec54ebbeaad3766dd9d9861aa66c7e0ced10b1b9e42f82ea
MD5 e3a7efab84cbeacb2dd893988cf41550
BLAKE2b-256 661c4af5f70f826b7f3bb888e2e2fd5f12b03b09b89c6c9695cbd9f780f99982

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 be6301e454847c9b369c835fc877077b035a654f72c34ef8421788b10b6164fb
MD5 08e30d0ea7112db56070c96746721339
BLAKE2b-256 266f9e5575ff2cc7e6c07ac4a180e40705d805b37a6d7a675b2c51c99f4622f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 d341a881291a217e625d65af0c213211154efc89a55e22da09b143a7abb99313
MD5 ad55f6c6823b800f75597d408b2983f8
BLAKE2b-256 73108df719aa8d7fa635714848864aa3eb1bca2c6c50bd2162dcf21cca4ebf53

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp313-cp313-macosx_11_0_x86_64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04544b55ab21bae19a4884fac0bf47d3de6ad85ca3359b83bd9d658a5b8dd439
MD5 9c95921a692690bd6c7f2f6c5ba9f97c
BLAKE2b-256 1a09d6eb4ad349de08b4d076d7a60ea33f09936e6603c70c1fab7e9837507c89

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6282077a6cf1e92e567bdfc7e1b8f5623e9aeeeaea6cc0605cf3503fcd1aa5f5
MD5 bb84887035f8cae5c20814cb5e8ec376
BLAKE2b-256 0cd01ed6cb548aaebc7dc6d82d99aa5a348aff2aa638a0f1c1df238f1d0dea71

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a3003467927f57e8790c23f939c44881fcc3ed804965304f5011eecf8fd80603
MD5 194233b8adc6a3c4471ab7c03bdfd5af
BLAKE2b-256 fccb4bdc30cc42394c42753594ae40c13c2309cce57a816d302469385776cfa1

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 d0dbaa1a706f9e201627be6523b369ae6c36ee0def1e41d0f0b374a67682da85
MD5 12e6d00db01a3f0928f5c0d0a2fdba4b
BLAKE2b-256 83ab168fbe2984de74f3264c7a4e96b6d6fac684445234268aa1c23fbcf936e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp312-cp312-macosx_11_0_x86_64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bccc2ca0033e631c194436f66b4d94ab935b9e51e3e10c1f48c7051e9b0c2b7b
MD5 8fb3942d9b27fcac56416e48452a13d8
BLAKE2b-256 3b7ce7d6800a0e0ec00039967c6dc57869a12e027f2f65e39021af357e7da879

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 edab81227d535cceb3ccdea792d179548d8d7e373b47d4995dd068779b82b1f6
MD5 24e068983d49271d6209bf95b475911e
BLAKE2b-256 f8785e231c3a665e19eba48a17dd45bf7e0b23b2cd2397aedf8a1d728aa7d197

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8ac322ff1097990053455eae301aa7342c2e4a6a4cc2d6a05fa908d2e326afc4
MD5 2b017a85992aee6351554c3a4b02fbd1
BLAKE2b-256 a3866b694b2d4f7919b3dfc7334a49c9aec36ab6c7989b032bbdc4e86d686007

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 2818d316543382054f19264ee0c68570155952194d0ce905256d813b00133c8f
MD5 1f65c6967cbb23f42d7c9732d22f4fdc
BLAKE2b-256 a14affe6e51c530a8be5eabcaf9831ef3e67040079932f3ee93a88aeab8a75dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp311-cp311-macosx_11_0_x86_64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df4c9c02b705d48fd9e2820804cdc5eb195c880988b8915e76b7e106f26d89c2
MD5 b867b99ef7a4877adfc024f48a962a87
BLAKE2b-256 caf3f8b672ae348e0a0afddd2f9f33f2573abe14582c74c3a772033417e11b41

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0065b52ebb1614899081fef2912b675927ff555d305512dd188d8fe4b548d1d6
MD5 8f0666798f381f4b2c39095d0dbbe734
BLAKE2b-256 96dc131861dac3b5072fb46bdf68cb2f2709062a8d0fe859414b4c02e6d564ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f9ccd2fd78af55985b96a749a325be58573a762646c181140147d5f1148124db
MD5 415e07f38c6f8560072d8a7ba80c979c
BLAKE2b-256 2a4ad86351fbcd040f40ea6312b25eafa7f8ba112580955c91f5f1feb1adf74a

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9e8f584831311323cc33381844edd277c06ea4b847536f3571c5ad04b6205e65
MD5 bd40cd15ff410e02473ad02b8184186e
BLAKE2b-256 c80cfaca2c60b03a9119f33746aa972c91b4fbd7f70775028faf6ad6c99f4383

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp310-cp310-macosx_11_0_x86_64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 58d19785141e6baeba89562e1090469de1565bfe4abe3cd4b8b8cc734bb93b1b
MD5 ce0b7393d4c6fc7ee1d7ce3b0aacde12
BLAKE2b-256 2f660a702a662fb72a805de79f5f8140326ae8f50944a9baeb0c80a1482cd586

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0fd12372b86bd2c52657a405fee1bd84453a2ba90d4510f2efead00c181ed878
MD5 89ac50b8c68044ab7acc8d50c8ca55ad
BLAKE2b-256 d0664fd7115ecfec497e52127dd42d7e8ab5469b6695440bdd91cbc08ad8127e

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bacd5b433628795b7207beb33169a79bcad23e466c89cc4d1f45b2234a0c2c74
MD5 a0742aa6f59bf69282a631afe5dc2891
BLAKE2b-256 52a423e059d5f1e7c8f1b116292fc29d2c7fa7966088eafa4eb25aa3991af99d

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 329d03800b5beb49385940b69221f44abd8fdbfcaaca0675e71a44dc5f3a9cfd
MD5 50b6d28f252fa2e050d0d17328f0f00b
BLAKE2b-256 b323f13c2a556262b73d91332ba55aa6bc83e1bcd3bf2ecfcf6c9406c562f300

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp39-cp39-macosx_11_0_x86_64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chessmg-0.5.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chessmg-0.5.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3f75dcdb140fdf3f1f86d00ead061eb3472d8a9fd162c5869f352906bf83bc8c
MD5 44c206271d2bf73121ea3710891206c8
BLAKE2b-256 29d6bed1910d157f9556f39cca5b35f815f8fe19c9e592ffd220382727a6b153

See more details on using hashes here.

Provenance

The following attestation bundles were made for chessmg-0.5.1-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: wheels.yml on osick/ChessMG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.6.0

21 files

This release

0.5.1 This release

21 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