Skip to main content

Source-available Rust/Python QEC R&D platform with PyMatching-compatible validation, belief-matching, BP-OSD/qLDPC workflows, CPU/GPU batch decoding, and artifact-backed 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
PyPI: https://pypi.org/project/qector-decoder-v3/
Commercial licensing: https://www.qector.store


Installation

Recommended command:

pip install qector-decoder-v3

Verify the install:

python -c "from qector_decoder_v3 import UnionFindDecoder, BlossomDecoder; print('QECTOR OK')"

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]"

Supported public wheels

QECTOR v0.5.x public releases target standard CPython wheels for:

Platform Wheel status
Linux x86_64 Published
Windows x64 Published
macOS arm64 / Apple Silicon Published
macOS Intel x86_64 Not published in v0.5.x public CI
CPython free-threaded builds such as cp313t Not published in v0.5.x

Supported Python classifiers are standard CPython 3.9 to 3.13.

Windows note: do not force py -m pip unless you have checked which interpreter the Windows launcher selected. If py selects a free-threaded interpreter such as python3.13t.exe, pip may fall back to a source build and fail because the public repository does not ship the proprietary Rust core. Use the standard active Python environment instead:

pip install qector-decoder-v3
python -c "from qector_decoder_v3 import UnionFindDecoder, BlossomDecoder; print('QECTOR OK')"

Check your Python launcher targets with:

py -0p

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.

Website and 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.0},
  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.1-cp313-cp313-win_amd64.whl (510.8 kB view details)

Uploaded CPython 3.13Windows x86-64

qector_decoder_v3-0.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (609.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.5.1-cp313-cp313-macosx_11_0_arm64.whl (538.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

qector_decoder_v3-0.5.1-cp312-cp312-win_amd64.whl (510.5 kB view details)

Uploaded CPython 3.12Windows x86-64

qector_decoder_v3-0.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (609.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.5.1-cp312-cp312-macosx_11_0_arm64.whl (538.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

qector_decoder_v3-0.5.1-cp311-cp311-win_amd64.whl (510.3 kB view details)

Uploaded CPython 3.11Windows x86-64

qector_decoder_v3-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (609.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.5.1-cp311-cp311-macosx_11_0_arm64.whl (542.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

qector_decoder_v3-0.5.1-cp310-cp310-win_amd64.whl (510.6 kB view details)

Uploaded CPython 3.10Windows x86-64

qector_decoder_v3-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (610.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.5.1-cp310-cp310-macosx_11_0_arm64.whl (543.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

qector_decoder_v3-0.5.1-cp39-cp39-win_amd64.whl (511.7 kB view details)

Uploaded CPython 3.9Windows x86-64

qector_decoder_v3-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (611.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.5.1-cp39-cp39-macosx_11_0_arm64.whl (544.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 71fd992594c2313ce3924e9c5e172e486e72d4ebb258cffec03669bd69d98676
MD5 4fcdcac29cc9de146081272085f383d9
BLAKE2b-256 54d419a6bf7f79064232ba77fc943cc54e9508579726e5c1227522ac63371bf1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ba261ebdd28cf2ce60f27751c073e8e0fad03ab7dcf36e5c3bb2f15e977329bd
MD5 4a66ca35f93c6409e54467fc21147a0b
BLAKE2b-256 320bbb09579324678d4e6a26214e8493334b8bcbd4b0ef7282bc18af4b11d577

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bdf1418aaf4220095a10801a2ed4d10cab769a09ec85d9134ba4b76172e093b2
MD5 5ddd6e01ff52f0dca91879725d93a1e5
BLAKE2b-256 8d20fd32371e21a7b65bb82149ac8f198b85218c5b6e67dbf1fc9d21c8be036e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fbdca8db77fa4d7bd4678bed8e31c841cb2d1d0d9381a57b333a73c115ceb76c
MD5 54e115ce37bc6f88c93e05738bb12768
BLAKE2b-256 7fc5383dd0e2af9d288ba151fa4683071040b4e150210e42b86afbc8397f1f91

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a5e5de7119fb2c52e3073e656660a0a3749d4c9f337db9312dbc2dab253b54ab
MD5 9baa572cd3435b345e7bc60d30b88e29
BLAKE2b-256 15ac9f79e3b0f9cb85d45055f2e05355ea528935bebfe1d9b069caa710a4931d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc20f8b459f22c917085901db48220f768c38b695b6f9aaf23b8f254d4620d6e
MD5 7995d449b1aceea1771e6c689537bc4e
BLAKE2b-256 e7515514f038098da28fba1efd5f5755e2195e821066766649b56956408a29e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 71753e8ef36f38865de65be575c995cd4cd1e0090c6ce731bcb1ba6ff68cff91
MD5 b405080e4ffbdf59611b1adb5dad4f1f
BLAKE2b-256 92c2b5103697beca966e97288ef2478c335880182e9641a25dc8e8857164c907

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8a76987e3f1c936193928b5bb1895c1bb516952adbf3614a9ec0b903cd15085c
MD5 00aa77427dd12512d9c201a651bca919
BLAKE2b-256 5c977532b0d7071805f4ca6bc79c4bf3d224426262df839747b96adf7fc62b52

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 540fb75951c312542c5fbee5c20925c35577455daad92dc004012047ac5f102e
MD5 e0bd52600b27dd7a481d1bbd9dd5ba30
BLAKE2b-256 960ed39e548035b90bea32269091ec7303f556e49d58626c9cb870c72e1195b7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 93a55ceb364da364eea2f4b19154cb51c11b71dcef276d337eb201ebfc4ac732
MD5 93dd3a248bc665e03573d46a60ce5fe5
BLAKE2b-256 07ba745ed71b2b44c10eadc5d802d8b112dfd4488c132d3a48430a9e3db2e969

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 099c1da82f3a2967c6636e11d55647399b9eff6061794cad7deab011681dfc00
MD5 733fe2213d4ee40fea88910c967590ae
BLAKE2b-256 fa265296c59f2d56067d4a1e0857bf00e765955fab75b10b185f009e9b67f821

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb435887dbfcdc2de7dccf8d6a6b6d34abe4f84da3a8dfac32f8e7e14fb2c6e8
MD5 d917bbab42fda719f4aa02f529db0a42
BLAKE2b-256 6a1e391b7b4806250dc9c38fd22d703decba426af0a35b562959b1186c55136f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c67d27123aabc7746215f27aee921d563ec765a39d5a1d41c129a78c4307ff54
MD5 a99d4d86f9f51772077ebb53e8acde2f
BLAKE2b-256 b134cbfac2d3fd541e59fb5ae22f82a5ae2941b76f8bd24ccee6e9d0ec73c865

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fcb570ebeb468dd2a7050890b81f6b5908a56970d3c644a8d4900089032023e8
MD5 78ff20d8071be95dfe51e60eedcd01fd
BLAKE2b-256 3c907b66add04007ad66acba2738fc978af1039cfdcf1c12532efae699d12baf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c8c8d48628b6f43f42030e1a940c6be28a04f5f288c6a376a20e71671863b13c
MD5 3db48e22c3fb803eed3e4470a7ab5fa7
BLAKE2b-256 187d4bd8248236b728dcaa9d08585c989fa35e0fbf70b46455523b884f21d528

See more details on using hashes here.

Provenance

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