ScaLER: Scalable testing of logical error rate for quantum error correction circuits
Project description
ScaLERQEC
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
- Clone the repository:
git clone https://github.com/yezhuoyang/ScaLERQEC.git
cd ScaLERQEC
- 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:
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:
| 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.
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_intoto 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)
- Port
-
Enum-based gate dispatch for C++ backend
- Replace
Gate::name(std::string) withenum class GateKindin clifford.hpp - Convert string comparisons in
backward_graph_construction()to switch statement - Expected 5-10x speedup on the backward traversal hot loop
- Replace
-
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
- Extract the 5x copy-pasted adaptive loop into
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
QuantumCircuitto ScaLERStabCodeor Stim circuit - Import noise models from Qiskit
NoiseModelobjects
- Convert Qiskit
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8dd41c39d3cc847ffcb0625987fb8354293994939bdde38cb949828da100191e
|
|
| MD5 |
6d7cb5c9d195c382b8b4e6b2dbb7aeff
|
|
| BLAKE2b-256 |
19a772bced6612c97b5f13b856e5883a707d0c0779f85a59c28dcf870844afbd
|
Provenance
The following attestation bundles were made for scalerqec-1.0.0.tar.gz:
Publisher:
publish.yml on yezhuoyang/ScaLERQEC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scalerqec-1.0.0.tar.gz -
Subject digest:
8dd41c39d3cc847ffcb0625987fb8354293994939bdde38cb949828da100191e - Sigstore transparency entry: 1136916266
- Sigstore integration time:
-
Permalink:
yezhuoyang/ScaLERQEC@3cf1d85a4ef1691510742435a974e4095c81560c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/yezhuoyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cf1d85a4ef1691510742435a974e4095c81560c -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be893daf63e67d6c6ca3b9c863f59718f6a4560bc3bc0429d3d4b84a09d326f9
|
|
| MD5 |
4b99d54f83b906a4020d625f39974ac2
|
|
| BLAKE2b-256 |
aaf8b309621094f0da6c40a140faafb4a9843654f77adfe58a47f80133c6d1f3
|
Provenance
The following attestation bundles were made for scalerqec-1.0.0-cp313-cp313-win_amd64.whl:
Publisher:
publish.yml on yezhuoyang/ScaLERQEC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scalerqec-1.0.0-cp313-cp313-win_amd64.whl -
Subject digest:
be893daf63e67d6c6ca3b9c863f59718f6a4560bc3bc0429d3d4b84a09d326f9 - Sigstore transparency entry: 1136916585
- Sigstore integration time:
-
Permalink:
yezhuoyang/ScaLERQEC@3cf1d85a4ef1691510742435a974e4095c81560c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/yezhuoyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cf1d85a4ef1691510742435a974e4095c81560c -
Trigger Event:
release
-
Statement type:
File details
Details for the file scalerqec-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: scalerqec-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 450.3 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3a3bc32f72d6f1d55b9fb1bd54d4843f71b3cd5c392bd3e1ca72951844c8f88
|
|
| MD5 |
5f267b9a560fdfae7e55df1c1a326f9c
|
|
| BLAKE2b-256 |
9e7483469b6e83d6a8306f0ae35ed0fe27ef6ceec506469d0d090c69e8046603
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scalerqec-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
c3a3bc32f72d6f1d55b9fb1bd54d4843f71b3cd5c392bd3e1ca72951844c8f88 - Sigstore transparency entry: 1136916465
- Sigstore integration time:
-
Permalink:
yezhuoyang/ScaLERQEC@3cf1d85a4ef1691510742435a974e4095c81560c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/yezhuoyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cf1d85a4ef1691510742435a974e4095c81560c -
Trigger Event:
release
-
Statement type:
File details
Details for the file scalerqec-1.0.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: scalerqec-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 318.3 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
977ba2d0f4310c7193a7b5ce5021fbf4ac4543de2412132834a870dd5dc2a9f3
|
|
| MD5 |
4f7901e3758d69600db03bd6364d802f
|
|
| BLAKE2b-256 |
281a1eec08bb66c05d87c012f08fd4ea4f990331fa0cf2912f75be6ba3511a4d
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scalerqec-1.0.0-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
977ba2d0f4310c7193a7b5ce5021fbf4ac4543de2412132834a870dd5dc2a9f3 - Sigstore transparency entry: 1136917035
- Sigstore integration time:
-
Permalink:
yezhuoyang/ScaLERQEC@3cf1d85a4ef1691510742435a974e4095c81560c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/yezhuoyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cf1d85a4ef1691510742435a974e4095c81560c -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36f74264bfcda7dc13e8f4dcbb1cb6e33fa5c706bcdbd7258d9b2ab3a3060953
|
|
| MD5 |
b246bd1f26a9c6fd39148e2735d011a3
|
|
| BLAKE2b-256 |
0eeaa16a6392b6227da9045408e4c9696ae0c02be1363aa969bedd5bc2e4f1d6
|
Provenance
The following attestation bundles were made for scalerqec-1.0.0-cp312-cp312-win_amd64.whl:
Publisher:
publish.yml on yezhuoyang/ScaLERQEC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scalerqec-1.0.0-cp312-cp312-win_amd64.whl -
Subject digest:
36f74264bfcda7dc13e8f4dcbb1cb6e33fa5c706bcdbd7258d9b2ab3a3060953 - Sigstore transparency entry: 1136916884
- Sigstore integration time:
-
Permalink:
yezhuoyang/ScaLERQEC@3cf1d85a4ef1691510742435a974e4095c81560c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/yezhuoyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cf1d85a4ef1691510742435a974e4095c81560c -
Trigger Event:
release
-
Statement type:
File details
Details for the file scalerqec-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: scalerqec-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 450.1 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67a02aae9aa856bcad817f96c2552b45f91689bfc5f4248cc32858f748eb33bd
|
|
| MD5 |
beeb64158f33d7d26d1b4db4c983f570
|
|
| BLAKE2b-256 |
d09a8af38d3f716b2d993e607269d9f81b179b4ca39d7663eab2bf3b960288bd
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scalerqec-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
67a02aae9aa856bcad817f96c2552b45f91689bfc5f4248cc32858f748eb33bd - Sigstore transparency entry: 1136916405
- Sigstore integration time:
-
Permalink:
yezhuoyang/ScaLERQEC@3cf1d85a4ef1691510742435a974e4095c81560c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/yezhuoyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cf1d85a4ef1691510742435a974e4095c81560c -
Trigger Event:
release
-
Statement type:
File details
Details for the file scalerqec-1.0.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: scalerqec-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 318.4 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a26c6ee6a18c255bb2548c8d6a8ae99cd9bf495d9f7a637c79350f946a1cc91e
|
|
| MD5 |
bfa9f797eee3c940daf0d1c5b6bcf24a
|
|
| BLAKE2b-256 |
7f58c3c76dd430c19498c2be401ebd3ffa9f2c0ff88222609f88f96d85489c26
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scalerqec-1.0.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
a26c6ee6a18c255bb2548c8d6a8ae99cd9bf495d9f7a637c79350f946a1cc91e - Sigstore transparency entry: 1136916739
- Sigstore integration time:
-
Permalink:
yezhuoyang/ScaLERQEC@3cf1d85a4ef1691510742435a974e4095c81560c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/yezhuoyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cf1d85a4ef1691510742435a974e4095c81560c -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb7f4520f6495ef67be865aebcf74f418ae1543cb36f748f8341ddc96466d802
|
|
| MD5 |
d69c01e4070d0693863b0baaa858b042
|
|
| BLAKE2b-256 |
c277e2fe3ddfd761852fbfaca85a98ed636373505c8d99e7bf1dee3d6044bd73
|
Provenance
The following attestation bundles were made for scalerqec-1.0.0-cp311-cp311-win_amd64.whl:
Publisher:
publish.yml on yezhuoyang/ScaLERQEC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scalerqec-1.0.0-cp311-cp311-win_amd64.whl -
Subject digest:
fb7f4520f6495ef67be865aebcf74f418ae1543cb36f748f8341ddc96466d802 - Sigstore transparency entry: 1136916538
- Sigstore integration time:
-
Permalink:
yezhuoyang/ScaLERQEC@3cf1d85a4ef1691510742435a974e4095c81560c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/yezhuoyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cf1d85a4ef1691510742435a974e4095c81560c -
Trigger Event:
release
-
Statement type:
File details
Details for the file scalerqec-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: scalerqec-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 448.4 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74ddc45a916512955d9565f3580770a448ab15f4b248ba3121b51cb1939e0365
|
|
| MD5 |
0e48fa618b9dd6a11e1ce49499bd367a
|
|
| BLAKE2b-256 |
76ce8f25d7ec3587bc05c2d80fcbe6f4efd9a1a3aa4ec632c1c281b245e190d2
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scalerqec-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
74ddc45a916512955d9565f3580770a448ab15f4b248ba3121b51cb1939e0365 - Sigstore transparency entry: 1136916783
- Sigstore integration time:
-
Permalink:
yezhuoyang/ScaLERQEC@3cf1d85a4ef1691510742435a974e4095c81560c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/yezhuoyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cf1d85a4ef1691510742435a974e4095c81560c -
Trigger Event:
release
-
Statement type:
File details
Details for the file scalerqec-1.0.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: scalerqec-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 316.3 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4523dbdb83c244c0dcd205b2fcbfbf8fecfee740b24f672da192ace895403ea
|
|
| MD5 |
a6ae57e8d22ac49ca6622bfd989b9d41
|
|
| BLAKE2b-256 |
29d9fdcf546fd756e5e673f09bfad4cee92ee9bb9f550f325aa3c246eab82a20
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scalerqec-1.0.0-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
c4523dbdb83c244c0dcd205b2fcbfbf8fecfee740b24f672da192ace895403ea - Sigstore transparency entry: 1136916697
- Sigstore integration time:
-
Permalink:
yezhuoyang/ScaLERQEC@3cf1d85a4ef1691510742435a974e4095c81560c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/yezhuoyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cf1d85a4ef1691510742435a974e4095c81560c -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc7dc5f2fdc3c6eff2813011521348fb4a1f24a0a1609978eaa63fdfba6c12d6
|
|
| MD5 |
f38f11040ed04b02dc03eaa27fe1b296
|
|
| BLAKE2b-256 |
baf9ed27eca65e5d9bab36be961b306fab1d20b8707d831a191174c0398bc93c
|
Provenance
The following attestation bundles were made for scalerqec-1.0.0-cp310-cp310-win_amd64.whl:
Publisher:
publish.yml on yezhuoyang/ScaLERQEC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scalerqec-1.0.0-cp310-cp310-win_amd64.whl -
Subject digest:
fc7dc5f2fdc3c6eff2813011521348fb4a1f24a0a1609978eaa63fdfba6c12d6 - Sigstore transparency entry: 1136916346
- Sigstore integration time:
-
Permalink:
yezhuoyang/ScaLERQEC@3cf1d85a4ef1691510742435a974e4095c81560c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/yezhuoyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cf1d85a4ef1691510742435a974e4095c81560c -
Trigger Event:
release
-
Statement type:
File details
Details for the file scalerqec-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: scalerqec-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 446.7 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a8663965360802708341f3353c76adf98ee6a24ecb92e19db4914ad0883413b
|
|
| MD5 |
1835aff74a4a266afc208df4e482eef2
|
|
| BLAKE2b-256 |
34546f72e76e800b3b8bb147e0748a56509d2493d1a8ce7f7e71c477f77fb3ac
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scalerqec-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
2a8663965360802708341f3353c76adf98ee6a24ecb92e19db4914ad0883413b - Sigstore transparency entry: 1136916941
- Sigstore integration time:
-
Permalink:
yezhuoyang/ScaLERQEC@3cf1d85a4ef1691510742435a974e4095c81560c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/yezhuoyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cf1d85a4ef1691510742435a974e4095c81560c -
Trigger Event:
release
-
Statement type:
File details
Details for the file scalerqec-1.0.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: scalerqec-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 315.0 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
baca54a0c6a9e7aa47079a451de342cc954e7bd3b1480d21a3f9da20cd25f3e9
|
|
| MD5 |
8b5664d35f58801163208385ad1fba1f
|
|
| BLAKE2b-256 |
8bbcafdc5decee82036d99052d2b20feca2a49c0eb469f7ecf6145257e0f3a07
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scalerqec-1.0.0-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
baca54a0c6a9e7aa47079a451de342cc954e7bd3b1480d21a3f9da20cd25f3e9 - Sigstore transparency entry: 1136916645
- Sigstore integration time:
-
Permalink:
yezhuoyang/ScaLERQEC@3cf1d85a4ef1691510742435a974e4095c81560c -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/yezhuoyang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cf1d85a4ef1691510742435a974e4095c81560c -
Trigger Event:
release
-
Statement type: