Skip to main content

Spectral lattice-fermion encoder for 2D and 4D chess (D4 / B4 symmetry, graph-Laplacian eigenbasis, 640-dim / 45 056-dim HDC)

Project description

chess_spectral (Python)

Python reference implementation of the 640-dim (2D) and 45 056-dim (4D) spectral chess encoders, sibling of the C17 port in ../src/. Use this for REPL / LLM / notebook analysis; use the C binary for batch throughput.

Install

From PyPI (recommended):

pip install chess-spectral

The base install pulls only numpy and scipy. If you need PGN ingest via chess_spectral.corpus, request the [corpus] extra to add python-chess:

pip install "chess-spectral[corpus]"

Package page: https://pypi.org/project/chess-spectral/

From source

Editable install from a local checkout:

pip install -e docs/chess-maths/chess-spectral/python/

From a git URL (pin a commit in production):

pip install "git+https://github.com/lemonforest/mlehaptics.git@COMMIT#subdirectory=docs/chess-maths/chess-spectral/python"

After install, two console scripts are on your $PATH:

chess-spectral --help            # 2D CLI (formerly `python spectral_py.py`)
chess-spectral-4d --help         # 4D CLI

Both packages also expose __version__:

>>> import chess_spectral, chess_spectral_4d
>>> chess_spectral.__version__, chess_spectral_4d.__version__
('1.1.3', '1.1.3')

In-place (no install)

The legacy workflow still works: every test and analysis script uses sys.path.insert to bootstrap off the python/ directory, so pytest docs/chess-maths/chess-spectral/python/tests/ runs without any install.

Output is byte-identical to the C CLI — the spectral csv command here produces the same bytes as the C spectral csv does on the same input file. The Python CLI (chess-spectral, entry point chess_spectral.cli:main) mirrors the C CLI subcommand-for-subcommand.

Layout

chess_spectral/
  encoder.py             # encode_640(pos) → np.ndarray(640,)
  frame.py               # v2 .spectral[z] binary I/O + transparent gzip
  csv_export.py          # dist_prev / cos_prev / energies CSV
  cli.py                 # `chess-spectral csv file.spectralz` (2D CLI)
  phase_operators/       # §11 phase-space move generator + is_check (1.2.0+)
chess_spectral_4d/
  cli.py                 # `chess-spectral-4d tables-verify --phase all`
pyproject.toml           # PEP 621 packaging metadata
tests/
  test_parity.py         # Python output == C output (5 tests)
  phase_operators/       # §11 validation suite (92 tests; 1.2.0+)

Quick start

>>> from chess_spectral import (
...     encode_640, channel_energies, read_encodings, fen_to_pos,
... )

>>> pos = fen_to_pos("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1")
>>> enc = encode_640(pos)
>>> enc.shape
(640,)

>>> channel_energies(enc)
{'A1': 0.0, 'A2': 19.845, 'B1': 45.2825, 'B2': 45.2825,
 'E': 322.57, 'F1': 88.77, 'F2': 1851.01, 'F3': 1507.65,
 'FA': 19.92, 'FD': 0.0}

# Read a whole game that was encoded by either C or Python
>>> hdr, arr = read_encodings("game.spectralz")  # transparent gzip
>>> arr.shape
(161, 640)

CLI

python spectral_py.py csv        game.spectralz -o game.csv
python spectral_py.py encode     -i game.ndjson -o game.spectralz -z
python spectral_py.py encode-fen --fen "..."   -o single.spectral
python spectral_py.py version

Phase operators (§11)

chess_spectral ships a phase-space move generator and check detector as the chess_spectral.phase_operators subpackage (added in 1.2.0). The primitives compute all moves and check relationships as modular arithmetic on a single integer per square — phi(r, c) = r·67 + c·7 mod 640 — rather than geometric coordinates. They are a drop-in equivalent to python-chess's pseudo_legal_moves + is_check, validated at 100% on the reference corpus, and compose naturally with the spectral encoder's coprime phase structure.

import chess
from chess_spectral.phase_operators import (
    occupation_aware_moves_c,   # pseudo-legal dests from a square
    available_castles,          # legal castles for side-to-move
    phasecast_is_check,         # is the mover's king attacked?
    move_leaves_king_in_check,  # would this move expose our king?
)

board = chess.Board()

# Pseudo-legal destinations for the knight on b1 (the 1,2 indexed
# from bottom-left: row 0, col 1). mover_charge is +1 for white.
dests = occupation_aware_moves_c(board, "N", 0, 1, +1)
# -> frozenset({(2, 0), (2, 2)})   (a3 and c3)

