Recent Releases of cyipopt

cyipopt - Version 1.6.1

[1.6.1] - 2025-08-14

Removed

  • Removed unit test for ipopt package import.

Full Changelog: https://github.com/mechmotum/cyipopt/compare/v1.6.0...v1.6.1

- Python
Published by moorepants 11 months ago

cyipopt - Version 1.6.0

[1.6.0] - 2025-08-14

Changed

  • Bumped minimal dependency versions to match versions in Ubuntu 24.04 LTS. #294
  • Installing and linking to the Conda Forge Ipopt binary on Windows now requires pkg-config (same as Linux and Mac). It is no longer required to set IPOPTWINDIR=USECONDAFORGEIPOPT; the flag is ignored. #293
  • When linking to Ipopt from a user specified directory on Windows, all dlls are collected instead of those with specific names making the installation robust to dll name changes in Ipopt versions. #288

Removed

  • All cyipopt 1.1.0 deprecated features are now removed, including the ipopt package. #275

Fixed

  • Bugs in warm start input checking fixed and documentation added. #271
  • Documentation on callbacks improved. #274

What's Changed

  • Try running two examples in CI. by @moorepants in https://github.com/mechmotum/cyipopt/pull/267
  • Removed the netlib build and simply build with the os preferred lapack. by @moorepants in https://github.com/mechmotum/cyipopt/pull/273
  • Add documentation / tests for warm starting by @chrhansk in https://github.com/mechmotum/cyipopt/pull/271
  • Improve documentation of callback functions by @chrhansk in https://github.com/mechmotum/cyipopt/pull/274
  • Remove deprecated functions / classes by @chrhansk in https://github.com/mechmotum/cyipopt/pull/275
  • Use miniforge instead of mambaforge in CI. by @moorepants in https://github.com/mechmotum/cyipopt/pull/283
  • read in files from ipopt bin folder by @philsuess in https://github.com/mechmotum/cyipopt/pull/288
  • Use pkg-config on windows. by @moorepants in https://github.com/mechmotum/cyipopt/pull/293
  • Bump minimum dependency versions to match Ubuntu 24.04. by @moorepants in https://github.com/mechmotum/cyipopt/pull/294

New Contributors

  • @philsuess made their first contribution in https://github.com/mechmotum/cyipopt/pull/288

Full Changelog: https://github.com/mechmotum/cyipopt/compare/v1.5.0...v1.6.0

- Python
Published by moorepants 11 months ago

cyipopt - Version 1.5.0

Added

  • Added instructions for using the HSL solvers on Windows. #254

Changed

  • Dropped support for Python 3.8. #263
  • Dropped support for building the package with NumPy < 1.25. #263

What's Changed

  • Fixed #249, ensure intermediate_cb returns its value if no exception. by @moorepants in https://github.com/mechmotum/cyipopt/pull/250
  • Add install instructions for HSL on windows by @avdudchenko in https://github.com/mechmotum/cyipopt/pull/254
  • Updated unit tests to call coo_array on 2d arrays not 1d arrays due to change in behavior in SciPy 1.13. by @moorepants in https://github.com/mechmotum/cyipopt/pull/257
  • Remove deprecated oldest-supported-numpy from pyproject.toml. by @moorepants in https://github.com/mechmotum/cyipopt/pull/263

New Contributors

  • @avdudchenko made their first contribution in https://github.com/mechmotum/cyipopt/pull/254

Full Changelog: https://github.com/mechmotum/cyipopt/compare/v1.4.1...v1.5.0

- Python
Published by moorepants almost 2 years ago

cyipopt - Version 1.4.1

[1.4.1] - 2024-04-02

Fixed

  • Addressed regression in return value of intermediate_cb. #250

Full Changelog: https://github.com/mechmotum/cyipopt/compare/v1.4.0...v1.4.1

- Python
Published by moorepants over 2 years ago

cyipopt - Version 1.4.0

[1.4.0] - 2024-04-01

Added

  • Support for building with Cython 3. #227, #240
  • Exposed the eps kwarg in the SciPy interface. #228
  • Added the examples to the source tarball. #242
  • Documentation improvements on specifics of Jacobian and Hessian inputs. #247
  • Support for Python 3.12.

