Skip to content

TYP: move imports inside TYPE_CHECKING #47968

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 1 commit into from
Aug 4, 2022
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
3 changes: 2 additions & 1 deletion pandas/core/arrays/period.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@

import pandas.core.algorithms as algos
from pandas.core.arrays import datetimelike as dtl
from pandas.core.arrays.base import ExtensionArray
import pandas.core.common as com

if TYPE_CHECKING:
Expand All @@ -91,6 +90,8 @@
DatetimeArray,
TimedeltaArray,
)
from pandas.core.arrays.base import ExtensionArray


BaseOffsetT = TypeVar("BaseOffsetT", bound=BaseOffset)

Expand Down
5 changes: 4 additions & 1 deletion pandas/core/computation/engines.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,24 @@
from __future__ import annotations

import abc
from typing import TYPE_CHECKING

from pandas.errors import NumExprClobberingError

from pandas.core.computation.align import (
align_terms,
reconstruct_object,
)
from pandas.core.computation.expr import Expr
from pandas.core.computation.ops import (
MATHOPS,
REDUCTIONS,
)

import pandas.io.formats.printing as printing

if TYPE_CHECKING:
from pandas.core.computation.expr import Expr

_ne_builtins = frozenset(MATHOPS + REDUCTIONS)


Expand Down
5 changes: 4 additions & 1 deletion pandas/core/computation/eval.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from __future__ import annotations

import tokenize
from typing import TYPE_CHECKING
import warnings

from pandas._libs.lib import no_default
Expand All @@ -15,12 +16,14 @@
PARSERS,
Expr,
)
from pandas.core.computation.ops import BinOp
from pandas.core.computation.parsing import tokenize_string
from pandas.core.computation.scope import ensure_scope

from pandas.io.formats.printing import pprint_thing

if TYPE_CHECKING:
from pandas.core.computation.ops import BinOp


def _check_engine(engine: str | None) -> str:
"""
Expand Down
9 changes: 7 additions & 2 deletions pandas/core/computation/pytables.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@

import ast
from functools import partial
from typing import Any
from typing import (
TYPE_CHECKING,
Any,
)

import numpy as np

Expand All @@ -12,7 +15,6 @@
Timestamp,
)
from pandas._typing import npt
from pandas.compat.chainmap import DeepChainMap
from pandas.errors import UndefinedVariableError

from pandas.core.dtypes.common import is_list_like
Expand All @@ -34,6 +36,9 @@
pprint_thing_encoded,
)

if TYPE_CHECKING:
from pandas.compat.chainmap import DeepChainMap


class PyTablesScope(_scope.Scope):
__slots__ = ("queryables",)
Expand Down
6 changes: 5 additions & 1 deletion pandas/core/groupby/categorical.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
from __future__ import annotations

from typing import TYPE_CHECKING

import numpy as np

from pandas.core.algorithms import unique1d
Expand All @@ -8,7 +10,9 @@
CategoricalDtype,
recode_for_categories,
)
from pandas.core.indexes.api import CategoricalIndex

if TYPE_CHECKING:
from pandas.core.indexes.api import CategoricalIndex


def recode_for_groupby(
Expand Down
5 changes: 4 additions & 1 deletion pandas/core/groupby/generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
from functools import partial
from textwrap import dedent
from typing import (
TYPE_CHECKING,
Any,
Callable,
Hashable,
Expand Down Expand Up @@ -72,7 +73,6 @@
import pandas.core.common as com
from pandas.core.construction import create_series_with_explicit_dtype
from pandas.core.frame import DataFrame
from pandas.core.generic import NDFrame
from pandas.core.groupby import base
from pandas.core.groupby.groupby import (
GroupBy,
Expand All @@ -93,6 +93,9 @@

from pandas.plotting import boxplot_frame_groupby

if TYPE_CHECKING:
from pandas.core.generic import NDFrame

# TODO(typing) the return value on this callable should be any *scalar*.
AggScalar = Union[str, Callable[..., Any]]
# TODO: validate types on ScalarResult and move to _typing
Expand Down
5 changes: 4 additions & 1 deletion pandas/core/groupby/ops.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import collections
import functools
from typing import (
TYPE_CHECKING,
Callable,
Generic,
Hashable,
Expand Down Expand Up @@ -77,7 +78,6 @@
)
from pandas.core.arrays.string_ import StringDtype
from pandas.core.frame import DataFrame
from pandas.core.generic import NDFrame
from pandas.core.groupby import grouper
from pandas.core.indexes.api import (
CategoricalIndex,
Expand All @@ -95,6 +95,9 @@
get_indexer_dict,
)

if TYPE_CHECKING:
from pandas.core.generic import NDFrame


class WrappedCythonOp:
"""
Expand Down
7 changes: 5 additions & 2 deletions pandas/core/indexes/extension.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from __future__ import annotations

from typing import (
TYPE_CHECKING,
Callable,
TypeVar,
)
Expand All @@ -21,10 +22,12 @@

from pandas.core.dtypes.generic import ABCDataFrame

from pandas.core.arrays import IntervalArray
from pandas.core.arrays._mixins import NDArrayBackedExtensionArray
from pandas.core.indexes.base import Index

if TYPE_CHECKING:
from pandas.core.arrays import IntervalArray
from pandas.core.arrays._mixins import NDArrayBackedExtensionArray

_T = TypeVar("_T", bound="NDArrayBackedExtensionIndex")
_ExtensionIndexT = TypeVar("_ExtensionIndexT", bound="ExtensionIndex")

Expand Down
2 changes: 1 addition & 1 deletion pandas/core/interchange/dataframe.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
from collections import abc
from typing import TYPE_CHECKING

