python-visualization / folium

Python Data. Leaflet.js Maps.
https://python-visualization.github.io/folium/
MIT License
6.94k stars 2.23k forks source link

NumPy 2.0 support #1937

Closed jakirkham closed 6 months ago

jakirkham commented 7 months ago

Is your feature request related to a problem? Please describe.

NumPy 2.0 is coming out soon ( https://github.com/numpy/numpy/issues/24300 ). NumPy 2.0.0rc1 packages for conda & wheels came out 3 weeks back ( https://github.com/numpy/numpy/issues/24300#issuecomment-2030603395 ). It would be good to start running CI with NumPy 2.0 for folium and branca

Describe the solution you'd like

To prepare for NumPy 2.0, it might be worthwhile to start testing folium and branca against NumPy 2 in CI

Also a branca release (containing the NumPy 2 fixes), would help ensure users get a NumPy 2 compatible release

Lastly NumPy is tracking ecosystem support for NumPy 2.0, it would be helpful to share folium's and branca's current status in issue: https://github.com/numpy/numpy/issues/26191

Describe alternatives you've considered

NA

Additional context

NA

Implementation

This likely involves some tweaks to CI (or maybe a new CI job)

martinfleis commented 7 months ago

It would be good to confirm folium works with NumPy 2.0

It does now, I verified that locally when doing the fix in https://github.com/python-visualization/branca/pull/163. We just need a new release of branca (@ocefpaf can you do that?). Folium itself should be compatible without changes.

I will add a CI env testing against nightly both here and in branca.

jakirkham commented 7 months ago

Thanks Martin! 🙏

Have tried to revise the issue text. Please let me know whether that looks better. Happy to edit further

ocefpaf commented 7 months ago

ocefpaf can you do that?). Folium itself should be compatible without changes.

Doing that now. I was wrong about np.histogram! I would never have guessed that the problem was floats objects instead 😄

martinfleis commented 7 months ago

I would never have guessed that the problem was floats objects instead

took me a while to figure that out :D