Fixed

  • Ensure tol is always a float in the SciPy interface. #236
  • print_level allows integers other than 0 or 1. #244

What's Changed

  • TST: minimizeipopt: add back testgh1758 by @mdhaber in https://github.com/mechmotum/cyipopt/pull/229
  • Enable support for cython 3 by @chrhansk in https://github.com/mechmotum/cyipopt/pull/227
  • ENH: expose 'eps' option for finite difference step size by @mdhaber in https://github.com/mechmotum/cyipopt/pull/228
  • Fully allow Cython 3. by @moorepants in https://github.com/mechmotum/cyipopt/pull/240
  • Covert tol to float before passing to ipopt. by @moorepants in https://github.com/mechmotum/cyipopt/pull/236
  • Add examples/ and docs/requirements.txt to source distribution by @musicinmybrain in https://github.com/mechmotum/cyipopt/pull/242
  • Fix #234 by @MarkusZimmerDLR in https://github.com/mechmotum/cyipopt/pull/244
  • Error message spelling indicates incorrect callback name by @lynntf in https://github.com/mechmotum/cyipopt/pull/246
  • Add clarity to jacobian/hessianstructure methods by @lynntf in https://github.com/mechmotum/cyipopt/pull/247
  • Version 1.4.0 by @moorepants in https://github.com/mechmotum/cyipopt/pull/248

New Contributors

  • @MarkusZimmerDLR made their first contribution in https://github.com/mechmotum/cyipopt/pull/244
  • @lynntf made their first contribution in https://github.com/mechmotum/cyipopt/pull/246

Full Changelog: https://github.com/mechmotum/cyipopt/compare/v1.3.0...v1.4.0

- Python
Published by moorepants over 2 years ago

cyipopt - Version 1.3.0

[1.3.0] - 2023-09-23

Added

  • Added a pyproject.toml file with build dependencies. #162
  • Added support for sparse Jacobians in the SciPy interface. #170
  • Added get_current_iterate and get_current_violations methods to Problem class. #182
  • Added installation instructions for Ubuntu 22.04 LTS apt dependencies.
  • Added a script to build manylinux wheels. #189
  • Improved documentation of minimize_ipopt(). #194
  • Added support for all SciPy minimize() methods. #200
  • Added support for SciPy style bounds in minimize_ipopt() and added input validation. #207
  • Added new CyIpoptEvaluationError and included it in relevance callbacks. #215
  • Added dimension checks for Jacobian and Hessian attributes/methods. #216

Fixed

  • Fixed import of MemoizeJac from scipy.optimize. #183
  • args and kwargs can be passed to all functions used in minimize_ipopt(). #197
  • Fixed late binding bug in minimize_ipopt() when defining constraint Jacobians. #208
  • Pinned build dependency Cython to < 3. #212 #214 #223
  • Fixed installation on Windows for official Ipopt binaries adjacent to setup.py. #220

Changed

  • Changed the license to Eclipse Public 2.0. #185
  • Updated all dependency pins to match those in Ubuntu 22.04 LTS. #223

