--- id: osqp version: "1.1.3" license: Apache-2.0 license_treatment: permissive maintenance: active --- # osqp — OSQP: The Operator Splitting QP Solver License: permissive · Maintenance: active · Downloads: 5.5M/mo ## What it is and what it does OSQP is a numerical solver for convex quadratic programs—optimization problems that minimize a quadratic objective subject to linear inequality constraints. It wraps a C implementation of the Operator Splitting algorithm, making it accessible from Python. The solver targets problems of the form: minimize (1/2)x^T P x + q^T x subject to l ≤ Ax ≤ u, where P is positive semidefinite. The package is used in control systems, machine learning, finance, and robotics where you need to solve QP subproblems efficiently. It depends on numpy and scipy for matrix operations, jinja2 for templating, setuptools for installation, and joblib for parallelization. Installation is straightforward via pip, with precompiled wheels available for modern Python versions (3.8+) on macOS, Linux, and Windows. Use it for: - Solve model predictive control problems in robotics and autonomous systems - Optimize portfolio allocation and risk management in quantitative finance - Train support vector machines and other convex machine learning models - Solve convex relaxations of combinatorial optimization problems - Implement proximal algorithms and splitting methods in numerical optimization research ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. OSQP is a Python wrapper for the Operator Splitting Quadratic Program solver, which solves convex quadratic optimization problems with linear constraints. Yes. OSQP is a mature, actively maintained solver with no known vulnerabilities, permissive licensing, and broad platform support. Medium install friction is typical for compiled optimization libraries. Install it if you need to solve convex quadratic programs; it is a standard choice in control, finance, and machine learning workflows. ## Install pip install osqp uv add osqp poetry add osqp ## Installing osqp Before you install: Medium install friction due to compiled wheels for multiple Python versions and platforms (3.10–3.13, macOS, Linux, Windows). Active maintenance with a recent release 63 days ago. Runtime dependencies on numpy, scipy, jinja2, setuptools, and joblib are standard scientific stack components. License in practice: Apache-2.0 is a permissive license; you can use, modify, and distribute this package freely in commercial and private projects, provided you include a copy of the license and state significant changes. Quickstart: pip install osqp import osqp import numpy as np # Define a QP problem and solve it m = osqp.OSQP() m.setup(P=P, q=q, A=A, l=l, u=u) results = m.solve() Verify before relying: - Whether the package actively maintains the underlying OSQP C library or relies on external updates - Performance characteristics and scalability limits for large-scale problems - Availability of GPU acceleration or parallel solving capabilities - Specific numerical stability guarantees and convergence properties ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 5.5M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags quadratic programming solver, convex optimization, QP solver, linear constraints optimization, operator splitting algorithm, numerical optimization, constrained quadratic minimization, optimization, quadratic-programming, numerical-methods [View on SkillFed](https://skillfed.io/packages/osqp) · [View on PyPI](https://pypi.org/project/osqp/)