Support Python 3.12+
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:
- :x:
setuptoolswhich we cannot do because it doesn't support Fortran - :grey_question: Meson, and the meson-python build backend
- :grey_question: CMake, and the scikit-build-core build backend
I (@jhkennedy) lean towards scikit-build-core out of familiarity, but I haven't used mesons enough to have a well-formed opinion.
Either CMake or Meson sounds good to me. I don't have a preference. Tagging @scottstanie for discussion.
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.
@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!