|
1 | 1 | from __future__ import annotations |
2 | 2 |
|
3 | | -from typing import TYPE_CHECKING, Any, TypeVar, Self |
| 3 | +from typing import TYPE_CHECKING, Any, Self, TypeVar |
4 | 4 |
|
5 | 5 | from narwhals._compliant.expr import NativeExpr |
6 | 6 |
|
7 | 7 | if TYPE_CHECKING: |
8 | 8 | from narwhals._sql.dataframe import SQLLazyFrame |
9 | 9 | from narwhals._sql.expr import SQLExpr |
10 | | - from narwhals.dtypes import Boolean |
11 | 10 |
|
12 | 11 | # TODO: @mp, understand why these are here & if we need one for NativeSQLExprT |
13 | 12 | SQLExprAny = SQLExpr[Any, Any] |
|
17 | 16 | SQLExprT_contra = TypeVar("SQLExprT_contra", bound="SQLExprAny", contravariant=True) |
18 | 17 | SQLLazyFrameT = TypeVar("SQLLazyFrameT", bound="SQLLazyFrameAny") |
19 | 18 | # TODO: @mp, should this be contravariant as to do with function arguments? think through! |
20 | | -NativeSQLExprT = TypeVar("NativeSQLExprT", bound="NativeSQLExpr") |
| 19 | +NativeSQLExprT = TypeVar("NativeSQLExprT", bound="NativeSQLExpr") |
| 20 | + |
21 | 21 |
|
22 | 22 | class NativeSQLExpr(NativeExpr): |
23 | | - # both Self because we're comparing an expression with an expression? |
| 23 | + # both Self because we're comparing an expression with an expression? |
24 | 24 | def __gt__(self, value: Self) -> Self: ... |
25 | 25 |
|
26 | 26 | def __lt__(self, value: Self) -> Self: ... |
|
0 commit comments