Skip to main content
logo

ElastiQP

Paper

An always-feasible QP solver for constrained robot control.

ElastiQP solves the following problem:

$$ \begin{align*} \underset{x, t}{\text{minimize}} & \quad \frac{1}{2}x^TQx + q^Tx + w^T t \ \text{s.t.} & \quad Ax = b \ & \quad Gx - t \leq h \ & \quad t \geq 0 \end{align*} $$

i.e, a QP with hard equality constraints $Ax = b$ and elastic inequality constraints $Gx \leq h$, where every inequality constraint is relaxed with an $\ell_1$ penalty term defined by $w > 0$.

Notably, the elastic slacks $t$ are eliminated analytically, so the condensed system stays $n \times n$ regardless of the number of constraints. This enables fast compute times, even with large numbers of inequality constraints $p$.

Why ElastiQP?

For robot control, we are typically interested in solving small-scale, dense QPs, where the number of inequality constraints $p$ may be much larger than the number of decision variables $n$. In this setting, inequality constraints can often be momentarily infeasible, but in a control loop, we always need to return a reasonable solution.

Likewise, in the control setting, we often encode dynamics via strict equality constraints. For typical systems, dynamics constraints are feasible by construction, and relaxing these would lead to unrealistic behavior.

Given this, in the case of infeasibility, ElastiQP naturally relaxes the inequality constraints in an $\ell_1$ manner, relaxing only the constraints that strictly need to be adjusted for a feasible solution.

Overview

ElastiQP is a C++/Eigen header-only library with Python bindings and a JAX foreign function interface (FFI).

ElastiQP's primary backend (das.hpp) is is a dual active-set method, based on DAQP. We also have two additional backends, which were primarily used as a point of comparison for the paper: pdal.hpp is a primal-dual augmented Lagrangian method, based on ProxQP, and ipm.hpp is a proximal interior point method, based on PIQP and inspired by qpax

ElastiQP is fast, particularly when warm-started. For a rough sense of numbers, on a laptop with an Intel i7 CPU, ElastiQP can solve humanoid-scale whole-body control problems at approximately 50 us.

Installation

C++

From source:

git clone https://github.com/StanfordASL/elastiqp
cd elastiqp
cmake -B build . -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j
# Optional: cmake --install build --config Release

For best performance (on your own device), you can also build with -march=native

cmake -B build-native . -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-march=native"
cmake --build build-native --config Release -j

If you've installed with CMake, you can also find_package(elastiqp)

Python

From PyPI

pip install elastiqp

From source

If installing the Python bindings from source, first make sure that you've run the build described above in the C++ section. You'll need to have nanobind (and jax, if you want to use the FFI) installed in your current python venv when building. Then, from the top-level of the repo,

pip install .

JAX/PyTorch dependencies can be installed with pip install "elastiqp[jax]" or pip install "elastiqp[torch]", respectively.

Note: if using UV, you can directly replace the above pip commands with uv pip

Usage

C++

#include "elastiqp/elastiqp.hpp"
// or one backend only: "elastiqp/das.hpp", "pdal.hpp", "ipm.hpp"

// If you just need to solve a single problem
elastiqp::Solution sol = elastiqp::Solve(Q, q, A, b, G, h, penalty);
// or without equalities: elastiqp::Solve(Q, q, G, h, penalty)

// Repeated solves
elastiqp::Solver solver;
solver.setup(Q, q, A, b, G, h, penalty);
while (running) {
  // Set your updated problem data and warm-start
  solver.set_q(q_k); solver.set_h(h_k); solver.set_b(b_k);
  const elastiqp::Solution& sol = solver.solve();
}

Python

import elastiqp

# If you just need to solve a single problem:
sol = elastiqp.solve(Q, q, G, h, penalty, A=A, b=b)
# Specify the backend (default "das") via the method kwarg
sol = elastiqp.solve(Q, q, G, h, penalty, A=A, b=b, method="das")

# If you are solving multiple times in a control loop:
solver = elastiqp.Solver()
solver.setup(Q, q, G, h, penalty, A=A, b=b)
sol = solver.solve()
solver.update(q=q_k, h=h_k, b=b_k)
sol = solver.solve()

JAX / PyTorch

import jax
jax.config.update("jax_enable_x64", True)
import elastiqp.jax

# Same API as Python, just with elastiqp.jax
sol = elastiqp.jax.solve(Q, q, G, h, penalty, A=A, b=b)

# Compatible with jax.grad and vjp
def loss(q_):
    sol = elastiqp.jax.solve(Q, q_, G, h, penalty, A=A, b=b)
    return jnp.sum(sol.x**2)

grad_q = jax.grad(loss)(q)

# Compatible with jit
jit_loss = jax.jit(loss)
l = jit_loss(q)

# Compatible with vmap
vmap_loss = jax.vmap(loss)
batch_q = jnp.tile(q, (10, 1))
batch_ls = vmap_loss(batch_q)

