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
epskwarg 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
tolis always a float in the SciPy interface. #236 -
print_levelallows 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.tomlfile with build dependencies. #162 - Added support for sparse Jacobians in the SciPy interface. #170
- Added
get_current_iterateandget_current_violationsmethods 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
CyIpoptEvaluationErrorand included it in relevance callbacks. #215 - Added dimension checks for Jacobian and Hessian attributes/methods. #216
Fixed
- Fixed import of
MemoizeJacfrom scipy.optimize. #183 -
argsandkwargscan be passed to all functions used inminimize_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_iterateandget_current_violationsmethods 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
CyIpoptEvaluationErrorand 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
boundsand 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=Trueoption 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 theipoptdistribution 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=Trueoption for constraints in the scipy interface by @jhelgert in https://github.com/mechmotum/cyipopt/pull/121 - Refactor
objective,gradientandevaluate_fun_with_gradmethods 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, ascyipoptis 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.ymlconda environment file for development. -
minimize_ipoptapproximates the Jacobian of the objective and the constraints using SciPy\'sapprox_fprimeif not provided [#91]. - Make changes as outlined in Version 1.0 proposal [#14].
-
requirements.txtfile. - 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.rsttodocs/. - Python logger changed to use the
cyipoptnamespace [#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.tocyipopt. -
doc/folder renamed todocs/. - Updated
CHANGELOG.rst.
Deprecated
- Package being imported by
import ipopt(replaced byimport cyipopt). - Use of non-PEP8 named classes/function/methods, e.g.
cyipopt.problem(replaced bycyipopt.Problem),cyipopt.problem.addOption(replaced bycyipopt.Problem.add_option),cyipopt.problem.setProblemScaling(replaced bycyipopt.Problem.set_problem_scaling) etc.
Removed
-
test/folder containing examples, which have mostly been moved toexamples/ -
docker/,vagrant/andMakefile[#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