1
+ from __future__ import annotations
2
+
1
3
import collections
2
4
from datetime import datetime
3
5
from functools import wraps
4
6
import operator
5
7
import os
6
8
import re
7
9
import string
8
- from typing import Callable , ContextManager , Counter , List , Type
10
+ from typing import (
11
+ TYPE_CHECKING ,
12
+ Callable ,
13
+ ContextManager ,
14
+ Counter ,
15
+ Iterable ,
16
+ List ,
17
+ Type ,
18
+ )
9
19
import warnings
10
20
11
21
import numpy as np
90
100
)
91
101
from pandas .core .arrays import DatetimeArray , PeriodArray , TimedeltaArray , period_array
92
102
103
+ if TYPE_CHECKING :
104
+ from pandas import PeriodIndex , TimedeltaIndex
105
+
93
106
_N = 30
94
107
_K = 4
95
108
@@ -281,17 +294,17 @@ def makeFloatIndex(k=10, name=None):
281
294
return Index (values * (10 ** np .random .randint (0 , 9 )), name = name )
282
295
283
296
284
- def makeDateIndex (k = 10 , freq = "B" , name = None , ** kwargs ):
297
+ def makeDateIndex (k : int = 10 , freq = "B" , name = None , ** kwargs ) -> DatetimeIndex :
285
298
dt = datetime (2000 , 1 , 1 )
286
299
dr = bdate_range (dt , periods = k , freq = freq , name = name )
287
300
return DatetimeIndex (dr , name = name , ** kwargs )
288
301
289
302
290
- def makeTimedeltaIndex (k = 10 , freq = "D" , name = None , ** kwargs ):
303
+ def makeTimedeltaIndex (k : int = 10 , freq = "D" , name = None , ** kwargs ) -> TimedeltaIndex :
291
304
return pd .timedelta_range (start = "1 day" , periods = k , freq = freq , name = name , ** kwargs )
292
305
293
306
294
- def makePeriodIndex (k = 10 , name = None , ** kwargs ):
307
+ def makePeriodIndex (k : int = 10 , name = None , ** kwargs ) -> PeriodIndex :
295
308
dt = datetime (2000 , 1 , 1 )
296
309
return pd .period_range (start = dt , periods = k , freq = "B" , name = name , ** kwargs )
297
310
@@ -394,7 +407,7 @@ def index_subclass_makers_generator():
394
407
yield from make_index_funcs
395
408
396
409
397
- def all_timeseries_index_generator (k = 10 ):
410
+ def all_timeseries_index_generator (k : int = 10 ) -> Iterable [ Index ] :
398
411
"""
399
412
Generator which can be iterated over to get instances of all the classes
400
413
which represent time-series.
@@ -403,10 +416,13 @@ def all_timeseries_index_generator(k=10):
403
416
----------
404
417
k: length of each of the index instances
405
418
"""
406
- make_index_funcs = [makeDateIndex , makePeriodIndex , makeTimedeltaIndex ]
419
+ make_index_funcs : List [Callable [..., Index ]] = [
420
+ makeDateIndex ,
421
+ makePeriodIndex ,
422
+ makeTimedeltaIndex ,
423
+ ]
407
424
for make_index_func in make_index_funcs :
408
- # pandas\_testing.py:1986: error: Cannot call function of unknown type
409
- yield make_index_func (k = k ) # type: ignore[operator]
425
+ yield make_index_func (k = k )
410
426
411
427
412
428
# make series
0 commit comments