@@ -2,19 +2,25 @@ from typing import (
2
2
Any ,
3
3
Callable ,
4
4
Hashable ,
5
+ Literal ,
5
6
Sequence ,
7
+ TypeVar ,
8
+ overload ,
6
9
)
7
10
11
+ import numpy as np
8
12
from pandas .core .frame import DataFrame
9
13
from pandas .core .series import Series
10
14
11
15
from pandas ._typing import (
12
16
Axis ,
13
17
FilePath ,
18
+ HashableT ,
14
19
IndexLabel ,
15
20
Level ,
16
21
Scalar ,
17
22
WriteBuffer ,
23
+ npt ,
18
24
)
19
25
20
26
from pandas .io .formats .style_render import (
@@ -25,14 +31,16 @@ from pandas.io.formats.style_render import (
25
31
Subset ,
26
32
)
27
33
34
+ _StylerT = TypeVar ("_StylerT" , bound = Styler )
35
+
28
36
class Styler (StylerRenderer ):
29
37
def __init__ (
30
38
self ,
31
39
data : DataFrame | Series ,
32
40
precision : int | None = ...,
33
41
table_styles : CSSStyles | None = ...,
34
42
uuid : str | None = ...,
35
- caption : str | tuple | None = ...,
43
+ caption : str | tuple [ str , str ] | None = ...,
36
44
table_attributes : str | None = ...,
37
45
cell_ids : bool = ...,
38
46
na_rep : str | None = ...,
@@ -103,35 +111,44 @@ class Styler(StylerRenderer):
103
111
encoding : str | None = ...,
104
112
doctype_html : bool = ...,
105
113
exclude_styles : bool = ...,
106
- ** kwargs ,
114
+ ** kwargs : Any ,
107
115
): ...
108
116
def set_td_classes (self , classes : DataFrame ) -> Styler : ...
109
117
def __copy__ (self ) -> Styler : ...
110
118
def __deepcopy__ (self , memo ) -> Styler : ...
111
119
def clear (self ) -> None : ...
120
+ @overload
112
121
def apply (
113
122
self ,
114
- func : Callable ,
115
- axis : Axis | None = ...,
123
+ func : Callable [[Series ], list | Series ],
124
+ axis : Axis = ...,
125
+ subset : Subset | None = ...,
126
+ ** kwargs : Any ,
127
+ ) -> Styler : ...
128
+ @overload
129
+ def apply (
130
+ self ,
131
+ func : Callable [[DataFrame ], npt .NDArray | DataFrame ],
132
+ axis : None ,
116
133
subset : Subset | None = ...,
117
- ** kwargs ,
134
+ ** kwargs : Any ,
118
135
) -> Styler : ...
119
136
def apply_index (
120
137
self ,
121
- func : Callable ,
138
+ func : Callable [[ Series ], npt . NDArray [ np . str_ ]] ,
122
139
axis : int | str = ...,
123
140
level : Level | list [Level ] | None = ...,
124
- ** kwargs ,
141
+ ** kwargs : Any ,
125
142
) -> Styler : ...
126
143
def applymap_index (
127
144
self ,
128
- func : Callable ,
145
+ func : Callable [[ object ], str ] ,
129
146
axis : int | str = ...,
130
147
level : Level | list [Level ] | None = ...,
131
- ** kwargs ,
148
+ ** kwargs : Any ,
132
149
) -> Styler : ...
133
150
def applymap (
134
- self , func : Callable , subset : Subset | None = ..., ** kwargs
151
+ self , func : Callable [[ object ], str ], subset : Subset | None = ..., ** kwargs : Any
135
152
) -> Styler : ...
136
153
# def where(self, cond: Callable, value: str, other: str | None = ..., subset: Subset | None = ..., **kwargs) -> Styler: ...
137
154
# def set_precision(self, precision: int) -> StylerRenderer: ...
@@ -141,7 +158,7 @@ class Styler(StylerRenderer):
141
158
uuid : Any # Incomplete
142
159
def set_uuid (self , uuid : str ) -> Styler : ...
143
160
caption : Any # Incomplete
144
- # def set_caption(self, caption: str | tuple) -> Styler: ...
161
+ def set_caption (self , caption : str | tuple [ str , str ] ) -> Styler : ...
145
162
def set_sticky (
146
163
self ,
147
164
axis : Axis = ...,
@@ -150,7 +167,7 @@ class Styler(StylerRenderer):
150
167
) -> Styler : ...
151
168
def set_table_styles (
152
169
self ,
153
- table_styles : dict [Any , CSSStyles ] | CSSStyles | None = ...,
170
+ table_styles : dict [HashableT , CSSStyles ] | CSSStyles | None = ...,
154
171
axis : int = ...,
155
172
overwrite : bool = ...,
156
173
css_class_names : dict [str , str ] | None = ...,
@@ -193,7 +210,9 @@ class Styler(StylerRenderer):
193
210
vmax : float | None = ...,
194
211
gmap : Sequence | None = ...,
195
212
) -> Styler : ...
196
- def set_properties (self , subset : Subset | None = ..., ** kwargs ) -> Styler : ...
213
+ def set_properties (
214
+ self , subset : Subset | None = ..., ** kwargs : str | int
215
+ ) -> Styler : ...
197
216
def bar (
198
217
self ,
199
218
subset : Subset | None = ...,
@@ -233,9 +252,9 @@ class Styler(StylerRenderer):
233
252
subset : Subset | None = ...,
234
253
color : str = ...,
235
254
axis : Axis | None = ...,
236
- left : Scalar | Sequence | None = ...,
237
- right : Scalar | Sequence | None = ...,
238
- inclusive : str = ...,
255
+ left : Scalar | list [ Scalar ] | None = ...,
256
+ right : Scalar | list [ Scalar ] | None = ...,
257
+ inclusive : Literal [ "both" , "neither" , "left" , "right" ] = ...,
239
258
props : str | None = ...,
240
259
) -> Styler : ...
241
260
def highlight_quantile (
@@ -245,15 +264,22 @@ class Styler(StylerRenderer):
245
264
axis : Axis | None = ...,
246
265
q_left : float = ...,
247
266
q_right : float = ...,
248
- interpolation : str = ...,
249
- inclusive : str = ...,
267
+ interpolation : Literal [
268
+ "linear" , "lower" , "higher" , "midpoint" , "nearest"
269
+ ] = ...,
270
+ inclusive : Literal ["both" , "neither" , "left" , "right" ] = ...,
250
271
props : str | None = ...,
251
272
) -> Styler : ...
252
273
@classmethod
253
274
def from_custom_template (
254
275
cls ,
255
- searchpath ,
276
+ searchpath : str | list [ str ] ,
256
277
html_table : str | None = ...,
257
278
html_style : str | None = ...,
258
- ): ...
259
- def pipe (self , func : Callable , * args , ** kwargs ): ...
279
+ ) -> _StylerT : ...
280
+ def pipe (
281
+ self ,
282
+ func : Callable [[Styler ], Styler ] | tuple [Callable [[Styler ], Styler ], str ],
283
+ * args : Any ,
284
+ ** kwargs : Any ,
285
+ ) -> Styler : ...
0 commit comments