PySCeS / pysces

The official PySCeS project source code repository.
https://pysces.github.io
Other
34 stars 10 forks source link

Numpy 2.0 compatibility: proposed release 1.2.2 #101

Closed jmrohwer closed 1 month ago

jmrohwer commented 1 month ago

Now that numpy 2.0 has been released it is time to cut another PySCeS release as all extension modules need to be recompiled against numpy 2.0 to work with numpy>=2.0. The minimum supported numpy version is now 1.23.5 in line with scipy and other downstream projects.

This PR fixes some numpy 2.0 compatibility-related bugs and updates requirements.

In addition:

@bgoli Nothing seems controversial here but I would appreciate your quick glance. I've tested the module with both numpy=2.0.0 and numpy=1.23.5 and all CI builds pass (with their built in tests).

bgoli commented 1 month ago

Hi @jmrohwer, just finishing off the academic year, will dive into the review next week.

bgoli commented 1 month ago

Quick note: I created a new Python10 environment to test the release in and decided to try using RTools 4.4. I followed the PySCeS INSTALL instructions and only had to change the paths to get it to work:

c:\rtools40\usr\bin
c:\rtools40\ucrt64\bin

to

c:\rtools44\usr\bin
c:\rtools44\x86_64-w64-mingw32.static.posix\bin

I haven't tested it extensively yet, and am not even sure if this is the correct way to do it, but it seems to work.

jmrohwer commented 1 month ago

Quick note: I created a new Python10 environment to test the release in and decided to try using RTools 4.4. I followed the PySCeS INSTALL instructions and only had to change the paths to get it to work:

c:\rtools40\usr\bin
c:\rtools40\ucrt64\bin

to

c:\rtools44\usr\bin
c:\rtools44\x86_64-w64-mingw32.static.posix\bin

I haven't tested it extensively yet, and am not even sure if this is the correct way to do it, but it seems to work.

Yes, I've tested it as well and it works fine. However, it is a 428M download compared to 166M for version 4.0, and version 4.0 works equally well. It is also what numpy and scipy uses, so I've oriented myself by that.