Skip to main content

QuSpect

A quantum computing SDK for research and education.

PyPI Python License Documentation

🇨🇳 中文用户请参阅 README_CN.md


QuSpect provides an intuitive, fluent Python API for constructing quantum circuits, visualizing them as ASCII diagrams or scalable SVG, and simulating state-vector evolution with shot-based sampling. Simulation and exact adjoint gradients are backed by the C++ high-performance engine.


Table of Contents


Features

  • Fluent circuit API — build circuits with method chaining; no pre-declared qubit counts
  • 24 built-in gate templates — standard gates (H, X, CX, CCX, SWAP…) and parameterized rotations (RX, RY, RZ, U3…), plus measurements and barriers
  • Symbolic parameters — define variational circuits with named Parameter placeholders and bind to values later
  • DAG compiler — compile circuits into a DAG IR with topological ordering, layer partitioning, and critical path analysis
  • Optimization passes — GateCancellation, CommutationAnalysis, RotationMerging, SingleQubitGateFusion, EliminateDiagonalBeforeMeasurement
  • Operator algebra — QubitOperator (Pauli strings) and FermionOperator (ladder operators) with Jordan-Wigner transforms
  • State-vector simulation — native C++ evolution, projective measurement, and shot-based sampling
  • Variational objectives — exact C++ adjoint gradients and shot-based parameter-shift gradients through one structured API
  • Recoverable batch execution — labelled circuit batches, flattened parameter sweeps, and credential-free job references
  • Visualization — terminal circuit diagrams, SVG circuit rendering (3 themes), sampling result charts (hbar, vbar, dot, SVG)
  • IR export — OpenQASM 2.0 and QSAL (native JSON) export
  • Cloud QPU — unified Backend interface for local simulators and real quantum hardware
  • iSing optimization — QUBO/Ising model conversion, recoverable cloud submission, and objective decoding with quspect[isingq]; see iSing cloud optimization.
  • Transpiler — native-gate decomposition, topology-safe DAG optimization, constrained physical-qubit mapping, and SABRE SWAP routing
  • C++ backend — high-performance simulation and gradient execution with AVX2 SIMD acceleration and a pybind11 bridge

Installation

python -m pip install quspect

Pre-built binary wheels include the C++ simulation engine (with OpenMP), so Simulator, NativeExecutor, and exact adjoint gradients work right after pip install — no compiler needed.

Platform Architecture Python Wheel
Linux (glibc ≥ 2.28, e.g. Ubuntu 20.04+, RHEL/Rocky 8+, Debian 10+) x86_64 3.10–3.15 manylinux_2_28_x86_64
Linux (glibc ≥ 2.28, e.g. Ubuntu 20.04+, RHEL/Rocky 8+, Debian 10+) aarch64 (arm64) 3.10–3.15 manylinux_2_28_aarch64
Windows 10/11 x86_64 (64-bit Python) 3.10–3.15 win_amd64
macOS 14 (Sonoma) or newer Apple Silicon (arm64) 3.10–3.15 macosx_14_0_arm64
  • Windows: 64-bit CPython 3.10–3.15 needs nothing extra — the MSVC C++ and OpenMP runtimes are bundled in the wheel.
  • Other platforms (musl/Alpine, 32-bit Windows, Intel Macs, macOS < 14, PyPy, …) install from the source distribution, which compiles the C++ extension. This needs CMake ≥ 3.22 and a C++17 compiler — Visual Studio Build Tools on Windows, Xcode Command Line Tools (+ brew install libomp for OpenMP) on macOS, GCC or Clang on Linux — and network access to fetch nlohmann/json.

Runtime knobs:

  • On x86_64 the AVX2 + FMA kernels are selected automatically when the CPU supports them; set QUSPECT_DISABLE_AVX2=1 to force the portable scalar kernels (read once, at the first native call).
  • Parallel kernels use OpenMP; set OMP_NUM_THREADS to limit the number of threads.
python -c "from quspect.native import capabilities; print(capabilities())"

For development (includes linters, type checker, test runner, and docs tools):

git clone https://github.com/QuSpect/quspect.git
cd quspect
python -m pip install -e ".[dev]"
python -m pip install pybind11

The editable install is pure Python and does not compile the C++ extension; build it as described below.

C++ Native Backend

In a source checkout, build the extension before using Simulator, DensityMatrixSimulator, MonteCarloSimulator, NativeExecutor, or AdjointEngine:

cmake -S cpp -B cpp/build -G Ninja \
  -DPython_EXECUTABLE="$(python -c 'import sys; print(sys.executable)')"
