SNEWS2 / snewpy

A Python package for working with supernova neutrinos
https://snewpy.readthedocs.io
BSD 3-Clause "New" or "Revised" License
26 stars 19 forks source link

add Python 3.11 to test suite; drop 3.7 #234

Closed JostMigenda closed 1 year ago

JostMigenda commented 1 year ago

Python 3.11 was released in late October, so this PR adds it to our testing matrix. Looking at the 3.11 release notes, we should need no further changes for compatibility. Unfortunately, one of snewpy’s dependencies (h5py) hasn’t yet published a release that supports 3.11, so unless we install h5py from source, snewpy will not yet install under 3.11; so this PR is currently a draft.

At the same time, I would suggest dropping support for Python 3.7 with the next snewpy release. This is in line with much of the scientific Python ecosystem (who dropped 3.7 support in December 2021); official end of life for Python 3.7 is June 2023.

JostMigenda commented 1 year ago

One more thing on dependencies and Python 3.11: Requiring pandas == 1.3.4 (which doesn’t have wheels for Python 3.11 available, since it was released much earlier) means we’d have to build pandas from source to run the workflow under 3.11. I’ll remove that requirement, so we don’t waste resources; this also fixes #199.

JostMigenda commented 1 year ago

New h5py release with binary wheels for Python 3.11 is out now, so this PR is ready for review.