The OSQP (Operator Splitting Quadratic Programming) solver is a numerical optimization package for solving convex quadratic programs in the form

\[ \begin{array}{ll} \mbox{minimize} & \frac{1}{2} x^T P x + q^T x \\ \mbox{subject to} & l \leq A x \leq u \end{array} \]

OSQP supports many interfaces including C/C++, Fortran, Julia, Matlab, Python, R, Rust.