What's Changed

  • Version 1.2.0 by @moorepants in https://github.com/mechmotum/cyipopt/pull/159
  • Reduce manual pre-installation requirements via pyproject.toml by @nrontsis in https://github.com/mechmotum/cyipopt/pull/162
  • Remove appveyor (and old badges). Fixes #113. by @moorepants in https://github.com/mechmotum/cyipopt/pull/168
  • Add support for sparse jacobians in the scipy-interface by @jhelgert in https://github.com/mechmotum/cyipopt/pull/170
  • Change conda-build-version to mamba-version by @brocksam in https://github.com/mechmotum/cyipopt/pull/178
  • Added Ubuntu 22.04 install instructions, fixes #166. by @moorepants in https://github.com/mechmotum/cyipopt/pull/184
  • Import MemoizeJac from scipy.optimize._optimize. by @moorepants in https://github.com/mechmotum/cyipopt/pull/183
  • Update license to EPL 2.0, fixes #165. by @moorepants in https://github.com/mechmotum/cyipopt/pull/185
  • Change CI to use mambaforge. by @moorepants in https://github.com/mechmotum/cyipopt/pull/186
  • Use oldest-supported-numpy in pyproject.toml by @nrontsis in https://github.com/mechmotum/cyipopt/pull/188
  • Don’t use deprecated/removed np.float alias by @musicinmybrain in https://github.com/mechmotum/cyipopt/pull/191
  • Script for building manylinux wheels by @nrontsis in https://github.com/mechmotum/cyipopt/pull/189
  • DOC: minimize_ipopt: add documentation by @mdhaber in https://github.com/mechmotum/cyipopt/pull/194
  • args and kwargs now work fully for minimize_ipopt by @moorepants in https://github.com/mechmotum/cyipopt/pull/197
  • Remove test.yml, fixes #187. by @moorepants in https://github.com/mechmotum/cyipopt/pull/199
  • Add get_current_iterate and get_current_violations methods to Problem class by @Robbybp in https://github.com/mechmotum/cyipopt/pull/182
  • MAINT: minimize_cyipopt: add input validation by @mdhaber in https://github.com/mechmotum/cyipopt/pull/206
  • MAINT: minimize_ipopt: fix late binding bug when defining constraint Jacobians by @mdhaber in https://github.com/mechmotum/cyipopt/pull/208
  • ENH: minimize_cyipopt: support SciPy methods by @mdhaber in https://github.com/mechmotum/cyipopt/pull/200
  • Pin Cython<3 until compatibility can be fixed by @musicinmybrain in https://github.com/mechmotum/cyipopt/pull/212
  • pin cython < 3 by @plakrisenko in https://github.com/mechmotum/cyipopt/pull/214
  • Add CyIpoptEvaluationError and handle in callbacks by @Robbybp in https://github.com/mechmotum/cyipopt/pull/215
  • Now picks up Windows Ipopt binary files that are adjacent to setup.py (restores regression) by @moorepants in https://github.com/mechmotum/cyipopt/pull/220
  • ENH: minimize_ipopt: add input validation for bounds and support for new-style constraints by @mdhaber in https://github.com/mechmotum/cyipopt/pull/207
  • Add sanity checks to Jacobian / Hessian indices by @chrhansk in https://github.com/mechmotum/cyipopt/pull/216
  • Update the depedency pins to thos available in Ubuntu 22.04 LTS by @moorepants in https://github.com/mechmotum/cyipopt/pull/223
  • Version 1.3.0 by @moorepants in https://github.com/mechmotum/cyipopt/pull/224

New Contributors

  • @nrontsis made their first contribution in https://github.com/mechmotum/cyipopt/pull/162
  • @mdhaber made their first contribution in https://github.com/mechmotum/cyipopt/pull/194
  • @Robbybp made their first contribution in https://github.com/mechmotum/cyipopt/pull/182
  • @plakrisenko made their first contribution in https://github.com/mechmotum/cyipopt/pull/214
  • @chrhansk made their first contribution in https://github.com/mechmotum/cyipopt/pull/216

Full Changelog: https://github.com/mechmotum/cyipopt/compare/v1.2.0...v1.3.0

- Python
Published by moorepants almost 3 years ago

cyipopt - Version 1.2.0

[1.2.0] - 2022-11-28

Added

  • Added instructions for using the HSL binaries with the Conda Forge binaries.
  • Support for Python 3.10 and 3.11.

Fixed

  • Improved the type information in the JAX example.
  • SciPy MemoizeJac deprecation warning handled.
  • Handled KeyErrors upon unknown IPOPT return statuses.
  • Removed unnecessary shebangs.
  • Improved the Github Actions CI.

Removed

  • Dropped support for Python 3.6.

