Skip to main content

Logo

Polypus

A distributed quantum computing library — Rust core, Python bindings, one API across simulators and real QPUs.

CI status License: EUPL-1.2 Python 3.8+ Documentation Status: active development DOI

Table of Contents

What is Polypus?

Polypus is an open-source distributed quantum computing library: it runs quantum circuits and trains variational quantum algorithms (VQE, QAOA, QML, …) across one or many QPUs — simulated or real — without changing your circuit code. The core is written in Rust for performance and correctness; Python bindings (via PyO3) make it a drop-in accelerator for existing Qiskit workflows.

It is built for researchers and engineers who need to:

  • scale shot execution and population-based training across multiple QPUs instead of one,
  • swap between a local simulator, CESGA's CUNQA platform, or CESGA's QMIO real QPU without touching algorithm code,
  • keep a Python-friendly API while getting Rust-level performance on the hot paths (parameter binding, batched simulation).

Status: Polypus is under active development (current version: 0.7.2) and is published on PyPI as polypus-quantum — pip install polypus-quantum (it imports as polypus). See Installation.

Key Features

  • Multi-QPU execution — run any Qiskit QuantumCircuit, a native polypus.Circuit, or an OpenQASM 2.0 string, and automatically split shots across n_qpus to cut wall-clock time.
  • Unified variational training — Differential Evolution, Particle Swarm Optimization, and Quantum Natural Gradient behind a single polypus.train() API; switch optimizers by changing one argument, populations are distributed across QPUs automatically.
  • Backend-agnostic — local simulation via Qiskit Aer, CESGA's CUNQA distributed QPU platform, and CESGA's QMIO real quantum processor, the last reached through a pure-Rust, GIL-free ZeroMQ client.
  • Native circuit engine (polypus-circuit) — optional pure-Rust circuit representation with OpenQASM 2.0 and QIR export; parameter binding is ~3x faster than Qiskit's assign_parameters and GIL-free, so concurrent evaluation threads bind candidates truly in parallel.
  • A real Cargo workspace, not a monolith — circuits, simulator, optimizers, cost observables, physics layer, execution backends, orchestration, evaluation, and logger are independent, individually testable crates; the pure-Rust ones have no Python dependency and are usable from any Rust project.

Quickstart

Same project, three names — pip install polypus-quantum · import polypus · cargo add polypus. See Installation.

git clone https://github.com/Bahia-Software/polypus.git
cd polypus
bash install.sh --no-tests
import polypus

bell = polypus.Circuit(2).h(0).cx(0, 1).measure_all()
result = polypus.run_quantum_circuit(bell, shots=1000, infrastructure="local")
print(result.counts[0])  # first (here, only) QPU, e.g. {'00': 512, '11': 488}
print(result.merged_counts)  # total over every QPU — the one to read with n_qpus > 1

See Usage for Qiskit circuits, multi-QPU distribution, and variational training.

Installation

Same project, three names — pip install polypus-quantum · import polypus · cargo add polypus. The name polypus on PyPI is taken by an unrelated project, so the Python distribution is published as polypus-quantum; the Python import name and the Rust crate both stay polypus.

The recommended way to install Polypus is from PyPI:

pip install polypus-quantum

Then import polypus (see Quickstart). CUNQA and the QMIO real-QPU backend are optional extras — see CUNQA below and the from-source build for --features qmio.

From source

To build from a checkout — for contributors, or to enable the qmio backend — use the provided script:

bash install.sh

This will interactively guide you through installing dependencies, building the wheel, and optionally running the test suite. For non-interactive environments (CI/CD):

bash install.sh --yes        # all defaults, run all tests
bash install.sh --no-tests   # skip tests
Manual installation

Install development dependencies:

pip install -r requirements-dev.txt

Build and install Polypus — a single wheel bundles the polypus extension and the polypus_python helper package:

maturin build --release --out dist
pip install dist/polypus_quantum-*.whl

Note: maturin develop installs only the compiled polypus extension, not the bundled polypus_python helpers. Build and install the wheel (above) to get both import names.

CUNQA

To install CUNQA please refer to the CUNQA GitHub repository.

Usage

Check the examples/ directory for complete, runnable scripts.

Running a Quantum Circuit

Pass the circuit, the number of shots, the infrastructure and the number of QPUs:

result = polypus.run_quantum_circuit(
    qc, shots=NUM_SHOTS, infrastructure=INFRASTRUCTURE, n_qpus=1
)

Distributing Shots Across Multiple QPUs

Set n_qpus > 1 to split the shots across available QPUs and reduce execution time:

result = polypus.run_quantum_circuit(
    qc, shots=NUM_SHOTS, infrastructure=INFRASTRUCTURE, n_qpus=10
)

When infrastructure="cunqa", two optional kwargs size the SLURM allocation for the distributed QPUs:

Parameter Default Description
nodes 1 Number of SLURM nodes to request (>= 1)
cores_per_qpu 2 CPU cores allocated per QPU (>= 1)
result = polypus.run_quantum_circuit(
    qc, shots=NUM_SHOTS, infrastructure="cunqa", n_qpus=10, nodes=2, cores_per_qpu=4
)
print(len(result.counts))  # 10 — one counts dict per QPU
print(result.merged_counts)  # their total, over all NUM_SHOTS shots

Both must be >= 1 for "cunqa" (a 0 reaching SLURM is rejected with a ValueError). They are ignored by infrastructure="local" and "qmio", so those calls omit them.

Both calls return a RunResult with the same shape whatever n_qpus is. result.counts is always a list[dict[str, int]] with one dict per QPU, in the order the shots were split (length n_qpus, so result.counts[0] is the first QPU's counts for any n_qpus; a QPU left with no shots when shots < n_qpus is an empty {}). result.merged_counts is a single dict[str, int] summing all of them — the circuit's counts over every shot, and usually what you want with n_qpus > 1. The manifest fields result.id, result.seed, result.backend and result.infrastructure record the run for logging and replay. Pass seed=... to run_quantum_circuit() for reproducible shot noise on every simulated backend (native "polypus", Aer, and CUNQA's simulated QPUs); result.seed reports the effective seed used (None only for the "qmio" infrastructure, which is real hardware and rejects an explicit seed).

Training Variational Circuits

Polypus optimizes variational quantum circuits via polypus.train(). The optimizer is selected by passing a method object as the second argument. Polypus distributes the population individuals across the available QPUs automatically.

The common parameters for all methods are:

Parameter Description
qc Parameterized quantum circuit
shots Number of shots per circuit execution
n_qpus Number of QPUs to use
dimensions Number of variational parameters
expectation_function Python callable that maps a bitstring to a cost value
infrastructure "local" or "cunqa"
nodes Number of nodes (CUNQA only)
cores_per_qpu Cores per QPU (CUNQA only)
id Experiment identifier for logging
seed Optional RNG seed for a reproducible run (default: drawn from OS entropy)

If CUNQA is not available, set infrastructure="local".

Differential Evolution

result = polypus.train(
    qc,
    polypus.DE(
        generations=MAX_GENERATIONS, population_size=POPULATION_SIZE, tolerance=TOL
    ),
    shots=N_SHOTS,
    n_qpus=N_QPUS,
    dimensions=2 * layers,
    expectation_function=bitstring_to_obj,
    infrastructure=infrastructure,
    nodes=NUM_NODES,
    cores_per_qpu=CORES_PER_QPU,
    id=id,
)

train() (and qml.train()) return a TrainResult carrying the full optimization outcome, not just the tuned parameters:

print(result.best_params)  # list[float] — the optimized parameters
print(result.best_fitness)  # float — cost/fitness at those parameters
print(result.iterations_run)  # int — iterations actually run (early-stopping aware)
print(result.converged)  # bool — whether the convergence criterion was met
print(
    result.seed
)  # int — the effective RNG seed; pass it back as seed=... to reproduce the run

Pin reproducibility with the seed keyword (polypus.train(..., seed=42)) or on the optimizer itself (polypus.DE(..., seed=42)); with no seed, one is drawn from OS entropy and reported back in result.seed.

Particle Swarm Optimization

result = polypus.train(
    qc,
    polypus.PSO(
        generations=MAX_GENERATIONS,
        population_size=POPULATION_SIZE,
        bounds=(0.0, np.pi),
        tolerance=TOL,
    ),
    shots=N_SHOTS,
    n_qpus=N_QPUS,
    dimensions=2 * layers,
    expectation_function=bitstring_to_obj,
    infrastructure=infrastructure,
    nodes=NUM_NODES,
    cores_per_qpu=CORES_PER_QPU,
    id=id,
)

Quantum Natural Gradient

QNG requires a variance_function callable that estimates the diagonal quantum Fisher information matrix element for each parameter. Default hyperparameters: learning_rate=0.1, finite_difference_step=0.1, tikhonov_reg=0.05.

result = polypus.train(
    qc,
    polypus.QNG(
        variance_fn,
        max_iters=MAX_GENERATIONS,
        bounds=(0.0, np.pi),
        learning_rate=0.1,
        finite_difference_step=0.1,
        tikhonov_reg=0.05,
    ),
    shots=N_SHOTS,
    n_qpus=N_QPUS,
    dimensions=2 * layers,
    expectation_function=bitstring_to_obj,
    infrastructure=infrastructure,
    nodes=NUM_NODES,
    cores_per_qpu=CORES_PER_QPU,
    id=id,
)

Training QML Classifiers

polypus.qml.train() trains a data-encoding circuit: a Qiskit feature_map encodes each row of x_train (one sample per row, len(feature_map.parameters) values each), an ansatz holds the trainable weights, and the optimizer maximises the mean per-sample score over the training set. It takes the same optimizers and parameters as train().

Pass y_train (one label per row) to train a supervised model: each sample is then scored against its own label. Here a binary classifier reads out the parity of the measured bits:

from qiskit.circuit.library import real_amplitudes, zz_feature_map

feature_map = zz_feature_map(feature_dimension=4, reps=2)
ansatz = real_amplitudes(num_qubits=4, reps=2)


def correct(bitstring, label):  # 1.0 when the read-out matches the label
    return float(bitstring.count("1") % 2 == label)


result = polypus.qml.train(
    feature_map,
    ansatz,
    X_train,  # shape (n_samples, 4)
    polypus.DE(generations=50, population_size=20),
    shots=1024,
    n_qpus=1,
    dimensions=len(ansatz.parameters),
    expectation_function=correct,  # fitness = expected training accuracy
    infrastructure="local",
    nodes=1,
    cores_per_qpu=1,
    id="qml_classifier",
    y_train=y_train,  # shape (n_samples,): class indices
)

With y_train, expectation_function takes one of three forms:

expectation_function Scores each sample by
f(bitstring, label) -> float the count-weighted mean of f over its shots; f runs once per distinct (label, bitstring) of each batch
polypus.CachedCost(f) the same, memoised across generations (f must be pure)
polypus.SampleCost(g) g(counts, label) -> float on its whole {bitstring: count} dict, for losses that are not linear in the outcome probabilities

For example, a polypus.SampleCost can maximise the log-likelihood, i.e. minimise the cross-entropy:

import math


def log_likelihood(counts, label):
    hits = sum(n for bits, n in counts.items() if bits.count("1") % 2 == label)
    # Clip before the log: every score must be finite.
    return math.log(max(hits / sum(counts.values()), 1e-6))


expectation_function = polypus.SampleCost(log_likelihood)

Integer labels (Python or NumPy ints and bools) reach your function as int; if any label is not an integer, all of them arrive as float (regression targets). y_train is validated before anything runs: a length other than the number of rows, a NaN/inf, a string or a one-hot row is rejected with the offending index. Without y_train, one expectation_function(bitstring) is shared by every sample, as before.

To evaluate a trained model, polypus.qml.predict() builds the circuits training ran and executes every sample in one scheduled run: one backend batch and, on CUNQA, one allocation. Its RunResult.counts holds one dict per row, in row order; map them to classes with the objective's read-out:

run = polypus.qml.predict(
    feature_map,
    ansatz,
    X_test,
    result.best_params,
    shots=1024,
    infrastructure="local",
    seed=7,
)


def majority_parity(counts):
    odd = sum(n for bits, n in counts.items() if bits.count("1") % 2)
    return int(odd > sum(counts.values()) - odd)


predictions = [majority_parity(counts) for counts in run.counts]

With n_qpus > 1 the samples are spread over the QPUs; one sample's shots are never split. See examples/basic_qml.py for a complete classifier, from training to held-out accuracy.

Rust-Native Circuits

The repository is a Cargo workspace; polypus-circuit is its pure-Rust quantum circuit crate — no PyO3/Python dependency, so circuits can be built and serialized without the GIL. crates/polypus (the Python extension) re-exports its API as polypus.Circuit. Qiskit circuits remain fully supported; the Rust API is an additional, high-performance path.

From Python

polypus.Circuit is accepted by run_quantum_circuit and train exactly like a Qiskit QuantumCircuit (an OpenQASM 2.0 string also works for run_quantum_circuit):

import polypus

# Fully bound circuit → run directly
bell = polypus.Circuit(2).h(0).cx(0, 1).measure_all()
result = polypus.run_quantum_circuit(bell, shots=1000, infrastructure="local")

# Parameterized ansatz → train (binding happens in Rust, GIL-free)
qaoa = (
    polypus.Circuit(4)
    .h(0)
    .h(1)
    .h(2)
    .h(3)
    .rzz(0, 1, polypus.Param(0))
    .rzz(1, 2, polypus.Param(0))
    .rzz(2, 3, polypus.Param(0))
    .rzz(3, 0, polypus.Param(0))
    .rx(0, polypus.Param(1))
    .rx(1, polypus.Param(1))
    .rx(2, polypus.Param(1))
    .rx(3, polypus.Param(1))
    .measure_all()
)
result = polypus.train(
    qaoa,
    polypus.DE(generations=100, population_size=50),
    shots=1024,
    n_qpus=1,
    dimensions=2,
    expectation_function=my_cost,
    infrastructure="local",
    nodes=1,
    cores_per_qpu=1,
    id="qaoa",
)

From Rust

use polypus_circuit::{ParameterizedCircuit, Param};

let qc = ParameterizedCircuit::new(4)
    .h(0).h(1).h(2).h(3)
    .rzz(0, 1, Param(0)).rzz(1, 2, Param(0)).rzz(2, 3, Param(0)).rzz(3, 0, Param(0))
    .rx(0, Param(1)).rx(1, Param(1)).rx(2, Param(1)).rx(3, Param(1))
    .measure_all();

let qasm: String = qc.to_qasm2_with_params(&[0.4, 0.8])?; // OpenQASM 2.0
let qir_ll: String = qc.to_qir_with_params(&[0.4, 0.8])?; // QIR LLVM IR text (.ll)
let qir_bc: Vec<u8> = qc.to_qir_bitcode_with_params(&[0.4, 0.8])?; // QIR bitcode (.bc)

The generated OpenQASM 2.0 uses standard qelib1.inc gate names and is accepted by Qiskit (QuantumCircuit.from_qasm_str) and Aer.

to_qir_bitcode_with_params requires llvm-as available in PATH because Polypus assembles the textual QIR module into LLVM bitcode externally.

From Python, both outputs are also available:

qc = polypus.Circuit(2).h(0).cx(0, 1).measure_all()
qir_text = qc.to_qir()  # str (.ll)
qir_bitcode = qc.to_qir_bitcode()  # bytes (.bc)

QASM 2.0 Import

Circuit.from_qasm2 is the inverse of to_qasm2 — it accepts the QASM this library exports and Qiskit's qasm2.dumps output (u/p/u1/u2 are canonicalised to u3, swap to its cx decomposition; multiple registers are flattened; constant expressions like pi/2 are evaluated). Parse errors raise ValueError with the offending line number.

import polypus
from qiskit import qasm2

qc = polypus.Circuit.from_qasm2(qasm2.dumps(qiskit_circuit))  # interop
qc = polypus.Circuit.from_qasm2(open("ansatz.qasm").read())  # persistence
qc.rz(1, 0.5).measure_all()  # imported circuits are regular builders

Round-trip guarantee (verified by tests): for any circuit produced by this library, export → import → export is byte-identical. The same API exists in Rust as ParameterizedCircuit::from_qasm2.

Performance Notes

  • Parameter binding: ~3x faster than Qiskit's assign_parameters and, crucially, GIL-free — concurrent evaluation threads bind candidates truly in parallel (see benchmarks/bench_native_vs_qiskit.py).
  • Batched simulation: the local backend submits each evaluation batch (e.g. a whole DE population) in a single AerSimulator.run call with max_parallel_experiments=0, so Aer's C++ engine runs the experiments in parallel across cores with the GIL released. Measured ~1.4–2.1x end-to-end training speedup vs per-circuit submission, growing with circuit size (see benchmarks/bench_batching.py). Distributed backends cap each wave's concurrency at n_qpus via their QuantumBackend::capabilities (BackendCapabilities::max_concurrency), which the Planner enforces.
  • Native circuits shine brightest with backends that consume OpenQASM directly (e.g. CUNQA), where the Qiskit re-parse disappears entirely.
  • Automatic gate-parallel calibration: the native (backend="polypus") statevector simulator switches its gate kernels to the parallel path at a machine-specific qubit count. The first import polypus on a machine measures that crossover once (well under a second) and caches it under $XDG_CACHE_HOME/polypus/ (or ~/.cache/polypus/); every later import reuses the cache with no measurement. This runs on the real runtime hardware, so pip install polypus-quantum wheel users get a tuned threshold with no manual step. It fails safe — a read-only cache dir (containers/CI) falls back to the default threshold without error, and correctness is never affected. Set POLYPUS_NO_AUTOCALIBRATE=1 to skip it entirely (CI, containers, reproducibility runs); you can also tune it explicitly at any time with polypus.calibrate_parallel_threshold().

Project Architecture

Polypus is a Cargo workspace of focused crates plus one Python package:

Path Language Role
crates/polypus Rust + PyO3 The Python extension module and PyO3 edge: #[pyclass]/#[pyfunction] bindings, the typed polypus.* exception hierarchy, and re-exports of the workspace crates
crates/polypus-circuit Pure Rust Circuit representation, OpenQASM 2.0 / QIR export — no PyO3, usable from any Rust project
crates/polypus-sim Pure Rust Statevector simulator consuming polypus-circuit's ConcreteCircuit directly (no OpenQASM round-trip)
crates/polypus-optimizers Pure Rust DE, PSO and QNG optimizers, decoupled from circuits and Python via EvaluationOracle/VarianceOracle
crates/polypus-observable Pure Rust Native, GIL-free cost observables (QUBO / Ising and other diagonal costs) mapping measurement counts to per-candidate expectation values, parallelized with rayon
crates/polypus-physics Pure Rust Classical Monte Carlo transport and quantum Hamiltonians expressed as Pauli sums
crates/polypus-infrastructure Rust + PyO3 Execution backends (local Aer, native, CUNQA, QMIO) and the Planner that sizes and runs circuit waves — how a circuit executes
crates/polypus-orchestration Pure Rust Flow/Scheduler/Resources policy and optimizer dispatch — how a flow is orchestrated; deliberately pyo3-free
crates/polypus-evaluation Rust + PyO3 The oracles (VqcOracle, QmlOracle, variance), the supervised QML objectives, and their OracleFactory assembly — how a candidate is evaluated
crates/polypus-logger Pure Rust Shared log::Log sink for the whole workspace
polypus_python Python Python-side infrastructure glue (backend connectivity, worker processes) used by the extension module; bundled into the polypus-quantum wheel

Only crates/polypus, crates/polypus-infrastructure and crates/polypus-evaluation link against Python (via PyO3); every other Rust crate is dependency-free with respect to PyO3 and can be used standalone from any Rust project.

Documentation

Citing Polypus

If Polypus is useful in your research, please cite it:

@software{polypus,
  author  = {Fernández Prada, Diego Beltrán and Sóñora Pombo, Víctor and Figueiras Gómez, Sergio and Boubeta Martínez, Miguel and Pérez González, Kevin and Sendón Caamaño, Uxía and {Galicia Supercomputing Center (CESGA)}},
  title   = {{Polypus: A Distributed Quantum Computing Library}},
  year    = {2026},
  url     = {https://github.com/Bahia-Software/polypus},
  doi     = {10.5281/zenodo.22913065},
  version = {0.7.2}
}

Credits

  • Diego Beltrán Fernández Prada
  • Víctor Sóñora Pombo
  • Sergio Figueiras Gómez
  • Miguel Boubeta Martínez
  • Kevin Pérez González
  • Uxía Sendón Caamaño
  • Galicia Supercomputing Center (CESGA)

Dependencies

Polypus relies on the following Python packages:

Package Version
qiskit ≥ 2.0
qiskit-aer ≥ 0.17
numpy ≥ 2.0
scipy ≥ 1.13
matplotlib ≥ 3.9
networkx ≥ 3.2
cunqa ≥ 2.3 (optional)

See requirements-dev.txt and requirements-examples.txt for the full pinned dependency lists.

License

Polypus is licensed under the European Union Public Licence, version 1.2 (EUPL-1.2). See LICENSE for the full text.

Metadata

Release files for polypus-quantum 0.7.2

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

Source distribution (sdist)

Source distribution for polypus-quantum 0.7.2
File Size Uploaded
polypus_quantum-0.7.2.tar.gz 453.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for polypus-quantum 0.7.2
File
polypus_quantum-0.7.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
polypus_quantum-0.7.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
polypus_quantum-0.7.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
polypus_quantum-0.7.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
polypus_quantum-0.7.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
polypus_quantum-0.7.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
polypus_quantum-0.7.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
polypus_quantum-0.7.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
polypus_quantum-0.7.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
polypus_quantum-0.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
polypus_quantum-0.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
polypus_quantum-0.7.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
polypus_quantum-0.7.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
polypus_quantum-0.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
polypus_quantum-0.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
polypus_quantum-0.7.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
polypus_quantum-0.7.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
polypus_quantum-0.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
polypus_quantum-0.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details

Total release size: 20.4 MB

Release files / polypus_quantum-0.7.2.tar.gz

Download URL polypus_quantum-0.7.2.tar.gz
Size 453.9 kB
Tags Source
SHA-256 checksum
How to use checksums
3ce924838bd281ebc74a3d09c7a0bc6f238b3f4e7511f5d2f2657f974e057deb
BLAKE2b-256 checksum
How to use checksums
6f49907d29c11ab4308e0ec5caefb84bac50a833e66f849b8569d341a1e598f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp313-cp313-win_amd64.whl

Download URL polypus_quantum-0.7.2-cp313-cp313-win_amd64.whl
Size 819.4 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
344ccb6f9b643aa34885d493f26d33ed9934a4a009c3564849d13798ca7559e9
BLAKE2b-256 checksum
How to use checksums
fff18e34859a297ba6f267361b618c56e93bbeb7acc884506760a07a3395cd0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL polypus_quantum-0.7.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3457fd770e628b2a88a25cf0dd6ed134a273d9cdf136a45dbb7041d1a747889d
BLAKE2b-256 checksum
How to use checksums
06131d581f94b62699d202cfc46f34828b0b198a104fa510dd93f8622fc6491f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL polypus_quantum-0.7.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
f6810e493fd02184e00c21323f8489a7d3f97ffac8b1e57b1c0664204b97c5a4
BLAKE2b-256 checksum
How to use checksums
68df143d81b6f738835be5e09854d59ab6c407a43ec60099636d75005112dfd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL polypus_quantum-0.7.2-cp313-cp313-macosx_11_0_arm64.whl
Size 1.0 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a7ea21f21fcefa6cb057f155e91ec2e0e80ae11810d960d686c763f60daedf70
BLAKE2b-256 checksum
How to use checksums
ad91b3295953e85b8fefeff3e55469f87a1b3f0ac0576f59ad37fe978eef01b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp312-cp312-win_amd64.whl

Download URL polypus_quantum-0.7.2-cp312-cp312-win_amd64.whl
Size 820.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
3e262c428336a859d2120d582323b32616b1ac00fe95df3102f0942bc0f5c24d
BLAKE2b-256 checksum
How to use checksums
54ca813cea7f208b7ef2be375671a90f778b060dda3a8fdc0de948504c05c536
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL polypus_quantum-0.7.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e1af31a987ca814ffc74b665d64e1e078eaf8ec3c846e32e052d188d449d4651
BLAKE2b-256 checksum
How to use checksums
594aa54efd5367acb08b751c3f5aeed15908c65f4ba9505e7e46021ce58f8c76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL polypus_quantum-0.7.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
242640e368d7fa03f8389af6f67a856b619beaa5974319bd0e9d7cfe3672ea57
BLAKE2b-256 checksum
How to use checksums
98b8787d6e293e1f94197fdbeef6abf60a42859d18d72d7e04961228f700dbde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL polypus_quantum-0.7.2-cp312-cp312-macosx_11_0_arm64.whl
Size 1.0 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2b0fee2c1dd6ddc66b734a1c900bc9c79c7e2a325388e4591fef4d8d44554179
BLAKE2b-256 checksum
How to use checksums
58733a84c1a813388585bc789765981235ff8047fe1e5f98ac114f72a9db79a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp311-cp311-win_amd64.whl

Download URL polypus_quantum-0.7.2-cp311-cp311-win_amd64.whl
Size 834.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
829e9a78bbfc1e8d858be9c1309e17754fe12dcd4318d655dc12ad7d1e764de0
BLAKE2b-256 checksum
How to use checksums
55bf1a4f61d63487e8ffd939df0abf0bd65ea3eb33599d30333bb2e90b697cf2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL polypus_quantum-0.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f6c4b4f175303202b9b31a1cc7be80656ca88a20d4662c4533a9c65ee0936343
BLAKE2b-256 checksum
How to use checksums
33cb32c83488c7cc27397ad47100c22af6e955ff7257b08b31a94b0a439d6238
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL polypus_quantum-0.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
6518168c3098c5561f122677920245332cf6a7a61981d7dd176e0ddfe5fc97e8
BLAKE2b-256 checksum
How to use checksums
f1be809e62428858f48753f0caa941efe5e91628d82b5ca9c132069a495037b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL polypus_quantum-0.7.2-cp311-cp311-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b9083815200716e7c98a9b0286c42a0f7c2a1b39d5c44372ec1b22ad373ce943
BLAKE2b-256 checksum
How to use checksums
4fe1f7dd3a043d830de1705e899d35e8e844dc7a3603e88aa8859a5735b0a9c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp310-cp310-win_amd64.whl

Download URL polypus_quantum-0.7.2-cp310-cp310-win_amd64.whl
Size 834.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
06d7a851a3c4a4b121962af5b7d7465e0f69376801f3eebfdd882eca28224b76
BLAKE2b-256 checksum
How to use checksums
3c7bab175a2e1a293a3eb4b19434de9d14eeb607638b93e8145f3000bbd33637
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL polypus_quantum-0.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d54792ec7ef63dc9cdd179da7a820d4bb660b8c481b136ccbe5df197a30b3122
BLAKE2b-256 checksum
How to use checksums
b429f9008eb49523158865e80e5619f431fb4fd59571591aa730cc01b93cf35c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL polypus_quantum-0.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
03ab40ae27c09f4fc3e1093b4d43bd575c1c8f3f5af5213d19a09557cfcb1d5a
BLAKE2b-256 checksum
How to use checksums
7c91ae97aba2f66f3fff5c359493f0314fd438edda6524ccd5ff2f72d0a530aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL polypus_quantum-0.7.2-cp310-cp310-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3908970043dd78ae3c1f293c521b37886155d48e31c87483cceb1ee9292b9ffd
BLAKE2b-256 checksum
How to use checksums
5258645509ac4b530896b603e1a1160e7d6ceba91adffcd8f0eb3f32e2cf35ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp39-cp39-win_amd64.whl

Download URL polypus_quantum-0.7.2-cp39-cp39-win_amd64.whl
Size 836.9 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
3896d226e1c70eae19fa2e3b374157fec1919be01a70579e5ccb2a460f25354a
BLAKE2b-256 checksum
How to use checksums
e5337a3ff3edaed4330a12ab0e559fdfa1bc05c6da60dbe585829e26461ec979
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL polypus_quantum-0.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
bff444eff7cd27e988d886abd9f4b07672ddf3bae9d5a6c2105fba93b01c2620
BLAKE2b-256 checksum
How to use checksums
0e664a76f802127beedec11f53df86539cb0c9baf8daef018053e24006bc6d3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release files / polypus_quantum-0.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL polypus_quantum-0.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
5a4bba2aebe3cc4ba3a53a760bcedc42321c3211b9ac9759018ead2f490db7fd
BLAKE2b-256 checksum
How to use checksums
1d1d7d5ca65fcbdada66459c0bd8b6f46b6472062d255b59ab756eb5fa0a1d74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.7.2 This release

20 release files

0.7.1

28 release files

0.7.0

28 release files

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