# Explicit warm starting
def step(state, q_k):
    sol = elastiqp.jax.solve(Q, q_k, G, h, penalty, A=A, b=b, warm_start=state)
    return sol, sol.x
init = elastiqp.jax.solve(Q, qs[0], G, h, penalty, A=A, b=b)
_, xs = jax.lax.scan(step, init, qs)

For runnable Python/JAX/PyTorch examples, see the examples folder

C

A new experimental C wrapper has recently been added for compatibility with libraries like CasADi

#include "elastiqp/elastiqp_c.h"

ElastiQPProblem qp = {.n = n, .m = m, .p = p, .Q = Q, .q = q, .A = A, .b = b,
                      .G = G, .h = h, .penalty = penalty};
ElastiQPSolution res = {.x = x, .z = z};
elastiqp_solve_once(&res, &qp, NULL);  // NULL: default settings

// Repeated solves
ElastiQPWorkspace* work;
elastiqp_setup(&work, &qp, NULL);
while (running) {
  elastiqp_set_q(work, q_k); elastiqp_set_h(work, h_k); elastiqp_set_b(work, b_k);
  elastiqp_set_G(work, G_k);
  if (elastiqp_solve(&res, work) != ELASTIQP_SOLVED) { /* ... */ }
}
elastiqp_free(work);

Benchmarks

See StanfordASL/elastiqp_benchmarks

Acknowledgments

ElastiQP builds on the following excellent projects:

ElastiQP is licensed under Apache 2.0; see LICENSE and NOTICE for third-party notices.

Citation

@article{morton2026elastiqp,
  author={Morton, Daniel and Arrizabalaga, Jon and Manchester, Zachary and Pavone, Marco},
  title={Elasti{QP}: An Always-Feasible QP Solver for Constrained Robot Control},
  journal={arXiv preprint arXiv:2609.19080},
  year={2026},
}

Metadata

Release files for elastiqp 0.2.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 elastiqp 0.2.0
File Size Uploaded Provenance
elastiqp-0.2.0.tar.gz 207.5 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for elastiqp 0.2.0
File
elastiqp-0.2.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
elastiqp-0.2.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
elastiqp-0.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
elastiqp-0.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
elastiqp-0.2.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
elastiqp-0.2.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
elastiqp-0.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
elastiqp-0.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
elastiqp-0.2.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
elastiqp-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
elastiqp-0.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
elastiqp-0.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
elastiqp-0.2.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
elastiqp-0.2.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
elastiqp-0.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
elastiqp-0.2.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
elastiqp-0.2.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
elastiqp-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
elastiqp-0.2.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
elastiqp-0.2.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 13.3 MB

Release files / elastiqp-0.2.0.tar.gz

Download URL elastiqp-0.2.0.tar.gz
Size 207.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a1edb7ef060c7c4453e22e234d68d61b5da637754191eb793eda41481e5afd62
BLAKE2b-256 checksum
How to use checksums
449c0471cb03ca19159f18ff302e98b4a863193d27c4abd49714ac675c1db4ed
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp313-cp313-win_amd64.whl

Download URL elastiqp-0.2.0-cp313-cp313-win_amd64.whl
Size 998.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
56b370c8a08ec0096a930a2bd209a697d887ec95f79c0b9290306d27b6a88c9e
BLAKE2b-256 checksum
How to use checksums
da9d2610cb4e1b009ac88c65e5ac4d2d2814a477b2e6f772aaf51f966a5d7fd1
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL elastiqp-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 591.4 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
14510bdd827ec2f18999da725e733aa2f8e1ffca6b99e858b5ee50d5532739cb
BLAKE2b-256 checksum
How to use checksums
d17b5e035480357f116d8f50fc5669b704ce90527682f6cf3f0fae287796cba9
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL elastiqp-0.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 517.3 kB
Tags CPython 3.13 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
25842872aeb3470e30565d4506eacf410b4d83a3c3ce44224e923694ce4ebb2c
BLAKE2b-256 checksum
How to use checksums
b21da87b72f6acf5de0f7b1707059d67de45fdca91d75719e63a99369eba673e
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL elastiqp-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 516.9 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bf386d1106e543da646a18ac43124dba1b1ef74afd110d43d294ee710c92eca9
BLAKE2b-256 checksum
How to use checksums
f5e6c4a2896a71d664b602646d08cd6af90d332ffec3daae8716ef6a9aa20c57
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp312-cp312-win_amd64.whl

Download URL elastiqp-0.2.0-cp312-cp312-win_amd64.whl
Size 998.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
6a657d1bc871b33c382957f05e7af20003cc2598798b7ef0ba6baf71d1f09a3b
BLAKE2b-256 checksum
How to use checksums
2541433d7f0432777b76145218d072aee2d4f15131953594025357d666376f6e
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL elastiqp-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 591.4 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
38833bd2fb333e71354b42a201aed1969768eae6bc6fac4618381d0c965abd35
BLAKE2b-256 checksum
How to use checksums
7401b69bab8f8b16e69c267bdaeef76e82ec85a53c2a42b22b191ed2072b0ae6
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL elastiqp-0.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 517.4 kB
Tags CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
895406915ce7611c959c38ad18ba4951f2cc0877d932a853158bbc1693a90525
BLAKE2b-256 checksum
How to use checksums
c51f97f5c2795ae08556d6e3bf70462d72a9cf37848761fe25f0868558a47a2b
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL elastiqp-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 516.8 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
58dca47c142b06a6abc765bba5571a436bb25e027d0d672b6d987218b98cca32
BLAKE2b-256 checksum
How to use checksums
bfce762d840ebba97a82e3154b886c6be6069dc49b5157508f49f924b435a4a6
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp311-cp311-win_amd64.whl