What's Changed

  • Version 1.1.0 by @moorepants in https://github.com/mechmotum/cyipopt/pull/129
  • Avoid KeyError upon unknown IPOPT return statuses. by @tobias-kies-artemis in https://github.com/mechmotum/cyipopt/pull/134
  • Fix a couple of small documentation typos by @musicinmybrain in https://github.com/mechmotum/cyipopt/pull/137
  • Improve GitHub Actions by @brocksam in https://github.com/mechmotum/cyipopt/pull/139
  • A little consistency in shebangs and execute bits by @musicinmybrain in https://github.com/mechmotum/cyipopt/pull/136
  • Added instructions about using HSL with conda forge binaries to the documentation. by @moorepants in https://github.com/mechmotum/cyipopt/pull/138
  • Remove deprecated setup.py install approach by @brocksam in https://github.com/mechmotum/cyipopt/pull/149
  • Improve the jax example by @jhelgert in https://github.com/mechmotum/cyipopt/pull/146
  • Avoid SciPy deprecation warning. by @moorepants in https://github.com/mechmotum/cyipopt/pull/157

New Contributors

  • @tobias-kies-artemis made their first contribution in https://github.com/mechmotum/cyipopt/pull/134

Full Changelog: https://github.com/mechmotum/cyipopt/compare/v1.1.0...v1.2.0

- Python
Published by moorepants over 3 years ago

cyipopt - Version 1.1.0

[1.1.0] - 2021-09-07

Added

  • Added support for objective and constraint Hessians and jac=True option for constraints in the scipy interface.
  • Example added showing how to use JAX for calculating derivatives.

Changed

  • Releases have been moved to the PyPi cyipopt distribution namespace: https://pypi.org/project/cyipopt/. Users should now install with pip install cyipopt. Be sure to uninstall the ipopt distribution first.

Removed

  • The six and future dependencies are removed.

What's Changed

  • Remove six and future by @moorepants in https://github.com/mechmotum/cyipopt/pull/112
  • Added example using JAX and the scipy interface. by @jhelgert in https://github.com/mechmotum/cyipopt/pull/119
  • Adds configuration to use github actions for testing. by @moorepants in https://github.com/mechmotum/cyipopt/pull/123
  • Add support for objective and constraint hessians and jac=True option for constraints in the scipy interface by @jhelgert in https://github.com/mechmotum/cyipopt/pull/121
  • Refactor objective, gradient and evaluate_fun_with_grad methods by @jhelgert in https://github.com/mechmotum/cyipopt/pull/128

Full Changelog: https://github.com/mechmotum/cyipopt/compare/v1.0.3...v1.1.0

- Python
Published by moorepants almost 5 years ago

cyipopt - Version 1.0.3

[1.0.3] - 2021-04-07

Changed

  • Changed PyPi distribution name back to ipopt, as cyipopt is currently unavailable.

[1.0.2] - 2021-04-06

Changed

  • Corrected the CHANGELOG.

[1.0.1] - 2021-04-06

Changed

  • Corrected the PyPi classifier.

[1.0.0] - 2021-04-06

