77from datetime import date , datetime , time
88from functools import partial
99import re
10+ from typing import Iterator , Optional , Union , overload
1011import warnings
1112
1213import numpy as np
@@ -162,6 +163,7 @@ def execute(sql, con, cur=None, params=None):
162163# -- Read and write to DataFrames
163164
164165
166+ @overload
165167def read_sql_table (
166168 table_name ,
167169 con ,
@@ -170,8 +172,49 @@ def read_sql_table(
170172 coerce_float = True ,
171173 parse_dates = None ,
172174 columns = None ,
173- chunksize = None ,
174- ):
175+ chunksize : None = None ,
176+ ) -> DataFrame :
177+ ...
178+
179+
180+ @overload
181+ def read_sql_table (
182+ table_name ,
183+ con ,
184+ schema = None ,
185+ index_col = None ,
186+ coerce_float = True ,
187+ parse_dates = None ,
188+ columns = None ,
189+ chunksize : int = 1 ,
190+ ) -> Iterator [DataFrame ]:
191+ ...
192+
193+
194+ @overload
195+ def read_sql_table (
196+ table_name ,
197+ con ,
198+ schema = None ,
199+ index_col = None ,
200+ coerce_float = True ,
201+ parse_dates = None ,
202+ columns = None ,
203+ chunksize : Optional [int ] = None ,
204+ ) -> Union [DataFrame , Iterator [DataFrame ]]:
205+ ...
206+
207+
208+ def read_sql_table (
209+ table_name ,
210+ con ,
211+ schema = None ,
212+ index_col = None ,
213+ coerce_float = True ,
214+ parse_dates = None ,
215+ columns = None ,
216+ chunksize : Optional [int ] = None ,
217+ ) -> Union [DataFrame , Iterator [DataFrame ]]:
175218 """
176219 Read SQL database table into a DataFrame.
177220
@@ -210,7 +253,7 @@ def read_sql_table(
210253
211254 Returns
212255 -------
213- DataFrame
256+ DataFrame or Iterator[DataFrame]
214257 A SQL table is returned as two-dimensional data structure with labeled
215258 axes.
216259
@@ -257,15 +300,54 @@ def read_sql_table(
257300 raise ValueError (f"Table { table_name } not found" , con )
258301
259302
303+ @overload
260304def read_sql_query (
261305 sql ,
262306 con ,
263307 index_col = None ,
264308 coerce_float = True ,
265309 params = None ,
266310 parse_dates = None ,
267- chunksize = None ,
268- ):
311+ chunksize : int = 1 ,
312+ ) -> DataFrame :
313+ ...
314+
315+
316+ @overload
317+ def read_sql_query (
318+ sql ,
319+ con ,
320+ index_col = None ,
321+ coerce_float = True ,
322+ params = None ,
323+ parse_dates = None ,
324+ chunksize : None = None ,
325+ ) -> Iterator [DataFrame ]:
326+ ...
327+
328+
329+ @overload
330+ def read_sql_query (
331+ sql ,
332+ con ,
333+ index_col = None ,
334+ coerce_float = True ,
335+ params = None ,
336+ parse_dates = None ,
337+ chunksize : Optional [int ] = None ,
338+ ) -> Union [DataFrame , Iterator [DataFrame ]]:
339+ ...
340+
341+
342+ def read_sql_query (
343+ sql ,
344+ con ,
345+ index_col = None ,
346+ coerce_float = True ,
347+ params = None ,
348+ parse_dates = None ,
349+ chunksize : Optional [int ] = None ,
350+ ) -> Union [DataFrame , Iterator [DataFrame ]]:
269351 """
270352 Read SQL query into a DataFrame.
271353
@@ -308,7 +390,7 @@ def read_sql_query(
308390
309391 Returns
310392 -------
311- DataFrame
393+ DataFrame or Iterator[DataFrame]
312394
313395 See Also
314396 --------
@@ -331,6 +413,7 @@ def read_sql_query(
331413 )
332414
333415
416+ @overload
334417def read_sql (
335418 sql ,
336419 con ,
@@ -339,8 +422,49 @@ def read_sql(
339422 params = None ,
340423 parse_dates = None ,
341424 columns = None ,
342- chunksize = None ,
343- ):
425+ chunksize : None = None ,
426+ ) -> DataFrame :
427+ ...
428+
429+
430+ @overload
431+ def read_sql (
432+ sql ,
433+ con ,
434+ index_col = None ,
435+ coerce_float = True ,
436+ params = None ,
437+ parse_dates = None ,
438+ columns = None ,
439+ chunksize : int = 1 ,
440+ ) -> Iterator [DataFrame ]:
441+ ...
442+
443+
444+ @overload
445+ def read_sql (
446+ sql ,
447+ con ,
448+ index_col = None ,
449+ coerce_float = True ,
450+ params = None ,
451+ parse_dates = None ,
452+ columns = None ,
453+ chunksize : Optional [int ] = None ,
454+ ) -> Union [DataFrame , Iterator [DataFrame ]]:
455+ ...
456+
457+
458+ def read_sql (
459+ sql ,
460+ con ,
461+ index_col = None ,
462+ coerce_float = True ,
463+ params = None ,
464+ parse_dates = None ,
465+ columns = None ,
466+ chunksize : Optional [int ] = None ,
467+ ) -> Union [DataFrame , Iterator [DataFrame ]]:
344468 """
345469 Read SQL query or database table into a DataFrame.
346470
@@ -391,7 +515,7 @@ def read_sql(
391515
392516 Returns
393517 -------
394- DataFrame
518+ DataFrame or Iterator[DataFrame]
395519
396520 See Also
397521 --------
0 commit comments