xpress
FICO Xpress Optimizer Python interface
What it is and what it does
Xpress is a Python binding to the FICO Xpress Optimizer, a commercial mathematical optimization solver. It lets you define and solve optimization problems—linear, quadratic, conic, and nonlinear, including mixed-integer variants—using Python syntax and NumPy integration. You construct problems by adding variables and constraints, set an objective function, and call optimize() to solve.
The package ships with precompiled binaries for modern Python versions and platforms (macOS, Linux, Windows). It includes a community license by default, so you can start solving problems without additional licensing setup. For GPU acceleration of the PDHG linear solver, you can install optional CUDA support. The underlying solver is the FICO Xpress library, which is maintained separately; this package is the Python interface to it.
Use it for:
- Solve supply-chain optimization, production planning, or resource allocation problems modeled as linear or mixed-integer programs.
- Prototype and solve nonlinear optimization problems using Python without switching to a compiled language.
- Integrate optimization into data science workflows by combining NumPy arrays with Xpress problem definitions.
- Accelerate large-scale linear optimization on GPU-equipped systems using the PDHG solver with CUDA support.
- Develop and test optimization algorithms using Xpress callbacks and the Python interface for iterative refinement.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python interface to the FICO Xpress Optimizer for creating and solving linear, quadratic, conic, and nonlinear optimization problems, including mixed-integer variants.
Yes, if you need to solve mathematical optimization problems and have access to or can accept the Xpress license terms. The package is actively maintained, supports modern Python versions, and offers broad problem-class coverage. Install friction is moderate due to compiled binaries, but wheels are widely available. The main caveat is license clarity—review the Xpress Shrinkwrap License Agreement before production deployment, especially for commercial use.
Install
xpress on PyPI
pip
pip install xpressuv
uv add xpresspoetry
poetry add xpressInstalling xpress
Before you install
Medium install friction due to compiled binary wheels; prebuilt wheels available for Python 3.10–3.14 across macOS (ARM64), Linux (x86_64, ARM64), and Windows. Maintenance is active with a release 42 days ago. Runtime dependency on numpy and xpresslibs (a compiled library package).
License in practice
License treatment is unclear; the package is governed by the Xpress Shrinkwrap License Agreement and includes a community license. A copy of the license is stored in LICENSE.txt in the dist-info directory. Users should review the shrinkwrap terms before deployment.
Quickstart
pip install xpress
import xpress as xp
p = xp.problem(name='myexample')
x1 = p.addVariable(vartype=xp.integer, name='x1', lb=-10, ub=10)
x2 = p.addVariable(name='x2')
p.setObjective(x1**2 + 2*x2)
p.addConstraint(x1 + 3*x2 >= 4)
p.optimize()
print(p.getSolution(x1), p.getSolution(x2))
Requires FICO Xpress Optimizer library (xpresslibs); community license is included but commercial use or advanced features may require a separate license. Optional GPU support requires NVIDIA CUDA Runtime 13.0+ and drivers version 580+.
Verify before relying
- Whether the community license has restrictions on problem size, solver features, or commercial use.
- Performance characteristics and solver algorithm selection for different problem classes.
- Support timeline and end-of-life dates for Python 3.10–3.14 versions.
Package facts
| License | not declared (unclear) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — numpy, xpresslibs |
| Maintenance | actively maintained — 42 days since the last release |
| First released | |
| Downloads | 214,414/month — #9,417 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: xpress-9.9.1-cp310-cp310-macosx_11_0_arm64.whl; xpress-9.9.1-cp310-cp310-manylinux1_x86_64.whl; xpress-9.9.1-cp310-cp310-manylinux2014_aarch64.whl; xpress-9.9.1-cp310-cp310-win_amd64.whl; xpress-9.9.1-cp311-cp311-macosx_11_0_arm64.whl; xpress-9.9.1-cp311-cp311-manylinux1_x86_64.whl; xpress-9.9.1-cp311-cp311-manylinux2014_aarch64.whl; xpress-9.9.1-cp311-cp311-win_amd64.whl; xpress-9.9.1-cp312-cp312-macosx_11_0_arm64.whl; xpress-9.9.1-cp312-cp312-manylinux1_x86_64.whl; xpress-9.9.1-cp312-cp312-manylinux2014_aarch64.whl; xpress-9.9.1-cp312-cp312-win_amd64.whl; xpress-9.9.1-cp313-cp313-macosx_11_0_arm64.whl; xpress-9.9.1-cp313-cp313-manylinux1_x86_64.whl; xpress-9.9.1-cp313-cp313-manylinux2014_aarch64.whl; xpress-9.9.1-cp313-cp313-win_amd64.whl; xpress-9.9.1-cp314-cp314-macosx_11_0_arm64.whl; xpress-9.9.1-cp314-cp314-manylinux1_x86_64.whl; xpress-9.9.1-cp314-cp314-manylinux2014_aarch64.whl; xpress-9.9.1-cp314-cp314t-macosx_11_0_arm64.whl
Keywords: optimization, mip, minlp, xpress
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
pyomoPyomo is a Python framework for formulating and…
permissive · top 5,000 on PyPI
MosekMOSEK solves large-scale convex and…
unclear · top 15,000 on PyPI
optlangOptlang formulates and solves linear,…
permissive · top 15,000 on PyPI
amplpyamplpy is a Python interface to AMPL, an…
permissive · top 15,000 on PyPI
magiccubeMagicCube implements NxNxN Rubik cubes with…
permissive · top 15,000 on PyPI
cvxoptcvxopt is a Python library for solving convex…
unclear · top 5,000 on PyPI
docplexModeling library for building and solving…
permissive · top 15,000 on PyPI
PuLPPuLP is a linear and mixed-integer programming…
permissive · top 5,000 on PyPI
mipPython MIP models and solves mixed-integer…
copyleft · top 15,000 on PyPI
quadprogSolves strictly convex quadratic programming…
copyleft · top 15,000 on PyPI