Download URL elastiqp-0.2.0-cp311-cp311-win_amd64.whl
Size 998.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
98f130205497e94b89d9547bd46ed5501d0f468d0038f6b95dec0bd18a8624d0
BLAKE2b-256 checksum
How to use checksums
37eae104f5f5a3bb6bdc749aa718f0348ec76ebcfa786ffc561f1e5e6ff56191
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL elastiqp-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 592.4 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ebb0af215906606572fa1b7bf97e3e09f8af501482b7248240e0d8be3b1d5c46
BLAKE2b-256 checksum
How to use checksums
3b28ef27c2548149845dc3f3b4c7b0d6c96ade03d367803aada89bcd4092766c
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL elastiqp-0.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 520.5 kB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
620230bd0043655954cdc0ec1d2cbf78ed3223533ff4c47cd3f6905c5f1b4bfa
BLAKE2b-256 checksum
How to use checksums
1dd67f8c9dad7065a52c3851e0c6b54f0b0a75e02e7cd40c975d82b9d7272c35
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL elastiqp-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 517.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bcca4b3c71b644db228777fc4ddd34281ff4a0048ab7ef3ede67e32b305f01ec
BLAKE2b-256 checksum
How to use checksums
a302891a8cedbc870be462064686b0160b88b2c69c5143355bebb0939b1f6ffc
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp310-cp310-win_amd64.whl

Download URL elastiqp-0.2.0-cp310-cp310-win_amd64.whl
Size 998.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
9288d43c0d8d08686f5233e53689febb6f84dc4ba02e70fea0772417b3eec53c
BLAKE2b-256 checksum
How to use checksums
a655e1b86df74ed14d0c6bc4d7dc90a2291aa33e9fb210528f8ee6493896d9c8
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL elastiqp-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 591.9 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fa0cec28b1242757b3e7671235caf162a4d9ff4bf4f92bc1c4bc8a584e213a7e
BLAKE2b-256 checksum
How to use checksums
5eb54f03530494bcd28bbd8a4dc9a146429b526ba097d9426d42f8b144caab26
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL elastiqp-0.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 520.1 kB
Tags CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ad798394c186150a41e655400cb738da8bded4f17a5420ea895986b9aff2c0f9
BLAKE2b-256 checksum
How to use checksums
ead4192ec06eb723f990b4f5a8c30e738d5a436a32def7f9d9f5dd1c09389e72
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL elastiqp-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 517.2 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9944813dc7f98fd10a7016b740eb06c56ae8f6dbebe3aa5cde6738f23dd905e0
BLAKE2b-256 checksum
How to use checksums
27180bb9ba828d55c864b0bbcbf605b4075f304375f1e4aeb962da598c56632a
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp39-cp39-win_amd64.whl

Download URL elastiqp-0.2.0-cp39-cp39-win_amd64.whl
Size 986.2 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
f30a3419a7ff91cbac7c60c5b3a5949c8dddf7742d9ef597d665a3a81aae27e6
BLAKE2b-256 checksum
How to use checksums
7eb21b9485960fa87bf849788e6416fd013592256f165d03730e8f174841f7ea
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL elastiqp-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 585.5 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2ea856f8c7d000cfd71645953148c4143035b8fe8cbd2cbf8a7436d1fc77caba
BLAKE2b-256 checksum
How to use checksums
b0e74d7908b0d02df21129acc23aff28880e4063ddfb22d94726e6c9d8715fa8
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL elastiqp-0.2.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 516.2 kB
Tags CPython 3.9 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ecbb6a10c2e228db47a23ffe567d67c99aa734b9decf51bb67013f96178ccec8
BLAKE2b-256 checksum
How to use checksums
0c8a1a4ad5e402520190a2e8ec13c64be33fa8651990aeb51f8a87b6e75bff92
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 24, 2026.

Transparency log

Release files / elastiqp-0.2.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL elastiqp-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
Size 512.1 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a211127654e5bd040233f6470ccb2b0b5c032d6c8796e5cb5539aea779b5143c
BLAKE2b-256 checksum
How to use checksums
4c4b7203b45205b86e02524160bc2cafeaf13731fe38d1bd691aff73fa2624ea
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 24, 2026.

Transparency log

Security for elastiqp 0.2.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 21 files in this release have been uploaded with provenance metadata.

Select from 21 files

Attestation for elastiqp-0.2.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 24, 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