Skip to main content

A Cython wrapper to the IPOPT optimization package

Project description

Ipopt (Interior Point OPTimizer, pronounced eye-pea-opt) is a software package for large-scale nonlinear optimization. Ipopt is available from the COIN-OR initiative, under the Eclipse Public License (EPL).

cyipopt is a Python wrapper around Ipopt. It enables using Ipopt from the comfort of the Python programming language.

Status

Anaconda

https://anaconda.org/conda-forge/cyipopt/badges/version.svg https://anaconda.org/conda-forge/cyipopt/badges/downloads.svg

PyPI

https://badge.fury.io/py/cyipopt.svg https://pepy.tech/badge/cyipopt

Read the Docs

Documentation Status

History

This repository was forked in 2016 from https://bitbucket.org/amitibo/cyipopt and is now considered the primary repository. The fork includes a SciPy-style interface and ability to handle exceptions in the callback functions.

As of version 1.1.0 (2021-09-07), the distribution is released under the name “cyipopt” on PyPi (https://pypi.org/project/cyipopt). Before version 1.1.0, it was released under the name “ipopt” (https://pypi.org/project/ipopt).

Installation

We recommend using conda to install cyipopt on Linux, Mac, and Windows:

conda install -c conda-forge cyipopt

Other installation options are present in the documentation.

Building manylinux wheels

manylinux wheels can be built for a tagged version (GIT_TAG below) of cyipopt via docker by running (while in the root of this repo):

docker run -v $(pwd):/wheels --rm --platform=linux/amd64 quay.io/pypa/manylinux_2_28_x86_64 bash /wheels/build_manylinux_wheels.sh GIT_TAG

for linux/amd64 and:

docker run -v $(pwd):/wheels --rm --platform=linux/aarch64 quay.io/pypa/manylinux_2_28_aarch64 bash /wheels/build_manylinux_wheels.sh GIT_TAG

for linux/aarch64 platforms. Built wheels appear at the folder the command was executed from.

Using in Pyodide (browser/WASM)

cyipopt can run in the browser via Pyodide, with Ipopt compiled to WebAssembly. Pre-built wheels are available from GitHub releases.

Install with micropip in a Pyodide environment:

import micropip
await micropip.install(
    "https://github.com/mechmotum/cyipopt/releases/download/VERSION/cyipopt-VERSION-cp312-cp312-pyodide_2024_0_wasm32.whl"
)

Then use it normally:

import numpy as np
from cyipopt import minimize_ipopt
from scipy.optimize import rosen, rosen_der

x0 = np.array([1.3, 0.7, 0.8, 1.9, 1.2])
res = minimize_ipopt(rosen, x0, jac=rosen_der)
print(res.x)

Full example: see the grecov calculator for a working web app that uses cyipopt in Pyodide to solve nonlinear optimization problems entirely in the browser.

License

cyipopt is open-source code released under the EPL license, see the LICENSE file.

Contributing

For bug reports, feature requests, comments, patches use the GitHub issue tracker and/or pull request system.

Contributors (made with contrib.rocks):

https://contrib.rocks/image?repo=mechmotum/cyipopt

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

cyipopt_wheels-1.7.0.dev0.tar.gz (70.0 kB view details)

Uploaded Source

Built Distributions

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

cyipopt_wheels-1.7.0.dev0-cp313-cp313-win_amd64.whl (100.8 MB view details)

Uploaded CPython 3.13Windows x86-64

cyipopt_wheels-1.7.0.dev0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (14.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cyipopt_wheels-1.7.0.dev0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cyipopt_wheels-1.7.0.dev0-cp313-cp313-macosx_11_0_arm64.whl (11.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cyipopt_wheels-1.7.0.dev0-cp312-cp312-win_amd64.whl (100.8 MB view details)

Uploaded CPython 3.12Windows x86-64

cyipopt_wheels-1.7.0.dev0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (14.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cyipopt_wheels-1.7.0.dev0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cyipopt_wheels-1.7.0.dev0-cp312-cp312-macosx_11_0_arm64.whl (11.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cyipopt_wheels-1.7.0.dev0-cp311-cp311-win_amd64.whl (100.8 MB view details)

Uploaded CPython 3.11Windows x86-64

cyipopt_wheels-1.7.0.dev0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (14.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cyipopt_wheels-1.7.0.dev0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cyipopt_wheels-1.7.0.dev0-cp311-cp311-macosx_11_0_arm64.whl (11.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cyipopt_wheels-1.7.0.dev0-cp310-cp310-win_amd64.whl (100.8 MB view details)

Uploaded CPython 3.10Windows x86-64

cyipopt_wheels-1.7.0.dev0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (14.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cyipopt_wheels-1.7.0.dev0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cyipopt_wheels-1.7.0.dev0-cp310-cp310-macosx_11_0_arm64.whl (11.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file cyipopt_wheels-1.7.0.dev0.tar.gz.

File metadata

  • Download URL: cyipopt_wheels-1.7.0.dev0.tar.gz
  • Upload date:
  • Size: 70.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0.tar.gz
Algorithm Hash digest
SHA256 ff9ddb6d8c244e8388321b9506698ab6e80bdae6d1ca698d0cdcb2174082a24e
MD5 674aa5f1ec6c1b8f20ed90ae324827da
BLAKE2b-256 02cf2ba00c0e6e582f00215a3dfd88a2f42718625e1a06ad91d52bbb9967e58a

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0.tar.gz:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4241c8c989b54bfa3235d64615262e8253c85a7aef30a93bdeb0819eec4810db
MD5 56cd75d56cabf73a3df8c8ac2e8ce2b5
BLAKE2b-256 a7bc03a128eb3c1b9d45309b8dbebffda97c6e7ba84961a938d28bbb68fc9200

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp313-cp313-win_amd64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1699777aa3e6449eb9d101f97928135fe1cd244b49f587ccb449e12ab4a8f12d
MD5 6790adaab7770327e8ee8264e4142e8d
BLAKE2b-256 2801febca7656481faa20cb526fc888d9437387c9c6af6eea15fb156d3bd194c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2456229c8f9f5f4362a1695320fd8bc2d75a6eef6b45c712589ca30a2ae9bbdc
MD5 81229ea3479220e510f032d487298ffc
BLAKE2b-256 5fbc0fc0f60220e6f816b628cab0673721dc9f00917e7a1604701ac72525d18b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d3a6b8e5a104d27b6738096f051f05b5f1ef86466ee4baf35215a7d7e9d568bc
MD5 3b4fa82522cba7dbd055e47d57399189
BLAKE2b-256 fe4b7da9d9e7433a6a57277156f62bc780f35e3f9cbcaee5c1e68240cd019b03

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 911311c379d3f69cb842b4f02b16e38666162465726eeeb3e488e1634fee4e55
MD5 14da85dee2aae701e8db530c2a429ad7
BLAKE2b-256 d5b09ea53dbe2630decd6b3b1a1892012fe323e17b4a876c4b6466d88a738285

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp312-cp312-win_amd64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 11813b908cf64fea6322ad416da074898cc7169ba54e73dcb2d9eadcdbe2e907
MD5 2ef01a4879001798df11d8b4e50d39c4
BLAKE2b-256 e0c9ad869feb4362574d5650b32b91901802b29cc93e565e952d101f9402a740

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3f06673918b39230ba9925e23a5777f94b9ce4fb3606a8719a4a57c6f01a4b7f
MD5 e9916347e567a06ef14e49e12a9d9604
BLAKE2b-256 2f45c0e580bff69016e95e3b792692830cea3e8439b820fdaaa67007eb8c55c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 22b7c6bd534d662bf8a9495f6bce236755c300bc52525ca04f0192a37358a2c8
MD5 4162795194bee9f8187b9bc40f641914
BLAKE2b-256 090f9dbb8a139a9996b07c79dd435fa0f8a4fc169d4ead7bc37d0820fd9cfb4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8dd00b57179daefe6fd133742ab5aea3f3efafab83b3d9cd8be7cab568e3432a
MD5 ed26e7b64e9d0322e8f93a1b54721458
BLAKE2b-256 071dd30fca7f8c7240ebf9f885bd5f32b3a5fd78edb3a08ded1a30b187a499bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp311-cp311-win_amd64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 28d3060472b0eccda6977324d19f647815ad94935d07db8b039174a02aa1ae65
MD5 1726ae5a771bae93182580758e8093ad
BLAKE2b-256 d9882a358bde01c04c9ece4f9794a9cfbbafb5b9bba2473c3ff7bdc9f436c6a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b0b729a9b8f26810500237bde665b0b941c6b1c25ad6c3bff2824cfc8a7c9203
MD5 c15aa00090050534908a6f9f07b102d7
BLAKE2b-256 e0e791abd35efe9a85e5c90e4583d5c7e50e9f4d704239293d81d05e57082a13

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94a32403476177d056a8213c0611ef4adff349e609f82cbeecce5a2eefbc08a8
MD5 395963b9ec30e8cf0af606763e4a3c8a
BLAKE2b-256 b08acae4edfa5e3a678342b063732dc4ce585b2ec7126c6d159fcc4e086ed817

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 61565f16f5551c1c2bd597426206cb356fb9504e936f50e92063c49d7d1a4fad
MD5 59f1bb1410dde7d34b915f54debf6e94
BLAKE2b-256 35138b1f37d8f0274509dbe4c1de95f7f5a7c7aaf3cbbd25bec458babc3544c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp310-cp310-win_amd64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1b6c9961d039248654aa15176a5a92c2ea7ece47df36274b00c32ca90a7ad5d5
MD5 31d9fe554cafac6973edb8175863241d
BLAKE2b-256 f931103083012aeced7d586ac3bf12836a70207cf4e850c5aac3e0f781fb9515

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4d848ebe1516086638860850c162dd680b7ead3f3106a4c023df790bcf42c65e
MD5 b492b33021d5733c7c348ca2460c9c9a
BLAKE2b-256 4160f09989b982d9d34d579fd5c0e734f1b4e6e0b11a7bbc571ac9ee8e9f40b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyipopt_wheels-1.7.0.dev0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cyipopt_wheels-1.7.0.dev0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a71c30f56abd5d56746346a8fd676699338ac4d5110f5180ffb9fa8646f37f3f
MD5 95b52d5a50478dde834bd25e66a3367a
BLAKE2b-256 8ec8c1e3d85bb1223f502a1955f2464dd0fb6261ae46b41f2e519127e3df5fd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyipopt_wheels-1.7.0.dev0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on louisabraham/cyipopt-wheels

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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