Skip to main content

Source-available Rust/Python QEC R&D platform: PyMatching-compatible validation, belief-matching, BP-OSD (LDPC/qLDPC), CPU/GPU batch decoding, and artifact-hashed benchmark evidence

Project description

QECTOR Decoder v3

Source-available Rust/Python quantum error correction decoding platform.

QECTOR Decoder v3 provides a Python package backed by a native Rust extension for quantum error correction research and validation workflows. It includes PyMatching-compatible MWPM validation, Union-Find decoding, belief-matching experiments, BP-OSD/qLDPC workflows, batch decoding, and optional GPU backend checks where the release build and target machine support them.

Website: https://www.qector.store
Repository: https://github.com/GuillaumeLessard/qector-decoder
Commercial licensing: https://www.qector.store


Installation

pip install qector-decoder-v3

Supported package target for the public release workflow:

  • Python 3.9 to 3.13
  • Linux x86_64 wheels
  • Windows x64 wheels
  • macOS arm64 wheels
  • Source distribution for custom/source builds

Optional research and validation extras:

# Stim, Sinter, PyMatching, LDPC and belief-matching ecosystem
pip install "qector-decoder-v3[stim]"

# Benchmark and plotting harness
pip install "qector-decoder-v3[bench]"

# Full validation environment
pip install "qector-decoder-v3[all]"

Quick start

import numpy as np
from qector_decoder_v3 import UnionFindDecoder, BlossomDecoder

check_to_qubits = [[0, 1], [1, 2], [2, 3], [3, 4]]
n_qubits = 5
syndrome = np.array([0, 1, 0, 0], dtype=np.uint8)

fast = UnionFindDecoder(check_to_qubits, n_qubits)
print(fast.decode(syndrome))

mwpm = BlossomDecoder(check_to_qubits, n_qubits)
print(mwpm.decode(syndrome))

Batch decoding:

import numpy as np
from qector_decoder_v3 import BatchDecoder, CUDABatchDecoder

checks = [[0, 1], [1, 2], [2, 3], [3, 4]]
syndromes = np.random.randint(0, 2, size=(4096, 4), dtype=np.uint8)

cpu = BatchDecoder(checks, n_qubits=5)
corrections = cpu.parallel_batch_decode(syndromes)

if CUDABatchDecoder.is_available():
    gpu = CUDABatchDecoder(checks, n_qubits=5)
    corrections = gpu.batch_decode(syndromes)

Stim workflow:

import stim
from qector_decoder_v3 import BlossomDecoder
from qector_decoder_v3.stim_compat import stim_circuit_to_check_matrix

circuit = stim.Circuit.generated(
    "surface_code:rotated_memory_z",
    distance=5,
    rounds=5,
    after_clifford_depolarization=0.005,
)

checks, n_qubits = stim_circuit_to_check_matrix(circuit)
decoder = BlossomDecoder(checks, n_qubits)

Included decoder families

Module Primary use Status
UnionFindDecoder Fast approximate decoding Stable public API
FastUnionFindDecoder Optimized Union-Find path Stable public API
BlossomDecoder Exact MWPM / PyMatching-parity validation Stable public API
SparseBlossomDecoder Faster near-optimal matching Experimental
BeliefMatching Correlated-noise accuracy experiments Research/accuracy mode
BpOsdDecoder LDPC and qLDPC workflows Experimental
BatchDecoder / CPUBatchDecoder CPU Monte Carlo sweeps Stable public API
CUDABatchDecoder CUDA batch decoding Runtime/build dependent
OpenCLBatchDecoder OpenCL batch decoding Runtime/build dependent
stim_compat Stim circuit and DEM conversion Stable utility
sinter_compat Sinter custom decoder integration Stable utility
rest_api Local decoding service Local/partner review only

Evidence-backed positioning

QECTOR Decoder v3 is positioned as a source-available QEC R&D platform, not as a blanket replacement for every mature decoder in every workload.

The repository includes public benchmark artifacts and reproduction scripts for:

  • PyMatching-parity logical-error-rate checks on selected surface-code workloads
  • belief-matching accuracy experiments on selected workloads
  • GPU bit-identity checks against CPU output on a tested NVIDIA machine
  • native memory profiling for selected decoder paths

