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.5.3.tar.gz (28.8 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.5.3-py3-none-any.whl (26.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ilpy-0.5.3.tar.gz
Algorithm Hash digest
SHA256 ec762291186ea92b2b6c5650fe9ad3f61492d832d67d591162a68575e23cbc80
MD5 eab6a1f0b4ab56ccaec1f8462f894b95
BLAKE2b-256 3dcd03e6701419beb1c50e3e425d2378dd3f00dd8423e49dcdf6c893bc16b77e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ilpy-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 26.0 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.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c96afcbf0d850ad7f00176f91463b827bdfaf93490a8e9658a1d834a334dd5b2
MD5 54aceaf06e3e07ed3cb2354a351e11b8
BLAKE2b-256 0d1d45feda02c92a2d1fa6bd456fa01dcf954b2f495158bdc19dc3e9ce971fbb

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