kneasle / wheatley

An AI for Ringing Room that can ring any number of bells to increase the scope of practices.
https://pypi.org/project/wheatley/
MIT License
15 stars 13 forks source link

Bump numpy to 1.23.4 #213

Closed kneasle closed 1 year ago

kneasle commented 1 year ago

Previously, NumPy was pinned to an old version on Windows to avoid a bug in a Windows update. However, that bug has now been fixed and that old NumPy version is now incompatible with the version of Python now in the Windows store (Python 3.10). The old version also has known security vulnerabilities, giving one final reason to update.

NumPy 1.20 dropped support for Python 3.6, and NumPy 1.22 dropped support for Python 3.7. So, we use NumPy 1.19.5 for Python < 3.8 and latest NumPy for everything else.

kneasle commented 1 year ago

Finally the tests are green.

kneasle commented 1 year ago

The build here is 3.6 and 3.9, is it worth adding 3.10 or 3.11?

Seems like a good shout. If we're adding versions, we should probably also add 3.7 and 3.8 because they're the boundary at which the numpy version changes and they're what'll break if I've got the versions wrong.

I would prefer to avoid testing tons of different Python versions, though: it seems inefficient and clutters up the merge box. Can you remember the rationale of choosing 3.6 and 3.9? I think 3.9 was the latest version at the time, so possibly 3.6 was the version that RR uses and 3.9 (i.e. latest) was what CLI users would probably have installed? By that logic, we should do something like 3.6, 3.8 and 3.11... what do you reckon?

centreboard commented 1 year ago

Yes I think it was a balance of the number of jobs with coverage of versions.

3.6, 3.8 and 3.11 sounds fine to me.