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 from_stim_detector_error_model

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

dem = circuit.detector_error_model(decompose_errors=True)
checks, n_qubits = from_stim_detector_error_model(dem)
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.6.1},
  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.6.1-cp313-cp313-win_amd64.whl (541.7 kB view details)

Uploaded CPython 3.13Windows x86-64

qector_decoder_v3-0.6.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (639.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.6.1-cp313-cp313-macosx_11_0_arm64.whl (569.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

qector_decoder_v3-0.6.1-cp312-cp312-win_amd64.whl (541.4 kB view details)

Uploaded CPython 3.12Windows x86-64

qector_decoder_v3-0.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (639.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.6.1-cp312-cp312-macosx_11_0_arm64.whl (569.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

qector_decoder_v3-0.6.1-cp311-cp311-win_amd64.whl (541.3 kB view details)

Uploaded CPython 3.11Windows x86-64

qector_decoder_v3-0.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (640.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.6.1-cp311-cp311-macosx_11_0_arm64.whl (573.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

qector_decoder_v3-0.6.1-cp310-cp310-win_amd64.whl (541.5 kB view details)

Uploaded CPython 3.10Windows x86-64

qector_decoder_v3-0.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (640.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.6.1-cp310-cp310-macosx_11_0_arm64.whl (574.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

qector_decoder_v3-0.6.1-cp39-cp39-win_amd64.whl (542.8 kB view details)

Uploaded CPython 3.9Windows x86-64

qector_decoder_v3-0.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (641.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.6.1-cp39-cp39-macosx_11_0_arm64.whl (575.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0adf62f0cafa26d17fe5f08c4c0d4decf2e20fc4e1f3e51372632f9fee67988b
MD5 fa51fc69a13be834d412e78ad28922ba
BLAKE2b-256 eb6b863ec3d5804b145b667a5f0b7d3246e521bf1750b41cbdea937e9e423ebb

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 739c9dd16c7004468bf704f6a1539e043f3e925f6226c01293d40bf4a51c3f5e
MD5 723033064ab900ae747cef1a72fc90b7
BLAKE2b-256 d7159b1e4a97cd3edd94c90589a9d6e7a939ca139a119b5783efe8b9eac453a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f23a2ce1fef7d9c07aaf51dc3476fbd3ad843ac73874ef89882a25ae02cf2618
MD5 418ee73cf57fd03dc5c7cd574097297d
BLAKE2b-256 84d3b4d0a5d903d0360541c9763fdf530e653e9462b6b8567e7cd7450f840fb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f328fd53cc74e3d64f0f5bf624339f36e45d5240122fd815d85d658c780d178e
MD5 03f6657a8eab477480cb7bae7912ffa8
BLAKE2b-256 0c67ec7506b8a066878b27aa4260a0a1ef8552a45a644b637723966b2f995519

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 223c27c5db6670c9af9e0df19368be9022e1d5499c8799c022ab5b11c1985271
MD5 c3550113357af5e31363dd183c6598a4
BLAKE2b-256 22b358d3d6091d6b5e1205a723127f90a2956021d1d49ec5d85f521a8bdbe22b

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5284a7f80f0f59e29ecc5f83fcaeda281ab1246189b39b49055fa6442d99fce4
MD5 be7870104768ffc0d22410394a1d633e
BLAKE2b-256 707ac7d52ba5de901fe3b368f7286ef344d934cbfdfa1e575df868f5f92da6a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 dac6de5d9b90c1c9f9fa32c55451f7770def098d42a0f63c42ac80ade83f1bb0
MD5 061ee3cf1473132d4816f7a348195964
BLAKE2b-256 08c998de05216aa2529eabce312252a176b901a59c18035048fc5211bf6226b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 474cab1de5b02d1ca3e590f1780cfea298262835dbdd8ec1968a1688946adc8f
MD5 8bd095e0f2810a3f39366ae8301bf2bd
BLAKE2b-256 b73d22f3479e337cec72ca24a05d634fb87180c7063ca699a6877848de9f36a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ef235483ad9c211fba77f3729acea4fbdd19d65e7f69f0e83c6374a39dfe3b8
MD5 72914782f756a102cd07dbeb7da725c7
BLAKE2b-256 af860c2c4758ac277b938ce56d980eb8b13449b4b7dc8ebc5a18d4c302b5c4cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f921f6ec225a1e545511e95b528b9381dada6e44f29f4cbfc043ec1e33bb8b1c
MD5 1cb5e85d376ceae1729288fad5a0864d
BLAKE2b-256 c2f6b80e8bc5668131e806a9c4478fa65b4d64ab76741b6972b93c10e62fc7c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69286a2321de2120156900b1f3218d30693ba2b90fcf5dae7ff617aecd09e860
MD5 e77a5e2950f61bc7fac66deb7d20549f
BLAKE2b-256 052cb3cf52fb78e05d0c0d4d0a26a1f1439486f576e275afbbb0e9d210e65ee8

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca686991f90c0b21771cc219d2d22bc940f43b23b7b657abae6a13edf038a522
MD5 b76e91e3c9e40b1c6393d491ad27737f
BLAKE2b-256 e64077f02c3b6c50e546b35c26b7e944ce12862d8cf927efde6dc1fbeb0e243f

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 91a802e7b8b521f8dae38863be9853067f5c1ccd349f19b0f8a2dc2d387a20a4
MD5 77a5ffc752d50d650dab03dd9a08f757
BLAKE2b-256 393acfa7595a5005f740a4f15a3cc1191e03f2bd71f75b6f026e5b64003496b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e3614613daf6b4333640c51bcc095274f78bc9b77beb065ba44490aa0d42d511
MD5 dc5518537cad493991f3437ff7d2a345
BLAKE2b-256 bd77bf8be297de7d9b28f6c047f7a6f25b8fc2af34c72aeba9ad63294aeacb35

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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.6.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b4bd86747938f46de33c00beef80705a1e343b06dad49ce1de34f9d91b8e05b9
MD5 953e4fca2a7eae19c206b7db12cc3a48
BLAKE2b-256 5d538907bd8cd4ef1cec578587f1f953048515a80a2a349bcdce5b3f512ed871

See more details on using hashes here.

Provenance

The following attestation bundles were made for qector_decoder_v3-0.6.1-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