OSQP uses a specialized ADMM-based first-order method with custom sparse linear algebra routines that exploit structure in problem data. The algorithm is absolutely division-free after the setup and it requires no assumptions on problem data (the problem only needs to be convex). It just works. OSQP has an easy interface to generate customized embeddable C code with no memory manager required. OSQP supports many interfaces including C/C++, Fortran, Matlab, Python, R, Julia, Rust.