spacetelescope / spherical_geometry

A Python package for handling spherical polygons that represent arbitrary regions of the sky
http://spherical-geometry.readthedocs.io/
61 stars 31 forks source link

BLD: math_util C-extension refuses to build for numpy 2.x #272

Closed pllim closed 2 months ago

pllim commented 3 months ago

I noticed in both https://github.com/spacetelescope/spherical_geometry/pull/271 and https://github.com/spacetelescope/spherical_geometry/pull/268 that test_basic.py::test_math_util_inner1d SKIPPED happens whenever numpy 2.x is present. This implies that math_util C-extension is failing to build with numpy 2.x and spherical-geometry is silently falling back to Python implementations, if available.

I think you have to change your build requirement to use numpy 2.0 (up to you if you want to use RC2 or wait for stable release). Its ABI would be backward compatible with numpy 1.x up to a certain point. This means you can build with numpy 2.0 while still let users choose to use this package with numpy 1.x at runtime.

pllim commented 3 months ago

BTW you don't see the build failure in tox log because the log hides a lot of stuff. You can opt to turn on verbosity but that might pull in a lot of noise. The easier way might be to install numpy 2.0.rc2 from PyPI locally and then try to build this package locally outside of tox to see what is crashing.