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.2},
  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.2-cp313-cp313-win_amd64.whl (542.7 kB view details)

Uploaded CPython 3.13Windows x86-64

qector_decoder_v3-0.6.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (641.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.6.2-cp313-cp313-macosx_11_0_arm64.whl (569.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

qector_decoder_v3-0.6.2-cp312-cp312-win_amd64.whl (542.5 kB view details)

Uploaded CPython 3.12Windows x86-64

qector_decoder_v3-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (641.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.6.2-cp312-cp312-macosx_11_0_arm64.whl (569.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

qector_decoder_v3-0.6.2-cp311-cp311-win_amd64.whl (542.2 kB view details)

Uploaded CPython 3.11Windows x86-64

qector_decoder_v3-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (641.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.6.2-cp311-cp311-macosx_11_0_arm64.whl (574.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

qector_decoder_v3-0.6.2-cp310-cp310-win_amd64.whl (542.4 kB view details)

Uploaded CPython 3.10Windows x86-64

qector_decoder_v3-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (641.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.6.2-cp310-cp310-macosx_11_0_arm64.whl (574.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

qector_decoder_v3-0.6.2-cp39-cp39-win_amd64.whl (543.6 kB view details)

Uploaded CPython 3.9Windows x86-64

qector_decoder_v3-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (642.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.6.2-cp39-cp39-macosx_11_0_arm64.whl (575.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8c569b6c77daf4eb606135895038ad388f68f138fbfc14cbd7b677ae45600863
MD5 7c522a4350224301c435714a6bab3e1a
BLAKE2b-256 77dc024680e741b7490b20eec5200024ae2ddd21f5fec167796108007fcef743

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fed8537afd7cd1093aecc63a59aa0e97527ad043d18346d0a273021a1541da39
MD5 a1be00db9eba3b4a823c1deb8883bd9d
BLAKE2b-256 3d590731e36bcf25447bf6b74dd63a5da57559ad8cc41e287cfc986e33b8316f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 905fb75aeed0a3d22e42043f42be1b92707609d5f3eb823211ec555b7a009202
MD5 596482a2054f15279c1fdf7712d60514
BLAKE2b-256 47a3f7b67d160eff09b589553cb2d492f559fa8078c5a596e94343be5d297cbb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 efe0235c80c9f4471cb817f038a2a3431b3dd0a3eb7d237e15ff7749b482ed3a
MD5 e8b0c52ef0c8f65beb7a2f7ed9d4179b
BLAKE2b-256 326d928ffcf6314fdc3e64d9545d9991d29d6bb54c4ddc7fdc9c8a892eba451f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c842b642b9231f37d005e994f0b2c098257a612ef2a2ef7eea997d5b2da8dc14
MD5 38683077ca28cba6fe3485a04944c3ce
BLAKE2b-256 fbb311e7fcea207c9be6764b1bf6c94fad337b634ad88cec15b766837f9504af

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 63e1ae709a833cebae327f3a2c33bbc0d37b777eb1b3a141126e6916c5d0fbf9
MD5 31a72370487eca23436292d9fc3e1f18
BLAKE2b-256 81bc44653aa4c5e841071cf4c3d04805e4204ad0aa1ed8a0f64d7453fb359389

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ab9cda7472d92243f020079713fa0985e4b95279e6bb6aa646ff67d19e62360a
MD5 94a429a54b5dc064632125acdec0bb64
BLAKE2b-256 9592117a0794f3c1bdf49a198d9479b7eab2e2c5441f802c723cae740840e39c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b92d69ae366c9c9e84a7920e31ff0f909e728a9bd20f12716dcc2b1d9cf0559
MD5 d5c13344ba73af2cdef9f94bd5104a79
BLAKE2b-256 717afdd3ccf9b9d517ad8fd4e1171452b6526a309f421468a1c45c4c6e3a6009

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fc662f8ffe2c401d5f0a596e3a87ec8399925fb4507975f3ec04304ee1369796
MD5 2630dea63d26fa3190788f2b32b8288a
BLAKE2b-256 8473fece98425fcd145d1b42abdaf34d8c8d80d6ea7db5888b9828531172378c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 132d003375223ccd5909de8b783753511e7b52cea21c2fad9ad0d1a1665f2d63
MD5 0ecff66bc92f51c0a7411779c7e13f6e
BLAKE2b-256 a7e8c37945b3bdd2dbc890a3e0b8683a380870aad1be421f1565fb6e0a1139d9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c737c73bbc8d25fbd790da76781b5f4c6b039e186cab994bb7ccec51369ece17
MD5 90babe320c1b295d0d35d26ec4869f3b
BLAKE2b-256 bb41e7028eb9e83b486f613e3555324b3a2ebe3447e78ea1e6747e140267a42a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9c37b35634af9e13e43443c82f030342d6be3f8ff8af43f2b989d1a9160eedd0
MD5 04b85d483ff6de79e5fa98218d834356
BLAKE2b-256 c4a65b216b4396518352b7c8b20f911f5a3537e793509058819c83fcf6d578b8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 553a6d5c888a1730652f03d29ecda658acc23da8d3711927806c769d3a7448eb
MD5 fdce449c64ebcd1f1bbc391281f22594
BLAKE2b-256 f84ae983d33597e244de4891ead8ff77a43a9a32b1002aa094a55a3ae8285d76

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e2b4b7c24f29e2ae9560de64cdccb732090f4005f2a31067dac95874f0050e9d
MD5 2f22b1f44afe58ef33594d8939797e90
BLAKE2b-256 8c81ec79221624d9bd90cc104bd0b9567b5cb23ef9db30315132e0ab0402a070

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 68d7017a6e8fc98f25dfdc782a6fb8f01835aa133655236a9efbda3dfff7887d
MD5 4119a286857d560f927aa1217c51f0d5
BLAKE2b-256 16acc70d90ec20e7ddf99aef5f9c7448783cd38de5ae4c37939fe6cfb753f6a0

See more details on using hashes here.

Provenance

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