Skip to content

Commit a1620e1

Browse files
committed
make it generic
1 parent 3043ef9 commit a1620e1

File tree

3 files changed

+10
-9
lines changed

3 files changed

+10
-9
lines changed

f.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
# ruff: noqa
2-
# type: ignore
3-
from typing import Any
2+
from typing import Any, TYPE_CHECKING, TypeVar
43
import pandas as pd
54
import polars as pl
65

76
import narwhals as nw
87

8+
T = TypeVar("T")
9+
910

1011
def my_agnostic_function(
11-
suppliers_native: nw.typing.T,
12-
parts_native: nw.typing.T,
13-
) -> nw.typing.T:
12+
suppliers_native: T,
13+
parts_native: T,
14+
) -> T:
1415
suppliers = nw.DataFrame(suppliers_native)
1516
parts = nw.DataFrame(parts_native)
1617

narwhals/dataframe.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
class DataFrame(Generic[T]):
2727
def __init__(
2828
self,
29-
df: Any,
29+
df: T,
3030
*,
3131
is_eager: bool = False,
3232
is_lazy: bool = False,
@@ -35,7 +35,7 @@ def __init__(
3535
self._is_eager = is_eager
3636
self._is_lazy = is_lazy
3737
if implementation is not None:
38-
self._dataframe = df
38+
self._dataframe: Any = df
3939
self._implementation = implementation
4040
return
4141
if (pl := get_polars()) is not None and isinstance(

narwhals/series.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@
1515
class Series(Generic[T]):
1616
def __init__(
1717
self,
18-
series: Any,
18+
series: T,
1919
*,
2020
implementation: str | None = None,
2121
) -> None:
2222
from narwhals.pandas_like.series import PandasSeries
2323

2424
if implementation is not None:
25-
self._series = series
25+
self._series: Any = series
2626
self._implementation = implementation
2727
return
2828
if (pl := get_polars()) is not None and isinstance(series, pl.Series):

0 commit comments

Comments
 (0)