skillfed

highspy

A thin set of pybind11 wrappers to HiGHS

highspy v1.15.1 3.6M downloads/30d#2,554 on PyPI1,786
Permissive license MIT Active released

What it is and what it does

Highspy provides a thin Python interface to HiGHS, a C++ optimization solver that handles linear, quadratic, and mixed-integer programming problems. It wraps the core solver functionality via pybind11, allowing Python developers to formulate and solve optimization models without writing C++ code. The package depends on numpy for numerical operations and typing_extensions for type hints.

The solver implements primal and dual revised simplex algorithms for LP, an interior-point method for LP, an active-set method for QP, and a branch-and-bound approach for MIP. It is designed for large-scale sparse problems and supports both serial and parallel execution. No third-party solver dependencies are required—HiGHS is self-contained.

Use it for:

  • Solve linear programming problems such as resource allocation, production planning, or network flow optimization
  • Handle mixed-integer programming for discrete optimization tasks like scheduling or facility location
  • Solve convex quadratic programming problems in portfolio optimization or machine learning applications
  • Integrate optimization into Python data science workflows alongside numpy and pandas
  • Prototype optimization models quickly without switching to specialized modeling languages

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Highspy is a Python wrapper around HiGHS, a high-performance solver for linear programming (LP), convex quadratic programming (QP), and mixed-integer programming (MIP) problems.

Yes. Highspy is actively maintained, widely used (top 5000 PyPI packages), has no known vulnerabilities, and offers a permissive MIT license. Medium install friction is typical for compiled solvers. Install it if you need to solve LP, QP, or MIP problems in Python and want a self-contained, dependency-light solver.

Install

highspy on PyPI

pip

pip install highspy

uv

uv add highspy

poetry

poetry add highspy

Installing highspy

Before you install

Medium install friction due to compiled wheels for multiple platforms and Python versions (3.9–3.14). Active maintenance with recent releases; last commit 2026-08-14. Depends on numpy and typing_extensions, both widely available.

License in practice

MIT license is permissive; you may use, modify, and distribute highspy and derivative works freely with minimal restrictions.

Quickstart

pip install highspy
import highspy
h = highspy.Highs()
# Define and solve an optimization model

Verify before relying

  • Whether the solver supports warm-starting from previous solutions or basis information
  • Performance characteristics and scalability limits for large-scale problems
  • Availability of detailed API documentation beyond the GitHub repository

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction medium — platform-specific wheel
Runtime dependencies 2 — numpy, typing_extensions
Maintenance actively maintained — 43 days since the last release
Last repo commit
First released
Downloads 3,622,175/month — #2,554 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: highspy-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl; highspy-1.15.1-cp310-cp310-macosx_11_0_arm64.whl; highspy-1.15.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; highspy-1.15.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; highspy-1.15.1-cp310-cp310-manylinux_2_26_i686.manylinux_2_28_i686.whl; highspy-1.15.1-cp310-cp310-musllinux_1_2_aarch64.whl; highspy-1.15.1-cp310-cp310-musllinux_1_2_i686.whl; highspy-1.15.1-cp310-cp310-musllinux_1_2_x86_64.whl; highspy-1.15.1-cp310-cp310-win32.whl; highspy-1.15.1-cp310-cp310-win_amd64.whl; highspy-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl; highspy-1.15.1-cp311-cp311-macosx_11_0_arm64.whl; highspy-1.15.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; highspy-1.15.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; highspy-1.15.1-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl; highspy-1.15.1-cp311-cp311-musllinux_1_2_aarch64.whl; highspy-1.15.1-cp311-cp311-musllinux_1_2_i686.whl; highspy-1.15.1-cp311-cp311-musllinux_1_2_x86_64.whl; highspy-1.15.1-cp311-cp311-win32.whl; highspy-1.15.1-cp311-cp311-win_amd64.whl

Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Typing :: Typed

Tags

linear programming solvermixed integer programmingquadratic programmingoptimization solver pythonhighs solver wrapperconvex optimizationmathematical optimization
optimizationlinear-programmingsolver

More Mathematics packages