Added

  • conda/cyipopt-dev.yml conda environment file for development.
  • minimize_ipopt approximates the Jacobian of the objective and the constraints using SciPy\'s approx_fprime if not provided [#91].
  • Make changes as outlined in Version 1.0 proposal [#14].
  • requirements.txt file.
  • Dedicated tests using pytest in cyipopt/tests/ directory.
  • examples/ directory.
  • Support for Python 3.9.
  • Minimum version requirements for all dependencies.

Changed

  • Installation and development documentation moved from README.rst to docs/.
  • Python logger changed to use the cyipopt namespace [#102].
  • Class and method names now use PEP8 standards. Old class and method names now result in a deprecation warning.
  • Module directory renamed from ipopt. to cyipopt.
  • doc/ folder renamed to docs/.
  • Updated CHANGELOG.rst.

Deprecated

  • Package being imported by import ipopt (replaced by import cyipopt).
  • Use of non-PEP8 named classes/function/methods, e.g. cyipopt.problem (replaced by cyipopt.Problem), cyipopt.problem.addOption (replaced by cyipopt.Problem.add_option), cyipopt.problem.setProblemScaling (replaced by cyipopt.Problem.set_problem_scaling) etc.

Removed

  • test/ folder containing examples, which have mostly been moved to examples/
  • docker/, vagrant/ and Makefile [#83].
  • Support for Python 2.7.
  • Support for Python 3.5.

Full Changelog: https://github.com/mechmotum/cyipopt/compare/v1.0.2...v1.0.3

- Python
Published by moorepants about 5 years ago

cyipopt - Version 0.3.0

  • Added support for Conda Forge Windows Ipopt >=3.13 binaries using the IPOPTWINDIR="USECONDAFORGEIPOPT" environment variable value. (https://github.com/matthias-k/cyipopt/pull/78)
  • Added support for Ipopt >=3.13 on Windows. (https://github.com/matthias-k/cyipopt/pull/63)

What's Changed

  • Release 0.2.0 by @moorepants in https://github.com/mechmotum/cyipopt/pull/65
  • Remove travis limit on ipopt. by @moorepants in https://github.com/mechmotum/cyipopt/pull/67
  • Add Ipopt 3.13 support for Windows by @apommel in https://github.com/mechmotum/cyipopt/pull/63
  • Try using Conda-Forge's IPOPT Windows build. by @moorepants in https://github.com/mechmotum/cyipopt/pull/78

Full Changelog: https://github.com/mechmotum/cyipopt/compare/v0.2.0...v0.3.0

- Python
Published by moorepants over 5 years ago

cyipopt - Version 0.2.0

  • Resolved compatibility issues with Windows. (https://github.com/matthias-k/cyipopt/pull/49)
  • OSError now raised if pkg-config can't find ipopt on installation. (https://github.com/matthias-k/cyipopt/pull/57)
  • Supporting only Python 2.7 and 3.6-3.8. Python 3.5 support dropped. (https://github.com/matthias-k/cyipopt/pull/58)
  • Improvements to the README and setup.py for Windows installations. (https://github.com/matthias-k/cyipopt/pull/54)
  • Drop Python 3.4 support and add Python 3.7 support. (https://github.com/matthias-k/cyipopt/pull/51)
  • Adding installation testing on the Appveyor CI service. (https://github.com/matthias-k/cyipopt/pull/50)
  • Added custom installation instructions for Ubuntu 18.04.

What's Changed

  • Update PR #42 by @moorepants in https://github.com/mechmotum/cyipopt/pull/43
  • Resolve compatibility issues with windows by @apommel in https://github.com/mechmotum/cyipopt/pull/49
  • Add an appveyor Windows CI build. by @moorepants in https://github.com/mechmotum/cyipopt/pull/50
  • Drop Python 3.4 support and add 3.7. by @moorepants in https://github.com/mechmotum/cyipopt/pull/51
  • Add some more details on Windows installation by @avikde in https://github.com/mechmotum/cyipopt/pull/54
  • Switch to new miniconda urls. by @moorepants in https://github.com/mechmotum/cyipopt/pull/56
  • Drop Python 3.5 and add Python 3.8 in CI tests. by @moorepants in https://github.com/mechmotum/cyipopt/pull/58
  • Added OSError to handle pkg-config not finding ipopt. by @moorepants in https://github.com/mechmotum/cyipopt/pull/57

New Contributors

  • @avikde made their first contribution in https://github.com/mechmotum/cyipopt/pull/54

Full Changelog: https://github.com/mechmotum/cyipopt/compare/v0.1.9...v0.2.0

- Python
Published by moorepants about 6 years ago

cyipopt - Version 0.1.9

  • Fixed encoding issue preventing installation on some OSes.
  • Removed SciPy requirements from examples.

- Python
Published by moorepants almost 8 years ago

cyipopt - Version 0.1.8

  • Updated setup.py to be complete and added dependencies.
  • Added support for Travis CI to test build, install, examples, and docs.
  • Made SciPy and optional dependency.
  • Linux/Mac installation now supported via conda and conda-forge.
  • Added LICENSE file and EPL headers to each source file.
  • Fixed some PY2/3 compatibility issues.
  • Improved documentation formatting for Sphinx.
  • Strings can be passed to addOption instead of bytes strings for Python 2 and 3.

- Python
Published by moorepants almost 8 years ago