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.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.6.0-cp313-cp313-win_amd64.whl (541.7 kB view details)

Uploaded CPython 3.13Windows x86-64

qector_decoder_v3-0.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (640.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.6.0-cp313-cp313-macosx_11_0_arm64.whl (568.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

qector_decoder_v3-0.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (640.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

qector_decoder_v3-0.6.0-cp312-cp312-macosx_11_0_arm64.whl (568.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

qector_decoder_v3-0.6.0-cp311-cp311-win_amd64.whl (541.6 kB view details)

Uploaded CPython 3.11Windows x86-64

qector_decoder_v3-0.6.0-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.6.0-cp311-cp311-macosx_11_0_arm64.whl (573.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

qector_decoder_v3-0.6.0-cp310-cp310-win_amd64.whl (541.9 kB view details)

Uploaded CPython 3.10Windows x86-64

qector_decoder_v3-0.6.0-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.6.0-cp310-cp310-macosx_11_0_arm64.whl (573.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

qector_decoder_v3-0.6.0-cp39-cp39-win_amd64.whl (543.2 kB view details)

Uploaded CPython 3.9Windows x86-64

qector_decoder_v3-0.6.0-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.6.0-cp39-cp39-macosx_11_0_arm64.whl (574.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5817d484167e0cd50cce3935ffacc9a87855b335580001d9f7d46e505cfa719b
MD5 5c7b5c866ce09c122e1be624da9a7ecc
BLAKE2b-256 f60343bc506976fee4f85de8ba7ff0f32ada30db065c300cfc7411e2611d0a50

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e8e690b81b9e76f1022ce505878f63765b9abf355b5d49ea934e343136dade0d
MD5 e53ba3852a2debb91296a57bd8a50685
BLAKE2b-256 1139498a087c63936e2a7fea2b1e2eec161f2e36c93c38e72da36b76d4882094

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05c4b28f7ccc03cf7e76e9a87ec46efae6ff69e4c9687094e2983f175e2a1921
MD5 7670ca63153d4ab9dde0e1fad6c2279c
BLAKE2b-256 a8b18097d838b527ec2a676ea30ac29b258b65a6f90b184e120683eb132d9e2b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8a84cdf57977757038e3d3fbd9417cbb533939e7e433487db4dc8e15489bf076
MD5 e220b76a30396be2ce79504ac05ac334
BLAKE2b-256 0f77e35bec7041eb14179a421405b9d11249a0a348e18a86a787daef21a7adb2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0af1c8ce1d357e89e9d8b75c450088679059d7a39a1c736a76a51c587086a6c1
MD5 4be4f4f997770457090969c80d290c08
BLAKE2b-256 dcabed35e07a6cf5eb65b9854ebb39e5f19778ab4e90bdad12e91ca5574d8c6c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ea9f2de0e596151d4a58ec655760d535f6807a0f3191fc5a922efb1f60fbcee
MD5 a2b56bb920167e8fc04cc4761d0ecaf8
BLAKE2b-256 b6b3e5bbf760062acc8f055a2870d65d05d293b6cad5a9604bd89979499ed077

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d14109a31aac389d07f8f1a8933baf592f02fd0b6f9983e76764b42d20f9dcd3
MD5 cef79769a104158f92dd9365d14883d0
BLAKE2b-256 519b384ae4147c354ff14d9099cd8e13b38c8621c640761b1a6fe5c6e153cb4e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 30c4a404eedd560a29ee185b05cf82780eb719ee24558da23b2d5a2c4a459cc8
MD5 0b4dd533bf933b74e08625a471e3554c
BLAKE2b-256 9557c7e22809c604249f9721355181c6df90e20f6ddb44d7661ff17cf4eecdc7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b7fa7a388eebb6d671a7765b8feec7ba6b80930ee091489a62da0372ea2f6404
MD5 69b8a9bc16b5ed1e1243346de2f53207
BLAKE2b-256 1881d0d8509719e26caa23d287b2d28d80d27f2b85f61721193c49bd14188660

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8ca5730a7c693041a6b6920fe5f2672a8d76633e372a10373da56ff7fdac2766
MD5 2291c65214cc50481ed03f048616d612
BLAKE2b-256 aa8c2bc5d1fb1af4ca15f87fe0af6bc5251acfb7af0c9b9cd2c41ae66ef4634e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a94ce8b5ec0a1e6981cde9d394b104846697edccdd453b7af700c934f4b87275
MD5 b9a1bc7c8c1c375d6ca485568f94108e
BLAKE2b-256 513d69a421cfee4f36ec3bb5fb4b160742206201e96b47e4ad762baf153a98fa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de809c832b7d02435e44c1cdb845622c244571a5179e9c6e8dfc9e5eb3730aac
MD5 53a8994228657ae49e61f8ebbbf9fcc7
BLAKE2b-256 19b1ec94ad04bf2954235cbda33ccddbc4ac2555f3991e030bb9abc40b1c9c60

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8b3d7d2000b9203d32be3449ec9f5c0a270d02326afe7cfc2b2c086a3a30875f
MD5 34158de1f32fe365dbc5c5389dd4caa1
BLAKE2b-256 ac77eca3ec7f81e518f4f7478b8c78da5e7ec43e3f20a12ca7897a6b8dc8ee12

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0582520f7c86c7f0e1effb50ca17b1dbedb8a37e57a15bd9f2f88269e8114dd4
MD5 c082daf9fb50f52e0a3e9805614019fc
BLAKE2b-256 64d34b20ef8be0f46562c2ac7165f74eef86db21ebf9b030cbb24b5724c63ed2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for qector_decoder_v3-0.6.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d5716424a4f02ba9ec8c976d240b4e4405e117b3bfbcc2b34a5b2672eca7275
MD5 27bad7c22d06d81cc430ca6d70cbdb48
BLAKE2b-256 e1768170ca6d7c425bd1dc4617efc9cb4314b682d14041a49a51e44fc82293b0

See more details on using hashes here.

Provenance

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