cmake --build cpp/build
ctest --test-dir cpp/build --output-on-failure
python -c "from quspect.native import capabilities; print(capabilities())"

Requirements: C++17 compiler, CMake ≥ 3.22, Ninja, pybind11, and optionally an AVX2-capable CPU. The build writes the extension into the local quspect/ package, so the editable install above can import it directly. The first configure requires network access to fetch nlohmann/json and, when tests are enabled, GoogleTest. Pass -DQSPECT_BUILD_AVX2=OFF for a scalar-only build.

Maintainers: see docs/source/releasing.rst for how wheels are built and published to PyPI.


Quick Start

Build a Circuit

from quspect import QuantumCircuit

# Create a Bell state (entanglement)
circ = QuantumCircuit(name="bell")
circ.h(0)           # Hadamard on qubit 0
circ.cx(0, 1)       # CNOT with control=0, target=1
circ.measure_all()  # measure all qubits

print(circ.num_qubits)   # 2 — dynamically inferred
print(circ.num_clbits)   # 2
print(len(circ))         # 3 instructions

Visualize

# Terminal ASCII diagram
print(circ.draw())
# SVG rendering (inline in Jupyter or save to file)
svg = circ.svg(style="dark")
svg.to_file("bell_circuit.svg")

The Bell circuit rendered by circ.svg() ("light" / "dark" themes, following your GitHub color scheme):

Bell circuit: H on q0, CNOT from q0 to q1, then both qubits measured

Simulate

from quspect.simulation import Simulator

sim = Simulator(seed=42)
result = sim.run(circ, shots=1024)

print(result.counts)           # approximately {'00': 512, '11': 512}
print(result.most_frequent())  # one of the two Bell-state outcomes

# Statistical summary and bar chart
result.display(style="hbar")

Parameterized Circuits

from quspect import QuantumCircuit, Parameter

theta, phi = Parameter("θ"), Parameter("φ")

circ = QuantumCircuit(name="variational")
circ.rx(theta, 0)
circ.ry(phi, 1)
circ.cx(0, 1)

# Bind to concrete values before simulation
bound = circ.bind_parameters({theta: 0.5, phi: 1.2})

Variational Objectives and Gradients

Define a measurement-free ansatz and named observables once, then compile the same objective for exact adjoint differentiation or hardware-shaped sampling:

from quspect import (
    AdjointEngine,
    ObservableObjective,
    Parameter,
    QuantumCircuit,
    QubitOperator,
    SamplingEngine,
    Simulator,
)

theta = Parameter("theta")
ansatz = QuantumCircuit(name="one_qubit_vqe").ry(theta, 0)
hamiltonian = QubitOperator({((0, "Z"),): 1.0})
objective = ObservableObjective(ansatz, {"energy": hamiltonian})

# Exact noiseless value and gradient from the native adjoint engine.
exact_plan = AdjointEngine(dtype="float64").compile(objective)
exact = exact_plan.evaluate({theta: 0.5})
print(exact.value("energy"), exact.derivative("energy"))
print(exact_plan.parameter_order)  # authoritative optimizer-vector order

# The same objective through grouped measurements and parameter shifts.
sampled_plan = SamplingEngine(
    Simulator(seed=7),
    shots=4096,
    grouping="qwc",
).compile(objective)
sampled = sampled_plan.evaluate({theta: 0.5})
print(sampled.value("energy"), sampled.derivative("energy"))
print(sampled_plan.num_measurement_groups)
print(sampled_plan.num_experiments_per_point)

# Batch optimizer points without recompiling; result axes stay explicit.
sweep = exact_plan.evaluate_many(
    [{theta: -0.2}, {theta: 0.0}, {theta: 0.2}]
)
print(sweep.values.shape)    # (3, 1)
print(sweep.jacobian.shape)  # (3, 1, 1)

Finite-shot values and gradients fluctuate statistically; compare them against the adjoint result rather than expecting exact equality. See Variational Objectives for parameter sweeps, optimizer integration, asynchronous submission, and job recovery.

Circuit Composition

# Reusable sub-circuit
bell_pair = QuantumCircuit(name="bell")
bell_pair.h(0).cx(0, 1)

# Compose into a larger circuit
main = QuantumCircuit(name="composed")
main = main.compose(bell_pair, qubits=[0, 2])  # map sub's 0,1 → main's 0,2
main = main.compose(bell_pair, qubits=[1, 3])  # map sub's 0,1 → main's 1,3

Algorithm Examples

The repository includes complete, classically checkable examples:


Core Modules

QuantumCircuit

The central class for building quantum programs. Qubit and classical bit counts are dynamically inferred from the indices you use — no need to pre-declare circuit size.

