From 961972e00461e9b6b38c8f3d4395748540c630c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torsten=20W=C3=B6rtwein?= Date: Tue, 31 May 2022 21:08:45 -0400 Subject: [PATCH] TYP: annotate two decorators --- pandas/core/computation/align.py | 5 ++++- pandas/core/reshape/merge.py | 4 +++- pandas/util/_decorators.py | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/pandas/core/computation/align.py b/pandas/core/computation/align.py index f14882227ddd9..2e7a0f842ee6d 100644 --- a/pandas/core/computation/align.py +++ b/pandas/core/computation/align.py @@ -9,6 +9,7 @@ ) from typing import ( TYPE_CHECKING, + Callable, Sequence, ) import warnings @@ -28,6 +29,8 @@ from pandas.core.computation.common import result_type_many if TYPE_CHECKING: + from pandas._typing import F + from pandas.core.generic import NDFrame from pandas.core.indexes.api import Index @@ -62,7 +65,7 @@ def _any_pandas_objects(terms) -> bool: return any(isinstance(term.value, PandasObject) for term in terms) -def _filter_special_cases(f): +def _filter_special_cases(f) -> Callable[[F], F]: @wraps(f) def wrapper(terms): # single unary operand diff --git a/pandas/core/reshape/merge.py b/pandas/core/reshape/merge.py index 4227d43c459d0..5f108c26d239a 100644 --- a/pandas/core/reshape/merge.py +++ b/pandas/core/reshape/merge.py @@ -162,7 +162,9 @@ def _groupby_and_merge(by, left: DataFrame, right: DataFrame, merge_pieces): lcols = lhs.columns.tolist() cols = lcols + [r for r in right.columns if r not in set(lcols)] merged = lhs.reindex(columns=cols) - merged.index = range(len(merged)) + # error: Incompatible types in assignment (expression has type + # "range", variable has type "Index") + merged.index = range(len(merged)) # type: ignore[assignment] pieces.append(merged) continue diff --git a/pandas/util/_decorators.py b/pandas/util/_decorators.py index 6f8889e9017d0..0f15511e491cc 100644 --- a/pandas/util/_decorators.py +++ b/pandas/util/_decorators.py @@ -323,7 +323,7 @@ def wrapper(*args, **kwargs): def rewrite_axis_style_signature( name: str, extra_params: list[tuple[str, Any]] -) -> Callable[..., Any]: +) -> Callable[[F], F]: def decorate(func: F) -> F: @wraps(func) def wrapper(*args, **kwargs) -> Callable[..., Any]: