|
1 |
| -# pyright: reportUntypedFunctionDecorator = false |
2 | 1 | from __future__ import annotations
|
3 | 2 |
|
4 | 3 | import functools
|
5 | 4 | from typing import (
|
| 5 | + TYPE_CHECKING, |
6 | 6 | Any,
|
7 | 7 | Callable,
|
8 | 8 | )
|
@@ -56,10 +56,12 @@ def generate_numba_apply_func(
|
56 | 56 | return NUMBA_FUNC_CACHE[cache_key]
|
57 | 57 |
|
58 | 58 | numba_func = jit_user_function(func, nopython, nogil, parallel)
|
59 |
| - numba = import_optional_dependency("numba") |
| 59 | + if TYPE_CHECKING: |
| 60 | + import numba |
| 61 | + else: |
| 62 | + numba = import_optional_dependency("numba") |
60 | 63 |
|
61 |
| - # error: Untyped decorator makes function "roll_apply" untyped |
62 |
| - @numba.jit(nopython=nopython, nogil=nogil, parallel=parallel) # type: ignore[misc] |
| 64 | + @numba.jit(nopython=nopython, nogil=nogil, parallel=parallel) |
63 | 65 | def roll_apply(
|
64 | 66 | values: np.ndarray,
|
65 | 67 | begin: np.ndarray,
|
@@ -115,10 +117,12 @@ def generate_numba_ewm_func(
|
115 | 117 | if cache_key in NUMBA_FUNC_CACHE:
|
116 | 118 | return NUMBA_FUNC_CACHE[cache_key]
|
117 | 119 |
|
118 |
| - numba = import_optional_dependency("numba") |
| 120 | + if TYPE_CHECKING: |
| 121 | + import numba |
| 122 | + else: |
| 123 | + numba = import_optional_dependency("numba") |
119 | 124 |
|
120 |
| - # error: Untyped decorator makes function "ewma" untyped |
121 |
| - @numba.jit(nopython=nopython, nogil=nogil, parallel=parallel) # type: ignore[misc] |
| 125 | + @numba.jit(nopython=nopython, nogil=nogil, parallel=parallel) |
122 | 126 | def ewm(
|
123 | 127 | values: np.ndarray,
|
124 | 128 | begin: np.ndarray,
|
@@ -217,10 +221,12 @@ def generate_numba_table_func(
|
217 | 221 | return NUMBA_FUNC_CACHE[cache_key]
|
218 | 222 |
|
219 | 223 | numba_func = jit_user_function(func, nopython, nogil, parallel)
|
220 |
| - numba = import_optional_dependency("numba") |
| 224 | + if TYPE_CHECKING: |
| 225 | + import numba |
| 226 | + else: |
| 227 | + numba = import_optional_dependency("numba") |
221 | 228 |
|
222 |
| - # error: Untyped decorator makes function "roll_table" untyped |
223 |
| - @numba.jit(nopython=nopython, nogil=nogil, parallel=parallel) # type: ignore[misc] |
| 229 | + @numba.jit(nopython=nopython, nogil=nogil, parallel=parallel) |
224 | 230 | def roll_table(
|
225 | 231 | values: np.ndarray,
|
226 | 232 | begin: np.ndarray,
|
@@ -250,7 +256,10 @@ def roll_table(
|
250 | 256 | # https://github.com/numba/numba/issues/1269
|
251 | 257 | @functools.lru_cache(maxsize=None)
|
252 | 258 | def generate_manual_numpy_nan_agg_with_axis(nan_func):
|
253 |
| - numba = import_optional_dependency("numba") |
| 259 | + if TYPE_CHECKING: |
| 260 | + import numba |
| 261 | + else: |
| 262 | + numba = import_optional_dependency("numba") |
254 | 263 |
|
255 | 264 | @numba.jit(nopython=True, nogil=True, parallel=True)
|
256 | 265 | def nan_agg_with_axis(table):
|
@@ -296,10 +305,12 @@ def generate_numba_ewm_table_func(
|
296 | 305 | if cache_key in NUMBA_FUNC_CACHE:
|
297 | 306 | return NUMBA_FUNC_CACHE[cache_key]
|
298 | 307 |
|
299 |
| - numba = import_optional_dependency("numba") |
| 308 | + if TYPE_CHECKING: |
| 309 | + import numba |
| 310 | + else: |
| 311 | + numba = import_optional_dependency("numba") |
300 | 312 |
|
301 |
| - # error: Untyped decorator makes function "ewm_table" untyped |
302 |
| - @numba.jit(nopython=nopython, nogil=nogil, parallel=parallel) # type: ignore[misc] |
| 313 | + @numba.jit(nopython=nopython, nogil=nogil, parallel=parallel) |
303 | 314 | def ewm_table(
|
304 | 315 | values: np.ndarray,
|
305 | 316 | begin: np.ndarray,
|
|
0 commit comments