Skip to content

Commit 1d8bc31

Browse files
authored
refactor: adds _compliant sub-package (#2149)
1 parent e64efb6 commit 1d8bc31

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+1772
-2453
lines changed

narwhals/_arrow/dataframe.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
from narwhals._arrow.utils import extract_dataframe_comparand
1818
from narwhals._arrow.utils import native_to_narwhals_dtype
1919
from narwhals._arrow.utils import select_rows
20+
from narwhals._compliant import EagerDataFrame
2021
from narwhals._expression_parsing import ExprKind
21-
from narwhals._expression_parsing import evaluate_into_exprs
2222
from narwhals.dependencies import is_numpy_array_1d
2323
from narwhals.utils import Implementation
2424
from narwhals.utils import Version
@@ -71,7 +71,7 @@
7171
from narwhals.typing import CompliantLazyFrame
7272

7373

74-
class ArrowDataFrame(CompliantDataFrame["ArrowSeries"], CompliantLazyFrame):
74+
class ArrowDataFrame(EagerDataFrame["ArrowSeries"], CompliantLazyFrame):
7575
# --- not in the spec ---
7676
def __init__(
7777
self: Self,
@@ -360,7 +360,7 @@ def aggregate(self: ArrowDataFrame, *exprs: ArrowExpr) -> ArrowDataFrame:
360360
return self.select(*exprs)
361361

362362
def select(self: ArrowDataFrame, *exprs: ArrowExpr) -> ArrowDataFrame:
363-
new_series = evaluate_into_exprs(self, *exprs)
363+
new_series = self._evaluate_into_exprs(*exprs)
364364
if not new_series:
365365
# return empty dataframe, like Polars does
366366
return self._from_native_frame(
@@ -373,7 +373,7 @@ def select(self: ArrowDataFrame, *exprs: ArrowExpr) -> ArrowDataFrame:
373373

374374
def with_columns(self: ArrowDataFrame, *exprs: ArrowExpr) -> ArrowDataFrame:
375375
native_frame = self._native_frame
376-
new_columns = evaluate_into_exprs(self, *exprs)
376+
new_columns = self._evaluate_into_exprs(*exprs)
377377

378378
length = len(self)
379379
columns = self.columns
@@ -560,7 +560,7 @@ def filter(
560560
mask_native: Mask | ArrowChunkedArray = predicate
561561
else:
562562
# `[0]` is safe as the predicate's expression only returns a single column
563-
mask_native = evaluate_into_exprs(self, predicate)[0]._native_series
563+
mask_native = self._evaluate_into_exprs(predicate)[0]._native_series
564564
return self._from_native_frame(
565565
self._native_frame.filter(mask_native), # pyright: ignore[reportArgumentType]
566566
validate_column_names=False,
@@ -777,7 +777,7 @@ def unique(
777777

778778
keep_idx = self.simple_select(*subset).is_unique()
779779
plx = self.__narwhals_namespace__()
780-
return self.filter(plx._create_expr_from_series(keep_idx))
780+
return self.filter(plx._expr._from_series(keep_idx))
781781

782782
def gather_every(self: Self, n: int, offset: int) -> Self:
783783
return self._from_native_frame(

0 commit comments

Comments
 (0)