computationalgeography / lue

LUE Scientific Database and Environmental Modelling Framework
https://lue.computationalgeography.org
MIT License
12 stars 4 forks source link

Revisit use of `NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION` #604

Closed kordejong closed 6 months ago

kordejong commented 10 months ago

We probably want to bump this version(?).

OliverSchmitz commented 9 months ago

Was considering similar for PCRaster. Also, NumPy 1.25 now has https://numpy.org/doc/stable/release/1.25.0-notes.html#compiling-against-the-numpy-c-api-is-now-backwards-compatible-by-default

OliverSchmitz commented 8 months ago

I think this can be closed, it seems there is no other option than 1.7 https://numpy.org/doc/stable/reference/c-api/deprecations.html#deprecation-mechanism-npy-no-deprecated-api I guess 'make your extension ABI compatible' is more relevant https://numpy.org/doc/stable/dev/depending_on_numpy.html#for-downstream-package-authors perhaps you want to make a new ticket for that?

kordejong commented 6 months ago

@OliverSchmitz: I am somewhat confused about what is the right way to handle different Numpy versions and API / ABI compatibility. How about we set NPY_NO_DEPRECATED_API=NPY_1_19_API_VERSION, since Numpy 1.19 is the first Numpy version supporting Python 3.9. We don't care about Python < 3.9, and therefore also not about Numpy < 1.19. When configuring LUE, we already ask for Python >= 3.9, and we can add a test for NumPy >= 1.19. That way all is likely to be good, until we use a Numpy feature which is removed from the Numpy API (unlikely). Yeah or meh?

OliverSchmitz commented 6 months ago

I'm still confused as well. All documentation I briefly checked refers to 1.7, and here https://github.com/numpy/numpy/tree/934e94d1654d923af80363f489a0ce8ca4c9a1cc/numpy/_core/include/numpy is only one ...deprecated_api.h (ie to 1.7)

kordejong commented 6 months ago

Fixed as part of #636