hiddenSymmetries / VMEC2000

MIT License
8 stars 5 forks source link

Update for numpy 2 #16

Closed landreman closed 1 month ago

landreman commented 2 months ago

When numpy 2.0.0 was released the other day, it starting causing errors in the CI for simsopt related to f90wrap and installing VMEC2000. An update to f90wrap was just merged for compatibility with the new numpy release. There has not been a new f90wrap version on pypi, not sure how log that will take, might depend on Caoxiang's PR there. In this PR, vmec2000 specifies the dev version of f90wrap instead of the pypi version to get the new numpy 2 compatibility. With this change, the VMEC2000 CI now passes, so I think simsopt's would as well. Do we want to make this change here in vmec2000, so we can get other workflows like simsopt running again, or just wait until f90wrap makes another release?

smiet commented 2 months ago

The changes look good to me, and I think one piece of the puzzle is finished.

Just mentioning here: there is one more issue with nptyping, which has not been updated for 2.0. and blocks me from testing locally whether this fix works.

landreman commented 2 months ago

@landreman could you create a new branch on simsopt that pulls directly this branch? I will adapt it from there to also pull SPEC and pyoculus upgrade branches so we can be sure everything works before committing.

This is done now in the ml/vmec_update_for_numpy_2 branch of simsopt.

smiet commented 2 months ago

Hi @landreman,

I see the CI in simsopt is failing on the spec compilation. Can I edit the ml/vmec_update_for_numpy_2 branch to reference the SPEC branch that I am updating? (or shall I branch from there?).

landreman commented 2 months ago

I see the CI in simsopt is failing on the spec compilation. Can I edit the ml/vmec_update_for_numpy_2 branch to reference the SPEC branch that I am updating? (or shall I branch from there?).

Please feel free to edit that branch directly.

landreman commented 2 months ago

f90wrap just released a new version with numpy 2.0 compatibility and it's on pypi now, so I think we can just go back to pip install f90wrap instead of specifying git+https://github.com/jameskermode/f90wrap as in this PR.

mbkumar commented 1 month ago

CI is passing for all python version.