dynamicslab / pysindy

A package for the sparse identification of nonlinear dynamical systems from data
https://pysindy.readthedocs.io/en/latest/
Other
1.45k stars 323 forks source link

Gurobipy requirement prevents Python 3.11 support #303

Closed Jacob-Stevens-Haas closed 1 year ago

Jacob-Stevens-Haas commented 1 year ago

Gurobipy 9.x does not have wheels for python 3.11, but gurobipy 10.x does. @znicolaou, you added a commit in #273 that restricted the version of gurobipy in requirements-dev.txt to <10.0.

Is there a conflict that precludes gurobipy 10.0.1? I couldn't find any issues or comments mentioning the reason for limiting gurobipy to 9.x. Can I PR it back to allow 9.x series?

Stumbled upon this because my laptop is in the shop and I'm temporarily on windows. Not a big deal - I'm happy to install 3.10 alongside 3.11, but also want to ask about bumping the python versions in CI. We build and test against 3.7/3.8. 3.7 reaches end-of-life in June. 3.8 reaches end-of-life in Oct 2024. Can we add 3.9/3.10 to CI to 3.8 and remove 3.7?

akaptano commented 1 year ago

Yes #266 and #273 mention that some of the MIOSR code uses a deprecated function from gurobipy < 10.0 so would need to rewrite this piece (might be easy though). I agree it is a good idea to start adding later versions to CI.

znicolaou commented 1 year ago

Yeah, indeed, we noted an issue with cindex during merges here: https://github.com/dynamicslab/pysindy/pull/273#discussion_r1047944343. Like @akaptano, it might be easy to resolve if someone has time to look at it.

Jacob-Stevens-Haas commented 1 year ago

Ah ok thanks guys - I'll bump CI soon and leave this open to track the MIOSR stuff.