Method Description
.h(q) .x(q) .y(q) .z(q) Single-qubit gates
.s(q) .sdg(q) .t(q) .tdg(q) Phase / rotation gates
.rx(θ,q) .ry(θ,q) .rz(θ,q) .p(θ,q) Parameterized rotations
.cx(c,t) .cz(c,t) .swap(a,b) Two-qubit gates
.ccx(c1,c2,t) Toffoli (controlled-controlled-X)
.measure(qubits, clbits) Projective measurement
.measure_all() Measure all qubits
.barrier(*qubits) Insert a barrier
.compose(other, qubits, clbits, inplace=False) Compose another circuit, returning a copy by default
.bind_parameters({p: v}) Bind symbolic parameters
.to_dag() Compile to DAG IR
.draw() ASCII circuit diagram
.svg(style, width, scale) SVG circuit diagram

Gates

Gates are lightweight metadata objects — they store name, qubit count, and parameter info but not unitary matrices. Import the public helper with from quspect.gates import gate_matrix when a matrix is needed.

from quspect.gates.standard import H, CX, CCX, SWAP
from quspect.gates.parameterized import RX, RY, RZ, U3

# Standard gates are module-level singletons
circ = QuantumCircuit()
circ.append(H, [0])
circ.append(CX, [0, 1])
circ.append(CCX, [0, 1, 2])

# Parameterized gates — create with values
gate_ry = RY.with_params(0.5)
circ.append(gate_ry, [1])

DAG IR & Optimization

Circuits compile to a Directed Acyclic Graph representation that makes qubit/clbit dependencies explicit:

dag = circ.to_dag()

print(dag.num_nodes(), dag.num_edges())
print(dag.topological_order())
print(dag.layers())          # partition into parallel layers
print(dag.critical_path_length())  # number of operations on the longest path

The PassManager runs optimization passes on the DAG:

from quspect import PassManager, GateCancellation, RotationMerging

pm = PassManager([
    GateCancellation(),
    RotationMerging(),
])
optimized = pm.run(dag)

Operators

Support for second-quantized operator algebra:

from quspect import FermionOperator, QubitOperator
from quspect.operators.transforms import jordan_wigner

# Pauli string operators
H = QubitOperator({
    ((0, "X"), (1, "X")): 1.0,
    ((0, "Z"),): -0.5,
})

# Fermionic operators
f = FermionOperator({((2, 1), (1, 1), (0, 0), (3, 0)): 2.0})

# Jordan-Wigner transformation: fermions → qubits
qubit_op = jordan_wigner(f)

IR Export

from quspect.ir import QASM2ExportConfig, QASM2Exporter, QASM2ExportMode
from quspect.ir.qsal import dumps as qsal_dumps

# OpenQASM 2.0
print(QASM2Exporter().export(circ))  # strict mode

config = QASM2ExportConfig(mode=QASM2ExportMode.DECOMPOSE)
print(QASM2Exporter(config).export(circ))

config = QASM2ExportConfig(mode=QASM2ExportMode.EXTENDED)
print(QASM2Exporter(config).export(circ))

# QSAL (native JSON IR)
print(qsal_dumps(circ))

Visualization

Terminal Diagrams

Zero-dependency terminal circuit diagrams via circuit.draw():

  • Quantum wires as -, classical wires as =
  • Gate labels in [brackets], controls as o, targets labelled
  • SWAP gates as x marks connected vertically
  • Barriers as |

SVG Rendering

Scalable vector graphics via circuit.svg(), with Jupyter notebook inline support:

svg = circ.svg(style="dark", width=600, scale=1.2)
print(svg)                # SVG string
svg.to_file("out.svg")    # save to file

Three built-in themes:

Theme Background Best for
"official" White, slate text Publications, papers
"light" Cool gray Light-mode IDEs, docs
"dark" Dark navy Dark-mode notebooks, slides

Custom themes:

from quspect.visualization import SvgStyle, draw_svg_circuit

custom = SvgStyle(
    background="#1a1a2e",
    wire="#e94560",
    classical_wire="#b8adc8",
    gate_fill="#0f3460",
    gate_stroke="#16213e",
    text="#ffffff",
    control="#e94560",
    barrier="#8a744d",
    measure_fill="#211040",
    channel_fill="#2a153c",
    channel_stroke="#c77532",
)
svg = draw_svg_circuit(circ, style=custom)

Sampling Charts

Result visualization with statistical annotations:

result.display(style="hbar", sort_mode="count_desc")

Four chart styles: hbar, vbar, dot, svg.

Side-by-side comparison:

from quspect.visualization import compare_results

