What happened?
pyarrow-hotfix is required even if the pyarrow in use is >=14.0.1, where it's already fixed. That import could be conditional or - given the age of ~3 years - maybe it's been long enough to bump the minimal arrow from 10 to 14 anyway?
It's noticeable when not using ibis-framework[duckdb], because I don't want the pandas dependency.
What version of ibis are you using?
12.0.0
What backend(s) are you using, if any?
duckdb with pyarrow (only)
Relevant log output
.venv/lib/python3.14/site-packages/ibis/backends/duckdb/__init__.py:1396, in Backend.to_pyarrow(self, expr, params, limit, **kwargs)
1387 def to_pyarrow(
1388 self,
1389 expr: ir.Expr,
(...) 1394 **kwargs: Any,
1395 ) -> pa.Table:
-> 1396 from ibis.backends.duckdb.converter import DuckDBPyArrowData
1398 table = self._to_duckdb_relation(
1399 expr, params=params, limit=limit, **kwargs
1400 ).to_arrow_table()
1401 return expr.__pyarrow_result__(table, data_mapper=DuckDBPyArrowData)
ImportError: cannot import name 'DuckDBPyArrowData' from 'ibis.backends.duckdb.converter' (.venv/lib/python3.14/site-packages/ibis/backends/duckdb/converter.py)
import pyarrow as pa
> import pyarrow_hotfix # noqa: F401
^^^^^^^^^^^^^^^^^^^^^
E ModuleNotFoundError: No module named 'pyarrow_hotfix'
Code of Conduct
What happened?
pyarrow-hotfixis required even if the pyarrow in use is >=14.0.1, where it's already fixed. That import could be conditional or - given the age of ~3 years - maybe it's been long enough to bump the minimal arrow from 10 to 14 anyway?It's noticeable when not using
ibis-framework[duckdb], because I don't want the pandas dependency.What version of ibis are you using?
12.0.0
What backend(s) are you using, if any?
duckdb with pyarrow (only)
Relevant log output
Code of Conduct