vaexio / vaex

Out-of-Core hybrid Apache Arrow/NumPy DataFrame for Python, ML, visualization and exploration of big tabular data at a billion rows per second 🚀
https://vaex.io
MIT License
8.22k stars 589 forks source link

`vaex` does not work with `numpy==2.0.0` #2425

Open iisakkirotko opened 2 weeks ago

iisakkirotko commented 2 weeks ago

Hi! Noticed an issue caused by vaex in our daily ci run on solara. This issue should break any new install of vaex where the version of numpy is not restricted.

Description: vaex is not compatible with the newly released numpy==2.0.0.

Software information

To Reproduce:

install vaex, which pulls in the newest numpy. Run import vaex. This results in

Traceback (most recent call last):  File "<stdin>", line 1, in <module>
  File "/Users/.../lib/python3.10/site-packages/vaex/__init__.py", line 45, in <module>
    import vaex.dataframe
  File "/Users/.../lib/python3.10/site-packages/vaex/dataframe.py", line 30, in <module>
    import vaex.grids
  File "/Users/.../lib/python3.10/site-packages/vaex/grids.py", line 3, in <module>
    import vaex.vaexfast
AttributeError: _ARRAY_API not found
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/.../lib/python3.10/site-packages/vaex/__init__.py", line 45, in <module>
    import vaex.dataframe
  File "/Users/.../lib/python3.10/site-packages/vaex/dataframe.py", line 30, in <module>
    import vaex.grids
  File "/Users/.../lib/python3.10/site-packages/vaex/grids.py", line 3, in <module>
    import vaex.vaexfast
ImportError: numpy.core.multiarray failed to import

with the following hint:

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.