{"id":24271,"library":"proxsuite","title":"proxsuite","description":"The ProxSuite library provides an efficient QP solver tailored for robotics and optimization, with implementations of the ProxQP and OSQP algorithms. The current version is 0.7.2.post1, released under a permissive license. It supports Python >= 3.8 and has a bimonthly release cadence.","status":"active","version":"0.7.2.post1","language":"python","source_language":"en","source_url":"https://github.com/Simple-Robotics/proxsuite","tags":["optimization","quadratic-programming","robotics","proxqp","solver"],"install":[{"cmd":"pip install proxsuite","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core data structures and linear algebra","package":"numpy","optional":false},{"reason":"Optional for sparse matrix support","package":"scipy","optional":true}],"imports":[{"note":"The main module. Submodules like proxsuite.proxqp are accessed via dot notation.","symbol":"proxsuite","correct":"import proxsuite"},{"note":"Direct import 'proxqp' is not available; it is a submodule of proxsuite.","wrong":"import proxqp","symbol":"proxqp","correct":"from proxsuite import proxqp"}],"quickstart":{"code":"import proxsuite\nimport numpy as np\n\n# Solve a simple QP: min 0.5 x'Hx + g'x s.t. Cx <= d\nH = np.eye(2)\ng = np.array([-2, -3])\nC = np.array([[1, 2], [-1, 0]])\nd = np.array([4, 0])\n\n# Create solver and solve\nqp = proxsuite.proxqp.dense.QP(H, g, C, d)\nproxsuite.proxqp.dense.solve(qp)\nprint(qp.results.x)","lang":"python","description":"Minimal example solving a dense QP with inequality constraints."},"warnings":[{"fix":"Replace 'from proxsuite import quadprog' with 'from proxsuite import proxqp'. The API is different; see migration guide.","message":"The 'proxsuite.quadprog' module (which wrapped quadprog) was removed in version 0.4.0. Use 'proxsuite.proxqp' instead.","severity":"breaking","affected_versions":">=0.4.0"},{"fix":"Use 'warm_start' (with underscore) consistently. The old spelling may be removed in future releases.","message":"The 'warm_start' parameter in solve() was renamed to 'warm_start' in version 0.6.0. The old name 'warm_start' is still accepted but deprecated.","severity":"breaking","affected_versions":">=0.6.0"},{"fix":"Ensure arrays are float64: array.astype(np.float64).","message":"Do not pass NumPy arrays with dtype=float32. The solver expects float64. Silently truncates precision leading to unexpected results.","severity":"gotcha","affected_versions":"all"},{"fix":"Use qp.results.x_solution instead of qp.results.x.","message":"The 'results.x' attribute for primal solution is deprecated in favor of 'results.x_solution' (from v0.7.0).","severity":"deprecated","affected_versions":">=0.7.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use 'from proxsuite import proxqp' or 'import proxsuite.proxqp as proxqp'.","cause":"Direct import of 'proxqp' instead of using 'proxsuite.proxqp'","error":"ModuleNotFoundError: No module named 'proxqp'"},{"fix":"Verify that H is symmetric positive semidefinite (e.g., cast to symmetric: H = (H + H.T)/2). Check problem dimensions.","cause":"The Hessian matrix H or constraint matrix C has not been properly formatted or the QP is infeasible.","error":"ValueError: The matrix is not symmetric positive definite."},{"fix":"Update to use proxsuite.proxqp. See migration guide in documentation.","cause":"Old code using removed quadprog wrapper.","error":"AttributeError: module 'proxsuite' has no attribute 'quadprog'"},{"fix":"Use 'from proxsuite.proxqp.dense import solve' (or sparse).","cause":"Incorrect import path. The solve function is inside a backend submodule (dense/sparse).","error":"ImportError: cannot import name 'solve' from 'proxsuite.proxqp'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}