Skip to content
This repository was archived by the owner on Nov 22, 2022. It is now read-only.

Commit d7f9181

Browse files
authored
Move pandas-related types to pandas._typing (#362)
1 parent ec01b07 commit d7f9181

File tree

8 files changed

+57
-51
lines changed

8 files changed

+57
-51
lines changed

third_party/3/pyspark/rdd.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ from typing_extensions import Literal
55
from numpy import int32, int64, float32, float64, ndarray # type: ignore
66

77
from pyspark._typing import SupportsOrdering
8-
from pyspark.sql._typing import PandasScalarUDFType, PandasScalarIterUDFType, PandasGroupedMapUDFType, PandasCogroupedMapUDFType, PandasGroupedAggUDFType, PandasMapIterUDFType
8+
from pyspark.sql.pandas._typing import PandasScalarUDFType, PandasScalarIterUDFType, PandasGroupedMapUDFType, PandasCogroupedMapUDFType, PandasGroupedAggUDFType, PandasMapIterUDFType
99
import pyspark.context
1010
from pyspark.resultiterable import ResultIterable
1111
from pyspark.serializers import Serializer

third_party/3/pyspark/sql/_typing.pyi

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -34,43 +34,6 @@ class SupportsClose(Protocol):
3434
def close(self, error: Exception) -> None:
3535
...
3636

37-
PandasScalarUDFType = Literal[200]
38-
PandasScalarIterUDFType = Literal[204]
39-
PandasGroupedMapUDFType = Literal[201]
40-
PandasCogroupedMapUDFType = Literal[206]
41-
PandasGroupedAggUDFType = Literal[202]
42-
PandasMapIterUDFType = Literal[205]
43-
44-
class PandasVariadicScalarToScalarFunction(Protocol):
45-
def __call__(self, *_: SeriesLike) -> SeriesLike:
46-
...
47-
48-
PandasScalarToScalarFunction = Union[PandasVariadicScalarToScalarFunction, Callable[[SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike]]
49-
50-
class PandasVariadicScalarToStructFunction(Protocol):
51-
def __call__(self, *_: SeriesLike) -> DataFrameLike:
52-
...
53-
54-
PandasScalarToStructFunction = Union[PandasVariadicScalarToStructFunction, Callable[[SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike]]
55-
56-
PandasScalarIterFunction = Callable[[Iterable[Union[SeriesLike, Tuple[SeriesLike, ...], DataFrameLike]]], Iterable[SeriesLike]]
57-
58-
PandasGroupedMapFunction = Union[Callable[[DataFrameLike], DataFrameLike], Callable[[Any, DataFrameLike], DataFrameLike]]
59-
60-
class PandasVariadicGroupedAggFunction(Protocol):
61-
def __call__(self, *_: SeriesLike) -> LiteralType:
62-
...
63-
64-
PandasGroupedAggFunction = Union[Callable[[SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], PandasVariadicGroupedAggFunction]
65-
66-
PandasMapIterFunction = Callable[[Iterable[DataFrameLike]], Iterable[DataFrameLike]]
67-
68-
PandasCogroupedMapFunction = Callable[[DataFrameLike, DataFrameLike], DataFrameLike]
69-
7037
class UserDefinedFunctionLike(Protocol):
7138
def __call__(self, *_: ColumnOrName) -> Column:
7239
...
73-
74-
MapIterPandasUserDefinedFunction = NewType("MapIterPandasUserDefinedFunction", FunctionType)
75-
GroupedMapPandasUserDefinedFunction = NewType("GroupedMapPandasUserDefinedFunction", FunctionType)
76-
CogroupedMapPandasUserDefinedFunction = NewType("CogroupedMapPandasUserDefinedFunction", FunctionType)

third_party/3/pyspark/sql/dataframe.pyi

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ from typing import Any, Callable, Dict, Iterator, List, Optional, Tuple, TypeVar
44
import pandas.core.frame # type: ignore
55
from py4j.java_gateway import JavaObject # type: ignore
66

7-
from pyspark.sql._typing import ColumnOrName, LiteralType, MapIterPandasUserDefinedFunction
7+
from pyspark.sql._typing import ColumnOrName, LiteralType
8+
from pyspark.sql.pandas._typing import MapIterPandasUserDefinedFunction
89
from pyspark.sql.types import *
910
from pyspark.sql.context import SQLContext
1011
from pyspark.sql.group import GroupedData

third_party/3/pyspark/sql/group.pyi

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
from typing import overload
55
from typing import Any, Callable, Dict, List, Optional
66

7-
from pyspark.sql._typing import LiteralType, GroupedMapPandasUserDefinedFunction
7+
from pyspark.sql._typing import LiteralType
8+
from pyspark.sql.pandas._typing import GroupedMapPandasUserDefinedFunction
89
from pyspark.sql.context import SQLContext
910
from pyspark.sql.column import Column
1011
from pyspark.sql.dataframe import DataFrame
Lines changed: 46 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,52 @@
1-
# This module contains POC compatibility annotations
1+
from typing import Any, Callable, Iterable, List, NewType, Optional, Tuple, Type, TypeVar, Union
2+
from typing_extensions import Protocol, Literal
3+
from types import FunctionType
4+
5+
from pyspark.sql._typing import LiteralType
6+
from pyspark.sql.pandas._typing.protocols.frame import DataFrameLike as DataFrameLike
7+
from pyspark.sql.pandas._typing.protocols.series import SeriesLike as SeriesLike
28

39
import pandas.core.frame # type: ignore[import]
410
import pandas.core.series # type: ignore[import]
511

6-
from .protocols.frame import DataFrameLike as DataFrameLike
7-
from .protocols.series import SeriesLike as SeriesLike
8-
9-
from typing import Type
10-
12+
# POC compatibility annotations
1113
PandasDataFrame: Type[DataFrameLike] = pandas.core.frame.DataFrame
1214
PandasSeries: Type[SeriesLike] = pandas.core.series.Series
15+
16+
# UDF annotations
17+
PandasScalarUDFType = Literal[200]
18+
PandasScalarIterUDFType = Literal[204]
19+
PandasGroupedMapUDFType = Literal[201]
20+
PandasCogroupedMapUDFType = Literal[206]
21+
PandasGroupedAggUDFType = Literal[202]
22+
PandasMapIterUDFType = Literal[205]
23+
24+
class PandasVariadicScalarToScalarFunction(Protocol):
25+
def __call__(self, *_: SeriesLike) -> SeriesLike:
26+
...
27+
28+
PandasScalarToScalarFunction = Union[PandasVariadicScalarToScalarFunction, Callable[[SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], SeriesLike]]
29+
30+
class PandasVariadicScalarToStructFunction(Protocol):
31+
def __call__(self, *_: SeriesLike) -> DataFrameLike:
32+
...
33+
34+
PandasScalarToStructFunction = Union[PandasVariadicScalarToStructFunction, Callable[[SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], DataFrameLike]]
35+
36+
PandasScalarIterFunction = Callable[[Iterable[Union[SeriesLike, Tuple[SeriesLike, ...], DataFrameLike]]], Iterable[SeriesLike]]
37+
38+
PandasGroupedMapFunction = Union[Callable[[DataFrameLike], DataFrameLike], Callable[[Any, DataFrameLike], DataFrameLike]]
39+
40+
class PandasVariadicGroupedAggFunction(Protocol):
41+
def __call__(self, *_: SeriesLike) -> LiteralType:
42+
...
43+
44+
PandasGroupedAggFunction = Union[Callable[[SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], Callable[[SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike, SeriesLike], LiteralType], PandasVariadicGroupedAggFunction]
45+
46+
PandasMapIterFunction = Callable[[Iterable[DataFrameLike]], Iterable[DataFrameLike]]
47+
48+
PandasCogroupedMapFunction = Callable[[DataFrameLike, DataFrameLike], DataFrameLike]
49+
50+
MapIterPandasUserDefinedFunction = NewType("MapIterPandasUserDefinedFunction", FunctionType)
51+
GroupedMapPandasUserDefinedFunction = NewType("GroupedMapPandasUserDefinedFunction", FunctionType)
52+
CogroupedMapPandasUserDefinedFunction = NewType("CogroupedMapPandasUserDefinedFunction", FunctionType)

third_party/3/pyspark/sql/pandas/functions.pyi

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
from typing import overload
22
from typing import Any, Optional, Union, Callable
33

4-
from pyspark.sql._typing import AtomicDataTypeOrString, ColumnOrName, DataTypeOrString, GroupedMapPandasUserDefinedFunction, MapIterPandasUserDefinedFunction,CogroupedMapPandasUserDefinedFunction, PandasCogroupedMapFunction, PandasCogroupedMapUDFType, PandasGroupedAggFunction, PandasGroupedAggUDFType, PandasGroupedMapFunction, PandasGroupedMapUDFType, PandasMapIterFunction, PandasMapIterUDFType, PandasScalarIterFunction, PandasScalarIterUDFType, PandasScalarToScalarFunction, PandasScalarToStructFunction, PandasScalarUDFType, UserDefinedFunctionLike
4+
from pyspark.sql._typing import AtomicDataTypeOrString, ColumnOrName, DataTypeOrString, UserDefinedFunctionLike
5+
from pyspark.sql.pandas._typing import GroupedMapPandasUserDefinedFunction, MapIterPandasUserDefinedFunction,CogroupedMapPandasUserDefinedFunction, PandasCogroupedMapFunction, PandasCogroupedMapUDFType, PandasGroupedAggFunction, PandasGroupedAggUDFType, PandasGroupedMapFunction, PandasGroupedMapUDFType, PandasMapIterFunction, PandasMapIterUDFType, PandasScalarIterFunction, PandasScalarIterUDFType, PandasScalarToScalarFunction, PandasScalarToStructFunction, PandasScalarUDFType
56

67
from pyspark import since as since
78
from pyspark.rdd import PythonEvalType as PythonEvalType

third_party/3/pyspark/sql/pandas/group_ops.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
from typing import Any, Union
1+
from typing import Union
22

3-
from pyspark.sql._typing import GroupedMapPandasUserDefinedFunction, CogroupedMapPandasUserDefinedFunction, PandasGroupedMapFunction, PandasCogroupedMapFunction
3+
from pyspark.sql.pandas._typing import GroupedMapPandasUserDefinedFunction, CogroupedMapPandasUserDefinedFunction, PandasGroupedMapFunction, PandasCogroupedMapFunction
44

55
from pyspark import since as since
66
from pyspark.rdd import PythonEvalType as PythonEvalType

third_party/3/pyspark/sql/pandas/map_ops.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
from typing import Any, Union
1+
from typing import Union
22

3-
from pyspark.sql._typing import ColumnOrName, LiteralType, MapIterPandasUserDefinedFunction, PandasMapIterFunction
3+
from pyspark.sql.pandas._typing import MapIterPandasUserDefinedFunction, PandasMapIterFunction
44
from pyspark import since as since
55
from pyspark.rdd import PythonEvalType as PythonEvalType
66
from pyspark.sql.types import StructType

0 commit comments

Comments
 (0)