Skip to main content

Unified API for ILP solvers.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ilpy-0.6.0.tar.gz (34.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ilpy-0.6.0-py3-none-any.whl (32.1 kB view details)

Uploaded Python 3

File details

Details for the file ilpy-0.6.0.tar.gz.

File metadata

  • Download URL: ilpy-0.6.0.tar.gz
  • Upload date:
  • Size: 34.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ilpy-0.6.0.tar.gz
Algorithm Hash digest
SHA256 d8aa0938e8fead138b742c13ff2411fa9ccf406ed412b2fb511f8a8a3d37dc05
MD5 3b007029354465a584990ca150b1cf22
BLAKE2b-256 f4e2d1fae10679f485068c7a1b47de39b3ea962f1899ee29d0ddd6f3da59f3f0

See more details on using hashes here.

File details

Details for the file ilpy-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: ilpy-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 32.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ilpy-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c8e53144eafdaa1e59103543b9f05d38dfbf5819944f8b5766bd8a6f08fd6ab
MD5 341398888b271dd8f33a3d50cceccdb7
BLAKE2b-256 f7ee35336611cb18c7c45994f9fb2d37645bfa2306bec4916b29a5f10ab6156c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page