Skip to content

TYP: use from __future__ import annotations more - batch 3 #41895

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jun 9, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions pandas/core/internals/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@
Base class for the internal managers. Both BlockManager and ArrayManager
inherit from this class.
"""
from typing import (
List,
Optional,
TypeVar,
)
from __future__ import annotations

from typing import TypeVar

from pandas._typing import (
DtypeObj,
Expand All @@ -27,7 +25,7 @@ class DataManager(PandasObject):

# TODO share more methods/attributes

axes: List[Index]
axes: list[Index]

@property
def items(self) -> Index:
Expand Down Expand Up @@ -123,7 +121,7 @@ def equals(self, other: object) -> bool:
def apply(
self: T,
f,
align_keys: Optional[List[str]] = None,
align_keys: list[str] | None = None,
ignore_failures: bool = False,
**kwargs,
) -> T:
Expand All @@ -144,7 +142,7 @@ def array(self):
return self.arrays[0] # type: ignore[attr-defined]


def interleaved_dtype(dtypes: List[DtypeObj]) -> Optional[DtypeObj]:
def interleaved_dtype(dtypes: list[DtypeObj]) -> DtypeObj | None:
"""
Find the common dtype for `blocks`.
Expand Down
7 changes: 2 additions & 5 deletions pandas/core/ops/docstrings.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
"""
Templating for ops docstrings
"""
from typing import (
Dict,
Optional,
)
from __future__ import annotations


def make_flex_doc(op_name: str, typ: str) -> str:
Expand Down Expand Up @@ -297,7 +294,7 @@ def make_flex_doc(op_name: str, typ: str) -> str:

_returns_tuple = """2-Tuple of Series\n The result of the operation."""