compare_results(
    result1,
    result2,
    label_a="Ideal",
    label_b="Noisy",
)

Simulation

The simulator implements the Backend ABC, sharing the same .run() interface as cloud QPUs. It delegates to the C++ native engine for state-vector evolution:

from quspect import QuantumCircuit
from quspect.simulation import Simulator
from quspect.backends import Backend

sim = Simulator(seed=42)
assert isinstance(sim, Backend)   # same interface as cloud backends

# State-vector evolution uses a measurement-free circuit and opts in to storage.
unitary = QuantumCircuit().h(0).cx(0, 1)
state_result = sim.run(unitary, save_statevector=True)
print(state_result.statevector)

# Shot-based sampling with projective measurement
sampled_circuit = unitary.copy().measure_all()
result = sim.run(sampled_circuit, shots=4096)

# Access results
print(result.counts)              # approximately {'00': 2048, '11': 2048}
print(result.probabilities)       # approximately {'00': 0.5, '11': 0.5}
print(result.most_frequent())     # one of the Bell-state outcomes
print(result.top_outcomes(3))     # top-3 outcomes

Measurement modes:

  • Terminal measurements — all measure ops at circuit end: evolve once, then sample
  • Mid-circuit measurements — measurements interleaved with gates: full re-execution per shot with state collapse

Backend-neutral Parameter Sweeps

ExecutionRequest.sweep() snapshots one parameterized template and binds every point in order. The same labelled request works with a local simulator or a batch-capable cloud backend:

import math

from quspect import ExecutionRequest, Parameter, QuantumCircuit, Simulator

theta = Parameter("theta")
template = QuantumCircuit().ry(theta, 0).measure_all()
request = ExecutionRequest.sweep(
    template,
    [{theta: 0.0}, {theta: math.pi}],
    labels=["zero", "one"],
    shots=128,
)

batch = Simulator(seed=7).execute(request)
print(batch.by_label("zero").counts)  # {'0': 128}
print(batch.by_label("one").counts)   # {'1': 128}

Cloud QPU

QuSpect provides a unified Backend interface — the same backend.run(circuit, shots=N) API works for both local simulators and remote quantum hardware. Currently LogicalQubit (逻辑比特) is supported; additional platforms can be added by implementing CloudBackend.

Cloud Setup

# Set your API key (get one from https://cloud.logicalqubit.com)
export LQCLOUD_API_KEY=qk_your_api_key_here

# Install QuSpect's provider extra
pip install "quspect[logicalqubit]"

Run on Real Hardware

The calls below create real provider jobs and may consume quota or incur cost. Check provider.list_backends() and the selected backend's current metadata before choosing its name or physical layout.

from quspect import QuantumCircuit
from quspect.backends.logicalqubit import LogicalQubitProvider

# 1. Connect to the cloud platform
provider = LogicalQubitProvider()
backend = provider.get_backend("QZ02")  # select a QPU visible to your account

print(backend.name)
print(backend.num_qubits)
print(backend.native_gate_set)
print(backend.platform_name)

# 2. Build any circuit
qc = QuantumCircuit(name="bell")
qc.h(0)
qc.cx(0, 1)
qc.measure_all()

# 3. Run — same API as the local Simulator
result = backend.run(qc, shots=2000)
print(result.most_frequent())
print(result.counts)

Compilation and Physical Layout

By default backend.run() attempts to compile a bound circuit for the target:

  1. Decompose — non-native gates are recursively decomposed to the chip's native gate set (e.g. CX → H + CZ + H, RX → H + RZ + H)
  2. Optimize — topology-independent cancellation, commutation, rotation merging, and single-qubit fusion run before physical routing
  3. Layout + Route — SABRE finds an initial logical→physical mapping and inserts SWAP gates so every two-qubit gate respects the coupling topology
# A nontrivial logical circuit that may require routing.
qc = QuantumCircuit(name="calibrated_subset")
qc.h(0)
qc.cx(0, 1).cx(0, 2).cx(0, 3)
qc.measure_all()

# Restrict layout and every inserted SWAP to a calibrated physical-qubit
# pool. SABRE chooses the starting layout inside the induced subgraph.
job = backend.submit(
    qc,
    shots=1000,
    transpile=True,
    physical_qubits=[7, 8, 9, 10, 11],
)

# Optionally fix the starting logical→physical assignment as well:
# logical q0→physical 7, q1→8, q2→9, q3→10.
job = backend.submit(
    qc,
    shots=1000,
    transpile=True,
    physical_qubits=[7, 8, 9, 10, 11],
    initial_layout=[7, 8, 9, 10],
)

physical_qubits must be unique, in range, large enough for the circuit, and must induce a connected coupling subgraph. When both options are present, every initial_layout entry must belong to physical_qubits. Routing may use additional workspace wires, but only from that pool; QuSpect forwards the expanded logical→physical layout required by the routed circuit.

To submit an already compiled/topology-valid circuit without QuSpect routing, disable transpilation. In this mode initial_layout is passed directly to the provider and physical_qubits is not accepted:

result = backend.run(
    qc,
    shots=1000,
    transpile=False,
    initial_layout=[7, 8, 9, 10],
)

The routed circuit preserves original classical measurement targets and uses a static provider layout even when SABRE inserts workspace SWAPs. DAG optimization checks adjacency on every operand wire, so structures such as the QAOA CX–RZ(target)–CX implementation of a ZZ phase are not incorrectly cancelled.

Async Submission

For long-running jobs, submit asynchronously and poll for results:

# Submit without blocking
job = backend.submit(qc, shots=2000)
print(f"Job ID: {job.job_id}")
print(f"Status: {job.status().value}")  # queued / running / completed

# Block until complete (with optional timeout)
result = job.result(timeout=600)

# Cancel if needed
job.cancel()

Batch Sampling and VQE

ExecutionRequest is the common envelope for simulators and cloud devices. Each experiment has a stable label, and batches larger than the provider's 64-circuit limit are exposed as one recoverable composite job:

from quspect import ExecutionRequest

request = ExecutionRequest.batch(
    [circuit_a, circuit_b],
    labels=["theta-plus", "theta-minus"],
    shots=2000,
    result_format="auto",
)
job = backend.submit_request(request)
batch = job.result(timeout=600)
print(batch.by_label("theta-plus").counts)

# Safe to persist: contains IDs and shapes, never credentials.
saved_reference = job.reference.to_dict()

If a later provider chunk fails after earlier chunks were accepted, PartialSubmissionError exposes submitted_job_ids, serializable submitted_references, and any cancellation_failures instead of losing the already-created task handles.

On an older LogicalQubit server, lqcloud 0.4.1 may internally fall back from native batch to individual submissions without exposing partial child IDs if that fallback itself fails. For experiments requiring complete rollback visibility, set options={"provider_batching": "individual"} (or pass the same option through SamplingEngine(execution_options=...)). QuSpect then owns each submission and can report/cancel every task it has created; the trade-off is one provider task per circuit.

With result_format="auto", lqcloud selects counts for narrow readout and memory when the measured width requires per-shot output. QuSpect always provides aggregated result.counts; when memory is returned, the original shot sequence is also available as result.memory.

Shot-based observable objectives use the same job layer:

from quspect import ObservableObjective, SamplingEngine

objective = ObservableObjective(ansatz, {"energy": hamiltonian})
plan = SamplingEngine(
    backend,
    shots=4096,
    execution_options={"transpile": False, "initial_layout": [0, 1]},
).compile(objective)

objective_job = plan.submit({theta: 0.2})
evaluation = objective_job.result(timeout=600)
print(evaluation.value("energy"), evaluation.derivative("energy"))

# Several optimizer points are flattened into one asynchronous provider task.
sweep_job = plan.submit_many([{theta: 0.1}, {theta: 0.2}, {theta: 0.3}])
sweep = sweep_job.result(timeout=600)

Every sampled plan carries a stable workload fingerprint in its JobReference. On recovery, plan.attach(job) validates that fingerprint, the backend, labels, circuit shapes, shot count, and result format before any measurement data is decoded. Recovered multi-point jobs use plan.attach_many(execution_job) in the same way.

The reference is a credential-free recovery manifest, not a signed receipt: keep its JSON in trusted storage. Its fingerprint prevents accidental task mix-ups but cannot authenticate a manifest deliberately rewritten by an untrusted party.

Simulator vs QPU

The unified Backend interface lets you switch between local simulation and real hardware by changing one line:

from quspect import QuantumCircuit
from quspect.simulation import Simulator
from quspect.backends.logicalqubit import LogicalQubitProvider

qc = QuantumCircuit(name="compare")
qc.h(0).cx(0, 1).measure_all()

# Local simulation
sim = Simulator(seed=42)
sim_result = sim.run(qc, shots=2000)

# Real QPU (latency depends on the provider queue)
provider = LogicalQubitProvider()
backend = provider.get_backend("QZ02")
qpu_result = backend.run(qc, shots=2000)

# Compare
for bs in sorted(sim_result.counts):
    s = sim_result.get_count(bs)
    q = qpu_result.get_count(bs)
    print(f"  |{bs}⟩:  sim={s:4d}  qpu={q:4d}  Δ={s-q:+4d}")

C++ Native Backend

The C++ backend (cpp/) is the execution engine for local simulators and exact adjoint gradients:

cpp/
├── include/quspect_native/    # Public headers
├── src/
│   ├── kernels/scalar/        # Portable scalar kernels
│   ├── kernels/avx2/          # SIMD-accelerated kernels (AVX2)
│   ├── kernels/dispatch/      # Runtime CPU feature dispatch
│   ├── runtime/               # StateVector, ClassicalRegister, RuntimeEngine
│   ├── ir/                    # QSAL JSON decoder & program builder
│   ├── executor/              # SimulationExecutor, GradientExecutor
│   └── pybind/                # Python → C++ bridge (pybind11)
└── tests/                     # GoogleTest suite (14 test files)

Python bridge:

from quspect import QuantumCircuit
from quspect.ir.qsal import dumps as qsal_dumps
from quspect.native import NativeExecutor

qc = QuantumCircuit().h(0).measure_all()
executor = NativeExecutor()
result = executor.run(qsal_dumps(qc), shots=1024)
print(result.counts)

If the extension is missing, circuit construction and other Python tooling remain usable, but native-dependent entry points raise NativeImportError.


Documentation

Full documentation is hosted on Read the Docs at quspect.readthedocs.io (Chinese: quspect.readthedocs.io/zh-cn/latest/):

  • Quickstart — installation, circuit building, simulation
  • API Reference — generated documentation for the currently listed public modules
  • Architecture — layered design, core concepts, architecture decisions

Build locally (the docs import the source tree directly, so the C++ extension is not needed):

python -m pip install -r docs/requirements.txt
cd docs
sphinx-build -b html source/ build/html/
sphinx-build -b html -D language=zh_CN source/ build/html/zh_CN/

Development

# Lint & format
ruff check quspect/ tests/ && ruff format quspect/ tests/

# Type check
mypy quspect/

# Run tests
pytest

# Build C++ backend & run gtest (from the repository root)
cmake -S cpp -B cpp/build -G Ninja && cmake --build cpp/build
ctest --test-dir cpp/build --output-on-failure

Tooling

Tool Purpose
ruff Lint + Format
mypy Static type checking (strict mode)
pytest + pytest-cov Testing + coverage
sphinx Documentation generation
cmake + ninja C++ build system
gtest C++ unit testing

Metadata

Release files for quspect 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for quspect 0.3.0
File Size Uploaded Provenance Actions
quspect-0.3.0.tar.gz 570.8 kB With provenance Details for quspect-0.3.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for quspect 0.3.0
File Actions
quspect-0.3.0-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details for quspect-0.3.0-cp315-cp315-win_amd64.whl
quspect-0.3.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for quspect-0.3.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
quspect-0.3.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for quspect-0.3.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
quspect-0.3.0-cp315-cp315-macosx_14_0_arm64.whl CPython 3.15 CPython 3.15 macOS 14.0+ ARM64 Details for quspect-0.3.0-cp315-cp315-macosx_14_0_arm64.whl
quspect-0.3.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for quspect-0.3.0-cp314-cp314-win_amd64.whl
quspect-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for quspect-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
quspect-0.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for quspect-0.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
quspect-0.3.0-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details for quspect-0.3.0-cp314-cp314-macosx_14_0_arm64.whl
quspect-0.3.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for quspect-0.3.0-cp313-cp313-win_amd64.whl
quspect-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for quspect-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
quspect-0.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for quspect-0.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
quspect-0.3.0-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details for quspect-0.3.0-cp313-cp313-macosx_14_0_arm64.whl
quspect-0.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for quspect-0.3.0-cp312-cp312-win_amd64.whl
quspect-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for quspect-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
quspect-0.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details for quspect-0.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
quspect-0.3.0-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details for quspect-0.3.0-cp312-cp312-macosx_14_0_arm64.whl
quspect-0.3.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for quspect-0.3.0-cp311-cp311-win_amd64.whl
quspect-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for quspect-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
quspect-0.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details for quspect-0.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
quspect-0.3.0-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details for quspect-0.3.0-cp311-cp311-macosx_14_0_arm64.whl
quspect-0.3.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for quspect-0.3.0-cp310-cp310-win_amd64.whl
quspect-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for quspect-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
quspect-0.3.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for quspect-0.3.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
quspect-0.3.0-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details for quspect-0.3.0-cp310-cp310-macosx_14_0_arm64.whl

Total release size: 25.3 MB

Release files / quspect-0.3.0.tar.gz