# Check detection
phasecast_is_check(board)  # False on the starting position

Validation coverage (see PHASE_OPERATOR_SUPPLEMENT.md for the full research record):

  • Empty-board pseudo-legal destinations for every piece type at every square — 416 / 416 pairs (§11.3).
  • Occupation-aware pseudo-legal moves including en passant and castling — 1153 / 1153 at n=100 positions (§11.4).
  • is_check on arbitrary pseudo-legal transitions — 3393 / 3393 (§11.5 path 1).

When to use phase operators vs python-chess

Both give you the same answers. The phase-space formulation is faster than python-chess's pseudo_legal_moves in pure Python (~7 µs/piece for the fastest solution vs ~15–20 µs for python-chess's equivalent), and slower than python-chess's bitboard is_check (phasecast_is_check runs ~138 µs vs ~22 µs for python-chess). The subpackage exists because the phase-space formulation is the substrate the §11/§12 spectral research is built on — not because it universally out-performs python-chess. If you're writing a search engine hot loop, python-chess's bitboards are the right choice. If you're doing phase-space research (similarity, partition detection, encoder composition) or need the operators as primitives in C via a future codegen port, the subpackage is the right choice.

Parity with C

The encoder uses the same tables (PAWN_ANTI_FIBER, DIAG_DEV) as the codegen that feeds the C side. Tables are rebuilt at import time from encoder_512 primitives plus the directed pawn adjacency from chess_pawn_laplacian — so both implementations can be verified from first principles.

Run the parity suite:

python tests/test_parity.py

The critical test is test_csv_matches_c_byte_for_byte — reads the C- produced .spectral file, runs the Python CSV exporter, asserts the output equals the C CSV bit-for-bit.

Why two implementations

C Python
Throughput µs/encode ms/encode
REPL / notebooks
LLM-pasteable binary code
Scipy / numpy exploration
Embeds in mobile / web
Exact numerical reference tables baked at build rebuilt from primitives

Develop new channels in Python first (faster iteration, scipy.linalg at hand, no rebuild loop). Once the math is frozen, port to C and verify parity via the test suite.

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_spectral-1.3.1.tar.gz (1.9 MB view details)

Uploaded Source

Built Distributions

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

chess_spectral-1.3.1-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

chess_spectral-1.3.1-cp314-cp314-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.14Windows x86-64

chess_spectral-1.3.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

chess_spectral-1.3.1-cp314-cp314-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

chess_spectral-1.3.1-cp313-cp313-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.13Windows x86-64

chess_spectral-1.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

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

chess_spectral-1.3.1-cp313-cp313-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

chess_spectral-1.3.1-cp312-cp312-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.12Windows x86-64

chess_spectral-1.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

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

chess_spectral-1.3.1-cp312-cp312-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

chess_spectral-1.3.1-cp311-cp311-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.11Windows x86-64

chess_spectral-1.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

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

chess_spectral-1.3.1-cp311-cp311-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

chess_spectral-1.3.1-cp310-cp310-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.10Windows x86-64

chess_spectral-1.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

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

chess_spectral-1.3.1-cp310-cp310-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file chess_spectral-1.3.1.tar.gz.

File metadata

  • Download URL: chess_spectral-1.3.1.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for chess_spectral-1.3.1.tar.gz
