5858 from narwhals ._compliant .namespace import CompliantNamespace
5959 from narwhals ._compliant .namespace import EagerNamespace
6060 from narwhals ._compliant .series import CompliantSeries
61+ from narwhals ._compliant .typing import AliasNames
62+ from narwhals ._compliant .typing import EvalNames
63+ from narwhals ._compliant .typing import EvalSeries
6164 from narwhals ._expression_parsing import ExprKind
6265 from narwhals ._expression_parsing import ExprMetadata
6366 from narwhals .dtypes import DType
@@ -84,21 +87,19 @@ class CompliantExpr(Protocol38[CompliantFrameT, CompliantSeriesOrNativeExprT_co]
8487 _implementation : Implementation
8588 _backend_version : tuple [int , ...]
8689 _version : Version
87- _evaluate_output_names : Callable [[ CompliantFrameT ], Sequence [ str ] ]
88- _alias_output_names : Callable [[ Sequence [ str ]], Sequence [ str ]] | None
90+ _evaluate_output_names : EvalNames [ CompliantFrameT ]
91+ _alias_output_names : AliasNames | None
8992 _metadata : ExprMetadata | None
9093
9194 def __call__ (
9295 self , df : CompliantFrameT
9396 ) -> Sequence [CompliantSeriesOrNativeExprT_co ]: ...
9497 def __narwhals_expr__ (self ) -> None : ...
95- def __narwhals_namespace__ (
96- self ,
97- ) -> CompliantNamespace [CompliantFrameT , Self ]: ...
98+ def __narwhals_namespace__ (self ) -> CompliantNamespace [CompliantFrameT , Self ]: ...
9899 @classmethod
99100 def from_column_names (
100101 cls ,
101- evaluate_column_names : Callable [[ CompliantFrameT ], Sequence [ str ] ],
102+ evaluate_column_names : EvalNames [ CompliantFrameT ],
102103 / ,
103104 * ,
104105 context : _FullContext ,
@@ -298,7 +299,7 @@ class DepthTrackingExpr(
298299 @classmethod
299300 def from_column_names (
300301 cls : type [Self ],
301- evaluate_column_names : Callable [[ CompliantFrameT ], Sequence [ str ] ],
302+ evaluate_column_names : EvalNames [ CompliantFrameT ],
302303 / ,
303304 * ,
304305 context : _FullContext ,
@@ -330,17 +331,17 @@ class EagerExpr(
330331 DepthTrackingExpr [EagerDataFrameT , EagerSeriesT ],
331332 Protocol38 [EagerDataFrameT , EagerSeriesT ],
332333):
333- _call : Callable [[ EagerDataFrameT ], Sequence [ EagerSeriesT ] ]
334+ _call : EvalSeries [ EagerDataFrameT , EagerSeriesT ]
334335 _call_kwargs : dict [str , Any ]
335336
336337 def __init__ (
337338 self : Self ,
338- call : Callable [[ EagerDataFrameT ], Sequence [ EagerSeriesT ] ],
339+ call : EvalSeries [ EagerDataFrameT , EagerSeriesT ],
339340 * ,
340341 depth : int ,
341342 function_name : str ,
342- evaluate_output_names : Callable [[ EagerDataFrameT ], Sequence [ str ] ],
343- alias_output_names : Callable [[ Sequence [ str ]], Sequence [ str ]] | None ,
343+ evaluate_output_names : EvalNames [ EagerDataFrameT ],
344+ alias_output_names : AliasNames | None ,
344345 implementation : Implementation ,
345346 backend_version : tuple [int , ...],
346347 version : Version ,
@@ -358,12 +359,12 @@ def __narwhals_expr__(self) -> None: ...
358359 @classmethod
359360 def _from_callable (
360361 cls ,
361- func : Callable [[ EagerDataFrameT ], Sequence [ EagerSeriesT ] ],
362+ func : EvalSeries [ EagerDataFrameT , EagerSeriesT ],
362363 * ,
363364 depth : int ,
364365 function_name : str ,
365- evaluate_output_names : Callable [[ EagerDataFrameT ], Sequence [ str ] ],
366- alias_output_names : Callable [[ Sequence [ str ]], Sequence [ str ]] | None ,
366+ evaluate_output_names : EvalNames [ EagerDataFrameT ],
367+ alias_output_names : AliasNames | None ,
367368 context : _FullContext ,
368369 call_kwargs : dict [str , Any ] | None = None ,
369370 ) -> Self :
0 commit comments