quadprog
Quadratic Programming Solver
Decision gist · record as of 2026-08-14
Yes, if you need a lightweight, numerically stable QP solver for strictly convex problems and can accept GPLv2+ licensing. The pre-built wheels make installation frictionless on standard platforms. The dormant maintenance status (659 days since last release) is acceptable for a mature numerical library with no known vulnerabilities, but verify that the Goldfarb/Idnani algorithm meets your problem's scale and precision requirements before committing to production use.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a C compiler if installing from source distribution (sdist); pre-built wheels eliminate this requirement on supported platforms.
- Medium install friction due to compiled C extension; pre-built wheels available for Python 3.9–3.13 on macOS (x86_64 and arm64), Linux (x86_64), and Windows (amd64).
- Package is dormant (last release 659 days ago) but repository remains active with no archived status.
License · maintenance · safety
GPLv2+ (copyleft) — Licensed under GPLv2+, a copyleft license requiring derivative works to be distributed under the same terms. Acceptable for research, education, and open-source projects; may restrict use in proprietary closed-source applications.
last release 2024-10-24 (659 days) · last repo commit 2024-10-24 · 223 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 592,741 downloads/mo, #5,851 on PyPI
Alternatives
Verify before relying
import numpy as np
from quadprog import solve_qp
G = np.array([[1., 0.], [0., 1.]])
a = np.array([0., 0.])
C = np.array([[1., 1.], [-1., 1.]])
b = np.array([1., 1.])
result = solve_qp(G, a, C.T, b)- Whether the package handles numerical stability edge cases beyond the Goldfarb/Idnani algorithm's guarantees.
- Performance characteristics and scalability for large-scale problems (matrix dimensions, constraint count).
- Active maintenance roadmap or community support channels given dormant release status.
What it is and what it does
quadprog is a Python wrapper around a numerically stable dual algorithm for solving strictly convex quadratic programs. It takes a quadratic objective function and linear inequality constraints, then returns the optimal solution vector. The underlying implementation uses the Goldfarb/Idnani method, a well-established approach from mathematical programming literature.
The package depends only on numpy at runtime and provides pre-compiled wheels for modern Python versions across macOS, Linux, and Windows, making installation straightforward on common platforms. It is intended for education, financial modeling, insurance applications, and scientific research where constrained quadratic optimization is needed.
Use it for
- Portfolio optimization in finance: minimize variance subject to budget and allocation constraints.
- Support vector machine training: solve the dual QP formulation for classification.
- Robotics and control: compute optimal control inputs under linear constraints.
- Machine learning: solve constrained least-squares problems in regression pipelines.
- Operations research: optimize resource allocation with linear inequality constraints.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need a lightweight, numerically stable QP solver for strictly convex problems and can accept GPLv2+ licensing.
The pre-built wheels make installation frictionless on standard platforms. The dormant maintenance status (659 days since last release) is acceptable for a mature numerical library with no known vulnerabilities, but verify that the Goldfarb/Idnani algorithm meets your problem's scale and precision requirements before committing to production use.
Install
quadprog on PyPI
Before you install
Medium install friction due to compiled C extension; pre-built wheels available for Python 3.9–3.13 on macOS (x86_64 and arm64), Linux (x86_64), and Windows (amd64). Package is dormant (last release 659 days ago) but repository remains active with no archived status.
Requires a C compiler if installing from source distribution (sdist); pre-built wheels eliminate this requirement on supported platforms.
License in practice
Licensed under GPLv2+, a copyleft license requiring derivative works to be distributed under the same terms. Acceptable for research, education, and open-source projects; may restrict use in proprietary closed-source applications.
Quickstart
import numpy as np
from quadprog import solve_qp
G = np.array([[1., 0.], [0., 1.]])
a = np.array([0., 0.])
C = np.array([[1., 1.], [-1., 1.]])
b = np.array([1., 1.])
result = solve_qp(G, a, C.T, b)
Verify before relying
- Whether the package handles numerical stability edge cases beyond the Goldfarb/Idnani algorithm's guarantees.
- Performance characteristics and scalability for large-scale problems (matrix dimensions, constraint count).
- Active maintenance roadmap or community support channels given dormant release status.
Package facts
| License | GPLv2+ copyleft |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Dormant 659 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 592,741 / month, #5,851 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaIntended Audience :: EducationIntended Audience :: Financial and Insurance IndustryIntended Audience :: Science/ResearchLicense :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/Engineering :: Mathematics |
Evidence: quadprog-0.1.13-cp310-cp310-macosx_10_9_x86_64.whl; quadprog-0.1.13-cp310-cp310-macosx_11_0_arm64.whl; quadprog-0.1.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; quadprog-0.1.13-cp310-cp310-win_amd64.whl; quadprog-0.1.13-cp311-cp311-macosx_10_9_x86_64.whl; quadprog-0.1.13-cp311-cp311-macosx_11_0_arm64.whl; quadprog-0.1.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; quadprog-0.1.13-cp311-cp311-win_amd64.whl; quadprog-0.1.13-cp312-cp312-macosx_10_13_x86_64.whl; quadprog-0.1.13-cp312-cp312-macosx_11_0_arm64.whl; quadprog-0.1.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; quadprog-0.1.13-cp312-cp312-win_amd64.whl; quadprog-0.1.13-cp313-cp313-macosx_10_13_x86_64.whl; quadprog-0.1.13-cp313-cp313-macosx_11_0_arm64.whl; quadprog-0.1.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; quadprog-0.1.13-cp313-cp313-win_amd64.whl; quadprog-0.1.13-cp39-cp39-macosx_10_9_x86_64.whl; quadprog-0.1.13-cp39-cp39-macosx_11_0_arm64.whl; quadprog-0.1.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; quadprog-0.1.13-cp39-cp39-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “constrained quadratic minimization”
- quadprogSolves strictly convex quadratic programming problems using the…
- osqpOSQP is a Python wrapper for the Operator Splitting Quadratic Program…
- lmfitLmfit provides non-linear least-squares minimization and curve…
Give your agent the search over MCP, or paste the wish link into any chat.
More Mathematics packages
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
kiwisolver is a Python binding to a fast C++ implementation of the Cassowary constraint solver, enabling you to solve systems of linear constraints and inequalities.
Install it if you need to solve constraint systems; skip it if you only need simple linear algebra.
SymPy is a Python library for symbolic mathematics, performing algebraic manipulation, calculus, equation solving, and mathematical expression simplification without numerical approximation.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
PyTorch provides GPU-accelerated tensor computation and automatic differentiation for building and training deep neural networks in Python.
onnxruntime loads and executes Open Neural Network Exchange (ONNX) models with a focus on inference performance across CPUs and accelerators.
Install it if you have ONNX models to run in production or development.
See also qpsolvers · osqp · daqp · cvxopt · proxsuite · highspy · directsearch · Mosek · dwave-samplers