Skip to main content

ilpy

License Anaconda PyPI CI codecov

Unified python wrappers for popular ILP solvers

ilpy is a Python library that provides unified wrappers for popular Integer Linear Programming (ILP) solvers such as Gurobi and SCIP. It offers a consistent API that abstracts away the differences between solver implementations.

With ilpy, you can:

  • Define linear and quadratic optimization problems using a simple, intuitive syntax
  • Express constraints using natural Python expressions
  • Switch between different solver backends (currently Gurobi and SCIP)
  • Monitor solver progress through callback events
  • Support for continuous, binary, and integer variables

Installation

Install from pip with:

pip install ilpy

Note that ilpy requires a solver backend: either pyscipopt (for SCIP) or gurobipy (for Gurobi).

... with SCIP

Currently, ilpy ships by default with support for the SCIP optimization suite, via pyscipopt, but you may also declare it explicitly:

pip install ilpy[scip]

... with Gurobi

If you want to use Gurobi (which requires a license), you can bring in the gurobipy dependency with:

pip install ilpy[gurobi]

On conda

If you prefer to use conda:

...with SCIP

conda install -c conda-forge ilpy pyscipopt

...with Gurobi

conda install -c conda-forge -c gurobi ilpy gurobi

Local development

pip install -e .[dev]
pytest

Metadata

Release files for ilpy 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ilpy 0.6.0
File Size Uploaded
ilpy-0.6.0.tar.gz 34.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ilpy 0.6.0
File Interpreter ABI Platform
ilpy-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 66.5 kB

Release files / ilpy-0.6.0.tar.gz

Download URL ilpy-0.6.0.tar.gz
Size 34.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d8aa0938e8fead138b742c13ff2411fa9ccf406ed412b2fb511f8a8a3d37dc05
BLAKE2b-256 checksum
How to use checksums
f4e2d1fae10679f485068c7a1b47de39b3ea962f1899ee29d0ddd6f3da59f3f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / ilpy-0.6.0-py3-none-any.whl

Download URL ilpy-0.6.0-py3-none-any.whl
Size 32.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1c8e53144eafdaa1e59103543b9f05d38dfbf5819944f8b5766bd8a6f08fd6ab
BLAKE2b-256 checksum
How to use checksums
f7ee35336611cb18c7c45994f9fb2d37645bfa2306bec4916b29a5f10ab6156c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

1 release file

0.4.0

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page