solver-qpoases
A qpOASES wrapper for Python that ships
prebuilt binaries. It exposes qpOASES' online active-set solver through a thin,
numpy-friendly, MATLAB-quadprog-like interface.
Installation
Python (PyPI)
pip install marinholab-solvers-qpoases
C++ (Ubuntu .deb from the SmartArmStack PPA)
The C++ part (marinholab::solvers::qpoases, with qpOASES bundled) is
distributed as the libmarinholab-solver-qpoases .deb from the
SmartArmStack APT repository hosted at
smartarmstack.github.io. On Ubuntu (Noble/24.04), add it and install:
curl -s --compressed "https://smartarmstack.github.io/smart_arm_stack_ROS2/KEY.gpg" \
| gpg --dearmor \
| sudo tee /etc/apt/trusted.gpg.d/smartarmstack_lgpl.gpg >/dev/null
sudo curl -s --compressed -o /etc/apt/sources.list.d/smartarmstack_lgpl.list \
"https://smartarmstack.github.io/smart_arm_stack_ROS2/smartarmstack_lgpl.list"
sudo apt update
sudo apt-get install libmarinholab-solver-qpoases
This is the same repository the SmartArmStack ROS2 packages come from; see smartarmstack.github.io for the full list of available packages.
Overview
Given a symmetric matrix H, a vector f, and (optionally) inequality and
equality constraint matrices, the solver solves the quadratic program
min_x 0.5 * x' H x + f' x
s.t. A x <= b
Aeq x = beq
Once a problem has been solved once, subsequent solves on the same Solver
instance are warm-started by default (Configuration.use_hotstart = True),
which is the main performance benefit of qpOASES for repeated, related QPs.
Quickstart
import numpy as np
from marinholab.solvers import qpoases
solver = qpoases.Solver()
H = np.eye(2) # positive definite Hessian
f = np.array([-1.0, -1.0]) # linear term
A = np.array([[1.0, 0.0]]) # x[0] <= 0.2
b = np.array([0.2])
x = solver.solve_quadratic_program(H, f, A, b,
Aeq=np.zeros((1, 2)),
beq=np.zeros((1,)))
# x ≈ [0.2, 1.0]
Omitting constraints
Any of the four constraint arguments (A, b, Aeq, beq) can be None,
meaning "no such constraint". The matrix and its right-hand side must be
omitted (or provided) together:
# Unconstrained
x = solver.solve_quadratic_program(H, f, None, None, None, None)
# Equality constraints only
x = solver.solve_quadratic_program(H, f, None, None, Aeq, beq)
Active set
solver.get_active_set() reports, for each row of the combined constraint
matrix (rows of A followed by rows of Aeq), whether it is:
-1active at its lower bound,0inactive,+1active at its upper bound (equality constraints are always+1, since their bounds coincide).
solver.solve_quadratic_program(H, f, A, b, Aeq, beq)
solver.get_active_set() # e.g. [ 1.0, 0.0, 0.0]
C++ API
The same solver is available directly in C++ (the Python wrapper is a thin pybind11 layer over it). It is built with Eigen and qpOASES:
#include <marinholab/solvers/qpoases.h>
namespace qpoases = marinholab::solvers::qpoases;
qpoases::Configuration config;
config.set("terminationTolerance", "1.0e-9"); // the rest keeps its defaults
qpoases::Solver solver(config);
Eigen::MatrixXd H = Eigen::MatrixXd::Identity(2, 2);
Eigen::VectorXd f(2);
f << -1.0, -1.0;
Eigen::MatrixXd A(1, 2);
A << 1.0, 0.0; // x[0] <= 0.2
Eigen::VectorXd b(1);
b << 0.2;
Eigen::MatrixXd Aeq = Eigen::MatrixXd::Zero(1, 2);
Eigen::VectorXd beq = Eigen::VectorXd::Zero(1);
Eigen::VectorXd x = solver.solve_quadratic_program(H, f, A, b, Aeq, beq);
// x ≈ [0.2, 1.0]
Eigen::VectorXd active_set = solver.get_active_set(); // e.g. [1, 0]
The API mirrors the Python one: solve_quadratic_program(H, f, A, b, Aeq, beq)
solves the QP above, and get_active_set() reports the active constraints with
the same -1 / 0 / +1 convention. Configuration is string-keyed (see
below); a runnable version lives in example/example.cpp.
To build and run it (the example is off by default so pip install . is
unaffected):
cmake -B build -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=ON
cmake --build build
./build/example_qpoases
Configuration
All of qpOASES' Options fields are exposed, plus a few wrapper-specific
settings. The Configuration is string-keyed — options are set by name
with a string value — so the public API (and the C++ header) stays free of
qpOASES types. Values are strings: booleans are "true"/"false", numbers
are literals, and enum options take the enum value name (e.g. "HST_SEMIDEF",
"PL_NONE"). Defaults match qpOASES' double-precision defaults except
printLevel ("PL_NONE").
config = qpoases.Configuration()
config.set("hessian_type", qpoases.HessianType.HST_SEMIDEF) # H is rank-deficient
config.set("terminationTolerance", 1.0e-9) # tighter convergence
solver = qpoases.Solver(config)
set() accepts a string, an enum member (used by its name), a number, or a
bool, so the last two lines above work just as well as
config.set("terminationTolerance", "1.0e-9"). The other accessors are:
| Method | Returns |
|---|---|
config.get(key) |
the option's value as a string (or its default) |
config.has(key) |
whether key has been explicitly set |
config.keys() |
sorted list of all settable option names |
config.defaults() |
mapping of option name -> default string value |
config.reset(key) / config.reset_all() |
revert to the default(s) |
Setting an unknown key, or a value that does not parse for the option's type,
raises ValueError.
The enum types are re-exported for convenience: qpoases.BooleanType,
qpoases.HessianType, qpoases.PrintLevel, and qpoases.SubjectToStatus.
Wrapper-specific options
| Option | Default | Type | Description |
|---|---|---|---|
maximum_working_set_recalculations |
150 |
int |
Max working-set recalculations during the initial homotopy (nWSR passed to init/hotstart). Increase if solves hit the maximum. |
use_hotstart |
true |
bool |
Warm-start subsequent solves with hotstart() instead of re-initialising with init(). |
hessian_type |
HST_POSDEF |
HessianType |
Definiteness assumed for H; given to the underlying SQProblem. |
Hessian definiteness (HessianType)
| Value | Meaning |
|---|---|
HST_ZERO |
Hessian is the zero matrix (LP formulation) |
HST_IDENTITY |
Hessian is the identity matrix |
HST_POSDEF |
Hessian is (strictly) positive definite |
HST_POSDEF_NULLSPACE |
Positive definite on the null space of active bounds/constraints |
HST_SEMIDEF |
Positive semi-definite |
HST_INDEF |
Indefinite |
HST_UNKNOWN |
Unknown |
qpOASES options
These map 1:1 onto qpOASES' Options fields. Defaults match qpOASES' own
defaults for a double-precision build (see Options::setToDefault()),
except printLevel, which defaults to the least verbose level (PL_NONE).
See the qpOASES manual
for a full description of each option.
Booleans (set as "true" / "false")
| Option | Default | Description |
|---|---|---|
enableRamping |
true |
Enables the ramping strategy. |
enableFarBounds |
true |
Enables the far bounds strategy. |
enableFlippingBounds |
true |
Allows flipping active bounds between lower and upper values. |
enableRegularisation |
false |
Regularises H when (semi-)definiteness is detected. |
enableFullLITests |
false |
Uses the condition-hardened linear-independence (LI) test. |
enableNZCTests |
true |
Enables the nonzero-curvature test. |
enableEqualities |
false |
Treats equality constraints as always active. |
enableInertiaCorrection |
true |
Repairs the working set when negative curvature is found during a hotstart. |
enableDropInfeasibles |
false |
Whether infeasible constraints may be dropped. |
Integers (int_t)
| Option | Default | Description |
|---|---|---|
enableDriftCorrection |
1 |
Frequency of drift corrections (0 = off). |
enableCholeskyRefactorisation |
0 |
Frequency of full Cholesky refactorisation of the projected Hessian (0 = rank updates only). |
numRegularisationSteps |
0 |
Max successive regularisation steps. |
numRefinementSteps |
1 |
Max iterative-refinement steps. |
dropBoundPriority |
1 |
Priority used when dropping bounds. |
dropEqConPriority |
1 |
Priority used when dropping equality constraints. |
dropIneqConPriority |
1 |
Priority used when dropping inequality constraints. |
Reals (real_t, double)
| Option | Default | Description |
|---|---|---|
terminationTolerance |
5.0e6 * EPS (~1.1e-9) |
Relative tolerance that stops the homotopy. Smaller = more accurate, more work. |
boundTolerance |
1.0e6 * EPS |
Bound tolerance; a constraint whose bounds differ by less is treated as an equality. |
boundRelaxation |
1.0e4 |
Offset for relaxing bounds at the start of the initial homotopy (also the initial far-bound value). |
epsNum |
-1.0e3 * EPS |
Numerator tolerance for the ratio test. |
epsDen |
1.0e3 * EPS |
Denominator tolerance for the ratio test. |
maxPrimalJump |
1.0e8 |
Max allowed primal jump in nonzero-curvature tests. |
maxDualJump |
1.0e8 |
Max allowed dual jump in LI tests. |
initialRamping |
0.5 |
Start value of the ramping strategy. |
finalRamping |
1.0 |
Final value of the ramping strategy. |
initialFarBounds |
1.0e6 |
Initial size of the far bounds. |
growFarBounds |
1.0e3 |
Growth factor applied to the far bounds. |
epsFlipping |
1.0e3 * EPS |
Tolerance of the squared Cholesky diagonal factor that triggers flipping a bound. |
epsRegularisation |
1.0e3 * EPS |
Scaling factor of the identity matrix used for Hessian regularisation. |
epsIterRef |
1.0e2 * EPS |
Early-termination tolerance for iterative refinement. |
epsLITests |
1.0e5 * EPS |
Tolerance for the linear-independence tests. |
epsNZCTests |
3.0e3 * EPS |
Tolerance for the nonzero-curvature tests. |
rcondSMin |
1.0e-14 |
Min reciprocal condition number of the Schur complement before a refactorisation is triggered. |
Status / print enums
| Option | Default | Type | Description |
|---|---|---|---|
printLevel |
PL_NONE |
PrintLevel |
Verbosity of qpOASES output (PL_NONE, PL_LOW, PL_MEDIUM, PL_HIGH, PL_TABULAR, PL_DEBUG_ITER). Defaults to the least verbose level (PL_NONE), intentionally differing from qpOASES' own default (PL_MEDIUM). |
initialStatusBounds |
ST_LOWER |
SubjectToStatus |
Status assumed for all bounds at the first iteration. |
Print levels (PrintLevel)
PL_DEBUG_ITER, PL_TABULAR, PL_NONE, PL_LOW, PL_MEDIUM, PL_HIGH.
Bound/constraint statuses (SubjectToStatus)
ST_LOWER, ST_INACTIVE, ST_UPPER, ST_INFEASIBLE_LOWER,
ST_INFEASIBLE_UPPER, ST_UNDEFINED.
Examples
example/example.cpp— a standalone C++ usage ofmarinholab::solvers::qpoases::Solver. Build it withcmake -B build -GNinja -DBUILD_EXAMPLES=ON && cmake --build build, then run./build/example_qpoases.marinholab/solvers/qpoases/example.py— positive-definite and semi-definite solves, theNone-constraint path, and the active set. Run it withqpoases_example(installed as a console script).marinholab/solvers/qpoases/example_kinematics.py— an optional example showing the solver used in a hierarchical (task-priority) controller for a kinematically redundant robot, built ondqrobotics. It requires the optional dependenciesdqroboticsanddqrobotics-pyplot(pip install --pre dqrobotics dqrobotics-pyplot).
Building from source
The package builds a C++ extension (via CMake + pybind11) and vendors qpOASES and pybind11 as git submodules.
git clone --recurse-submodules <repo>
pip install .
Prerequisites: a C++23 compiler, CMake, an Eigen3 installation, and Python.
On Ubuntu: sudo apt-get install cmake libeigen3-dev.
Type checking
The package ships a type stub (marinholab/solvers/qpoases/_core.pyi) and a
py.typed marker, so downstream projects can be checked with
Pyright (or Pylance) without extra
configuration. Run the project's own check with:
pyright
License
The qpOASES library is LGPLv2.1; the wrapper is under the terms of the
included LICENSE file.
Metadata
Release files for marinholab-solvers-qpoases 26.4.0.55
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 4.0 MB
Release files / marinholab_solvers_qpoases-26.4.0.55-cp314-cp314-win_amd64.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 249.7 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2ddc4af9a1abcda594ce1ed98b396eebdc476c5eae7843cdc5c47c3fca98dbf7
|
|
BLAKE2b-256 checksum How to use checksums |
18d926dc407632c2d514d4eafe1b6b760c8dc6246c6df6c17bf8f4933bbbbb7e
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp314-cp314-manylinux2014_aarch64.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp314-cp314-manylinux2014_aarch64.whl |
|---|---|
| Size | 300.9 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
4d8f861693af4326a013d378bf12bbe1626e0c1c48d14f813cf3488d815f7177
|
|
BLAKE2b-256 checksum How to use checksums |
d3441d30efe0672543ab8675602704c9d5f42122a402518735805ff219733ec3
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp314-cp314-macosx_26_0_universal2.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp314-cp314-macosx_26_0_universal2.whl |
|---|---|
| Size | 263.9 kB |
| Tags | CPython 3.14 macOS 26.0+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
d0e949217c084e48ce8e904121620521e636cffd4fb50f82395253d161520ec9
|
|
BLAKE2b-256 checksum How to use checksums |
ff7fa0dbc31648837f399c20ef8e2e47ff12b041b285ee04f89f2b82f9dc360b
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp313-cp313-win_amd64.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 243.0 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e363e99e37dd107a714f7cf80330405619beb7cc22c1095ee7733a32df513782
|
|
BLAKE2b-256 checksum How to use checksums |
2aadd562624dc8e2739fb69e7d51d5ed8d54b621b08b19253ec3e816955e5af5
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp313-cp313-manylinux2014_aarch64.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp313-cp313-manylinux2014_aarch64.whl |
|---|---|
| Size | 300.7 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
6012490618d9b180a68c98f853ef0919ef5c1bf298def1840b112f69a4f987e6
|
|
BLAKE2b-256 checksum How to use checksums |
f1720e0e53300617d3b5c8dd33dd022e7bcbb8e87fd3edf44d96d0032f05250d
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp313-cp313-macosx_26_0_universal2.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp313-cp313-macosx_26_0_universal2.whl |
|---|---|
| Size | 263.7 kB |
| Tags | CPython 3.13 macOS 26.0+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
41704b88474decd3eaff02f6abc39ef41a4e332ed6057c7512ef5194c0490984
|
|
BLAKE2b-256 checksum How to use checksums |
399f31f8b387ad9604aad6127e04aca674db48ff47d4a83fa359dd3f57e047fb
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp312-cp312-win_amd64.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 243.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
dcc6780263401c78feaa577252adf7eb93c005b263bd191732183b4ea9f9a0a9
|
|
BLAKE2b-256 checksum How to use checksums |
a8a22a78a18903415a77c825da754af4bd4fa127938ed0fca9ac8aa372cef2b6
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp312-cp312-manylinux2014_aarch64.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp312-cp312-manylinux2014_aarch64.whl |
|---|---|
| Size | 300.6 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
4d5b4dfd9a46773ecaf8ffc042fb520161f9be9c6a11a00d462df3ec3d5c99bb
|
|
BLAKE2b-256 checksum How to use checksums |
167592b5998e348cea37ac010cac062b8fee7f75af39abfdffb1e271c58c2e22
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp312-cp312-macosx_26_0_universal2.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp312-cp312-macosx_26_0_universal2.whl |
|---|---|
| Size | 263.6 kB |
| Tags | CPython 3.12 macOS 26.0+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
214e83fcbc18b55189aa62d0f09fd8d63d779e9c6be969ee5b1c2bbb6e65bc86
|
|
BLAKE2b-256 checksum How to use checksums |
fe4de4c54cfddbfd0b77c82c2736c9e30235d095b60ef0c225183325bc02e688
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp311-cp311-win_amd64.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 240.7 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
743eff6abb190596175db5c3de707c05d32754d54c4ead10290edcc1ff898fe8
|
|
BLAKE2b-256 checksum How to use checksums |
0f7a2ce939d0db43152567d8e9a352c15209511a51d972c7b06903f0e7ffe3fe
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp311-cp311-manylinux2014_aarch64.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp311-cp311-manylinux2014_aarch64.whl |
|---|---|
| Size | 300.4 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
836eaf5c6c8be004b4341d0949958c83493ed7df5f1b79cf48a2bf137196e007
|
|
BLAKE2b-256 checksum How to use checksums |
a9abf5a142837b56493c443ca832f9125fbfebb708c96e5955bf79b734a8c6e0
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp311-cp311-macosx_26_0_universal2.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp311-cp311-macosx_26_0_universal2.whl |
|---|---|
| Size | 262.0 kB |
| Tags | CPython 3.11 macOS 26.0+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
95c823fd724a1b98a223a5c0caf58585631373b46cd02aaab5fbf20bf0eed377
|
|
BLAKE2b-256 checksum How to use checksums |
53d07f2a22f0cd7004fe17073e2c64b87b1797dc89f636084ca48547edd951ba
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp310-cp310-win_amd64.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 239.1 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
401fe0baae6c8683469bf146edbc7ad7f5b8b2bf2855b617383457e4836ef8a4
|
|
BLAKE2b-256 checksum How to use checksums |
974617a791775f81af2d42e7490f2b9028238b9576c435ebd322b1e2cc09a1b5
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp310-cp310-manylinux2014_aarch64.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp310-cp310-manylinux2014_aarch64.whl |
|---|---|
| Size | 299.1 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
4dc369ddf5d0d842309889c1085dab719225cfdd9fab47fbcc66bb8532696004
|
|
BLAKE2b-256 checksum How to use checksums |
f3e231a9bd34fec80e62108e002a81f688440c5ded432a9c84188a48967eee8d
|
| 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 28, 2026.
Transparency logRelease files / marinholab_solvers_qpoases-26.4.0.55-cp310-cp310-macosx_26_0_universal2.whl
| Download URL | marinholab_solvers_qpoases-26.4.0.55-cp310-cp310-macosx_26_0_universal2.whl |
|---|---|
| Size | 260.4 kB |
| Tags | CPython 3.10 macOS 26.0+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
b551603c9d1665cd988a4418414be76f8fdf71b213e99bd223ff7e229761379f
|
|
BLAKE2b-256 checksum How to use checksums |
10e2c377e0bd58fcbe983fceebe645e3584fb8c2dee6ef1993ba0b78321d8a41
|
| 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 28, 2026.
Transparency log