Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: adds _compliant sub-package #2149

Open
wants to merge 63 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 50 commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
931d7ea
refactor: Add `_compliant` sub-package
dangotbanned Mar 5, 2025
cef630e
refactor: migrate imports, delete `_selectors`
dangotbanned Mar 5, 2025
ca2ca24
refactor: Export `Eval(Names|Series)`
dangotbanned Mar 5, 2025
9cc3ce8
feat(DRAFT): Add placeholder `(Eager|Lazy)Expr` protocols
dangotbanned Mar 5, 2025
53413ae
ci: ignore coverage
dangotbanned Mar 5, 2025
9efd3c6
Merge remote-tracking branch 'upstream/main' into compliant-package
dangotbanned Mar 6, 2025
2bf05fb
refactor: avoid adding `typing.IntoCompliantExpr`
dangotbanned Mar 6, 2025
7fb4914
refactor: avoid adding `typing.CompliantFrameT`
dangotbanned Mar 6, 2025
51820a1
refactor: avoid adding `typing.CompliantSeriesT_co`
dangotbanned Mar 6, 2025
8f1c5ca
refactor: avoid adding `typing.CompliantNamespace`
dangotbanned Mar 6, 2025
5bf2bdb
refactor: avoid adding `typing.CompliantExpr`
dangotbanned Mar 6, 2025
075228b
fix(typing): Resolve `NativeExpr`-related issues
dangotbanned Mar 6, 2025
a0fe52a
refactor(typing): spec out and reuse `LazyExpr`
dangotbanned Mar 6, 2025
23fdf8f
be quiet `mypy`!
dangotbanned Mar 6, 2025
d58e2c9
feat(DRAFT): `EagerExpr` from `_expression_parsing.py`
dangotbanned Mar 6, 2025
6cb725c
feat: Generic dunders
dangotbanned Mar 6, 2025
bc93782
chore(typing): fix variance issues
dangotbanned Mar 6, 2025
7d48726
feat(DRAFT): add a couple more methods
dangotbanned Mar 6, 2025
75b33c4
feat: Spec-out all generic parts of `EagerExpr`
dangotbanned Mar 6, 2025
b38b25b
Merge branch 'main' into compliant-package
dangotbanned Mar 7, 2025
5d766c2
revert: remove unused `_series` property
dangotbanned Mar 7, 2025
a066213
feat: add `EagerExpr.from_column_(names|indices)`
dangotbanned Mar 7, 2025
57ab13b
chore: add some notes on `Eager(Namespace|Series)`
dangotbanned Mar 7, 2025
e16e942
update import/exports
dangotbanned Mar 7, 2025
364d2ee
fix(typing): Use `Self`
dangotbanned Mar 7, 2025
484c997
refactor(DRAFT): start implementing `Arrow*`
dangotbanned Mar 7, 2025
77b599a
fix: typo and add missing `count`
dangotbanned Mar 7, 2025
7a1a653
refactor(DRAFT): mostly ready `ArrowExpr`
dangotbanned Mar 7, 2025
afddd4c
refactor(DRAFT): Possibly all `ArrowExpr`?
dangotbanned Mar 7, 2025
f87a629
refactor: migrate to `ArrowExpr._reuse_series_namespace_implementation`
dangotbanned Mar 7, 2025
d509fc9
fix: fix typo lol
dangotbanned Mar 7, 2025
2535f35
Merge remote-tracking branch 'upstream/main' into compliant-package
dangotbanned Mar 7, 2025
9d55d2a
chore: remove `ArrowExpr` parts from `_expression_parsing`
dangotbanned Mar 7, 2025
f16ece2
ci: get coverage for properties
dangotbanned Mar 7, 2025
388f715
refactor(DRAFT): start migrating `PandasLike*`
dangotbanned Mar 7, 2025
4bc483f
refactor(DRAFT): big progress on `Pandas*`
dangotbanned Mar 7, 2025
9d7fc16
refactor: migrate expr namespaces
dangotbanned Mar 7, 2025
bf18326
fix: dont `__bool__` a `pd.Series`
dangotbanned Mar 7, 2025
73656f1
fix(DRAFT): extend `is_eager_namespace`
dangotbanned Mar 7, 2025
c606ea0
refactor: drop all unused `_expression_parsing`
dangotbanned Mar 7, 2025
6ce86c3
Merge remote-tracking branch 'upstream/main' into compliant-package
dangotbanned Mar 7, 2025
00a3442
refactor: remove `implementation` from method names
dangotbanned Mar 7, 2025
7cd3e2d
refactor: rename `attr` -> `method_name`, add annotation
dangotbanned Mar 7, 2025
035976b
feat: Define `CompliantSeries._to_expr`
dangotbanned Mar 8, 2025
874bf6d
Merge remote-tracking branch 'upstream/main' into compliant-package
dangotbanned Mar 8, 2025
ba14a82
refactor: get coverage and simplify `_polars.namespace`
dangotbanned Mar 8, 2025
e64626a
Merge remote-tracking branch 'upstream/main' into compliant-package
dangotbanned Mar 8, 2025
612df69
refactor: avoid reimplementing `ArrowSeries._from_iterable`
dangotbanned Mar 8, 2025
5a13b63
feat: Super reusable namespaces 🀯
dangotbanned Mar 8, 2025
c662d85
maybe `3.8` compat?
dangotbanned Mar 8, 2025
d53ce01
chore(typing): add some safety for `.name`
dangotbanned Mar 8, 2025
2777822
feat: adds `EagerExprNameNamespace`
dangotbanned Mar 8, 2025
b05f132
Merge branch 'main' into compliant-package
dangotbanned Mar 8, 2025
067252b
refactor: Simplify `EagerExprNameNamespace`
dangotbanned Mar 8, 2025
0d57240
Merge remote-tracking branch 'upstream/main' into compliant-package
dangotbanned Mar 9, 2025
309f910
chore: resolve more conflicts from (#2168)
dangotbanned Mar 9, 2025
3a434c2
Merge branch 'main' into compliant-package
dangotbanned Mar 9, 2025
8ec9cd9
docs: add module-level doc
dangotbanned Mar 9, 2025
c368a60
docs(typing): Explain `is_eager_expr`
dangotbanned Mar 9, 2025
7d3addc
docs: `NativeExpr`
dangotbanned Mar 9, 2025
66ecf84
chore: remove outdated comments
dangotbanned Mar 9, 2025
d1dd6ce
Merge remote-tracking branch 'upstream/main' into compliant-package
dangotbanned Mar 9, 2025
b3bdb3b
fix(typing): `EagerNamespace.all_horizontal`
dangotbanned Mar 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions narwhals/_arrow/dataframe.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
from narwhals._arrow.utils import extract_dataframe_comparand
from narwhals._arrow.utils import native_to_narwhals_dtype
from narwhals._arrow.utils import select_rows
from narwhals._compliant import EagerDataFrame
from narwhals._expression_parsing import ExprKind
from narwhals._expression_parsing import evaluate_into_exprs
from narwhals.dependencies import is_numpy_array_1d
Expand Down Expand Up @@ -71,7 +72,7 @@
from narwhals.typing import CompliantLazyFrame


class ArrowDataFrame(CompliantDataFrame["ArrowSeries"], CompliantLazyFrame):
class ArrowDataFrame(EagerDataFrame["ArrowSeries"], CompliantLazyFrame):
# --- not in the spec ---
def __init__(
self: Self,
Expand Down Expand Up @@ -777,7 +778,7 @@ def unique(

keep_idx = self.simple_select(*subset).is_unique()
plx = self.__narwhals_namespace__()
return self.filter(plx._create_expr_from_series(keep_idx))
return self.filter(plx._expr._from_series(keep_idx))

def gather_every(self: Self, n: int, offset: int) -> Self:
return self._from_native_frame(
Expand Down
Loading
Loading