Download URL quspect-0.3.0.tar.gz
Size 570.8 kB
Tags Source
SHA-256 checksum
How to use checksums
62446ce1650150da838ad4236fca1e3e656ec71a454afe94c2901356765ad7b9
BLAKE2b-256 checksum
How to use checksums
ea1a37bedbba262429f9747434c7726d50f7e3d39b7c4b5d3d385fa52e936944
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp315-cp315-win_amd64.whl

Download URL quspect-0.3.0-cp315-cp315-win_amd64.whl
Size 1.3 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
705690be0462cc137bb5a2f6433924e87516c664fc4eef432dc8f07189ddc3ef
BLAKE2b-256 checksum
How to use checksums
3c7b314e37dd5cd09ade7597c8cc219fe53091235e4f2e7415195a40ad713d33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL quspect-0.3.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.15 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1029413cc391becab1ed4ad794ae1c61d297223e6885c956790181d6d1b1e818
BLAKE2b-256 checksum
How to use checksums
6d4e0dbad5e4a0a96ad825aec34e039344d50c6b8adf2acae50086cf143667e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL quspect-0.3.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 754.6 kB
Tags CPython 3.15 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a71234687ff43ad2c31d03676bc8327cfebe98a6a018b4d3c4d5a80938f79bf5
BLAKE2b-256 checksum
How to use checksums
d9268099be9a4c47598fd50f0d14ac482541fe3edd2d6287281481a55b0fcc85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp315-cp315-macosx_14_0_arm64.whl

Download URL quspect-0.3.0-cp315-cp315-macosx_14_0_arm64.whl
Size 857.5 kB
Tags CPython 3.15 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
0612ad918787ddd06abc71c5d3ac5bcd47a8e47e8812bc4b97e8bd0f03ded9c5
BLAKE2b-256 checksum
How to use checksums
1a178da7a2ad80ccf86f87bbfefacffb93e7dad20e6aff9b72e5957353f5d173
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp314-cp314-win_amd64.whl

Download URL quspect-0.3.0-cp314-cp314-win_amd64.whl
Size 1.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
cd65dc88a9209cef43d9d6477ff60ca5f6aff92e5319fe01a63a51f25c675d2f
BLAKE2b-256 checksum
How to use checksums
6afba4a163a2ef70884a1f3366b23ae752016502dabcb8ed43c0d3471c242190
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL quspect-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c0c2a7d9aeea8cd37ba90d8eedd7c514bc94de149f816c7e7b2276de1364e734
BLAKE2b-256 checksum
How to use checksums
f513dea438e2e1896ff7c4bfc1082bac2f0d16e79d46a62262dbb889c22ed88e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL quspect-0.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 754.6 kB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0eba9f6ff32a83be5be9adb991df10e8c462a8d6c536cd78b85d27c26b7a5d6b
BLAKE2b-256 checksum
How to use checksums
068f741fcc61fa412b7c9483cd013fc30ca891f67d2c47ced4b41d3eed4d182c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp314-cp314-macosx_14_0_arm64.whl

Download URL quspect-0.3.0-cp314-cp314-macosx_14_0_arm64.whl
Size 857.5 kB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
c21065b3c57d7a05e1bde841fb4b8363afe01d22073edb1fbd86472da2113986
BLAKE2b-256 checksum
How to use checksums
07e7378ff932a4af1141e8299f77150eedee4a97f3afeb43cc00800ed2db2055
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp313-cp313-win_amd64.whl

Download URL quspect-0.3.0-cp313-cp313-win_amd64.whl
Size 1.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
ef11210b524e2da9ae997c64b600b6462106dff06e13cf9755a8b6428785a67f
BLAKE2b-256 checksum
How to use checksums
344bb5085ddfd56f3741dd3ce9cbaa097903c2202251615e9a7bea6d96408883
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL quspect-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
187df928a58590372999ce5e01cfad7c084bdd6a1644add2c3d4bc2dfb67c215
BLAKE2b-256 checksum
How to use checksums
834ba7ebebb8c1b0d8d8b4f6f0bcbbc5db36f1c2b9e719fdf34d427ff5ca4317
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL quspect-0.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 753.2 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b42fa658562f3e69c2c42db25b669b6691d7fe6a3207ddebbbeae0213f07a898
BLAKE2b-256 checksum
How to use checksums
c61fc8e5d9b7203ec89ccef8a83192c7f74b94f00d4e96dc91c450eaa380dc57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp313-cp313-macosx_14_0_arm64.whl

Download URL quspect-0.3.0-cp313-cp313-macosx_14_0_arm64.whl
Size 857.0 kB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
3e0b15fe3e9eccf4bc2c04f5f3dd9db6724c2cd42a24cbeffd4e656d011131db
BLAKE2b-256 checksum
How to use checksums
e99fe0dcfad11b33f08d8be702e29acff6c6689ee7b0bfb828854edce45667bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp312-cp312-win_amd64.whl