Algorithm Hash digest
SHA256 877f95e30006923f44547a379ceb5cc47b56893234b7e00a0c5e4cad2e2757ab
MD5 0dc303e37b5859ee29aa5b84c52410b3
BLAKE2b-256 21f3a24c852fbaf6667c987ca681a8888f4e8134178896f76cba61d603df37af

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1.tar.gz:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: chess_spectral-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for chess_spectral-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1afcbc3a77099ac7a09b1ceef4053ee41390a7993fb258fa74db08e93b4e09ce
MD5 c7e93afa5b51a3a11d6999ab58b4edf5
BLAKE2b-256 f41c225e178424c4c00cb4cfe6c5e6a445aa2b70c86858f174ca40fea943ed85

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-py3-none-any.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d9508bf587c17873aa1ff1b7564f1672b0570d51defde0f5990accd1403fb701
MD5 d7b0ab602f711db33cf443b8ab28ffab
BLAKE2b-256 9967c48468b002320687c4aab6578325d3e60997e936d8d1bacc19f37dd522ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp314-cp314-win_amd64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cd8b1fd1cd5785bb5ff0fd2d772915a530fc0dd1d5c6465cab41e7095bc5ca0c
MD5 70ee24a4c00fd58763fa526cff1e5722
BLAKE2b-256 7bef99935aed522a9a85de7fedacc1da9f2b3354212cc5beb31330d26b6dcf7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 08dbbd5d48d4106aeb7828c310d1ad0634d7248ee19f78bd5bf2d93d57c7d04e
MD5 ee7bb7fbfe4fa40c7d2a6dafb9964730
BLAKE2b-256 5a8bd638bff32ec0728a09aa85e43765b862d58c3a36b61492b8b1a27f173b8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e2cb12cf4eab52eff602e01d9521cbc92c15b1ee521079ea1ba7663ebefc4f29
MD5 447fde8e3cba20fd40ba20997fc60f3e
BLAKE2b-256 40e8e4dddc1d45cab77771ad7092c5026cecd0d82578bf169fa76f9c3406c8b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp313-cp313-win_amd64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f8f4221e6c8fcc8fc42425a2cac5eb8e09badf8d4848c5585a6d3e5f739b0ddb
MD5 e42d79496c880d1aa14ddd9bab670a65
BLAKE2b-256 5ccac7343ed05204be927d4a176ed2b61fe6df49d92629d55175d8995f53113d

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eea41b93355c4b4962cbe0dd165c75efb043689fab8f3823ffce012acfa18c11
MD5 edce4b6094f8778277e520300a60a394
BLAKE2b-256 3999d9c37bafa101204bad3b90fc06cf6457b711c11d90cf7c473d2bc9705ce4

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 229bdc7f24663c5a7faaf8ca78258fe356b5db6ffe94d2b0dc3943c883e4558c
MD5 a906bede44e19eff5a1a206f1cd41b32
BLAKE2b-256 68f24053f21b8aeabd256812dac988fecfe580fd5af934fdbf8aa3a7483784cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp312-cp312-win_amd64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fe7d296b6f1c2a01f48cff48331679c5f19192b0d38183896d8cd427bb4bcb8a
MD5 d722c1e2d8f41550f12d83d48a3bca0b
BLAKE2b-256 53792cac78361fe0140bf1c72016835eaea77767804d697d6a5df22dda037e43

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 820e3180e5e1e6f00ede37d436a7cb1dc0007ebb0e7c59d40a623dacefbf63ea
MD5 2b30e3838a17195d3943c1c131bdd3c1
BLAKE2b-256 c8f463cf42634b50fac7780568ae65b4108b7f349ecf05b8b61f9180b9aff42f

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 09b3fba83796ef72ba0fab572edbde475bb2b66130038dd5e0e44d1d2a1b4a55
MD5 16fdb5350a4ec267893434e80aa7ff14
BLAKE2b-256 fb07e838b129c573496f93a540d015890eac8d7ed5bc9caa6f226aa63f081115

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp311-cp311-win_amd64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f332c3bcf50c13436d0b7d0da8fc78afbf52eb7b19ee42a1adb1f05141b0e841
MD5 3f4ab72d92f789821f4b3fc34d53cf55
BLAKE2b-256 d879a03d77881269ab35bdbb49bb287d4d2b46e3c3c54bedcf5d1966ca60cefe

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b9f42bfeff22169de97668efaddf88df71b1d91ffc825bea89f2f5e230062603
MD5 8ed24d63f0a52475edcd72dce167f473
BLAKE2b-256 1275c5824e0e72716cc01c38cf74d3d842175ef3256d419838f76b0d3bb7491d

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c7dd552113a072c1ba50a2dfc2fd97ecc608937d7c60048e9ed1294c90e0ffc5
MD5 ca9b4cc284ad7b23a50e6ff41802e24e
BLAKE2b-256 54d401d9e3210cfeb3d0a5cbec02a59f7c1d94bf8688aee1279156fcc04e3fee

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp310-cp310-win_amd64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 def23d0f73f88ea118586f1cad3457d9d8990ad72c64e798d19971f5f92d4885
MD5 d03f707c2e1611ed38529ff0a7fa5b44
BLAKE2b-256 99f9d6f23cde22c0b071a39cbada1825107d90ca814fd25ef665823952b675ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file chess_spectral-1.3.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for chess_spectral-1.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fad1410c1e564cd7a93c669966683b2fe84565700948062219309bcc9e3f61b5
MD5 b4e0f316cc19ce4f6024946af0566fa2
BLAKE2b-256 b9ed1dfd8a32b4a2a895a6111efa0a1bb7233f16426f6cb9f6588db3ed0039e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for chess_spectral-1.3.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: chess-spectral-publish.yml on lemonforest/mlehaptics

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

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