mechmotum / cyipopt

Cython interface for the interior point optimzer IPOPT
Eclipse Public License 2.0
227 stars 54 forks source link

Enable support for cython 3 #227

Closed chrhansk closed 10 months ago

chrhansk commented 11 months ago

This is an attempt to fix #211:

chrhansk commented 11 months ago

Edit: Everything is cast to Problem rather than object in this patch, so the callbacks have access to all (not just public) cdef properties, which could now be made private (by removing the public) without problems.

moorepants commented 11 months ago

This will need to run with Cython 0.29.* and 3+. Does it?

chrhansk commented 11 months ago

It is supposed to and does on my system.

musicinmybrain commented 10 months ago

This will need to run with Cython 0.29.* and 3+. Does it?

This works for me (builds and tests pass, except any pre-existing issues like https://github.com/mechmotum/cyipopt/issues/237 and https://github.com/mechmotum/cyipopt/issues/238) on Fedora Linux Rawhide as well. (I did also test it with Cython 0.29.35 for completeness.) I’ll probably go ahead and apply this as a downstream patch in Rawhide, since this is one of a handful of packages that still needs Cython 0.29, and we’d like to stop maintaining that compat package sooner rather than later.

moorepants commented 10 months ago

I've gone through this and I don't see any issues with the changes. Thanks.

chrhansk commented 10 months ago

Thank you for the merge.