Skip to main content

ScaLER: Scalable testing of logical error rate for quantum error correction circuits

Project description

ScaLERQEC


Our logo

Figure 1: Our logo.

ScaLERQEC is a scalable framework for estimating logical error rates (LER) of quantum error-correcting (QEC) circuits at scale. It combines an optimized C++ backend (QEPG with SIMD acceleration and OpenMP parallelism) with high-level Python interfaces for QEC experimentation, benchmarking, symbolic analysis, and Monte Carlo fault injection.

ScaLERQEC is compatible with Stim circuits, but uses a completely different approach -- stratified fault sampling with S-curve fitting -- to estimate logical error rates orders of magnitude faster than brute-force Monte Carlo.

Citation


If you use ScaLERQEC in your research, please cite our paper:

@misc{ye2026scalabletestingquantumerror,
      title={Scalable testing of quantum error correction},
      author={John Zhuoyang Ye and Jens Palsberg},
      year={2026},
      eprint={2602.04921},
      archivePrefix={arXiv},
      primaryClass={quant-ph},
      url={https://arxiv.org/abs/2602.04921},
}

Documentation


We use Sphinx to automatically generate the documents:

python -m sphinx.cmd.build -b html docs/source docs

You may visit the current documentation through the following link:

Documentation website: https://yezhuoyang.github.io/ScaLERQEC/

Installation


Option 1 -- Install via pip (recommended)

pip install scalerqec

This installs:

  • The Python package scalerqec
  • The compiled C++ QEPG backend (scalerqec.qepg) with SIMD and OpenMP support
  • All Python modules for LER calculation, sampling, symbolic analysis, etc.

You can then immediately import all modules in Python:

import scalerqec
import scalerqec.qepg

Option 2 -- Install from source

  1. Clone the repository:
git clone https://github.com/yezhuoyang/ScaLERQEC.git
cd ScaLERQEC
  1. Build and install:
pip install -e .

This compiles the C++ backend using pybind11 and installs the package in development mode.

Prerequisites

All platforms:

  • Python >= 3.10
  • A C++20-compatible compiler

No external C++ libraries required. The C++ backend is self-contained -- Boost has been removed. All dependencies (pybind11, stim, pymatching, etc.) are handled automatically by pip.

Platform-specific notes:

Platform Compiler OpenMP
Windows MSVC (Visual Studio Build Tools) Built-in (/openmp:llvm)
macOS Xcode command-line tools brew install libomp
Linux GCC or Clang Built-in (-fopenmp)

Project Structure


scalerqec/
├── qepg                # C++ QEPG backend with SIMD acceleration (via pybind11)
├── Clifford/           # Clifford circuit representation, STIM parser, Python QEPG
├── Monte/              # Monte Carlo LER estimation (standard + LDPC codes)
├── QEC/                # High-level QEC circuit construction from stabilizers
├── Stratified/         # ScaLER: stratified sampling with S-curve fitting
├── Symbolic/           # Exact symbolic LER computation (ground truth)
└── util/               # Binomial utilities, Pauli helpers, output formatting

Bundled Stim circuits (under stimprograms/):

Code family Distances available
Surface code d = 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 30
Repetition code d = 3, 5, 7, ..., 29
Color code d = 3, 5, 7, 9, 11, 13, 15
Toric code d = 3, 5, 7, 9, 11, 13, 15, 17
Hexagonal code d = 3, 5, 7, ..., 25
BB LDPC codes [[72,12,6]], [[90,8,10]], [[108,8,8]], [[144,12,12]], [[288,16,18]]

Quick Start


1. Construct a QEC circuit from stabilizers

A detailed tutorial is available in Tutorial.ipynb. Below is a smaller example using the [[3, 1, 3]] Z-repetition code.

from scalerqec.QEC.qeccircuit import StabCode
from scalerqec.QEC.noisemodel import NoiseModel

qeccirc = StabCode(n=3, k=1, d=3)

# Stabilizer generators
qeccirc.add_stab("ZZI")
qeccirc.add_stab("IZZ")

# Set the logical Z operator
qeccirc.set_logical_Z(0, "ZZZ")

# Configure noise and measurement scheme
noise_model = NoiseModel(0.001)
qeccirc.scheme = "Standard"   # Also supports: Shor, Knill, Flag
qeccirc.rounds = 2

# Build the circuit
qeccirc.construct_circuit()

You can inspect the intermediate representation:

qeccirc.show_IR()

Output:

c0 = Prop[r=0, s=0] ZZI
c1 = Prop[r=0, s=1] IZZ
c2 = Prop[r=1, s=0] ZZI
d0 = Parity c0 c2
c3 = Prop[r=1, s=1] IZZ
d1 = Parity c1 c3
c4 = Prop ZZZ
o0 = Parity c4

2. ScaLER -- Stratified S-curve LER estimation (main method)

ScaLERQEC estimates the LER by stratified fault sampling and curve fitting:

diag

Figure 2: Diagram for the main method in ScaLERQEC.

From a StabCode object:

from scalerqec.Stratified import StratifiedScurveLERcalc

calculator = StratifiedScurveLERcalc(
    error_rate=0.001,
    sampleBudget=10000,
    num_subspace=5,
)
calculator.calculate_LER_from_StabCode(
    qeccirc, noise_model,
    figname="Surface7", titlename="Surface Code d=7",
    savefigure=True
)

From a Stim circuit file:

calculator = StratifiedScurveLERcalc(error_rate=0.001, sampleBudget=10000)
calculator.calculate_LER_from_file(
    filepath="stimprograms/surface/surface7",
    pvalue=0.001,
    codedistance=7,
    figname="Surface7",
    titlename="Surface Code d=7"
)

Output:

Curve in the Log Space Curve in the original space
Figure 3: Subspace error rate in the log space Figure 4: Same, but plot in original space

3. ScaLER for LDPC codes

For LDPC codes (e.g., BB codes), use ScalerLDPC which integrates a belief-propagation + OSD decoder:

from scalerqec.Stratified.ScalerLDPC import ScalerLDPC

calculator = ScalerLDPC(
    error_rate=0.001,
    time_budget=60,          # seconds
    max_bp_iters=20,
    osd_order=0,
)
calculator.calculate_LER_from_file(filepath="stimprograms/ldpc/bbcode_72_12_6_rounds18")

4. Monte Carlo LER estimation

Standard Monte Carlo fault injection with adaptive batching:

From a StabCode object:

from scalerqec.Monte import MonteLERcalc

mc = MonteLERcalc(time_budget=30, samplebudget=500000, MIN_NUM_LE_EVENT=50)
mc.calculate_LER_from_StabCode(qeccirc, noise_model)
print(f"LER = {mc._estimated_LER:.2e} +/- {mc._uncertainty:.2e}")

From a Stim circuit file (uniform noise):

mc = MonteLERcalc(time_budget=30, samplebudget=500000)
ler = mc.calculate_LER_from_file(
    samplebudget=500000,
    filepath="stimprograms/surface/surface7",
    pvalue=0.001,
)
print(f"LER = {ler:.2e}")

From a Stim circuit string (non-uniform noise):

ScaLERQEC supports circuits with mixed noise types (DEPOLARIZE1 at varying rates, X_ERROR, Y_ERROR, Z_ERROR, DEPOLARIZE2):

mc = MonteLERcalc(time_budget=30, samplebudget=500000)
stim_str = open("my_noisy_circuit.stim").read()
ler = mc.calculate_LER_from_stim_circuit(stim_str)
print(f"LER = {ler:.2e}")

Monte Carlo for LDPC codes:

from scalerqec.Monte import MonteLDPC

mc_ldpc = MonteLDPC(time_budget=60, samplebudget=100000, max_bp_iters=20)
ler = mc_ldpc.calculate_LER_from_file(
    samplebudget=100000,
    filepath="stimprograms/ldpc/bbcode_72_12_6_rounds18",
    pvalue=0.001,
)

5. Symbolic LER analysis (exact ground truth)

ScaLERQEC can compute the exact symbolic polynomial representation of the logical error rate:

from scalerqec.Symbolic import SymbolicLERcalc

sym = SymbolicLERcalc()
exact_ler = sym.calculate_LER_from_StabCode(qeccirc, noise_model)
print(f"Exact LER = {exact_ler:.6e}")

# Or from a Stim file
exact_ler = sym.calculate_LER_from_file(
    filepath="stimprograms/surface/surface3",
    pvalue=0.001,
)

This is useful for validating Monte Carlo and ScaLER estimates on small circuits.

6. Using the C++ QEPG backend directly

The QEPG (Quantum Error Propagation Graph) is a binary model of how errors propagate to flip detector outcomes.

QEPG

Figure 5: Illustration of how we compile a QEPG graph in ScaLERQEC.

import scalerqec.qepg as qepg

# Compile a Stim circuit into a reusable QEPG graph
stim_str = open("stimprograms/surface/surface7").read()
graph = qepg.compile_QEPG(stim_str)

# Sample at fixed error weight (stratified sampling)
det_outcomes, obs_outcomes = qepg.return_samples_many_weights_separate_obs_with_QEPG(
    graph,
    weights=[3, 5, 7],
    shots=[10000, 10000, 10000],
)

# Monte Carlo sampling at a given error rate
det, obs = qepg.return_samples_Monte_separate_obs_with_QEPG(
    graph, error_rate=0.001, shots=100000
)

# Non-uniform noise sampling (per-source probabilities)
import numpy as np
from scalerqec.Monte.noise_model_parser import extract_noise_model

noise_model = extract_noise_model(stim_str)
det, obs = qepg.return_samples_nonuniform_to_numpy(
    graph,
    noise_model.noise_probs.ravel(),
    np.array([p.source_a for p in noise_model.correlated_pairs], dtype=np.int64),
    np.array([p.source_b for p in noise_model.correlated_pairs], dtype=np.int64),
    np.array([p.prob for p in noise_model.correlated_pairs], dtype=np.float64),
    shots=100000,
)

LogiQ -- A high-level, fault-tolerant quantum programming language


We introduce LogiQ -- which supports users to define their own logical QEC block and implement logical Clifford+T operations.

# 1) Define a family of surface codes (sugar -> CSSCode core)
code surface(d: Int) as CellComplex over Z2 {

  cells {
    faces     F[x,y]  in 0..(d-2), 0..(d-2);
    edges_x   Ex[x,y] in 0..(d-2), 0..(d-1);
    edges_y   Ey[x,y] in 0..(d-1), 0..(d-2);
    vertices  V[x,y]  in 0..(d-1), 0..(d-1);
  }

  boundary {
    d2(F[x,y]) =
      Ex[x,y]   +
      Ey[x+1,y] +
      Ex[x,y+1] +
      Ey[x,y];

    d1(Ex[x,y]) = V[x,y]   + V[x+1,y];
    d1(Ey[x,y]) = V[x,y]   + V[x,y+1];
  }

  css {
    hx = matrix(d2);
    hz = transpose(matrix(d1));
  }
}

code five_qubit as StabilizerCode {

  # Number of physical qubits (optional if implied by generator length)
  n = 5;

  generators {
    S0 = "XZZXI";
    S1 = "IXZZX";
    S2 = "XIXZZ";
    S3 = "ZXIXZ";
  }

  logical_z {
    LZ0 = "ZZZZZ";
  }
}


surface q1 [n=40, k=1, d=5]   # First surface-code block (distance-5)
surface q2 [n=40, k=1, d=5]   # Second surface-code block (distance-5)
surface t0 [n=84, k=1, d=7]   # Magic-T ancilla block (distance-7)

q1[0] = LogicH q1[0]

t0 = Distill15to1_T[d=25]     # returns a magic_T handle (see MagicQ below)
InjectT q1[0], t0

q2[1] = LogicCNOT q1[0], q2[1]

c1 = LogicMeasure q1[0]
c2 = LogicMeasure q2[1]

MagicQ -- A high level fault-tolerant quantum programming for dynamic protocol with Post-selection


We introduce MagicQ -- which allows the user to construct a magic state factory. MagicQ also has the full power to express all code-switching protocols.

protocol Distill15to1_T(surface f, int d):
  Repeat:

      # ---- X-type stabilizer checks ----
      c_x1 = LogicProp IIIIIIIXXXXXXXX
      c_x2 = LogicProp IIIXXXXIIIIXXXX
      c_x3 = LogicProp IXXIIXXIIXXIIXX
      c_x4 = LogicProp XIXIXIXIXIXIXIX

      # ---- Z-type stabilizer checks ----
      c_z1  = LogicProp IIIIIIIIZZZZZZZZ
      c_z2  = LogicProp IIIZZZZIIIIZZZZ
      c_z3  = LogicProp IZZIIZZIIZZIIZZ
      c_z4  = LogicProp ZIZIZIZIZIZIZIZ
      c_z12 = LogicProp IIIIIIIIIIZZZZ
      c_z13 = LogicProp IIIIIIIIZZIIIZZ
      c_z14 = LogicProp IIIIIIIIZIZIZIZ
      c_z23 = LogicProp IIIIIZZIIIIIIZZ
      c_z24 = LogicProp IIIIZIZIIIIIZIZ
      c_z34 = LogicProp IIZIIIZIIIZIIIZ

      Success = c_x1 == 0 && c_x2 == 0 && c_x3 == 0 && c_x4 == 0 &&
                c_z1 == 0 && c_z2 == 0 && c_z3 == 0 && c_z4 == 0 &&
                c_z12 == 0 && c_z13 == 0 && c_z14 == 0 &&
                c_z23 == 0 && c_z24 == 0 && c_z34 == 0
      Until Success

      return

How ScaLER works


Main method

ScaLERQEC estimates the LER by stratified fault-sampling and curve fitting:

We propose a novel method which tests the logical error rate by stratified sampling and curve fitting. See the tutorial for a detailed explanation. With a fixed QEC circuit and the noise model, we provide a simple interface for this method.

Roadmap


Completed

  • Support installation via pip install
  • Higher-level, easier interface to generate QEC programs
  • Add cross-platform installation support (Windows, macOS, Linux)
  • Python interface to construct QEC circuits from stabilizers
  • Write full documentation (Sphinx)
  • Support LDPC codes and LDPC code decoders (ScalerLDPC with BP+OSD)
  • Remove Boost dependency -- use custom DynamicBitset with SIMD acceleration
  • SIMD support (AVX2/SSE2/NEON) with cache-line aligned FlatBitTable
  • Non-uniform noise model support (DEPOLARIZE1/2, X/Y/Z_ERROR, PAULI_CHANNEL_1/2)
  • OpenMP parallel sampling across threads
  • CI/CD pipeline with GitHub Actions (lint, build, test on Linux/macOS/Windows)
  • Support toric codes, color codes, and BB LDPC codes

In Progress

  • CUDA backend support

    • Port FlatBitTable::xor_row_into to CUDA kernel for GPU-accelerated GF(2) matmul
    • Implement GPU-side Poisson+CDF sparse sampler
    • Benchmark against Stim's SIMD sampler on large circuits (d >= 21)
  • Enum-based gate dispatch for C++ backend

    • Replace Gate::name (std::string) with enum class GateKind in clifford.hpp
    • Convert string comparisons in backward_graph_construction() to switch statement
    • Expected 5-10x speedup on the backward traversal hot loop
  • Refactor adaptive batching in monteLER.py

    • Extract the 5x copy-pasted adaptive loop into _adaptive_monte_carlo(sample_fn, decode_fn)
    • Reduces ~400 lines of duplication across calculate_LER_from_* methods

Planned

  • Magic state distillation / cultivation

    • Implement 15-to-1 and 20-to-4 distillation protocols as Stim circuits
    • ScaLER estimation of magic state factory output error rate
    • Support post-selection in LER estimation
  • Qiskit compatibility

    • Convert Qiskit QuantumCircuit to ScaLER StabCode or Stim circuit
    • Import noise models from Qiskit NoiseModel objects
  • Advanced noise models

    • Decoherence noise (T1/T2 relaxation as Pauli channels)
    • Spatially correlated noise (crosstalk between neighboring qubits)
    • Leakage errors and leakage reduction units
  • Lattice surgery and code switching

    • Support split/merge operations between surface code patches
    • LDPC code switching protocols
    • Estimate LER of multi-patch logical operations
  • HotSpot analysis

    • Identify which noise sources contribute most to logical failures
    • Classify errors by type (hook error, gate error, propagated error)
    • Visualize error flow through the QEPG graph
  • Visualization

    • Interactive QEPG graph visualization (networkx or D3.js)
    • Stim circuit diagram rendering
  • Dynamic circuits

    • Support mid-circuit measurement and classical feedback
    • Compatible with IBM dynamic circuit model
  • Static analysis pass

    • Detect symmetries in the circuit structure
    • Exploit symmetry to reduce sampling cost
  • Pauli-measurement-based fault tolerance

    • Support circuits using Pauli measurements instead of CNOT+measure
    • Compile Pauli-based schemes to QEPG

Development Notes (for contributors)


Building from source

git clone https://github.com/yezhuoyang/ScaLERQEC.git
cd ScaLERQEC
pip install -e .

This compiles the C++ QEPG backend via pybind11. No external C++ libraries are needed -- the build system handles everything automatically.

Running tests

# Full test suite
pytest tests/ -v

# Quick smoke test
python -c "import scalerqec; import scalerqec.qepg; print('OK')"

Code formatting

We use ruff for Python formatting:

pip install ruff
ruff format src/scalerqec/
ruff check src/scalerqec/

Rebuilding the C++ backend

After modifying C++ source files under QEPG/src/:

pip install -e . --no-build-isolation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scalerqec-1.0.0.tar.gz (29.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

scalerqec-1.0.0-cp313-cp313-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.13Windows x86-64

scalerqec-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (450.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

scalerqec-1.0.0-cp313-cp313-macosx_11_0_arm64.whl (318.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

scalerqec-1.0.0-cp312-cp312-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.12Windows x86-64

scalerqec-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (450.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

scalerqec-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (318.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

scalerqec-1.0.0-cp311-cp311-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.11Windows x86-64

scalerqec-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (448.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

scalerqec-1.0.0-cp311-cp311-macosx_11_0_arm64.whl (316.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

scalerqec-1.0.0-cp310-cp310-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.10Windows x86-64

scalerqec-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (446.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

scalerqec-1.0.0-cp310-cp310-macosx_11_0_arm64.whl (315.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file scalerqec-1.0.0.tar.gz.

File metadata

  • Download URL: scalerqec-1.0.0.tar.gz
  • Upload date:
  • Size: 29.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scalerqec-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8dd41c39d3cc847ffcb0625987fb8354293994939bdde38cb949828da100191e
MD5 6d7cb5c9d195c382b8b4e6b2dbb7aeff
BLAKE2b-256 19a772bced6612c97b5f13b856e5883a707d0c0779f85a59c28dcf870844afbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for scalerqec-1.0.0.tar.gz:

Publisher: publish.yml on yezhuoyang/ScaLERQEC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scalerqec-1.0.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: scalerqec-1.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scalerqec-1.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 be893daf63e67d6c6ca3b9c863f59718f6a4560bc3bc0429d3d4b84a09d326f9
MD5 4b99d54f83b906a4020d625f39974ac2
BLAKE2b-256 aaf8b309621094f0da6c40a140faafb4a9843654f77adfe58a47f80133c6d1f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for scalerqec-1.0.0-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on yezhuoyang/ScaLERQEC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scalerqec-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scalerqec-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c3a3bc32f72d6f1d55b9fb1bd54d4843f71b3cd5c392bd3e1ca72951844c8f88
MD5 5f267b9a560fdfae7e55df1c1a326f9c
BLAKE2b-256 9e7483469b6e83d6a8306f0ae35ed0fe27ef6ceec506469d0d090c69e8046603

See more details on using hashes here.

Provenance

The following attestation bundles were made for scalerqec-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on yezhuoyang/ScaLERQEC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scalerqec-1.0.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scalerqec-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 977ba2d0f4310c7193a7b5ce5021fbf4ac4543de2412132834a870dd5dc2a9f3
MD5 4f7901e3758d69600db03bd6364d802f
BLAKE2b-256 281a1eec08bb66c05d87c012f08fd4ea4f990331fa0cf2912f75be6ba3511a4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for scalerqec-1.0.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on yezhuoyang/ScaLERQEC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scalerqec-1.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: scalerqec-1.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scalerqec-1.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 36f74264bfcda7dc13e8f4dcbb1cb6e33fa5c706bcdbd7258d9b2ab3a3060953
MD5 b246bd1f26a9c6fd39148e2735d011a3
BLAKE2b-256 0eeaa16a6392b6227da9045408e4c9696ae0c02be1363aa969bedd5bc2e4f1d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for scalerqec-1.0.0-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on yezhuoyang/ScaLERQEC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scalerqec-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scalerqec-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67a02aae9aa856bcad817f96c2552b45f91689bfc5f4248cc32858f748eb33bd
MD5 beeb64158f33d7d26d1b4db4c983f570
BLAKE2b-256 d09a8af38d3f716b2d993e607269d9f81b179b4ca39d7663eab2bf3b960288bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for scalerqec-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on yezhuoyang/ScaLERQEC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scalerqec-1.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scalerqec-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a26c6ee6a18c255bb2548c8d6a8ae99cd9bf495d9f7a637c79350f946a1cc91e
MD5 bfa9f797eee3c940daf0d1c5b6bcf24a
BLAKE2b-256 7f58c3c76dd430c19498c2be401ebd3ffa9f2c0ff88222609f88f96d85489c26

See more details on using hashes here.

Provenance

The following attestation bundles were made for scalerqec-1.0.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on yezhuoyang/ScaLERQEC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scalerqec-1.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: scalerqec-1.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scalerqec-1.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fb7f4520f6495ef67be865aebcf74f418ae1543cb36f748f8341ddc96466d802
MD5 d69c01e4070d0693863b0baaa858b042
BLAKE2b-256 c277e2fe3ddfd761852fbfaca85a98ed636373505c8d99e7bf1dee3d6044bd73

See more details on using hashes here.

Provenance

The following attestation bundles were made for scalerqec-1.0.0-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on yezhuoyang/ScaLERQEC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scalerqec-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scalerqec-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 74ddc45a916512955d9565f3580770a448ab15f4b248ba3121b51cb1939e0365
MD5 0e48fa618b9dd6a11e1ce49499bd367a
BLAKE2b-256 76ce8f25d7ec3587bc05c2d80fcbe6f4efd9a1a3aa4ec632c1c281b245e190d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for scalerqec-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on yezhuoyang/ScaLERQEC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scalerqec-1.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scalerqec-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c4523dbdb83c244c0dcd205b2fcbfbf8fecfee740b24f672da192ace895403ea
MD5 a6ae57e8d22ac49ca6622bfd989b9d41
BLAKE2b-256 29d9fdcf546fd756e5e673f09bfad4cee92ee9bb9f550f325aa3c246eab82a20

See more details on using hashes here.

Provenance

The following attestation bundles were made for scalerqec-1.0.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on yezhuoyang/ScaLERQEC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scalerqec-1.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: scalerqec-1.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scalerqec-1.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fc7dc5f2fdc3c6eff2813011521348fb4a1f24a0a1609978eaa63fdfba6c12d6
MD5 f38f11040ed04b02dc03eaa27fe1b296
BLAKE2b-256 baf9ed27eca65e5d9bab36be961b306fab1d20b8707d831a191174c0398bc93c

See more details on using hashes here.

Provenance

The following attestation bundles were made for scalerqec-1.0.0-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on yezhuoyang/ScaLERQEC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scalerqec-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scalerqec-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2a8663965360802708341f3353c76adf98ee6a24ecb92e19db4914ad0883413b
MD5 1835aff74a4a266afc208df4e482eef2
BLAKE2b-256 34546f72e76e800b3b8bb147e0748a56509d2493d1a8ce7f7e71c477f77fb3ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for scalerqec-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on yezhuoyang/ScaLERQEC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scalerqec-1.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scalerqec-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 baca54a0c6a9e7aa47079a451de342cc954e7bd3b1480d21a3f9da20cd25f3e9
MD5 8b5664d35f58801163208385ad1fba1f
BLAKE2b-256 8bbcafdc5decee82036d99052d2b20feca2a49c0eb469f7ecf6145257e0f3a07

See more details on using hashes here.

Provenance

The following attestation bundles were made for scalerqec-1.0.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on yezhuoyang/ScaLERQEC

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