Important boundaries:

  • PyMatching remains faster for standard MWPM latency in the checked-in comparison artifacts.
  • Belief-matching is an accuracy/research mode and is much slower in the provided experiments.
  • GPU availability and performance depend on wheel build features, drivers, hardware, and runtime checks.
  • OpenCL support must be confirmed on the target machine or built under the appropriate licensed/custom configuration.
  • REST/API surfaces are for local experiments or controlled review unless separately hardened.

Full methodology, reproducibility notes, and benchmark artifacts are in the GitHub repository:

https://github.com/GuillaumeLessard/qector-decoder


GPU availability check

from qector_decoder_v3 import CUDABatchDecoder, OpenCLBatchDecoder

print("CUDA:", CUDABatchDecoder.is_available())
print("OpenCL:", OpenCLBatchDecoder.is_available())

Do this before making any hardware-specific performance claim.


Licensing

QECTOR Decoder v3 is source-available.

Personal, academic, educational and non-commercial research use is allowed under the repository license. Company use, funded institutional work, SaaS, hosted API deployment, OEM integration, redistribution, paid consulting, or commercial benchmarking requires a commercial license.

Commercial licensing:

https://www.qector.store

Contact:

admin@qector.store


Citation

@software{lessard2026qector,
  author  = {Guillaume Lessard},
  title   = {{QECTOR Decoder v3}: Rust/Python Quantum Error Correction Decoding Platform},
  year    = {2026},
  version = {0.5.9},
  url     = {https://www.qector.store},
  note    = {Source-available. Commercial license required for commercial use.}
}

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

qector_decoder_v3-0.5.9-cp313-cp313-win_amd64.whl (542.2 kB view details)

Uploaded CPython 3.13Windows x86-64

qector_decoder_v3-0.5.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (640.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.5.9-cp313-cp313-macosx_11_0_arm64.whl (568.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

qector_decoder_v3-0.5.9-cp312-cp312-win_amd64.whl (541.9 kB view details)

Uploaded CPython 3.12Windows x86-64

qector_decoder_v3-0.5.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (640.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.5.9-cp312-cp312-macosx_11_0_arm64.whl (568.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

qector_decoder_v3-0.5.9-cp311-cp311-win_amd64.whl (542.0 kB view details)

Uploaded CPython 3.11Windows x86-64

qector_decoder_v3-0.5.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (640.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.5.9-cp311-cp311-macosx_11_0_arm64.whl (573.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

qector_decoder_v3-0.5.9-cp310-cp310-win_amd64.whl (542.2 kB view details)

Uploaded CPython 3.10Windows x86-64

qector_decoder_v3-0.5.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (640.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.5.9-cp310-cp310-macosx_11_0_arm64.whl (573.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

qector_decoder_v3-0.5.9-cp39-cp39-win_amd64.whl (543.4 kB view details)

Uploaded CPython 3.9Windows x86-64

qector_decoder_v3-0.5.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (642.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.5.9-cp39-cp39-macosx_11_0_arm64.whl (574.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file qector_decoder_v3-0.5.9-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 de43748e1da89c64563bf32139c9c24e19a510aa039322ff6444a555403d8d43
MD5 28509ae4b90345e098b7cce3e76e59cf
BLAKE2b-256 2d7449cf77c86f2852ff6b7a94874097a7684261f6eb70a8e851064ba0d46244

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp313-cp313-win_amd64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ff49e76ace2fdc835255a070fa16542f0cf2430951dee8143ea855a377d46ab
MD5 cd64ed0f806128e0e7ee4dfdd993b43f
BLAKE2b-256 e89e5f4ae1daf81994f974ffd193accc10ec37b9f730b53c5a20ddd1e2330367

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 82eb5a695f1d5ac68a748db8e719ac1e2901896b4546d96140ed87384b3f44cf
MD5 ccaf38629551bd4322f3317a035a8353
BLAKE2b-256 5a7ad5b143ff8400b0bdd053ff9cdb7ce00c315e6a30840d894303e55b048910

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2e9f73c8f1a4b8bedf4723be4562b5298f5249fca62e0527869afa0f43cf071e
MD5 ec73b258d7b8a2db55760ca54d067ce6
BLAKE2b-256 beedc15f8e64246e625e6bdaaa56fc0092e94f6c7704e24341110b8c482d3f79

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp312-cp312-win_amd64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b41e5986b878d3d84ba8267604524044d7ef0fa720a391fd9cdc367e77e38c0c
MD5 d09b014b02e26913b39bfc9333ab1ab5
BLAKE2b-256 46bb994ec65a083bcc559bbcff266392d692a7313b3e41bd85066cf8c925621e

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5e30ff8e86e7115c09793f1f6cc778e11131c6ac3daa6161ab42a3d2fc7cf2a
MD5 88d5928c41232c23d73beee9d6260073
BLAKE2b-256 8e5e71ab4a7d8b03e4780b0c785104ad23a460e1137dfbdef380a4cc81470d97

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8ed8c074643718a98768c68f4301bead51add4a27d5441a1c7c9aa1dc6df9289
MD5 07c75dc389c5ba206c3a05f987e15cc1
BLAKE2b-256 94fea958d3a88487d720d33f9bc6c64a64003e4dda33c144c76c81e746f21621

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp311-cp311-win_amd64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1590ea3c03a4f4f5e425af4b4fe79f2fb7579bfd46c40d7e918c737e25f07371
MD5 b3d51dcd57012c8103796e51932cf887
BLAKE2b-256 4bd5b01df58e26a142c2f9cdecb11b8b7b216a69d615840a6419ad100485468a

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc216b3dbc427c609cc7f1fa4c7ee5f29fd89fb2449832b1a346305184946a8a
MD5 e939e6264f111e5d620322dd19ee445a
BLAKE2b-256 0bd8cee50ebf1ff06429092696070f71ea2db821b1678c19e7499d765a0399d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0e84c9a2018ee2c08cbb02e2042af99217bb1655a1b86cdf0337c5eadfa80a29
MD5 411e427a6d1acabea33f8312523e818e
BLAKE2b-256 676d3c4258dd2c8b1cda90833372af25b33ad0d28cdc5752f3707397d4d8e722

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp310-cp310-win_amd64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d5ce66220d9f294621cce051dbc92924db1db5d5c3d76be1f2bb5dcade9c8a4
MD5 d22464b992624326725485dcda0420de
BLAKE2b-256 c30f7a9dcb4e9454fe9493ca2241eda45c9c75305b73ce7d6c535ce7e13e7f88

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3b8a6dba7ef4a7c4ce27a2abc8fbb640655611b7f04e2d971f02c8c4f30a649a
MD5 d6808652c74c8b9c2f5f6050a2d3eeb2
BLAKE2b-256 33cfb6e51c036aaf650ba563a76bea56bbae106d89dd674c02fba9095a796798

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7a21216ddc94fcbbc802eb11aa3a3cbf43c928e8ab98dfe2f34a34791e3fff5a
MD5 84b6f395cfccb071512e9835dc3a3ec9
BLAKE2b-256 e4f09cac7f9e294e26707ed46c3814e9d1f226d792b64a8dfb126d866dd1536a

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp39-cp39-win_amd64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5dda4bffbdd0141a204a7bfe4ba0b7a984569a93e8bf82d28dbac59abaff156
MD5 03899c6cdf82909d12cd5e97d1a93a4f
BLAKE2b-256 4c3bdd5201d1a033f6c56622f038ce1235e59e12c96d735646c8dd869ded5ed9

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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

File details

Details for the file qector_decoder_v3-0.5.9-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.9-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3fc6e65d1ca57b4302836f39eb1f4bb906480190a9a7953eef938f1c126169b8
MD5 d9f577fad5602e070f4cd6b8f5b0ef9c
BLAKE2b-256 4c63e6b0f963125716922c0d0a310aec6a0286d61b19ef6d03898214f4964a20

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.5.9-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: CI.yml on GuillaumeLessard/qector-decoder

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