_op_descriptions: Dict[str, Dict[str, Optional[str]]] = {
_op_descriptions: dict[str, dict[str, str | None]] = {
# Arithmetic Operators
"add": {
"op": "+",
Expand Down
29 changes: 13 additions & 16 deletions pandas/core/ops/mask_ops.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
"""
Ops for masked arrays.
"""
from typing import (
Optional,
Union,
)
from __future__ import annotations

import numpy as np

Expand All @@ -15,10 +12,10 @@


def kleene_or(
left: Union[bool, np.ndarray],
right: Union[bool, np.ndarray],
left_mask: Optional[np.ndarray],
right_mask: Optional[np.ndarray],
left: bool | np.ndarray,
right: bool | np.ndarray,
left_mask: np.ndarray | None,
right_mask: np.ndarray | None,
):
"""
Boolean ``or`` using Kleene logic.
Expand Down Expand Up @@ -76,10 +73,10 @@ def kleene_or(


def kleene_xor(
left: Union[bool, np.ndarray],
right: Union[bool, np.ndarray],
left_mask: Optional[np.ndarray],
right_mask: Optional[np.ndarray],
left: bool | np.ndarray,
right: bool | np.ndarray,
left_mask: np.ndarray | None,
right_mask: np.ndarray | None,
):
"""
Boolean ``xor`` using Kleene logic.
Expand Down Expand Up @@ -125,10 +122,10 @@ def kleene_xor(


def kleene_and(
left: Union[bool, libmissing.NAType, np.ndarray],
right: Union[bool, libmissing.NAType, np.ndarray],
left_mask: Optional[np.ndarray],
right_mask: Optional[np.ndarray],
left: bool | libmissing.NAType | np.ndarray,
right: bool | libmissing.NAType | np.ndarray,
left_mask: np.ndarray | None,
right_mask: np.ndarray | None,
):
"""
Boolean ``and`` using Kleene logic.
Expand Down
4 changes: 2 additions & 2 deletions pandas/core/tools/numeric.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Optional
from __future__ import annotations

import numpy as np

Expand Down Expand Up @@ -166,7 +166,7 @@ def to_numeric(arg, errors="raise", downcast=None):

# GH33013: for IntegerArray & FloatingArray extract non-null values for casting
# save mask to reconstruct the full array after casting
mask: Optional[np.ndarray] = None
mask: np.ndarray | None = None
if isinstance(values, NumericArray):
mask = values._mask
values = values._data[~mask]
Expand Down
8 changes: 3 additions & 5 deletions pandas/core/tools/times.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
from __future__ import annotations

from datetime import (
datetime,
time,
)
from typing import (
List,
Optional,
)

import numpy as np

Expand Down Expand Up @@ -61,7 +59,7 @@ def _convert_listlike(arg, format):
if infer_time_format and format is None:
format = _guess_time_format_for_array(arg)

times: List[Optional[time]] = []
times: list[time | None] = []
if format is not None:
for element in arg:
try:
Expand Down
17 changes: 7 additions & 10 deletions pandas/core/util/numba_.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
"""Common utilities for Numba operations"""
from __future__ import annotations

import types
from typing import (
Callable,
Dict,
Optional,
Tuple,
)
from typing import Callable

import numpy as np

Expand All @@ -15,10 +12,10 @@
from pandas.util.version import Version

GLOBAL_USE_NUMBA: bool = False
NUMBA_FUNC_CACHE: Dict[Tuple[Callable, str], Callable] = {}
NUMBA_FUNC_CACHE: dict[tuple[Callable, str], Callable] = {}


def maybe_use_numba(engine: Optional[str]) -> bool:
def maybe_use_numba(engine: str | None) -> bool:
"""Signal whether to use numba routines."""
return engine == "numba" or (engine is None and GLOBAL_USE_NUMBA)

Expand All @@ -31,8 +28,8 @@ def set_use_numba(enable: bool = False) -> None:


def get_jit_arguments(
engine_kwargs: Optional[Dict[str, bool]] = None, kwargs: Optional[Dict] = None
) -> Tuple[bool, bool, bool]:
engine_kwargs: dict[str, bool] | None = None, kwargs: dict | None = None
) -> tuple[bool, bool, bool]:
"""
Return arguments to pass to numba.JIT, falling back on pandas default JIT settings.

Expand Down
41 changes: 20 additions & 21 deletions pandas/core/window/expanding.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
from __future__ import annotations

from textwrap import dedent
from typing import (
Any,
Callable,
Dict,
Optional,
Tuple,
)

from pandas._typing import (
Expand Down Expand Up @@ -184,10 +183,10 @@ def apply(
self,
func: Callable[..., Any],
raw: bool = False,
engine: Optional[str] = None,
engine_kwargs: Optional[Dict[str, bool]] = None,
args: Optional[Tuple[Any, ...]] = None,
kwargs: Optional[Dict[str, Any]] = None,
engine: str | None = None,
engine_kwargs: dict[str, bool] | None = None,
args: tuple[Any, ...] | None = None,
kwargs: dict[str, Any] | None = None,
):
return super().apply(
func,
Expand Down Expand Up @@ -217,8 +216,8 @@ def apply(
def sum(
self,
*args,
engine: Optional[str] = None,
engine_kwargs: Optional[Dict[str, bool]] = None,
engine: str | None = None,
engine_kwargs: dict[str, bool] | None = None,
**kwargs,
):
nv.validate_expanding_func("sum", args, kwargs)
Expand All @@ -243,8 +242,8 @@ def sum(
def max(
self,
*args,
engine: Optional[str] = None,
engine_kwargs: Optional[Dict[str, bool]] = None,
engine: str | None = None,
engine_kwargs: dict[str, bool] | None = None,
**kwargs,
):
nv.validate_expanding_func("max", args, kwargs)
Expand All @@ -269,8 +268,8 @@ def max(
def min(
self,
*args,
engine: Optional[str] = None,
engine_kwargs: Optional[Dict[str, bool]] = None,
engine: str | None = None,
engine_kwargs: dict[str, bool] | None = None,
**kwargs,
):
nv.validate_expanding_func("min", args, kwargs)
Expand All @@ -295,8 +294,8 @@ def min(
def mean(
self,
*args,
engine: Optional[str] = None,
engine_kwargs: Optional[Dict[str, bool]] = None,
engine: str | None = None,
engine_kwargs: dict[str, bool] | None = None,
**kwargs,
):
nv.validate_expanding_func("mean", args, kwargs)
Expand All @@ -319,8 +318,8 @@ def mean(
)
def median(
self,
engine: Optional[str] = None,
engine_kwargs: Optional[Dict[str, bool]] = None,
engine: str | None = None,
engine_kwargs: dict[str, bool] | None = None,
**kwargs,
):
return super().median(engine=engine, engine_kwargs=engine_kwargs, **kwargs)
Expand Down Expand Up @@ -592,8 +591,8 @@ def quantile(
)
def cov(
self,
other: Optional[FrameOrSeriesUnion] = None,
pairwise: Optional[bool] = None,
other: FrameOrSeriesUnion | None = None,
pairwise: bool | None = None,
ddof: int = 1,
**kwargs,
):
Expand Down Expand Up @@ -657,8 +656,8 @@ def cov(
)
def corr(
self,
other: Optional[FrameOrSeriesUnion] = None,
pairwise: Optional[bool] = None,
other: FrameOrSeriesUnion | None = None,
pairwise: bool | None = None,
ddof: int = 1,
**kwargs,
):
Expand Down
Loading