import pandas as pd
from pandas.core.interchange.column import PandasColumn
from pandas.core.interchange.dataframe_protocol import DataFrame as DataFrameXchg

if TYPE_CHECKING:
import pandas as pd
from pandas import Index


Expand Down
2 changes: 1 addition & 1 deletion pandas/core/internals/blocks.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@
PeriodArray,
TimedeltaArray,
)
from pandas.core.arrays._mixins import NDArrayBackedExtensionArray
from pandas.core.arrays.sparse import SparseDtype
from pandas.core.base import PandasObject
import pandas.core.common as com
Expand All @@ -115,6 +114,7 @@
Float64Index,
Index,
)
from pandas.core.arrays._mixins import NDArrayBackedExtensionArray

# comparison is faster than is_object_dtype
_dtype_obj = np.dtype("object")
Expand Down
2 changes: 1 addition & 1 deletion pandas/core/resample.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@
)
from pandas.core.groupby.grouper import Grouper
from pandas.core.groupby.ops import BinGrouper
from pandas.core.indexes.api import Index
from pandas.core.indexes.datetimes import (
DatetimeIndex,
date_range,
Expand Down Expand Up @@ -96,6 +95,7 @@
if TYPE_CHECKING:
from pandas import (
DataFrame,
Index,
Series,
)

Expand Down
2 changes: 1 addition & 1 deletion pandas/core/reshape/merge.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@
MultiIndex,
Series,
)
from pandas.core import groupby
import pandas.core.algorithms as algos
from pandas.core.arrays import ExtensionArray
from pandas.core.arrays._mixins import NDArrayBackedExtensionArray
Expand All @@ -85,6 +84,7 @@

if TYPE_CHECKING:
from pandas import DataFrame
from pandas.core import groupby
from pandas.core.arrays import DatetimeArray


Expand Down
2 changes: 1 addition & 1 deletion pandas/core/reshape/reshape.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
Index,
MultiIndex,
)
from pandas.core.indexes.frozen import FrozenList
from pandas.core.series import Series
from pandas.core.sorting import (
compress_group_index,
Expand All @@ -42,6 +41,7 @@

if TYPE_CHECKING:
from pandas.core.arrays import ExtensionArray
from pandas.core.indexes.frozen import FrozenList


class _Unstacker:
Expand Down
5 changes: 4 additions & 1 deletion pandas/io/excel/_odswriter.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from collections import defaultdict
import datetime
from typing import (
TYPE_CHECKING,
Any,
DefaultDict,
Tuple,
Expand All @@ -21,7 +22,9 @@
combine_kwargs,
validate_freeze_panes,
)
from pandas.io.formats.excel import ExcelCell

if TYPE_CHECKING:
from pandas.io.formats.excel import ExcelCell


class ODSWriter(ExcelWriter):
Expand Down
5 changes: 2 additions & 3 deletions pandas/io/formats/info.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,13 @@
WriteBuffer,
)

from pandas.core.indexes.api import Index

from pandas.io.formats import format as fmt
from pandas.io.formats.printing import pprint_thing

if TYPE_CHECKING:
from pandas.core.frame import (
from pandas import (
DataFrame,
Index,
Series,
)

Expand Down
4 changes: 3 additions & 1 deletion pandas/io/formats/latex.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
abstractmethod,
)
from typing import (
TYPE_CHECKING,
Iterator,
Sequence,
)
Expand All @@ -16,7 +17,8 @@

from pandas.core.dtypes.generic import ABCMultiIndex

from pandas.io.formats.format import DataFrameFormatter
if TYPE_CHECKING:
from pandas.io.formats.format import DataFrameFormatter


def _split_into_full_short_caption(
Expand Down
9 changes: 7 additions & 2 deletions pandas/io/formats/string.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,18 @@
from __future__ import annotations

from shutil import get_terminal_size
from typing import Iterable
from typing import (
TYPE_CHECKING,
Iterable,
)

import numpy as np

from pandas.io.formats.format import DataFrameFormatter
from pandas.io.formats.printing import pprint_thing

if TYPE_CHECKING:
from pandas.io.formats.format import DataFrameFormatter


class StringFormatter:
"""Formatter for string representation of a dataframe."""
Expand Down
9 changes: 7 additions & 2 deletions pandas/io/formats/xml.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@

import codecs
import io
from typing import Any
from typing import (
TYPE_CHECKING,
Any,
)

from pandas._typing import (
CompressionOptions,
Expand All @@ -20,7 +23,6 @@
from pandas.core.dtypes.common import is_list_like
from pandas.core.dtypes.missing import isna

from pandas.core.frame import DataFrame
from pandas.core.shared_docs import _shared_docs

from pandas.io.common import get_handle
Expand All @@ -29,6 +31,9 @@
preprocess_data,
)

if TYPE_CHECKING:
from pandas import DataFrame


@doc(
storage_options=_shared_docs["storage_options"],
Expand Down
5 changes: 4 additions & 1 deletion pandas/io/html.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import numbers
import re
from typing import (
TYPE_CHECKING,
Iterable,
Pattern,
Sequence,
Expand All @@ -30,7 +31,6 @@
from pandas.core.dtypes.common import is_list_like

from pandas.core.construction import create_series_with_explicit_dtype
from pandas.core.frame import DataFrame

from pandas.io.common import (
file_exists,
Expand All @@ -43,6 +43,9 @@
from pandas.io.formats.printing import pprint_thing
from pandas.io.parsers import TextParser

if TYPE_CHECKING:
from pandas import DataFrame

_IMPORTS = False
_HAS_BS4 = False
_HAS_LXML = False
Expand Down
Loading