Download URL quspect-0.3.0-cp312-cp312-win_amd64.whl
Size 1.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
572ae1b20870150b631e5ef95f0cb071d05b02ec9b517613f2aaea5c83a79734
BLAKE2b-256 checksum
How to use checksums
a93d6da400e859bf0b667690d5fc453417ec778426d5342cd4752047311cf6e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL quspect-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fc65261f5ea04702cd3d56c8770cb56c0a1eb524154ade04232d6630548155d5
BLAKE2b-256 checksum
How to use checksums
6f48b72809e08e2667fccdd9bb44f4868c8ecaf37a72c4db2d51407fe21327d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL quspect-0.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 753.1 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c7db60a28ef830c9008b84a3085896c61910fcad5494768baa7790c3bfcf4abe
BLAKE2b-256 checksum
How to use checksums
dbbd00ba089b5eb7f780bc3c801d05b80a789e6e2a917094a208c722b0df0ad5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp312-cp312-macosx_14_0_arm64.whl

Download URL quspect-0.3.0-cp312-cp312-macosx_14_0_arm64.whl
Size 857.0 kB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
d3cceab010daa419c374cf24d2d8a5bc633a2b82e1ea960e015b5817d4b254a2
BLAKE2b-256 checksum
How to use checksums
ac3853a26cf125c74dbb995a5d38fe07ac0e006e05bb2aecfc65f0ad64b11c4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp311-cp311-win_amd64.whl

Download URL quspect-0.3.0-cp311-cp311-win_amd64.whl
Size 1.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
6973f15e9b4e45e8c704c3a136331be5d3bf18f861a8510be449e857d1e2b00b
BLAKE2b-256 checksum
How to use checksums
973a41f67f5f663e10b5d0151fc2fb45fc303672a8f08f4865184c1d45974372
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL quspect-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ac776d85b80d68f9e0f981e45ef9be0ba0e6226e470f8829b48c0a0fcc1f7675
BLAKE2b-256 checksum
How to use checksums
f6c66fe6925b604592afeef4e126d57cf4ac3792c4669318027b73e3c9cebc63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL quspect-0.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 751.2 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
250425fd6f79477bcfd70154baa61d82c8641c44229e9c9a2f88566b5fd99461
BLAKE2b-256 checksum
How to use checksums
29d5a92d6b1e19b80ebe401b9bd98c2be9116c8cf482f8e53fd65792d49cd9df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp311-cp311-macosx_14_0_arm64.whl

Download URL quspect-0.3.0-cp311-cp311-macosx_14_0_arm64.whl
Size 856.3 kB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
3f17bcf5c4ec1e281b7353f5020c4606ee13d24b696e91c1f7f014324b69d775
BLAKE2b-256 checksum
How to use checksums
d202ca56190f142e81c815bfbae343e8ef03dd587d389e44d4c89b10f340992e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp310-cp310-win_amd64.whl

Download URL quspect-0.3.0-cp310-cp310-win_amd64.whl
Size 1.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
1ad65b570f631a2cd56347c571d0ae833c46b492833b2f2167f0f7276eef7ab2
BLAKE2b-256 checksum
How to use checksums
8d08f617c738d8048390544608105c588c5507ec6192364e0edcfed9866eae24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL quspect-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a2776748d5bf98599057be672970e3775e33422f336d7654e3ab6eeb60d28207
BLAKE2b-256 checksum
How to use checksums
9cd4fc69c67be9dd89b01de2313808eecf4b94d7e47363847b0d2ac2b5843824
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL quspect-0.3.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 750.6 kB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
39a1c1e1341494ffc54a32cb4e069aef28d087824236460bdbe7d7d54a65a1d3
BLAKE2b-256 checksum
How to use checksums
01cbbb546f1d87ce176aa277a1d0e115e2e773d69c35ba65ef3f9f509d5cdf1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / quspect-0.3.0-cp310-cp310-macosx_14_0_arm64.whl

Download URL quspect-0.3.0-cp310-cp310-macosx_14_0_arm64.whl
Size 855.3 kB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
d3f39b459e8025359c5c59a2d05934906639af96c02cf0862cd572f0e78d953e
BLAKE2b-256 checksum
How to use checksums
2fae2136fdf1c49908c8dce4cbe99f87805bf4405a0a9596fed0b6222efd0f36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Security for quspect 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 25 files in this release have been uploaded with provenance metadata.

Select from 25 files

Attestation for quspect-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page