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

Uploaded CPython 3.13Windows x86-64

qector_decoder_v3-0.5.8-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.8-cp313-cp313-macosx_11_0_arm64.whl (569.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

qector_decoder_v3-0.5.8-cp312-cp312-win_amd64.whl (541.0 kB view details)

Uploaded CPython 3.12Windows x86-64

qector_decoder_v3-0.5.8-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.8-cp312-cp312-macosx_11_0_arm64.whl (569.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

qector_decoder_v3-0.5.8-cp311-cp311-win_amd64.whl (541.5 kB view details)

Uploaded CPython 3.11Windows x86-64

qector_decoder_v3-0.5.8-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.8-cp311-cp311-macosx_11_0_arm64.whl (574.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

qector_decoder_v3-0.5.8-cp310-cp310-win_amd64.whl (541.7 kB view details)

Uploaded CPython 3.10Windows x86-64

qector_decoder_v3-0.5.8-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.8-cp310-cp310-macosx_11_0_arm64.whl (575.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

qector_decoder_v3-0.5.8-cp39-cp39-win_amd64.whl (543.1 kB view details)

Uploaded CPython 3.9Windows x86-64

qector_decoder_v3-0.5.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (642.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.5.8-cp39-cp39-macosx_11_0_arm64.whl (575.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a98df0aa217411cde6dd324f6f70291b4c756c19ad60daa67fd3f874b9cfb12f
MD5 796a59468269eba71ab2f95be0b20e75
BLAKE2b-256 0cbe01b1cea360dcd83dedfc2885f124d6538cb16a526ece1537bd124220e6a6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d4252ef9af7020f2b05c1bcaf16e0f155d5231ce6b89733de2c563938f2cc0b8
MD5 629e2538d76e474d62c2d596b46ba1c8
BLAKE2b-256 f1f8d9f874eec0c76647f745e27627a96daa243cc9a1ebf59d981605ec79079b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 14269246d97816f02575391b76248ac9cb5cb91b9ab05f4f14c2aa55795885f3
MD5 bc21841d813e30ab4afff7f26a73f8f9
BLAKE2b-256 1466d14c9102aa76c77d235124c041faba5ae0cd7f69aab95ba713cf88ee73e4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bf97e3cdb78a256ea4e83dc9cf68d0522fbdf547ab1ffaab902adc693d24435f
MD5 b41b5a9ff3ad7d8da05e330ab02842d1
BLAKE2b-256 c08dc86580d398a97bff7c7670150f7521ec1b4069a6e7f52c644bf93b262a56

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3a43af0396cf46a5c871703a7b555f9aa40a7a4cf7a1e91e26b1cebf9615613a
MD5 736e8b7901a0913afeb87e13c453faec
BLAKE2b-256 f932687ef28714a3ec2e5531d80a0814c3131d02e6dc78e469f39cb37f32c2f4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f1569c0216ab72197d616af20a0d019d92218aea427dbf36098d0ca3d33aed2
MD5 82a62cfb20cb634f44d8d9e450fe7a18
BLAKE2b-256 27fd0d074e5759ebc46d5641bd4cd187f5364ba28bd5069af57b9d2050e56cdd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c71aa1eeb100581e5a82b2d3869c525b32ae863d80f1089459faf361764d93a0
MD5 1ffe96ed4f7352e512873e4563b0a71f
BLAKE2b-256 cf03b7a39c4c8176ef94a999bee98b88a7eda09444da49a84148cf7b4d102481

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f9e6f3734cb47ed7e1d0d003540ac616cc436df7e7f876bce8de354adead5808
MD5 78986c062e563bac4ac9dddeffb5381a
BLAKE2b-256 d1429159342df00ec0e9a979f487dea2cb9fa909ad9dca56fa3333ddb50c67a5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c0bb5be6baf7986d6854393833f7b58ad15dfba068c059633129a44c078a51c8
MD5 775f1f7529909a1c64cf1c15a563b854
BLAKE2b-256 25bb0e896cae861ae149add5dbea1db41d3a6d6e1c2f3423f23375db0c0de1cf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 79205086dc1bc6ac96241dc8fb7652dd065b7ec1a1e2355fa7fbfe5d5eee2ff5
MD5 d0cbd389c51e4e85701d546981f907c0
BLAKE2b-256 e0f1df43280fd54b689eb8242a046d2a4129f1553ac52a3011c693382a11f4b3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e56b2685e4b9bedda5b7bb01fd3f005f731d7c137e8a33228203058ccfcd6a1
MD5 0d12260c342b9c6eac79b42304e22c24
BLAKE2b-256 fb23e9e7253f4811d8530ce8c02d42a0d01ebb392ae74262f188b48cd77fe03b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ced1177088ac401f3c001f82488e03a2b286632085db961f701920378332607
MD5 65e254d375370718ff2abe746ae45e9e
BLAKE2b-256 460dc4eddb1e607296ac7df85f27b3182ea28e4a021ec2c227639d45ba8cf2d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c8da1dbeddca52e0537439ae4db32d335f2faf7e750cb80815829c068a5b3eb0
MD5 75890764d609115b18c7775aa1a44b8d
BLAKE2b-256 f4d31e576c0d400405225fb05abb33f405d5fbdf2ff81b8686a0ee11a7d121a8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 afc99bd3c528872bc9431f74364ad2dfd3f677b4212601de4432410426ac47a6
MD5 e1c1caf5837ba087d0ef7f7ad4fb5ead
BLAKE2b-256 e04d42cbcdb93defef219335035bd6261499fc4c5b00b9296d5fdf0a66cede73

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.5.8-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d4232daf1f85823fefe941c6a3f892e1948a8e0bc28020dea2639ffe429b5b2c
MD5 a44d09cec64e190d6c174e5c77b1e801
BLAKE2b-256 2322a5918959857f79756377e0999fc82b3713815c815dce0b747dcfe6bd8e24

See more details on using hashes here.

Provenance

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