insarlab / PySolid

A Python wrapper for solid Earth tides
GNU General Public License v3.0
61 stars 7 forks source link

Support Python 3.12+ #78

Closed jhkennedy closed 2 weeks ago

jhkennedy commented 7 months ago

PySolid currently does not support Python 3.12+ because it relies on numpy.distutils to build the compiled Fortran extension. numpy.distutils has been removed for Python 3.12+ builds of numpy: https://numpy.org/devdocs/reference/distutils_status_migration.html#distutils-status-migration

Reccomendations there are to upgrade to:

I (@jhkennedy) lean towards scikit-build-core out of familiarity, but I haven't used mesons enough to have a well-formed opinion.

yunjunz commented 7 months ago

Either CMake or Meson sounds good to me. I don't have a preference. Tagging @scottstanie for discussion.

rtburns-jpl commented 2 weeks ago

Hey guys, now that pysolid is a requirement of isce3 we want to fix this so we can support python 3.12+, so I'm planning to work on this. Let me know if anyone has a WIP build system migration, otherwise I'll PR my own implementation.

jhkennedy commented 2 weeks ago

@rtburns-jpl Fantastic! I don't think anyone has started on this yet, so a PR of your own implementation would be great. Feel free to tag me for review/help!