Skip to content

Commit e1bbe55

Browse files
committed
fix(polars): use engine="streaming" instead of streaming=True
1 parent 74c3d18 commit e1bbe55

File tree

2 files changed

+11
-30
lines changed

2 files changed

+11
-30
lines changed

ibis/backends/polars/__init__.py

Lines changed: 8 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -441,8 +441,7 @@ def _to_dataframe(
441441
expr: ir.Expr,
442442
params: Mapping[ir.Expr, object] | None = None,
443443
limit: int | None = None,
444-
streaming: bool = False,
445-
engine: Literal["cpu", "gpu"] | pl.GPUEngine = "cpu",
444+
engine: Literal["cpu", "gpu", "streaming"] | pl.GPUEngine = "cpu",
446445
**kwargs: Any,
447446
) -> pl.DataFrame:
448447
self._run_pre_execute_hooks(expr)
@@ -452,7 +451,7 @@ def _to_dataframe(
452451
limit = ibis.options.sql.default_limit
453452
if limit is not None:
454453
lf = lf.limit(limit)
455-
df = lf.collect(streaming=streaming, engine=engine)
454+
df = lf.collect(engine=engine)
456455
# XXX: Polars sometimes returns data with the incorrect column names.
457456
# For now we catch this case and rename them here if needed.
458457
expected_cols = tuple(table_expr.columns)
@@ -467,17 +466,11 @@ def execute(
467466
*,
468467
params: Mapping[ir.Expr, object] | None = None,
469468
limit: int | None = None,
470-
streaming: bool = False,
471-
engine: Literal["cpu", "gpu"] | pl.GPUEngine = "cpu",
469+
engine: Literal["cpu", "gpu", "streaming"] | pl.GPUEngine = "cpu",
472470
**kwargs: Any,
473471
):
474472
df = self._to_dataframe(
475-
expr,
476-
params=params,
477-
limit=limit,
478-
streaming=streaming,
479-
engine=engine,
480-
**kwargs,
473+
expr, params=params, limit=limit, engine=engine, **kwargs
481474
)
482475
if isinstance(expr, (ir.Table, ir.Scalar)):
483476
return expr.__pandas_result__(df.to_pandas())
@@ -500,17 +493,11 @@ def to_polars(
500493
*,
501494
params: Mapping[ir.Expr, object] | None = None,
502495
limit: int | None = None,
503-
streaming: bool = False,
504-
engine: Literal["cpu", "gpu"] | pl.GPUEngine = "cpu",
496+
engine: Literal["cpu", "gpu", "streaming"] | pl.GPUEngine = "cpu",
505497
**kwargs: Any,
506498
):
507499
df = self._to_dataframe(
508-
expr,
509-
params=params,
510-
limit=limit,
511-
streaming=streaming,
512-
engine=engine,
513-
**kwargs,
500+
expr, params=params, limit=limit, engine=engine, **kwargs
514501
)
515502
return expr.__polars_result__(df)
516503

@@ -519,19 +506,13 @@ def _to_pyarrow_table(
519506
expr: ir.Expr,
520507
params: Mapping[ir.Expr, object] | None = None,
521508
limit: int | None = None,
522-
streaming: bool = False,
523-
engine: Literal["cpu", "gpu"] | pl.GPUEngine = "cpu",
509+
engine: Literal["cpu", "gpu", "streaming"] | pl.GPUEngine = "cpu",
524510
**kwargs: Any,
525511
):
526512
from ibis.formats.pyarrow import PyArrowData
527513

528514
df = self._to_dataframe(
529-
expr,
530-
params=params,
531-
limit=limit,
532-
streaming=streaming,
533-
engine=engine,
534-
**kwargs,
515+
expr, params=params, limit=limit, engine=engine, **kwargs
535516
)
536517
return PyArrowData.convert_table(df.to_arrow(), expr.as_table().schema())
537518

ibis/backends/polars/tests/test_client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,13 @@ def test_memtable_polars_types(con):
6666
def test_streaming(con, mocker, to_method):
6767
t = con.table("functional_alltypes")
6868
mocked_collect = mocker.patch("polars.LazyFrame.collect")
69-
getattr(con, to_method)(t, streaming=True)
70-
mocked_collect.assert_called_once_with(streaming=True, engine="cpu")
69+
getattr(con, to_method)(t, engine="streaming")
70+
mocked_collect.assert_called_once_with(engine="streaming")
7171

7272

7373
@pytest.mark.parametrize("to_method", ["to_pyarrow", "to_polars"])
7474
def test_engine(con, mocker, to_method):
7575
t = con.table("functional_alltypes")
7676
mocked_collect = mocker.patch("polars.LazyFrame.collect")
7777
getattr(con, to_method)(t, engine="gpu")
78-
mocked_collect.assert_called_once_with(streaming=False, engine="gpu")
78+
mocked_collect.assert_called_once_with(engine="gpu")

0 commit comments

Comments
 (0)