diff --git a/pandas-stubs/__init__.pyi b/pandas-stubs/__init__.pyi index 536b55c3d..714a0c639 100644 --- a/pandas-stubs/__init__.pyi +++ b/pandas-stubs/__init__.pyi @@ -1,3 +1,5 @@ +import pandas.testing as testing + from ._config import ( describe_option as describe_option, get_option as get_option, @@ -7,6 +9,7 @@ from ._config import ( set_option as set_option, ) from .core.api import ( + NA as NA, BooleanDtype as BooleanDtype, Categorical as Categorical, CategoricalDtype as CategoricalDtype, @@ -19,18 +22,17 @@ from .core.api import ( Grouper as Grouper, Index as Index, IndexSlice as IndexSlice, + Int8Dtype as Int8Dtype, Int16Dtype as Int16Dtype, Int32Dtype as Int32Dtype, Int64Dtype as Int64Dtype, Int64Index as Int64Index, - Int8Dtype as Int8Dtype, Interval as Interval, IntervalDtype as IntervalDtype, IntervalIndex as IntervalIndex, MultiIndex as MultiIndex, - NA as NA, - NaT as NaT, NamedAgg as NamedAgg, + NaT as NaT, Period as Period, PeriodDtype as PeriodDtype, PeriodIndex as PeriodIndex, @@ -40,11 +42,11 @@ from .core.api import ( Timedelta as Timedelta, TimedeltaIndex as TimedeltaIndex, Timestamp as Timestamp, + UInt8Dtype as UInt8Dtype, UInt16Dtype as UInt16Dtype, UInt32Dtype as UInt32Dtype, UInt64Dtype as UInt64Dtype, UInt64Index as UInt64Index, - UInt8Dtype as UInt8Dtype, array as array, bdate_range as bdate_range, date_range as date_range, @@ -61,10 +63,7 @@ from .core.api import ( unique as unique, value_counts as value_counts, ) -from .core.tools import to_datetime as to_datetime, to_timedelta as to_timedelta from .core.arrays.sparse import SparseDtype as SparseDtype -from .tseries import offsets as offsets -from .tseries.api import infer_freq as infer_freq from .core.computation.api import eval as eval from .core.reshape.api import ( concat as concat, @@ -81,8 +80,7 @@ from .core.reshape.api import ( qcut as qcut, wide_to_long as wide_to_long, ) -from .util._print_versions import show_versions as show_versions -from .io.json import json_normalize as json_normalize +from .core.tools import to_datetime as to_datetime, to_timedelta as to_timedelta from .io.api import ( ExcelFile as ExcelFile, ExcelWriter as ExcelWriter, @@ -108,9 +106,10 @@ from .io.api import ( read_table as read_table, to_pickle as to_pickle, ) - +from .io.json import json_normalize as json_normalize +from .tseries import offsets as offsets +from .tseries.api import infer_freq as infer_freq +from .util._print_versions import show_versions as show_versions from .util._tester import test as test -import pandas.testing as testing - __version__: str diff --git a/pandas-stubs/_config/__init__.pyi b/pandas-stubs/_config/__init__.pyi index 64cb0dc63..f9cb092a8 100644 --- a/pandas-stubs/_config/__init__.pyi +++ b/pandas-stubs/_config/__init__.pyi @@ -4,5 +4,5 @@ from .config import ( option_context as option_context, options as options, reset_option as reset_option, - set_option as set_option) - + set_option as set_option, +) diff --git a/pandas-stubs/_config/config.pyi b/pandas-stubs/_config/config.pyi index 4a802dac7..1f8ed5526 100644 --- a/pandas-stubs/_config/config.pyi +++ b/pandas-stubs/_config/config.pyi @@ -1,5 +1,10 @@ from contextlib import ContextDecorator -from typing import Any, Union, overload, Literal +from typing import ( + Any, + Literal, + Union, + overload, +) def get_option(pat: str) -> Any: ... def set_option(pat: str, val: object) -> None: ... diff --git a/pandas-stubs/_libs/__init__.pyi b/pandas-stubs/_libs/__init__.pyi index 021fe88cb..f35163310 100644 --- a/pandas-stubs/_libs/__init__.pyi +++ b/pandas-stubs/_libs/__init__.pyi @@ -1,3 +1,4 @@ +from .interval import Interval as Interval from .tslibs import ( NaT as NaT, NaTType as NaTType, @@ -7,4 +8,3 @@ from .tslibs import ( Timestamp as Timestamp, iNaT as iNaT, ) -from .interval import Interval as Interval diff --git a/pandas-stubs/_libs/interval.pyi b/pandas-stubs/_libs/interval.pyi index 60825c20d..0f3526363 100644 --- a/pandas-stubs/_libs/interval.pyi +++ b/pandas-stubs/_libs/interval.pyi @@ -10,12 +10,11 @@ from typing import ( import numpy as np -from pandas._typing import npt - from pandas._typing import ( IntervalClosedType, Timedelta, Timestamp, + npt, ) VALID_CLOSED: frozenset[str] diff --git a/pandas-stubs/_libs/missing.pyi b/pandas-stubs/_libs/missing.pyi index 2f5cae4c0..8de339e6c 100644 --- a/pandas-stubs/_libs/missing.pyi +++ b/pandas-stubs/_libs/missing.pyi @@ -1,4 +1,5 @@ from __future__ import annotations + from typing import Union class NAType: diff --git a/pandas-stubs/_libs/tslibs/__init__.pyi b/pandas-stubs/_libs/tslibs/__init__.pyi index 315a37772..9d3be807d 100644 --- a/pandas-stubs/_libs/tslibs/__init__.pyi +++ b/pandas-stubs/_libs/tslibs/__init__.pyi @@ -11,14 +11,18 @@ __all__ = [ "OutOfBoundsDatetime", ] -from .period import Period -from .timestamps import Timestamp -from .timedeltas import Timedelta +from np_datetime import OutOfBoundsDatetime as OutOfBoundsDatetime + from .nattype import ( NaT, NaTType, iNaT, nat_strings, ) -from .offsets import BaseOffset, Tick -from np_datetime import OutOfBoundsDatetime as OutOfBoundsDatetime +from .offsets import ( + BaseOffset, + Tick, +) +from .period import Period +from .timedeltas import Timedelta +from .timestamps import Timestamp diff --git a/pandas-stubs/_libs/tslibs/offsets.pyi b/pandas-stubs/_libs/tslibs/offsets.pyi index 3df14f0a8..4cc301018 100644 --- a/pandas-stubs/_libs/tslibs/offsets.pyi +++ b/pandas-stubs/_libs/tslibs/offsets.pyi @@ -16,6 +16,7 @@ from typing import ( ) import numpy as np + from pandas._typing import npt from .timedeltas import Timedelta diff --git a/pandas-stubs/_libs/tslibs/period.pyi b/pandas-stubs/_libs/tslibs/period.pyi index 8a303099f..09b164ae0 100644 --- a/pandas-stubs/_libs/tslibs/period.pyi +++ b/pandas-stubs/_libs/tslibs/period.pyi @@ -1,4 +1,5 @@ from __future__ import annotations + from datetime import datetime from typing import Any diff --git a/pandas-stubs/_testing/__init__.pyi b/pandas-stubs/_testing/__init__.pyi index 477a1a9e7..e801b5516 100644 --- a/pandas-stubs/_testing/__init__.pyi +++ b/pandas-stubs/_testing/__init__.pyi @@ -1,11 +1,18 @@ +from typing import ( + Any, + List, + Optional, + Union, +) + from pandas.core.frame import DataFrame from pandas.core.indexes.base import Index from pandas.core.series import Series + from pandas._typing import ( FilePathOrBuffer as FilePathOrBuffer, FrameOrSeriesUnion as FrameOrSeriesUnion, ) -from typing import Any, List, Optional, Union lzma = ... N: int = ... diff --git a/pandas-stubs/_typing.pyi b/pandas-stubs/_typing.pyi index 26bad4039..ce4e568b9 100644 --- a/pandas-stubs/_typing.pyi +++ b/pandas-stubs/_typing.pyi @@ -1,19 +1,22 @@ import datetime -from io import BufferedIOBase, RawIOBase, TextIOBase, TextIOWrapper +from io import ( + BufferedIOBase, + RawIOBase, + TextIOBase, + TextIOWrapper, +) from mmap import mmap -import numpy as np -from numpy import typing as npt -import sys from os import PathLike from pathlib import Path +import sys from typing import ( + IO, Any, AnyStr, Callable, Collection, Dict, Hashable, - IO, List, Mapping, NewType, @@ -26,12 +29,20 @@ from typing import ( Union, ) -from pandas.core.generic import NDFrame -from pandas._libs.tslibs import Period, Timedelta as Timedelta, Timestamp as Timestamp +import numpy as np +from numpy import typing as npt from pandas.core.arrays import ExtensionArray as ExtensionArray -from pandas.core.series import Series as Series from pandas.core.frame import DataFrame as DataFrame +from pandas.core.generic import NDFrame from pandas.core.indexes.base import Index as Index +from pandas.core.series import Series as Series + +from pandas._libs.tslibs import ( + Period, + Timedelta as Timedelta, + Timestamp as Timestamp, +) + from pandas.core.dtypes.dtypes import ExtensionDtype if sys.version_info >= (3, 8): diff --git a/pandas-stubs/api/__init__.pyi b/pandas-stubs/api/__init__.pyi index 5cf1d78f2..3d22f91b0 100644 --- a/pandas-stubs/api/__init__.pyi +++ b/pandas-stubs/api/__init__.pyi @@ -1,4 +1,5 @@ from . import ( extensions as extensions, indexers as indexers, - types as types) + types as types, +) diff --git a/pandas-stubs/api/extensions/__init__.pyi b/pandas-stubs/api/extensions/__init__.pyi index 6ebc2ac68..c0971d518 100644 --- a/pandas-stubs/api/extensions/__init__.pyi +++ b/pandas-stubs/api/extensions/__init__.pyi @@ -1,7 +1,17 @@ -from pandas._libs.lib import no_default as no_default -from pandas.core.accessor import register_dataframe_accessor as register_dataframe_accessor, register_index_accessor as register_index_accessor, register_series_accessor as register_series_accessor +from pandas.core.accessor import ( + register_dataframe_accessor as register_dataframe_accessor, + register_index_accessor as register_index_accessor, + register_series_accessor as register_series_accessor, +) from pandas.core.algorithms import take as take -from pandas.core.arrays import ExtensionArray as ExtensionArray, ExtensionScalarOpsMixin as ExtensionScalarOpsMixin -from pandas.core.dtypes.dtypes import ExtensionDtype as ExtensionDtype, register_extension_dtype as register_extension_dtype +from pandas.core.arrays import ( + ExtensionArray as ExtensionArray, + ExtensionScalarOpsMixin as ExtensionScalarOpsMixin, +) +from pandas._libs.lib import no_default as no_default +from pandas.core.dtypes.dtypes import ( + ExtensionDtype as ExtensionDtype, + register_extension_dtype as register_extension_dtype, +) diff --git a/pandas-stubs/api/indexers/__init__.pyi b/pandas-stubs/api/indexers/__init__.pyi index 65d13fb71..9d3d63606 100644 --- a/pandas-stubs/api/indexers/__init__.pyi +++ b/pandas-stubs/api/indexers/__init__.pyi @@ -2,6 +2,5 @@ from pandas.core.indexers import check_array_indexer as check_array_indexer from pandas.core.window.indexers import ( BaseIndexer as BaseIndexer, FixedForwardWindowIndexer as FixedForwardWindowIndexer, - VariableOffsetWindowIndexer as VariableOffsetWindowIndexer) - - + VariableOffsetWindowIndexer as VariableOffsetWindowIndexer, +) diff --git a/pandas-stubs/api/types/__init__.pyi b/pandas-stubs/api/types/__init__.pyi index 10bf3162a..d5c3a2eba 100644 --- a/pandas-stubs/api/types/__init__.pyi +++ b/pandas-stubs/api/types/__init__.pyi @@ -1,5 +1,10 @@ -from pandas.core.dtypes.api import * from pandas._libs.lib import infer_dtype as infer_dtype -from pandas.core.dtypes.concat import union_categoricals as union_categoricals -from pandas.core.dtypes.dtypes import CategoricalDtype as CategoricalDtype, DatetimeTZDtype as DatetimeTZDtype, IntervalDtype as IntervalDtype, PeriodDtype as PeriodDtype +from pandas.core.dtypes.api import * +from pandas.core.dtypes.concat import union_categoricals as union_categoricals +from pandas.core.dtypes.dtypes import ( + CategoricalDtype as CategoricalDtype, + DatetimeTZDtype as DatetimeTZDtype, + IntervalDtype as IntervalDtype, + PeriodDtype as PeriodDtype, +) diff --git a/pandas-stubs/compat/_optional.pyi b/pandas-stubs/compat/_optional.pyi index a11e81bb5..7faae6c46 100644 --- a/pandas-stubs/compat/_optional.pyi +++ b/pandas-stubs/compat/_optional.pyi @@ -1,3 +1,5 @@ VERSIONS = ... -def import_optional_dependency(name: str, extra: str=..., raise_on_missing: bool=..., on_version: str=...): ... +def import_optional_dependency( + name: str, extra: str = ..., raise_on_missing: bool = ..., on_version: str = ... +): ... diff --git a/pandas-stubs/compat/pickle_compat.pyi b/pandas-stubs/compat/pickle_compat.pyi index c96ec9bb3..5a02c3179 100644 --- a/pandas-stubs/compat/pickle_compat.pyi +++ b/pandas-stubs/compat/pickle_compat.pyi @@ -1,7 +1,12 @@ import pickle as pkl -from pandas import DataFrame as DataFrame, Index as Index, Series as Series from typing import Optional +from pandas import ( + DataFrame as DataFrame, + Index as Index, + Series as Series, +) + def load_reduce(self) -> None: ... def load_newobj(self) -> None: ... def load_newobj_ex(self) -> None: ... diff --git a/pandas-stubs/core/algorithms.pyi b/pandas-stubs/core/algorithms.pyi index 59d6b9f0d..726346edc 100644 --- a/pandas-stubs/core/algorithms.pyi +++ b/pandas-stubs/core/algorithms.pyi @@ -1,8 +1,15 @@ from __future__ import annotations + +from typing import ( + Any, + Tuple, + Union, +) + import numpy as np -from pandas.core.dtypes.generic import ABCIndex as ABCIndex from pandas.core.indexes.base import Index -from typing import Any, Tuple, Union + +from pandas.core.dtypes.generic import ABCIndex as ABCIndex def unique(values): ... diff --git a/pandas-stubs/core/api.pyi b/pandas-stubs/core/api.pyi index 6fc87eeea..940bc99c5 100644 --- a/pandas-stubs/core/api.pyi +++ b/pandas-stubs/core/api.pyi @@ -1,48 +1,27 @@ -from pandas._libs import NaT as NaT, Period as Period, Timedelta as Timedelta -from pandas._libs.tslibs import Timestamp as Timestamp -from pandas._libs.missing import NA as NA +from pandas.core.algorithms import ( + factorize as factorize, + unique as unique, + value_counts as value_counts, +) +from pandas.core.arrays import Categorical as Categorical from pandas.core.arrays.boolean import BooleanDtype as BooleanDtype from pandas.core.arrays.integer import ( + Int8Dtype as Int8Dtype, Int16Dtype as Int16Dtype, Int32Dtype as Int32Dtype, Int64Dtype as Int64Dtype, - Int8Dtype as Int8Dtype, + UInt8Dtype as UInt8Dtype, UInt16Dtype as UInt16Dtype, UInt32Dtype as UInt32Dtype, UInt64Dtype as UInt64Dtype, - UInt8Dtype as UInt8Dtype, ) from pandas.core.arrays.string_ import StringDtype as StringDtype from pandas.core.construction import array as array -from pandas.core.dtypes.dtypes import ( - CategoricalDtype as CategoricalDtype, - DatetimeTZDtype as DatetimeTZDtype, - IntervalDtype as IntervalDtype, - PeriodDtype as PeriodDtype, -) -from pandas.core.dtypes.missing import ( - isna as isna, - isnull as isnull, - notna as notna, - notnull as notnull, -) -from pandas.core.indexes.datetimes import ( - bdate_range as bdate_range, - date_range as date_range, -) -from pandas.core.tools import to_datetime as to_datetime -from pandas.core.tools.numeric import to_numeric as to_numeric -from pandas.core.tools.timedeltas import to_timedelta as to_timedelta -from pandas.io.formats.format import set_eng_float_format as set_eng_float_format -from pandas.core.indexes.interval import ( - Interval as Interval, - interval_range as interval_range, +from pandas.core.frame import DataFrame as DataFrame +from pandas.core.groupby import ( + Grouper as Grouper, + NamedAgg as NamedAgg, ) -from pandas.core.indexes.period import period_range as period_range -from pandas.core.indexes.timedeltas import timedelta_range as timedelta_range -from pandas.core.arrays import Categorical as Categorical - -from pandas.core.groupby import Grouper as Grouper, NamedAgg as NamedAgg from pandas.core.indexes.api import ( CategoricalIndex as CategoricalIndex, DatetimeIndex as DatetimeIndex, @@ -56,12 +35,42 @@ from pandas.core.indexes.api import ( TimedeltaIndex as TimedeltaIndex, UInt64Index as UInt64Index, ) +from pandas.core.indexes.datetimes import ( + bdate_range as bdate_range, + date_range as date_range, +) +from pandas.core.indexes.interval import ( + Interval as Interval, + interval_range as interval_range, +) +from pandas.core.indexes.period import period_range as period_range +from pandas.core.indexes.timedeltas import timedelta_range as timedelta_range from pandas.core.indexing import IndexSlice as IndexSlice from pandas.core.series import Series as Series -from pandas.core.frame import DataFrame as DataFrame -from pandas.tseries.offsets import DateOffset as DateOffset -from pandas.core.algorithms import ( - factorize as factorize, - unique as unique, - value_counts as value_counts, +from pandas.core.tools import to_datetime as to_datetime +from pandas.core.tools.numeric import to_numeric as to_numeric +from pandas.core.tools.timedeltas import to_timedelta as to_timedelta + +from pandas._libs import ( + NaT as NaT, + Period as Period, + Timedelta as Timedelta, +) +from pandas._libs.missing import NA as NA +from pandas._libs.tslibs import Timestamp as Timestamp + +from pandas.core.dtypes.dtypes import ( + CategoricalDtype as CategoricalDtype, + DatetimeTZDtype as DatetimeTZDtype, + IntervalDtype as IntervalDtype, + PeriodDtype as PeriodDtype, ) +from pandas.core.dtypes.missing import ( + isna as isna, + isnull as isnull, + notna as notna, + notnull as notnull, +) + +from pandas.io.formats.format import set_eng_float_format as set_eng_float_format +from pandas.tseries.offsets import DateOffset as DateOffset diff --git a/pandas-stubs/core/arraylike.pyi b/pandas-stubs/core/arraylike.pyi index 1cc740f28..9d6ef7d5c 100644 --- a/pandas-stubs/core/arraylike.pyi +++ b/pandas-stubs/core/arraylike.pyi @@ -1,5 +1,13 @@ -from typing import Any, Protocol, Tuple -from pandas._typing import FrameOrSeries, DataFrame +from typing import ( + Any, + Protocol, + Tuple, +) + +from pandas._typing import ( + DataFrame, + FrameOrSeries, +) class OpsMixinProtocol(Protocol): ... diff --git a/pandas-stubs/core/arrays/__init__.pyi b/pandas-stubs/core/arrays/__init__.pyi index fe6f01fd6..3c4fd8bae 100644 --- a/pandas-stubs/core/arrays/__init__.pyi +++ b/pandas-stubs/core/arrays/__init__.pyi @@ -6,10 +6,19 @@ from .base import ( from .boolean import BooleanArray as BooleanArray from .categorical import Categorical as Categorical from .datetimes import DatetimeArray as DatetimeArray -from .integer import IntegerArray as IntegerArray, integer_array as integer_array +from .integer import ( + IntegerArray as IntegerArray, + integer_array as integer_array, +) from .interval import IntervalArray as IntervalArray -from .numpy_ import PandasArray as PandasArray, PandasDtype as PandasDtype -from .period import PeriodArray as PeriodArray, period_array as period_array +from .numpy_ import ( + PandasArray as PandasArray, + PandasDtype as PandasDtype, +) +from .period import ( + PeriodArray as PeriodArray, + period_array as period_array, +) from .sparse import SparseArray as SparseArray from .string_ import StringArray as StringArray from .timedeltas import TimedeltaArray as TimedeltaArray diff --git a/pandas-stubs/core/arrays/base.pyi b/pandas-stubs/core/arrays/base.pyi index 2ed224737..969ff53c0 100644 --- a/pandas-stubs/core/arrays/base.pyi +++ b/pandas-stubs/core/arrays/base.pyi @@ -1,8 +1,15 @@ +from typing import ( + Sequence, + Tuple, + Union, +) + import numpy as np + from pandas._typing import ArrayLike as ArrayLike + from pandas.core.dtypes.dtypes import ExtensionDtype as ExtensionDtype from pandas.core.dtypes.generic import ABCExtensionArray as ABCExtensionArray -from typing import Sequence, Tuple, Union def try_cast_to_ea(cls_or_instance, obj, dtype=...): ... diff --git a/pandas-stubs/core/arrays/boolean.pyi b/pandas-stubs/core/arrays/boolean.pyi index f95dc2782..d740c028c 100644 --- a/pandas-stubs/core/arrays/boolean.pyi +++ b/pandas-stubs/core/arrays/boolean.pyi @@ -1,9 +1,14 @@ from __future__ import annotations + +from typing import Type + import numpy as np -from .masked import BaseMaskedArray as BaseMaskedArray + from pandas._typing import Scalar as Scalar + from pandas.core.dtypes.base import ExtensionDtype as ExtensionDtype -from typing import Type + +from .masked import BaseMaskedArray as BaseMaskedArray class BooleanDtype(ExtensionDtype): name: str = ... diff --git a/pandas-stubs/core/arrays/categorical.pyi b/pandas-stubs/core/arrays/categorical.pyi index c11c95c88..d33c5c012 100644 --- a/pandas-stubs/core/arrays/categorical.pyi +++ b/pandas-stubs/core/arrays/categorical.pyi @@ -1,4 +1,21 @@ +from typing import ( + List, + Literal, + Optional, + Sequence, + Union, + overload, +) + import numpy as np +from pandas.core.accessor import PandasDelegate as PandasDelegate +from pandas.core.arrays.base import ExtensionArray as ExtensionArray +from pandas.core.base import ( + NoNewAttributesMixin as NoNewAttributesMixin, + PandasObject as PandasObject, +) +from pandas.core.indexes.base import Index + from pandas._typing import ( ArrayLike as ArrayLike, Dtype as Dtype, @@ -6,13 +23,8 @@ from pandas._typing import ( Scalar as Scalar, np_ndarray_bool, ) -from pandas.core.accessor import PandasDelegate as PandasDelegate -from pandas.core.arrays.base import ExtensionArray as ExtensionArray -from pandas.core.base import NoNewAttributesMixin as NoNewAttributesMixin -from pandas.core.base import PandasObject as PandasObject + from pandas.core.dtypes.dtypes import CategoricalDtype as CategoricalDtype -from pandas.core.indexes.base import Index -from typing import List, Literal, Optional, Sequence, Union, overload def contains(cat, key, container): ... diff --git a/pandas-stubs/core/arrays/datetimelike.pyi b/pandas-stubs/core/arrays/datetimelike.pyi index 739d8a937..a1ed8ed03 100644 --- a/pandas-stubs/core/arrays/datetimelike.pyi +++ b/pandas-stubs/core/arrays/datetimelike.pyi @@ -1,10 +1,19 @@ +from typing import ( + Sequence, + Union, +) + import numpy as np -from pandas._libs import NaT as NaT, NaTType as NaTType, Timestamp as Timestamp from pandas.core.arrays.base import ( ExtensionArray as ExtensionArray, ExtensionOpsMixin as ExtensionOpsMixin, ) -from typing import Sequence, Union + +from pandas._libs import ( + NaT as NaT, + NaTType as NaTType, + Timestamp as Timestamp, +) class AttributesMixin: ... diff --git a/pandas-stubs/core/arrays/datetimes.pyi b/pandas-stubs/core/arrays/datetimes.pyi index 9671b746e..84a345fb0 100644 --- a/pandas-stubs/core/arrays/datetimes.pyi +++ b/pandas-stubs/core/arrays/datetimes.pyi @@ -1,7 +1,9 @@ +from typing import Union + import numpy as np from pandas.core.arrays import datetimelike as dtl + from pandas.core.dtypes.dtypes import DatetimeTZDtype as DatetimeTZDtype -from typing import Union def tz_to_dtype(tz): ... diff --git a/pandas-stubs/core/arrays/integer.pyi b/pandas-stubs/core/arrays/integer.pyi index afc1281fb..7b9dd539a 100644 --- a/pandas-stubs/core/arrays/integer.pyi +++ b/pandas-stubs/core/arrays/integer.pyi @@ -1,7 +1,9 @@ -from .masked import BaseMaskedArray as BaseMaskedArray -from pandas.core.dtypes.base import ExtensionDtype as ExtensionDtype from typing import Type +from pandas.core.dtypes.base import ExtensionDtype as ExtensionDtype + +from .masked import BaseMaskedArray as BaseMaskedArray + class _IntegerDtype(ExtensionDtype): name: str base = ... diff --git a/pandas-stubs/core/arrays/interval.pyi b/pandas-stubs/core/arrays/interval.pyi index 85c80287c..28c9055c0 100644 --- a/pandas-stubs/core/arrays/interval.pyi +++ b/pandas-stubs/core/arrays/interval.pyi @@ -1,13 +1,21 @@ from __future__ import annotations + +from typing import Optional + import numpy as np +from pandas.core.arrays.base import ExtensionArray as ExtensionArray + from pandas._libs.interval import ( Interval as Interval, IntervalMixin as IntervalMixin, ) -from pandas.core.arrays.base import ExtensionArray as ExtensionArray +from pandas._typing import ( + Axis, + Index as Index, + Scalar, +) + from pandas.core.dtypes.generic import ABCExtensionArray as ABCExtensionArray -from pandas._typing import Axis, Scalar, Index as Index -from typing import Optional class IntervalArray(IntervalMixin, ExtensionArray): ndim: int = ... diff --git a/pandas-stubs/core/arrays/masked.pyi b/pandas-stubs/core/arrays/masked.pyi index 11ca483a3..f8ca3dc16 100644 --- a/pandas-stubs/core/arrays/masked.pyi +++ b/pandas-stubs/core/arrays/masked.pyi @@ -1,10 +1,11 @@ import numpy as np -from pandas._typing import Scalar as Scalar from pandas.core.arrays import ( ExtensionArray as ExtensionArray, ExtensionOpsMixin as ExtensionOpsMixin, ) +from pandas._typing import Scalar as Scalar + class BaseMaskedArray(ExtensionArray, ExtensionOpsMixin): def __getitem__(self, item): ... def __iter__(self): ... diff --git a/pandas-stubs/core/arrays/numpy_.pyi b/pandas-stubs/core/arrays/numpy_.pyi index 0917d8e47..080d0f91c 100644 --- a/pandas-stubs/core/arrays/numpy_.pyi +++ b/pandas-stubs/core/arrays/numpy_.pyi @@ -1,11 +1,13 @@ +from typing import Union + import numpy as np from numpy.lib.mixins import NDArrayOperatorsMixin from pandas.core.arrays.base import ( ExtensionArray as ExtensionArray, ExtensionOpsMixin as ExtensionOpsMixin, ) + from pandas.core.dtypes.dtypes import ExtensionDtype as ExtensionDtype -from typing import Union class PandasDtype(ExtensionDtype): def __init__(self, dtype) -> None: ... diff --git a/pandas-stubs/core/arrays/period.pyi b/pandas-stubs/core/arrays/period.pyi index 7b07eaa4a..b209f92cc 100644 --- a/pandas-stubs/core/arrays/period.pyi +++ b/pandas-stubs/core/arrays/period.pyi @@ -1,9 +1,16 @@ +from typing import ( + Optional, + Sequence, + Union, +) + import numpy as np +from pandas.core.arrays import datetimelike as dtl + from pandas._libs.tslibs import Timestamp from pandas._libs.tslibs.period import Period as Period -from pandas.core.arrays import datetimelike as dtl + from pandas.tseries.offsets import Tick as Tick -from typing import Optional, Sequence, Union class PeriodArray(dtl.DatetimeLikeArrayMixin, dtl.DatelikeOps): __array_priority__: int = ... diff --git a/pandas-stubs/core/arrays/sparse/accessor.pyi b/pandas-stubs/core/arrays/sparse/accessor.pyi index b00bee47a..6eb27cf7c 100644 --- a/pandas-stubs/core/arrays/sparse/accessor.pyi +++ b/pandas-stubs/core/arrays/sparse/accessor.pyi @@ -1,12 +1,14 @@ -from pandas.compat._optional import ( - import_optional_dependency as import_optional_dependency, -) from pandas.core.accessor import ( PandasDelegate as PandasDelegate, delegate_names as delegate_names, ) from pandas.core.arrays.sparse.array import SparseArray as SparseArray from pandas.core.arrays.sparse.dtype import SparseDtype as SparseDtype + +from pandas.compat._optional import ( + import_optional_dependency as import_optional_dependency, +) + from pandas.core.dtypes.cast import find_common_type as find_common_type class BaseAccessor: diff --git a/pandas-stubs/core/arrays/sparse/array.pyi b/pandas-stubs/core/arrays/sparse/array.pyi index 2fb1e96f0..ec1159970 100644 --- a/pandas-stubs/core/arrays/sparse/array.pyi +++ b/pandas-stubs/core/arrays/sparse/array.pyi @@ -1,10 +1,4 @@ import numpy as np -from pandas._libs.sparse import ( - BlockIndex as BlockIndex, - IntIndex as IntIndex, - SparseIndex as SparseIndex, -) -from pandas._libs.tslibs import NaT as NaT from pandas.core.arrays import ( ExtensionArray as ExtensionArray, ExtensionOpsMixin as ExtensionOpsMixin, @@ -12,6 +6,18 @@ from pandas.core.arrays import ( from pandas.core.arrays.sparse.dtype import SparseDtype as SparseDtype from pandas.core.base import PandasObject as PandasObject from pandas.core.construction import sanitize_array as sanitize_array +from pandas.core.indexers import check_array_indexer as check_array_indexer +from pandas.core.missing import interpolate_2d as interpolate_2d +from pandas.core.ops.common import unpack_zerodim_and_defer as unpack_zerodim_and_defer + +from pandas._libs.sparse import ( + BlockIndex as BlockIndex, + IntIndex as IntIndex, + SparseIndex as SparseIndex, +) +from pandas._libs.tslibs import NaT as NaT +from pandas.errors import PerformanceWarning as PerformanceWarning + from pandas.core.dtypes.cast import ( astype_nansafe as astype_nansafe, construct_1d_arraylike_from_scalar as construct_1d_arraylike_from_scalar, @@ -39,10 +45,6 @@ from pandas.core.dtypes.missing import ( na_value_for_dtype as na_value_for_dtype, notna as notna, ) -from pandas.core.indexers import check_array_indexer as check_array_indexer -from pandas.core.missing import interpolate_2d as interpolate_2d -from pandas.core.ops.common import unpack_zerodim_and_defer as unpack_zerodim_and_defer -from pandas.errors import PerformanceWarning as PerformanceWarning class SparseArray(PandasObject, ExtensionArray, ExtensionOpsMixin): def __init__( diff --git a/pandas-stubs/core/arrays/sparse/dtype.pyi b/pandas-stubs/core/arrays/sparse/dtype.pyi index a78a47f50..1844f3a0f 100644 --- a/pandas-stubs/core/arrays/sparse/dtype.pyi +++ b/pandas-stubs/core/arrays/sparse/dtype.pyi @@ -1,6 +1,12 @@ # merged types from pylance -from pandas._typing import Dtype as Dtype, Scalar +from typing import Optional + +from pandas._typing import ( + Dtype as Dtype, + Scalar, +) + from pandas.core.dtypes.base import ExtensionDtype as ExtensionDtype from pandas.core.dtypes.cast import astype_nansafe as astype_nansafe from pandas.core.dtypes.common import ( @@ -17,7 +23,6 @@ from pandas.core.dtypes.missing import ( isna as isna, na_value_for_dtype as na_value_for_dtype, ) -from typing import Optional class SparseDtype(ExtensionDtype): def __init__( diff --git a/pandas-stubs/core/arrays/sparse/scipy_sparse.pyi b/pandas-stubs/core/arrays/sparse/scipy_sparse.pyi index c6fc6b148..b9244ac30 100644 --- a/pandas-stubs/core/arrays/sparse/scipy_sparse.pyi +++ b/pandas-stubs/core/arrays/sparse/scipy_sparse.pyi @@ -1,2 +1,5 @@ -from pandas.core.indexes.api import Index as Index, MultiIndex as MultiIndex +from pandas.core.indexes.api import ( + Index as Index, + MultiIndex as MultiIndex, +) from pandas.core.series import Series as Series diff --git a/pandas-stubs/core/arrays/string_.pyi b/pandas-stubs/core/arrays/string_.pyi index 8144321a6..654b1d72e 100644 --- a/pandas-stubs/core/arrays/string_.pyi +++ b/pandas-stubs/core/arrays/string_.pyi @@ -1,6 +1,8 @@ +from typing import Type + from pandas.core.arrays import PandasArray as PandasArray + from pandas.core.dtypes.base import ExtensionDtype as ExtensionDtype -from typing import Type class StringDtype(ExtensionDtype): name: str = ... diff --git a/pandas-stubs/core/arrays/timedeltas.pyi b/pandas-stubs/core/arrays/timedeltas.pyi index f8a846a52..500cb4f57 100644 --- a/pandas-stubs/core/arrays/timedeltas.pyi +++ b/pandas-stubs/core/arrays/timedeltas.pyi @@ -1,7 +1,8 @@ from datetime import timedelta -from pandas.core.arrays import datetimelike as dtl from typing import Sequence +from pandas.core.arrays import datetimelike as dtl + class TimedeltaArray(dtl.DatetimeLikeArrayMixin, dtl.TimelikeOps): __array_priority__: int = ... @property diff --git a/pandas-stubs/core/base.pyi b/pandas-stubs/core/base.pyi index 2399146c6..83c552f11 100644 --- a/pandas-stubs/core/base.pyi +++ b/pandas-stubs/core/base.pyi @@ -1,22 +1,32 @@ from __future__ import annotations -import numpy as np +from typing import ( + Callable, + Generic, + List, + Literal, + Optional, + Tuple, + Union, + overload, +) + +import numpy as np +from pandas.core.accessor import DirNamesMixin as DirNamesMixin +from pandas.core.arrays import ExtensionArray as ExtensionArray from pandas.core.arrays.categorical import Categorical + from pandas._typing import ( + T1 as T1, + DataFrame as DataFrame, + Index as Index, Scalar, + Series as Series, SeriesAxisType, - T1 as T1, np_ndarray_int64, np_ndarray_str, - Index as Index, - Series as Series, - DataFrame as DataFrame, ) -from pandas.core.accessor import DirNamesMixin as DirNamesMixin -from pandas.core.arrays import ExtensionArray as ExtensionArray -from typing import Callable, Generic, List, Literal, Optional, Tuple, Union, overload - class PandasObject(DirNamesMixin): def __sizeof__(self) -> int: ... diff --git a/pandas-stubs/core/computation/parsing.pyi b/pandas-stubs/core/computation/parsing.pyi index 1020ba499..f6a9b56c8 100644 --- a/pandas-stubs/core/computation/parsing.pyi +++ b/pandas-stubs/core/computation/parsing.pyi @@ -1,5 +1,8 @@ import tokenize -from typing import Iterator, Tuple +from typing import ( + Iterator, + Tuple, +) BACKTICK_QUOTED_STRING: int diff --git a/pandas-stubs/core/dtypes/base.pyi b/pandas-stubs/core/dtypes/base.pyi index 0b0d5e8e7..46969bbf5 100644 --- a/pandas-stubs/core/dtypes/base.pyi +++ b/pandas-stubs/core/dtypes/base.pyi @@ -1,4 +1,9 @@ -from typing import List, Optional, Type +from typing import ( + List, + Optional, + Type, +) + from pandas._typing import ExtensionArray class ExtensionDtype: diff --git a/pandas-stubs/core/dtypes/cast.pyi b/pandas-stubs/core/dtypes/cast.pyi index 3848323ed..8d9ae1650 100644 --- a/pandas-stubs/core/dtypes/cast.pyi +++ b/pandas-stubs/core/dtypes/cast.pyi @@ -1,4 +1,5 @@ import numpy as np + from pandas._typing import Dtype as Dtype def maybe_convert_platform(values): ... diff --git a/pandas-stubs/core/dtypes/common.pyi b/pandas-stubs/core/dtypes/common.pyi index 4a0688891..c26378df9 100644 --- a/pandas-stubs/core/dtypes/common.pyi +++ b/pandas-stubs/core/dtypes/common.pyi @@ -1,5 +1,12 @@ +from typing import ( + Callable, + Union, +) + import numpy as np + from pandas._typing import ArrayLike as ArrayLike + from pandas.core.dtypes.inference import ( is_array_like as is_array_like, is_bool as is_bool, @@ -18,7 +25,6 @@ from pandas.core.dtypes.inference import ( is_re_compilable as is_re_compilable, is_scalar as is_scalar, ) -from typing import Callable, Union ensure_float64 = ... ensure_float32 = ... diff --git a/pandas-stubs/core/dtypes/dtypes.pyi b/pandas-stubs/core/dtypes/dtypes.pyi index 7047acca8..73d62bbfa 100644 --- a/pandas-stubs/core/dtypes/dtypes.pyi +++ b/pandas-stubs/core/dtypes/dtypes.pyi @@ -1,12 +1,22 @@ -from pandas._typing import Ordered as Ordered -from .base import ExtensionDtype as ExtensionDtype -from pandas._libs.tslibs import ( +from typing import ( + Any, + Optional, + Sequence, + Tuple, + Type, + Union, +) + +from pandas.core.indexes.base import Index + +from pandas._libs.tslibs import ( # , timezones as timezones NaT as NaT, Period as Period, Timestamp as Timestamp, -) # , timezones as timezones -from pandas.core.indexes.base import Index -from typing import Any, Optional, Sequence, Tuple, Type, Union +) +from pandas._typing import Ordered as Ordered + +from .base import ExtensionDtype as ExtensionDtype _str = str diff --git a/pandas-stubs/core/dtypes/missing.pyi b/pandas-stubs/core/dtypes/missing.pyi index 590cf7784..743aef5ba 100644 --- a/pandas-stubs/core/dtypes/missing.pyi +++ b/pandas-stubs/core/dtypes/missing.pyi @@ -1,11 +1,17 @@ +from typing import ( + List, + Union, + overload, +) + import numpy as np -from typing import Union, overload, List + from pandas._typing import ( - Scalar as Scalar, - Series as Series, - Index as Index, ArrayLike as ArrayLike, DataFrame as DataFrame, + Index as Index, + Scalar as Scalar, + Series as Series, ) isposinf_scalar = ... diff --git a/pandas-stubs/core/frame.pyi b/pandas-stubs/core/frame.pyi index 7ca0baf40..3f2c7c9e8 100644 --- a/pandas-stubs/core/frame.pyi +++ b/pandas-stubs/core/frame.pyi @@ -1,51 +1,7 @@ from __future__ import annotations -import datetime -import numpy as np -from pandas.core.indexing import _iLocIndexer, _LocIndexer -from matplotlib.axes import Axes as PlotAxes -from pandas._typing import ( - Axes as Axes, - Axis as Axis, - FilePathOrBuffer as FilePathOrBuffer, - FilePathOrBytesBuffer as FilePathOrBytesBuffer, - Level as Level, - Renamer as Renamer, -) -from pandas._typing import ( - num, - SeriesAxisType, - AxisType, - Dtype, - DtypeNp, - Label, - StrLike, - Scalar as Scalar, - IndexType, - MaskType, - S1, - T as TType, -) -from pandas._typing import ( - ArrayLike as ArrayLike, - np_ndarray_str, - np_ndarray_bool, - Timestamp as Timestamp, - Timedelta as Timedelta, -) -from pandas._typing import IndexLabel as IndexLabel, IgnoreRaise as IgnoreRaise -from pandas.core.arraylike import OpsMixin -from pandas.core.generic import NDFrame as NDFrame -from pandas.core.groupby.generic import DataFrameGroupBy as DataFrameGroupBy -from pandas.core.groupby.grouper import Grouper -from pandas.core.indexes.base import Index as Index -from pandas.core.indexes.multi import MultiIndex as MultiIndex -from pandas.core.resample import Resampler -from pandas.core.window.rolling import Rolling, Window -from pandas.core.series import Series as Series -from pandas.io.formats import console as console, format as fmt -from pandas.io.formats.style import Styler as Styler -from pandas.plotting import PlotAccessor +import datetime +import datetime as _dt from typing import ( Any, Callable, @@ -57,16 +13,68 @@ from typing import ( Literal, Mapping, Optional, + Pattern, Sequence, Tuple, Type, Union, overload, - Pattern, ) +from matplotlib.axes import Axes as PlotAxes import numpy as _np -import datetime as _dt +import numpy as np +from pandas.core.arraylike import OpsMixin +from pandas.core.generic import NDFrame as NDFrame +from pandas.core.groupby.generic import DataFrameGroupBy as DataFrameGroupBy +from pandas.core.groupby.grouper import Grouper +from pandas.core.indexes.base import Index as Index +from pandas.core.indexes.multi import MultiIndex as MultiIndex +from pandas.core.indexing import ( + _iLocIndexer, + _LocIndexer, +) +from pandas.core.resample import Resampler +from pandas.core.series import Series as Series +from pandas.core.window.rolling import ( + Rolling, + Window, +) + +from pandas._typing import ( + S1, + ArrayLike as ArrayLike, + Axes as Axes, + Axis as Axis, + AxisType, + Dtype, + DtypeNp, + FilePathOrBuffer as FilePathOrBuffer, + FilePathOrBytesBuffer as FilePathOrBytesBuffer, + IgnoreRaise as IgnoreRaise, + IndexLabel as IndexLabel, + IndexType, + Label, + Level as Level, + MaskType, + Renamer as Renamer, + Scalar as Scalar, + SeriesAxisType, + StrLike, + T as TType, + Timedelta as Timedelta, + Timestamp as Timestamp, + np_ndarray_bool, + np_ndarray_str, + num, +) + +from pandas.io.formats import ( + console as console, + format as fmt, +) +from pandas.io.formats.style import Styler as Styler +from pandas.plotting import PlotAccessor _str = str _bool = bool diff --git a/pandas-stubs/core/generic.pyi b/pandas-stubs/core/generic.pyi index 818ae35a2..767809bff 100644 --- a/pandas-stubs/core/generic.pyi +++ b/pandas-stubs/core/generic.pyi @@ -1,44 +1,46 @@ -import numpy as np import sys +from typing import ( + Any, + Callable, + Dict, + Hashable, + Iterator, + List, + Mapping, + Optional, + Sequence, + Tuple, + TypeVar, + Union, + overload, +) + +import numpy as np +from pandas.core.base import PandasObject as PandasObject +from pandas.core.indexes.base import Index as Index import pandas.core.indexing as indexing +from pandas.core.internals import BlockManager as BlockManager +from pandas.core.resample import Resampler + from pandas._typing import ( + S1 as S1, ArrayLike as ArrayLike, Axis as Axis, AxisType as AxisType, Dtype as Dtype, FilePathOrBuffer as FilePathOrBuffer, + FrameOrSeries as FrameOrSeries, FrameOrSeriesUnion as FrameOrSeriesUnion, IgnoreRaise as IgnoreRaise, JSONSerializable as JSONSerializable, Level as Level, - Renamer as Renamer, ListLike as ListLike, + Renamer as Renamer, Scalar as Scalar, SeriesAxisType as SeriesAxisType, - FrameOrSeries as FrameOrSeries, - S1 as S1, - Timestamp as Timestamp, - Timedelta as Timedelta, T, -) -from pandas.core.base import PandasObject as PandasObject -from pandas.core.indexes.base import Index as Index -from pandas.core.internals import BlockManager as BlockManager -from pandas.core.resample import Resampler -from typing import ( - Any, - Callable, - Dict, - Hashable, - Iterator, - List, - Mapping, - Optional, - Sequence, - Tuple, - TypeVar, - Union, - overload, + Timedelta as Timedelta, + Timestamp as Timestamp, ) if sys.version_info >= (3, 8): diff --git a/pandas-stubs/core/groupby/base.pyi b/pandas-stubs/core/groupby/base.pyi index 775a6c6ba..ab097d31b 100644 --- a/pandas-stubs/core/groupby/base.pyi +++ b/pandas-stubs/core/groupby/base.pyi @@ -1,4 +1,4 @@ -#from pandas.core.dtypes.common import is_list_like as is_list_like, is_scalar as is_scalar +# from pandas.core.dtypes.common import is_list_like as is_list_like, is_scalar as is_scalar from typing import NamedTuple class OutputKey(NamedTuple): diff --git a/pandas-stubs/core/groupby/categorical.pyi b/pandas-stubs/core/groupby/categorical.pyi index fd76c4d43..d7b7b521c 100644 --- a/pandas-stubs/core/groupby/categorical.pyi +++ b/pandas-stubs/core/groupby/categorical.pyi @@ -1,6 +1,6 @@ -from pandas.core.arrays.categorical import ( +from pandas.core.arrays.categorical import ( # , CategoricalDtype as CategoricalDtype Categorical as Categorical, -) # , CategoricalDtype as CategoricalDtype +) def recode_for_groupby(c: Categorical, sort: bool, observed: bool): ... def recode_from_groupby(c: Categorical, sort: bool, ci): ... diff --git a/pandas-stubs/core/groupby/generic.pyi b/pandas-stubs/core/groupby/generic.pyi index cc05af308..0219926bb 100644 --- a/pandas-stubs/core/groupby/generic.pyi +++ b/pandas-stubs/core/groupby/generic.pyi @@ -1,20 +1,4 @@ -from matplotlib.axes import Axes as PlotAxes, SubplotBase as AxesSubplot -import numpy as np import sys -from pandas._typing import ( - FrameOrSeries as FrameOrSeries, - AxisType, - Dtype, - Level, - FuncType, - S1, -) -from pandas.core.frame import DataFrame as DataFrame -from pandas.core.groupby.groupby import ( - GroupBy as GroupBy, -) # , get_groupby as get_groupby -from pandas.core.groupby.grouper import Grouper as Grouper -from pandas.core.series import Series as Series from typing import ( Any, Callable, @@ -30,6 +14,27 @@ from typing import ( overload, ) +from matplotlib.axes import ( + Axes as PlotAxes, + SubplotBase as AxesSubplot, +) +import numpy as np +from pandas.core.frame import DataFrame as DataFrame +from pandas.core.groupby.groupby import ( # , get_groupby as get_groupby + GroupBy as GroupBy, +) +from pandas.core.groupby.grouper import Grouper as Grouper +from pandas.core.series import Series as Series + +from pandas._typing import ( + S1, + AxisType, + Dtype, + FrameOrSeries as FrameOrSeries, + FuncType, + Level, +) + if sys.version_info >= (3, 8): from typing import Literal else: diff --git a/pandas-stubs/core/groupby/groupby.pyi b/pandas-stubs/core/groupby/groupby.pyi index e65c80d91..9fbc5dd90 100644 --- a/pandas-stubs/core/groupby/groupby.pyi +++ b/pandas-stubs/core/groupby/groupby.pyi @@ -1,21 +1,31 @@ -from pandas._typing import ( - FrameOrSeries as FrameOrSeries, - FrameOrSeriesUnion as FrameOrSeriesUnion, - Scalar as Scalar, - AxisType as AxisType, - KeysArgType, +from typing import ( + Any, + Callable, + Dict, + Generator, + List, + Optional, + Tuple, + Union, ) + from pandas.core.base import ( PandasObject as PandasObject, SelectionMixin as SelectionMixin, ) from pandas.core.frame import DataFrame as DataFrame from pandas.core.generic import NDFrame as NDFrame - from pandas.core.groupby import ops as ops from pandas.core.indexes.api import Index as Index from pandas.core.series import Series as Series -from typing import Any, Callable, Dict, Generator, List, Optional, Tuple, Union + +from pandas._typing import ( + AxisType as AxisType, + FrameOrSeries as FrameOrSeries, + FrameOrSeriesUnion as FrameOrSeriesUnion, + KeysArgType, + Scalar as Scalar, +) class GroupByPlot(PandasObject): def __init__(self, groupby) -> None: ... diff --git a/pandas-stubs/core/groupby/grouper.pyi b/pandas-stubs/core/groupby/grouper.pyi index 4f27952db..2d77344f3 100644 --- a/pandas-stubs/core/groupby/grouper.pyi +++ b/pandas-stubs/core/groupby/grouper.pyi @@ -1,8 +1,16 @@ +from typing import ( + Dict, + Hashable, + List, + Optional, + Tuple, +) + import numpy as np -from pandas._typing import FrameOrSeries as FrameOrSeries from pandas.core.groupby import ops as ops from pandas.core.indexes.api import Index as Index -from typing import Dict, Hashable, List, Optional, Tuple + +from pandas._typing import FrameOrSeries as FrameOrSeries class Grouper: def __new__(cls, *args, **kwargs): ... @@ -15,7 +23,9 @@ class Grouper: obj = ... indexer = ... binner = ... - def __init__(self, key = ..., level = ..., freq = ..., axis: int = ..., sort: bool = ...) -> None: ... + def __init__( + self, key=..., level=..., freq=..., axis: int = ..., sort: bool = ... + ) -> None: ... @property def ax(self): ... @property @@ -31,8 +41,18 @@ class Grouping: obj = ... observed = ... in_axis = ... - def __init__(self, index: Index, grouper=..., obj: Optional[FrameOrSeries]=..., name=..., level=..., sort: bool=..., observed: bool=..., in_axis: bool=...) -> None: ... - def __iter__(self) : ... + def __init__( + self, + index: Index, + grouper=..., + obj: Optional[FrameOrSeries] = ..., + name=..., + level=..., + sort: bool = ..., + observed: bool = ..., + in_axis: bool = ..., + ) -> None: ... + def __iter__(self): ... @property def ngroups(self) -> int: ... def indices(self): ... @@ -43,4 +63,13 @@ class Grouping: def group_index(self) -> Index: ... def groups(self) -> Dict[Hashable, np.ndarray]: ... -def get_grouper(obj: FrameOrSeries, key=..., axis: int=..., level=..., sort: bool=..., observed: bool=..., mutated: bool=..., validate: bool=...) -> Tuple[ops.BaseGrouper, List[Hashable], FrameOrSeries]: ... +def get_grouper( + obj: FrameOrSeries, + key=..., + axis: int = ..., + level=..., + sort: bool = ..., + observed: bool = ..., + mutated: bool = ..., + validate: bool = ..., +) -> Tuple[ops.BaseGrouper, List[Hashable], FrameOrSeries]: ... diff --git a/pandas-stubs/core/groupby/ops.pyi b/pandas-stubs/core/groupby/ops.pyi index 1b3181ce3..d242518a0 100644 --- a/pandas-stubs/core/groupby/ops.pyi +++ b/pandas-stubs/core/groupby/ops.pyi @@ -1,9 +1,16 @@ +from typing import ( + List, + Optional, + Sequence, + Tuple, +) + import numpy as np -from pandas._typing import FrameOrSeriesUnion as FrameOrSeriesUnion from pandas.core.groupby import grouper as grouper from pandas.core.indexes.api import Index as Index from pandas.core.series import Series as Series -from typing import List, Optional, Sequence, Tuple + +from pandas._typing import FrameOrSeriesUnion as FrameOrSeriesUnion class BaseGrouper: axis = ... diff --git a/pandas-stubs/core/indexes/api.pyi b/pandas-stubs/core/indexes/api.pyi index a373dbcba..ba60b4c82 100644 --- a/pandas-stubs/core/indexes/api.pyi +++ b/pandas-stubs/core/indexes/api.pyi @@ -3,12 +3,19 @@ from pandas.core.indexes.category import CategoricalIndex as CategoricalIndex from pandas.core.indexes.datetimes import DatetimeIndex as DatetimeIndex from pandas.core.indexes.interval import IntervalIndex as IntervalIndex from pandas.core.indexes.multi import MultiIndex as MultiIndex -from pandas.core.indexes.numeric import Float64Index as Float64Index, Int64Index as Int64Index, NumericIndex as NumericIndex, UInt64Index as UInt64Index +from pandas.core.indexes.numeric import ( + Float64Index as Float64Index, + Int64Index as Int64Index, + NumericIndex as NumericIndex, + UInt64Index as UInt64Index, +) from pandas.core.indexes.period import PeriodIndex as PeriodIndex from pandas.core.indexes.range import RangeIndex as RangeIndex from pandas.core.indexes.timedeltas import TimedeltaIndex as TimedeltaIndex -def get_objs_combined_axis(objs, intersect: bool=..., axis=..., sort: bool=...) -> Index: ... +def get_objs_combined_axis( + objs, intersect: bool = ..., axis=..., sort: bool = ... +) -> Index: ... def union_indexes(indexes, sort=...) -> Index: ... def get_consensus_names(indexes): ... def all_indexes_same(indexes): ... diff --git a/pandas-stubs/core/indexes/base.pyi b/pandas-stubs/core/indexes/base.pyi index 704cc81c1..3bde7600b 100644 --- a/pandas-stubs/core/indexes/base.pyi +++ b/pandas-stubs/core/indexes/base.pyi @@ -1,28 +1,3 @@ -import numpy as np -from pandas._typing import ( - Dtype as Dtype, - DtypeArg as DtypeArg, - Label as Label, - Level as Level, - Scalar as Scalar, - T1 as T1, - np_ndarray_str, - np_ndarray_int64, - np_ndarray_bool, -) - -from pandas._typing import ( - Series as Series, - DataFrame as DataFrame, - DtypeObj as DtypeObj, -) - -from pandas.core.arrays import ExtensionArray - -from pandas.core.base import IndexOpsMixin, PandasObject - -from pandas.core.strings import StringMethods - from typing import ( Callable, Dict, @@ -38,6 +13,29 @@ from typing import ( overload, ) +import numpy as np +from pandas.core.arrays import ExtensionArray +from pandas.core.base import ( + IndexOpsMixin, + PandasObject, +) +from pandas.core.strings import StringMethods + +from pandas._typing import ( + T1 as T1, + DataFrame as DataFrame, + Dtype as Dtype, + DtypeArg as DtypeArg, + DtypeObj as DtypeObj, + Label as Label, + Level as Level, + Scalar as Scalar, + Series as Series, + np_ndarray_bool, + np_ndarray_int64, + np_ndarray_str, +) + class InvalidIndexError(Exception): ... _str = str diff --git a/pandas-stubs/core/indexes/datetimelike.pyi b/pandas-stubs/core/indexes/datetimelike.pyi index 7271535cb..a345f9c82 100644 --- a/pandas-stubs/core/indexes/datetimelike.pyi +++ b/pandas-stubs/core/indexes/datetimelike.pyi @@ -1,8 +1,13 @@ +from typing import ( + List, + Optional, +) + from pandas.core.accessor import PandasDelegate as PandasDelegate from pandas.core.indexes.extension import ExtensionIndex as ExtensionIndex from pandas.core.indexes.numeric import Int64Index as Int64Index + from pandas.tseries.frequencies import DateOffset as DateOffset -from typing import List, Optional class DatetimeIndexOpsMixin(ExtensionIndex): freq: Optional[DateOffset] diff --git a/pandas-stubs/core/indexes/datetimes.pyi b/pandas-stubs/core/indexes/datetimes.pyi index f487caf4f..feb89df4d 100644 --- a/pandas-stubs/core/indexes/datetimes.pyi +++ b/pandas-stubs/core/indexes/datetimes.pyi @@ -1,21 +1,31 @@ -import numpy as np from datetime import tzinfo as tzinfo +from typing import ( + Optional, + Union, + overload, +) + +import numpy as np from pandas.core.indexes.api import ( - PeriodIndex as PeriodIndex, Float64Index as Float64Index, + PeriodIndex as PeriodIndex, ) from pandas.core.indexes.datetimelike import ( - DatetimeTimedeltaMixin as DatetimeTimedeltaMixin, DatetimelikeDelegateMixin as DatetimelikeDelegateMixin, + DatetimeTimedeltaMixin as DatetimeTimedeltaMixin, ) from pandas.core.indexes.timedeltas import TimedeltaIndex as TimedeltaIndex -from pandas.core.series import Series as Series, TimedeltaSeries, TimestampSeries +from pandas.core.series import ( + Series as Series, + TimedeltaSeries, + TimestampSeries, +) + from pandas._typing import ( - Timestamp as Timestamp, - Timedelta as Timedelta, DataFrame as DataFrame, + Timedelta as Timedelta, + Timestamp as Timestamp, ) -from typing import Optional, Union, overload class DatetimeDelegateMixin(DatetimelikeDelegateMixin): ... diff --git a/pandas-stubs/core/indexes/extension.pyi b/pandas-stubs/core/indexes/extension.pyi index 17c68a4f0..0de6bbf63 100644 --- a/pandas-stubs/core/indexes/extension.pyi +++ b/pandas-stubs/core/indexes/extension.pyi @@ -1,6 +1,7 @@ -from pandas.core.indexes.base import Index as Index from typing import List +from pandas.core.indexes.base import Index as Index + def inherit_from_data(name: str, delegate, cache: bool = ..., wrap: bool = ...): ... def inherit_names(names: List[str], delegate, cache: bool = ..., wrap: bool = ...): ... def make_wrapped_arith_op(opname): ... diff --git a/pandas-stubs/core/indexes/interval.pyi b/pandas-stubs/core/indexes/interval.pyi index 198f7cfcb..68e2ff154 100644 --- a/pandas-stubs/core/indexes/interval.pyi +++ b/pandas-stubs/core/indexes/interval.pyi @@ -1,10 +1,24 @@ +from typing import ( + List, + Optional, + Tuple, + Union, +) + import numpy as np -from pandas._libs.interval import IntervalMixin as IntervalMixin, Interval as Interval -from pandas._typing import AnyArrayLike as AnyArrayLike, DtypeArg as DtypeArg -from pandas.core.dtypes.generic import ABCSeries as ABCSeries from pandas.core.indexes.base import Index as Index from pandas.core.indexes.extension import ExtensionIndex as ExtensionIndex -from typing import Optional, Tuple, Union, List + +from pandas._libs.interval import ( + Interval as Interval, + IntervalMixin as IntervalMixin, +) +from pandas._typing import ( + AnyArrayLike as AnyArrayLike, + DtypeArg as DtypeArg, +) + +from pandas.core.dtypes.generic import ABCSeries as ABCSeries class SetopCheck: op_name = ... diff --git a/pandas-stubs/core/indexes/multi.pyi b/pandas-stubs/core/indexes/multi.pyi index f7c604cb0..2b6bd8150 100644 --- a/pandas-stubs/core/indexes/multi.pyi +++ b/pandas-stubs/core/indexes/multi.pyi @@ -1,7 +1,20 @@ +from typing import ( + Callable, + Hashable, + List, + Optional, + Sequence, + Union, +) + import numpy as np from pandas.core.indexes.base import Index as Index -from typing import Callable, Hashable, List, Optional, Sequence, Union -from pandas._typing import np_ndarray_bool, DtypeArg as DtypeArg, T1 as T1 + +from pandas._typing import ( + T1 as T1, + DtypeArg as DtypeArg, + np_ndarray_bool, +) class MultiIndex(Index): def __new__( diff --git a/pandas-stubs/core/indexes/numeric.pyi b/pandas-stubs/core/indexes/numeric.pyi index d777c08cf..d805e0f95 100644 --- a/pandas-stubs/core/indexes/numeric.pyi +++ b/pandas-stubs/core/indexes/numeric.pyi @@ -1,7 +1,15 @@ +from typing import ( + Iterable, + TypeVar, +) + import numpy as np from pandas.core.indexes.base import Index as Index -from typing import Iterable, TypeVar -from pandas._typing import T1 as T1, np_ndarray_int64 + +from pandas._typing import ( + T1 as T1, + np_ndarray_int64, +) class NumericIndex(Index): def __init__(self, data: Iterable = ..., dtype=..., copy: bool = ..., name=...): ... diff --git a/pandas-stubs/core/indexes/timedeltas.pyi b/pandas-stubs/core/indexes/timedeltas.pyi index 76dd8d85e..15b6c6544 100644 --- a/pandas-stubs/core/indexes/timedeltas.pyi +++ b/pandas-stubs/core/indexes/timedeltas.pyi @@ -1,12 +1,17 @@ -from typing import Union, overload -from pandas._libs import Timedelta as Timedelta +from typing import ( + Union, + overload, +) + from pandas.core.arrays import datetimelike as dtl from pandas.core.indexes.datetimelike import ( DatetimeIndexOpsMixin as DatetimeIndexOpsMixin, - DatetimeTimedeltaMixin as DatetimeTimedeltaMixin, DatetimelikeDelegateMixin as DatetimelikeDelegateMixin, + DatetimeTimedeltaMixin as DatetimeTimedeltaMixin, ) from pandas.core.indexes.datetimes import DatetimeIndex as DatetimeIndex + +from pandas._libs import Timedelta as Timedelta from pandas._typing import num class TimedeltaDelegateMixin(DatetimelikeDelegateMixin): ... diff --git a/pandas-stubs/core/indexing.pyi b/pandas-stubs/core/indexing.pyi index c5762e3c7..cf9c75c69 100644 --- a/pandas-stubs/core/indexing.pyi +++ b/pandas-stubs/core/indexing.pyi @@ -1,8 +1,16 @@ +from typing import ( + Tuple, + Union, +) + import numpy as np -from pandas._libs.indexing import _NDFrameIndexerBase from pandas.core.indexes.api import Index as Index -from pandas._typing import StrLike, Scalar -from typing import Tuple, Union + +from pandas._libs.indexing import _NDFrameIndexerBase +from pandas._typing import ( + Scalar, + StrLike, +) class _IndexSlice: def __getitem__(self, arg) -> Tuple[Union[StrLike, Scalar, slice], ...]: ... diff --git a/pandas-stubs/core/internals/blocks.pyi b/pandas-stubs/core/internals/blocks.pyi index 17aaa7749..a42612088 100644 --- a/pandas-stubs/core/internals/blocks.pyi +++ b/pandas-stubs/core/internals/blocks.pyi @@ -1,6 +1,7 @@ +from typing import List + from pandas.core.arrays import ExtensionArray as ExtensionArray from pandas.core.base import PandasObject as PandasObject -from typing import List class Block(PandasObject): is_numeric: bool = ... diff --git a/pandas-stubs/core/internals/managers.pyi b/pandas-stubs/core/internals/managers.pyi index 78f79ee77..548af8572 100644 --- a/pandas-stubs/core/internals/managers.pyi +++ b/pandas-stubs/core/internals/managers.pyi @@ -1,7 +1,12 @@ +from typing import ( + List, + Sequence, + Union, +) + from pandas.core.base import PandasObject as PandasObject from pandas.core.indexes.api import Index as Index from pandas.core.internals.blocks import Block as Block -from typing import List, Sequence, Union class BlockManager(PandasObject): axes = ... diff --git a/pandas-stubs/core/ops/__init__.pyi b/pandas-stubs/core/ops/__init__.pyi index 23e14edfd..2062f1f67 100644 --- a/pandas-stubs/core/ops/__init__.pyi +++ b/pandas-stubs/core/ops/__init__.pyi @@ -1,4 +1,9 @@ -from typing import Any, Optional, Set, Tuple +from typing import ( + Any, + Optional, + Set, + Tuple, +) ARITHMETIC_BINOPS: Set[str] = ... COMPARISON_BINOPS: Set[str] = ... diff --git a/pandas-stubs/core/ops/array_ops.pyi b/pandas-stubs/core/ops/array_ops.pyi index fa382416a..35a293365 100644 --- a/pandas-stubs/core/ops/array_ops.pyi +++ b/pandas-stubs/core/ops/array_ops.pyi @@ -1,6 +1,11 @@ +from typing import ( + Optional, + Union, +) + import numpy as np + from pandas.core.dtypes.generic import ABCExtensionArray as ABCExtensionArray -from typing import Optional, Union def comp_method_OBJECT_ARRAY(op, x, y): ... def masked_arith_op(x, y, op): ... diff --git a/pandas-stubs/core/ops/dispatch.pyi b/pandas-stubs/core/ops/dispatch.pyi index 66b066c71..2b0cf9d1b 100644 --- a/pandas-stubs/core/ops/dispatch.pyi +++ b/pandas-stubs/core/ops/dispatch.pyi @@ -1,9 +1,11 @@ +from typing import Union + import numpy as np + from pandas.core.dtypes.generic import ( ABCExtensionArray as ABCExtensionArray, ABCSeries as ABCSeries, ) -from typing import Union def should_extension_dispatch(left: ABCSeries, right) -> bool: ... def should_series_dispatch(left, right, op): ... diff --git a/pandas-stubs/core/ops/mask_ops.pyi b/pandas-stubs/core/ops/mask_ops.pyi index 67f8ff9bd..83100eee7 100644 --- a/pandas-stubs/core/ops/mask_ops.pyi +++ b/pandas-stubs/core/ops/mask_ops.pyi @@ -1,6 +1,11 @@ +from typing import ( + Optional, + Union, +) + import numpy as np + from pandas._libs import missing as libmissing -from typing import Optional, Union def kleene_or( left: Union[bool, np.ndarray], diff --git a/pandas-stubs/core/resample.pyi b/pandas-stubs/core/resample.pyi index 4ddeea770..6bf21bc9b 100644 --- a/pandas-stubs/core/resample.pyi +++ b/pandas-stubs/core/resample.pyi @@ -2,6 +2,7 @@ from pandas.core.base import ShallowMixin as ShallowMixin from pandas.core.groupby.base import GroupByMixin as GroupByMixin from pandas.core.groupby.groupby import _GroupBy from pandas.core.groupby.grouper import Grouper as Grouper + from pandas._typing import FrameOrSeriesUnion class Resampler(_GroupBy, ShallowMixin): diff --git a/pandas-stubs/core/reshape/api.pyi b/pandas-stubs/core/reshape/api.pyi index c2ad0ecca..4b92ec1d8 100644 --- a/pandas-stubs/core/reshape/api.pyi +++ b/pandas-stubs/core/reshape/api.pyi @@ -15,4 +15,7 @@ from pandas.core.reshape.pivot import ( pivot_table as pivot_table, ) from pandas.core.reshape.reshape import get_dummies as get_dummies -from pandas.core.reshape.tile import cut as cut, qcut as qcut +from pandas.core.reshape.tile import ( + cut as cut, + qcut as qcut, +) diff --git a/pandas-stubs/core/reshape/concat.pyi b/pandas-stubs/core/reshape/concat.pyi index 534aa84e8..edc0afc63 100644 --- a/pandas-stubs/core/reshape/concat.pyi +++ b/pandas-stubs/core/reshape/concat.pyi @@ -1,12 +1,17 @@ -from pandas._typing import DataFrame as DataFrame, Series as Series, Axis as Axis from typing import ( Hashable, Iterable, + Literal, Mapping, + TypeVar, Union, overload, - Literal, - TypeVar, +) + +from pandas._typing import ( + Axis as Axis, + DataFrame as DataFrame, + Series as Series, ) HashableT = TypeVar("HashableT", bound=Hashable) diff --git a/pandas-stubs/core/reshape/melt.pyi b/pandas-stubs/core/reshape/melt.pyi index 2b1eca905..95c8a137a 100644 --- a/pandas-stubs/core/reshape/melt.pyi +++ b/pandas-stubs/core/reshape/melt.pyi @@ -1,6 +1,12 @@ +from typing import ( + List, + Optional, + Tuple, + Union, +) + import numpy as np from pandas.core.frame import DataFrame as DataFrame -from typing import List, Optional, Tuple, Union def melt( frame: DataFrame, diff --git a/pandas-stubs/core/reshape/merge.pyi b/pandas-stubs/core/reshape/merge.pyi index 639c17c70..4a5e6c588 100644 --- a/pandas-stubs/core/reshape/merge.pyi +++ b/pandas-stubs/core/reshape/merge.pyi @@ -1,7 +1,17 @@ +from typing import ( + List, + Optional, + Sequence, + Union, +) + +from pandas import ( + DataFrame as DataFrame, + Series as Series, +) + from pandas._libs.tslibs import Timedelta -from pandas import DataFrame as DataFrame, Series as Series from pandas._typing import Label -from typing import Optional, List, Sequence, Union def merge( left: Union[DataFrame, Series], diff --git a/pandas-stubs/core/reshape/pivot.pyi b/pandas-stubs/core/reshape/pivot.pyi index 50da48c55..8fb4d49c7 100644 --- a/pandas-stubs/core/reshape/pivot.pyi +++ b/pandas-stubs/core/reshape/pivot.pyi @@ -1,8 +1,18 @@ -from pandas.core.series import Series +from typing import ( + Callable, + Optional, + Sequence, + Union, +) + from pandas.core.frame import DataFrame from pandas.core.groupby.grouper import Grouper -from pandas._typing import IndexLabel, Scalar -from typing import Callable, Optional, Sequence, Union +from pandas.core.series import Series + +from pandas._typing import ( + IndexLabel, + Scalar, +) def pivot_table( data: DataFrame, diff --git a/pandas-stubs/core/series.pyi b/pandas-stubs/core/series.pyi index 751b4f633..2565b0845 100644 --- a/pandas-stubs/core/series.pyi +++ b/pandas-stubs/core/series.pyi @@ -1,12 +1,30 @@ -import numpy as np -from datetime import time, date +from datetime import ( + date, + time, +) +from typing import ( + Any, + Callable, + Dict, + Generic, + Hashable, + Iterable, + List, + Literal, + Mapping, + Optional, + Sequence, + Tuple, + Type, + Union, + overload, +) -from matplotlib.axes import Axes as PlotAxes, SubplotBase as SubplotBase -from .base import IndexOpsMixin -from .generic import NDFrame -from .indexes.multi import MultiIndex -from .indexing import _iLocIndexer, _LocIndexer -from .frame import DataFrame +from matplotlib.axes import ( + Axes as PlotAxes, + SubplotBase as SubplotBase, +) +import numpy as np from pandas.core.arrays.base import ExtensionArray from pandas.core.groupby.generic import SeriesGroupBy from pandas.core.indexes.base import Index @@ -14,9 +32,14 @@ from pandas.core.indexes.datetimes import DatetimeIndex from pandas.core.indexes.timedeltas import TimedeltaIndex from pandas.core.resample import Resampler from pandas.core.strings import StringMethods -from pandas.core.window.rolling import Rolling, Window from pandas.core.window import ExponentialMovingWindow +from pandas.core.window.rolling import ( + Rolling, + Window, +) + from pandas._typing import ( + S1 as S1, ArrayLike as ArrayLike, Axis as Axis, AxisType as AxisType, @@ -24,34 +47,25 @@ from pandas._typing import ( DtypeNp as DtypeNp, FilePathOrBuffer as FilePathOrBuffer, IgnoreRaise as IgnoreRaise, + Label as Label, Level as Level, ListLike as ListLike, MaskType as MaskType, Renamer as Renamer, - S1 as S1, Scalar as Scalar, SeriesAxisType as SeriesAxisType, - Timestamp as Timestamp, Timedelta as Timedelta, + Timestamp as Timestamp, num as num, - Label as Label, ) -from typing import ( - Any, - Callable, - Dict, - Generic, - Hashable, - Iterable, - List, - Literal, - Mapping, - Optional, - Sequence, - Tuple, - Type, - Union, - overload, + +from .base import IndexOpsMixin +from .frame import DataFrame +from .generic import NDFrame +from .indexes.multi import MultiIndex +from .indexing import ( + _iLocIndexer, + _LocIndexer, ) _bool = bool @@ -1094,8 +1108,12 @@ class Series(IndexOpsMixin, NDFrame, Generic[S1]): def __div__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[S1]: ... def __eq__(self, other: object) -> Series[_bool]: ... # type: ignore def __floordiv__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[int]: ... - def __ge__(self, other: Union[num, _ListLike, Series[S1],Timestamp]) -> Series[_bool]: ... - def __gt__(self, other: Union[num, _ListLike, Series[S1],Timestamp]) -> Series[_bool]: ... + def __ge__( + self, other: Union[num, _ListLike, Series[S1], Timestamp] + ) -> Series[_bool]: ... + def __gt__( + self, other: Union[num, _ListLike, Series[S1], Timestamp] + ) -> Series[_bool]: ... # def __iadd__(self, other: S1) -> Series[S1]: ... # def __iand__(self, other: S1) -> Series[_bool]: ... # def __idiv__(self, other: S1) -> Series[S1]: ... @@ -1108,8 +1126,12 @@ class Series(IndexOpsMixin, NDFrame, Generic[S1]): # def __itruediv__(self, other: S1) -> Series[S1]: ... # def __itruediv__(self, other) -> None: ... # def __ixor__(self, other: S1) -> Series[_bool]: ... - def __le__(self, other: Union[num, _ListLike, Series[S1],Timestamp]) -> Series[_bool]: ... - def __lt__(self, other: Union[num, _ListLike, Series[S1],Timestamp]) -> Series[_bool]: ... + def __le__( + self, other: Union[num, _ListLike, Series[S1], Timestamp] + ) -> Series[_bool]: ... + def __lt__( + self, other: Union[num, _ListLike, Series[S1], Timestamp] + ) -> Series[_bool]: ... @overload def __mul__(self, other: Union[Timedelta, TimedeltaSeries]) -> TimedeltaSeries: ... @overload diff --git a/pandas-stubs/core/strings.pyi b/pandas-stubs/core/strings.pyi index 32718ac8c..9201a1d93 100644 --- a/pandas-stubs/core/strings.pyi +++ b/pandas-stubs/core/strings.pyi @@ -1,6 +1,11 @@ +from typing import ( + Generic, + List, + TypeVar, +) + from pandas.core.base import NoNewAttributesMixin as NoNewAttributesMixin from pandas.core.series import Series -from typing import List, Generic, TypeVar def cat_core(list_of_columns: List, sep: str): ... def cat_safe(list_of_columns: List, sep: str): ... diff --git a/pandas-stubs/core/tools/datetimes.pyi b/pandas-stubs/core/tools/datetimes.pyi index 4b802baff..269e4ca9a 100644 --- a/pandas-stubs/core/tools/datetimes.pyi +++ b/pandas-stubs/core/tools/datetimes.pyi @@ -1,21 +1,33 @@ from datetime import datetime as datetime -from numpy import datetime64 as datetime64 +from typing import ( + List, + Optional, + Tuple, + TypedDict, + Union, + overload, +) + import numpy as np +from numpy import datetime64 as datetime64 +from pandas.core.frame import DataFrame as DataFrame +from pandas.core.generic import NDFrame as NDFrame +from pandas.core.indexes.datetimes import DatetimeIndex as DatetimeIndex +from pandas.core.series import ( + Series as Series, + TimestampSeries, +) from pandas._typing import ( - ArrayLike as ArrayLike, - Index as Index, AnyArrayLike as AnyArrayLike, + ArrayLike as ArrayLike, DateTimeErrorChoices as DateTimeErrorChoices, ExtensionArray as ExtensionArray, + Index as Index, Timestamp as Timestamp, ) + from pandas.core.dtypes.generic import ABCSeries as ABCSeries -from pandas.core.generic import NDFrame as NDFrame -from pandas.core.indexes.datetimes import DatetimeIndex as DatetimeIndex -from pandas.core.frame import DataFrame as DataFrame -from pandas.core.series import Series as Series, TimestampSeries -from typing import List, Optional, Tuple, TypedDict, Union, overload ArrayConvertible = Union[List, Tuple, AnyArrayLike] Scalar = Union[int, float, str] diff --git a/pandas-stubs/core/tools/timedeltas.pyi b/pandas-stubs/core/tools/timedeltas.pyi index 78a3d3fd0..5dce232f2 100644 --- a/pandas-stubs/core/tools/timedeltas.pyi +++ b/pandas-stubs/core/tools/timedeltas.pyi @@ -1,11 +1,25 @@ # def to_timedelta(arg, unit: str = ..., errors: str = ...): ... from datetime import timedelta -from typing import Literal, Optional, Union, overload +from typing import ( + Literal, + Optional, + Union, + overload, +) + +from pandas.core.indexes.timedeltas import TimedeltaIndex +from pandas.core.series import ( + Series as Series, + TimedeltaSeries, +) + from pandas._libs.tslibs import Timedelta from pandas._libs.tslibs.timedeltas import UnitChoices -from pandas._typing import DateTimeErrorChoices, ArrayLike, Index as Index -from pandas.core.series import Series as Series, TimedeltaSeries -from pandas.core.indexes.timedeltas import TimedeltaIndex +from pandas._typing import ( + ArrayLike, + DateTimeErrorChoices, + Index as Index, +) # Copied from pandas/_libs/tslibs/timedeltas.pyx diff --git a/pandas-stubs/core/window/__init__.pyi b/pandas-stubs/core/window/__init__.pyi index 7cd28472e..d0371af57 100644 --- a/pandas-stubs/core/window/__init__.pyi +++ b/pandas-stubs/core/window/__init__.pyi @@ -1,5 +1,8 @@ from .ewm import ExponentialMovingWindow as ExponentialMovingWindow -from .expanding import Expanding as Expanding, ExpandingGroupby as ExpandingGroupby +from .expanding import ( + Expanding as Expanding, + ExpandingGroupby as ExpandingGroupby, +) from .rolling import ( Rolling as Rolling, RollingGroupby as RollingGroupby, diff --git a/pandas-stubs/core/window/common.pyi b/pandas-stubs/core/window/common.pyi index 24a17b262..101bcbadd 100644 --- a/pandas-stubs/core/window/common.pyi +++ b/pandas-stubs/core/window/common.pyi @@ -1,5 +1,9 @@ +from typing import ( + Callable, + Optional, +) + from pandas.core.groupby.base import GroupByMixin as GroupByMixin -from typing import Callable, Optional class WindowGroupByMixin(GroupByMixin): def __init__(self, obj, *args, **kwargs) -> None: ... diff --git a/pandas-stubs/core/window/ewm.pyi b/pandas-stubs/core/window/ewm.pyi index f21dfe754..771af5741 100644 --- a/pandas-stubs/core/window/ewm.pyi +++ b/pandas-stubs/core/window/ewm.pyi @@ -1,7 +1,16 @@ -from typing import Union, Optional, Callable +from typing import ( + Callable, + Optional, + Union, +) + from pandas.core.window.rolling import _Rolling -from pandas._typing import Scalar, Series, DataFrame +from pandas._typing import ( + DataFrame, + Scalar, + Series, +) class ExponentialMovingWindow(_Rolling): obj = ... diff --git a/pandas-stubs/core/window/expanding.pyi b/pandas-stubs/core/window/expanding.pyi index c823470ae..e7909b4f5 100644 --- a/pandas-stubs/core/window/expanding.pyi +++ b/pandas-stubs/core/window/expanding.pyi @@ -1,8 +1,16 @@ -from typing import Callable, Any, Dict, Tuple, Optional -from pandas._typing import FrameOrSeriesUnion as FrameOrSeries +from typing import ( + Any, + Callable, + Dict, + Optional, + Tuple, +) + from pandas.core.window.common import WindowGroupByMixin as WindowGroupByMixin from pandas.core.window.rolling import _Rolling_and_Expanding +from pandas._typing import FrameOrSeriesUnion as FrameOrSeries + class Expanding(_Rolling_and_Expanding): def __init__( self, obj, min_periods: int = ..., center: bool = ..., axis: int = ..., **kwargs diff --git a/pandas-stubs/core/window/indexers.pyi b/pandas-stubs/core/window/indexers.pyi index 86103a064..1f1fded81 100644 --- a/pandas-stubs/core/window/indexers.pyi +++ b/pandas-stubs/core/window/indexers.pyi @@ -1,22 +1,46 @@ +from typing import ( + Dict, + Optional, + Tuple, + Type, + Union, +) + import numpy as np -from typing import Dict, Optional, Tuple, Type, Union get_window_bounds_doc: str class BaseIndexer: index_array = ... window_size = ... - def __init__(self, index_array: Optional[np.ndarray]=..., window_size: int=..., **kwargs) -> None: ... - def get_window_bounds(self, num_values: int=..., min_periods: Optional[int]=..., - center: Optional[bool]=..., closed: Optional[str]=...) -> Tuple[np.ndarray, np.ndarray]: ... + def __init__( + self, index_array: Optional[np.ndarray] = ..., window_size: int = ..., **kwargs + ) -> None: ... + def get_window_bounds( + self, + num_values: int = ..., + min_periods: Optional[int] = ..., + center: Optional[bool] = ..., + closed: Optional[str] = ..., + ) -> Tuple[np.ndarray, np.ndarray]: ... class FixedWindowIndexer(BaseIndexer): - def get_window_bounds(self, num_values: int=..., min_periods: Optional[int]=..., - center: Optional[bool]=..., closed: Optional[str]=...) -> Tuple[np.ndarray, np.ndarray]: ... + def get_window_bounds( + self, + num_values: int = ..., + min_periods: Optional[int] = ..., + center: Optional[bool] = ..., + closed: Optional[str] = ..., + ) -> Tuple[np.ndarray, np.ndarray]: ... class VariableWindowIndexer(BaseIndexer): - def get_window_bounds(self, num_values: int=..., min_periods: Optional[int]=..., - center: Optional[bool]=..., closed: Optional[str]=...) -> Tuple[np.ndarray, np.ndarray]: ... + def get_window_bounds( + self, + num_values: int = ..., + min_periods: Optional[int] = ..., + center: Optional[bool] = ..., + closed: Optional[str] = ..., + ) -> Tuple[np.ndarray, np.ndarray]: ... class VariableOffsetWindowIndexer(BaseIndexer): def __init__( @@ -27,7 +51,6 @@ class VariableOffsetWindowIndexer(BaseIndexer): offset=..., **kwargs, ) -> None: ... - def get_window_bounds( self, num_values: int = ..., @@ -37,9 +60,13 @@ class VariableOffsetWindowIndexer(BaseIndexer): ) -> Tuple[np.ndarray, np.ndarray]: ... class ExpandingIndexer(BaseIndexer): - def get_window_bounds(self, num_values: int=..., min_periods: Optional[int]=..., - center: Optional[bool]=..., closed: Optional[str]=...) -> Tuple[np.ndarray, np.ndarray]: ... - + def get_window_bounds( + self, + num_values: int = ..., + min_periods: Optional[int] = ..., + center: Optional[bool] = ..., + closed: Optional[str] = ..., + ) -> Tuple[np.ndarray, np.ndarray]: ... class FixedForwardWindowIndexer(BaseIndexer): def get_window_bounds( @@ -59,11 +86,10 @@ class GroupbyRollingIndexer(BaseIndexer): rolling_indexer: Union[Type[FixedWindowIndexer], Type[VariableWindowIndexer]], **kwargs, ) -> None: ... - def get_window_bounds( self, num_values: int = ..., min_periods: Optional[int] = ..., center: Optional[bool] = ..., closed: Optional[str] = ..., - ) -> Tuple[np.ndarray, np.ndarray]: ... \ No newline at end of file + ) -> Tuple[np.ndarray, np.ndarray]: ... diff --git a/pandas-stubs/core/window/numba_.pyi b/pandas-stubs/core/window/numba_.pyi index c4e8c17f7..6ae7fabd9 100644 --- a/pandas-stubs/core/window/numba_.pyi +++ b/pandas-stubs/core/window/numba_.pyi @@ -1,5 +1,12 @@ +from typing import ( + Any, + Callable, + Dict, + Optional, + Tuple, +) + from pandas._typing import Scalar as Scalar -from typing import Any, Callable, Dict, Optional, Tuple def make_rolling_apply( func: Callable[..., Scalar], diff --git a/pandas-stubs/core/window/rolling.pyi b/pandas-stubs/core/window/rolling.pyi index fdf26ba43..20a5f3182 100644 --- a/pandas-stubs/core/window/rolling.pyi +++ b/pandas-stubs/core/window/rolling.pyi @@ -1,9 +1,15 @@ -import numpy as np -from pandas._typing import ( - Axis as Axis, - FrameOrSeriesUnion as FrameOrSeries, - Scalar as Scalar, +from typing import ( + Callable, + Dict, + Mapping, + Optional, + Sequence, + Set, + Tuple, + Union, ) + +import numpy as np from pandas.core.base import ( PandasObject as PandasObject, SelectionMixin as SelectionMixin, @@ -11,7 +17,12 @@ from pandas.core.base import ( ) from pandas.core.indexes.api import Index as Index from pandas.core.window.common import WindowGroupByMixin as WindowGroupByMixin -from typing import Callable, Dict, Mapping, Optional, Sequence, Set, Tuple, Union + +from pandas._typing import ( + Axis as Axis, + FrameOrSeriesUnion as FrameOrSeries, + Scalar as Scalar, +) class _Window(PandasObject, ShallowMixin, SelectionMixin): exclusions: Set[str] = ... diff --git a/pandas-stubs/io/api.pyi b/pandas-stubs/io/api.pyi index 06cd4f3c0..fc33ac97b 100644 --- a/pandas-stubs/io/api.pyi +++ b/pandas-stubs/io/api.pyi @@ -15,8 +15,14 @@ from pandas.io.parsers import ( read_fwf as read_fwf, read_table as read_table, ) -from pandas.io.pickle import read_pickle as read_pickle, to_pickle as to_pickle -from pandas.io.pytables import HDFStore as HDFStore, read_hdf as read_hdf +from pandas.io.pickle import ( + read_pickle as read_pickle, + to_pickle as to_pickle, +) +from pandas.io.pytables import ( + HDFStore as HDFStore, + read_hdf as read_hdf, +) from pandas.io.sas import read_sas as read_sas from pandas.io.spss import read_spss as read_spss from pandas.io.sql import ( diff --git a/pandas-stubs/io/excel/_base.pyi b/pandas-stubs/io/excel/_base.pyi index 1914b4d44..6f4550eea 100644 --- a/pandas-stubs/io/excel/_base.pyi +++ b/pandas-stubs/io/excel/_base.pyi @@ -1,6 +1,4 @@ import abc -from pandas._typing import Dtype, Scalar -from pandas.core.frame import DataFrame as DataFrame from typing import ( Any, Callable, @@ -13,6 +11,13 @@ from typing import ( overload, ) +from pandas.core.frame import DataFrame as DataFrame + +from pandas._typing import ( + Dtype, + Scalar, +) + @overload def read_excel( filepath: str, diff --git a/pandas-stubs/io/json/_json.pyi b/pandas-stubs/io/json/_json.pyi index ffd4871c5..8b61972f9 100644 --- a/pandas-stubs/io/json/_json.pyi +++ b/pandas-stubs/io/json/_json.pyi @@ -1,9 +1,20 @@ from collections import abc import sys -from pandas.core.series import Series as Series +from typing import ( + Any, + Callable, + Optional, + Union, + overload, +) + from pandas.core.frame import DataFrame -from pandas._typing import JSONSerializable as JSONSerializable, FilePathOrBuffer -from typing import Any, Callable, Optional, Union, overload +from pandas.core.series import Series as Series + +from pandas._typing import ( + FilePathOrBuffer, + JSONSerializable as JSONSerializable, +) if sys.version_info >= (3, 8): from typing import Literal diff --git a/pandas-stubs/io/json/_normalize.pyi b/pandas-stubs/io/json/_normalize.pyi index 098977352..881abb647 100644 --- a/pandas-stubs/io/json/_normalize.pyi +++ b/pandas-stubs/io/json/_normalize.pyi @@ -1,6 +1,14 @@ +from typing import ( + Any, + Dict, + List, + Optional, + Union, +) + from pandas.core.frame import DataFrame as DataFrame + from pandas._typing import Scalar as Scalar -from typing import Any, Dict, List, Optional, Union def convert_to_line_delimits(s: Any): ... def nested_to_record( diff --git a/pandas-stubs/io/json/_table_schema.pyi b/pandas-stubs/io/json/_table_schema.pyi index 753ed39d5..a4d84e959 100644 --- a/pandas-stubs/io/json/_table_schema.pyi +++ b/pandas-stubs/io/json/_table_schema.pyi @@ -1,4 +1,7 @@ -from typing import Any, Optional +from typing import ( + Any, + Optional, +) loads: Any diff --git a/pandas-stubs/io/parsers.pyi b/pandas-stubs/io/parsers.pyi index 7de39aa9d..18d62fc8b 100644 --- a/pandas-stubs/io/parsers.pyi +++ b/pandas-stubs/io/parsers.pyi @@ -1,17 +1,7 @@ from __future__ import annotations + from collections import abc import sys -from pandas._typing import ( - FilePath as FilePath, - FilePathOrBuffer as FilePathOrBuffer, - Scalar as Scalar, - ReadBuffer as ReadBuffer, - AnyStr_cov as AnyStr_cov, - DtypeArg as DtypeArg, - CompressionOptions as CompressionOptions, - StorageOptions as StorageOptions, -) -from pandas.core.frame import DataFrame as DataFrame from typing import ( Any, Callable, @@ -19,10 +9,23 @@ from typing import ( List, Mapping, Optional, + Protocol, Sequence, Union, overload, - Protocol, +) + +from pandas.core.frame import DataFrame as DataFrame + +from pandas._typing import ( + AnyStr_cov as AnyStr_cov, + CompressionOptions as CompressionOptions, + DtypeArg as DtypeArg, + FilePath as FilePath, + FilePathOrBuffer as FilePathOrBuffer, + ReadBuffer as ReadBuffer, + Scalar as Scalar, + StorageOptions as StorageOptions, ) if sys.version_info >= (3, 8): diff --git a/pandas-stubs/io/s3.pyi b/pandas-stubs/io/s3.pyi index dace921a5..6d654b66b 100644 --- a/pandas-stubs/io/s3.pyi +++ b/pandas-stubs/io/s3.pyi @@ -1,5 +1,11 @@ +from typing import ( + IO, + Any, + Optional, + Tuple, +) + from pandas._typing import FilePathOrBuffer as FilePathOrBuffer -from typing import Any, IO, Optional, Tuple s3fs = ... diff --git a/pandas-stubs/io/stata.pyi b/pandas-stubs/io/stata.pyi index 8bbb48660..42b8bc578 100644 --- a/pandas-stubs/io/stata.pyi +++ b/pandas-stubs/io/stata.pyi @@ -1,8 +1,16 @@ -import datetime from collections import abc -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer +import datetime +from typing import ( + Dict, + Hashable, + List, + Optional, + Sequence, +) + from pandas.core.frame import DataFrame as DataFrame -from typing import Dict, Hashable, List, Optional, Sequence + +from pandas._typing import FilePathOrBuffer as FilePathOrBuffer def read_stata( path: FilePathOrBuffer, diff --git a/pandas-stubs/plotting/_core.pyi b/pandas-stubs/plotting/_core.pyi index c8085366d..4d80debbf 100644 --- a/pandas-stubs/plotting/_core.pyi +++ b/pandas-stubs/plotting/_core.pyi @@ -1,7 +1,13 @@ +from typing import ( + List, + Optional, + Tuple, + Union, +) + from matplotlib.axes import Axes as PlotAxes from pandas.core.base import PandasObject as PandasObject from pandas.core.frame import DataFrame -from typing import Optional, List, Tuple, Union def hist_series( self, diff --git a/pandas-stubs/plotting/_matplotlib/__init__.pyi b/pandas-stubs/plotting/_matplotlib/__init__.pyi index de69c6c28..9634b1cfd 100644 --- a/pandas-stubs/plotting/_matplotlib/__init__.pyi +++ b/pandas-stubs/plotting/_matplotlib/__init__.pyi @@ -3,8 +3,14 @@ from .boxplot import ( boxplot_frame as boxplot_frame, boxplot_frame_groupby as boxplot_frame_groupby, ) -from .converter import deregister as deregister, register as register -from .hist import hist_frame as hist_frame, hist_series as hist_series +from .converter import ( + deregister as deregister, + register as register, +) +from .hist import ( + hist_frame as hist_frame, + hist_series as hist_series, +) from .misc import ( andrews_curves as andrews_curves, autocorrelation_plot as autocorrelation_plot, diff --git a/pandas-stubs/plotting/_matplotlib/boxplot.pyi b/pandas-stubs/plotting/_matplotlib/boxplot.pyi index 10a296d25..9a945b6b0 100644 --- a/pandas-stubs/plotting/_matplotlib/boxplot.pyi +++ b/pandas-stubs/plotting/_matplotlib/boxplot.pyi @@ -1,6 +1,8 @@ +from typing import NamedTuple + from matplotlib.axes import Axes as PlotAxes + from pandas.plotting._matplotlib.core import LinePlot as LinePlot -from typing import NamedTuple class BoxPlot(LinePlot): class BoxPlot(NamedTuple): diff --git a/pandas-stubs/plotting/_matplotlib/converter.pyi b/pandas-stubs/plotting/_matplotlib/converter.pyi index 212200a23..e1d52c801 100644 --- a/pandas-stubs/plotting/_matplotlib/converter.pyi +++ b/pandas-stubs/plotting/_matplotlib/converter.pyi @@ -1,6 +1,9 @@ import matplotlib.dates as dates +from matplotlib.ticker import ( + Formatter, + Locator, +) import matplotlib.units as units -from matplotlib.ticker import Formatter, Locator HOURS_PER_DAY: float = ... MIN_PER_HOUR: float = ... diff --git a/pandas-stubs/plotting/_misc.pyi b/pandas-stubs/plotting/_misc.pyi index 8b9ecb6ea..353f10ee4 100644 --- a/pandas-stubs/plotting/_misc.pyi +++ b/pandas-stubs/plotting/_misc.pyi @@ -1,9 +1,18 @@ +from typing import ( + Any, + Dict, + List, + Optional, + Sequence, + Tuple, + Union, +) + from matplotlib.axes import Axes as PlotAxes from matplotlib.figure import Figure import numpy as np -from pandas.core.series import Series from pandas.core.frame import DataFrame -from typing import Any, Dict, List, Optional, Sequence, Tuple, Union +from pandas.core.series import Series def table( ax, diff --git a/pandas-stubs/tseries/frequencies.pyi b/pandas-stubs/tseries/frequencies.pyi index 5d4d875ed..38d787c8c 100644 --- a/pandas-stubs/tseries/frequencies.pyi +++ b/pandas-stubs/tseries/frequencies.pyi @@ -1,6 +1,7 @@ -from pandas.tseries.offsets import DateOffset as DateOffset from typing import Optional +from pandas.tseries.offsets import DateOffset as DateOffset + def get_period_alias(offset_str: str) -> Optional[str]: ... def to_offset(freq) -> Optional[DateOffset]: ... def get_offset(name: str) -> DateOffset: ... diff --git a/pandas-stubs/util/__init__.pyi b/pandas-stubs/util/__init__.pyi index 419df44d6..5e30f6a28 100644 --- a/pandas-stubs/util/__init__.pyi +++ b/pandas-stubs/util/__init__.pyi @@ -1,6 +1,14 @@ from pandas import compat as compat -from pandas.core.util.hashing import hash_array as hash_array, hash_pandas_object as hash_pandas_object -from ._decorators import Appender as Appender, Substitution as Substitution, cache_readonly as cache_readonly +from pandas.core.util.hashing import ( + hash_array as hash_array, + hash_pandas_object as hash_pandas_object, +) + +from ._decorators import ( + Appender as Appender, + Substitution as Substitution, + cache_readonly as cache_readonly, +) def __getattr__(name): ... diff --git a/pandas-stubs/util/_decorators.pyi b/pandas-stubs/util/_decorators.pyi index fabc7ce18..cb16271cb 100644 --- a/pandas-stubs/util/_decorators.pyi +++ b/pandas-stubs/util/_decorators.pyi @@ -1,13 +1,38 @@ -from pandas._libs.properties import cache_readonly as cache_readonly -from typing import Any, Callable, List, Mapping, Optional, Tuple, Type, TypeVar, Union +from typing import ( + Any, + Callable, + List, + Mapping, + Optional, + Tuple, + Type, + TypeVar, + Union, +) +from pandas._libs.properties import cache_readonly as cache_readonly FuncType = Callable[..., Any] -F = TypeVar('F', bound=FuncType) +F = TypeVar("F", bound=FuncType) -def deprecate(name: str, alternative: Callable[..., Any], version: str, alt_name: Optional[str]=..., klass: Optional[Type[Warning]]=..., stacklevel: int=..., msg: Optional[str]=...) -> Callable[..., Any]: ... -def deprecate_kwarg(old_arg_name: str, new_arg_name: Optional[str], mapping: Optional[Union[Mapping[Any, Any], Callable[[Any], Any]]]=..., stacklevel: int=...) -> Callable[..., Any]: ... -def rewrite_axis_style_signature(name: str, extra_params: List[Tuple[str, Any]]) -> Callable[..., Any]: ... +def deprecate( + name: str, + alternative: Callable[..., Any], + version: str, + alt_name: Optional[str] = ..., + klass: Optional[Type[Warning]] = ..., + stacklevel: int = ..., + msg: Optional[str] = ..., +) -> Callable[..., Any]: ... +def deprecate_kwarg( + old_arg_name: str, + new_arg_name: Optional[str], + mapping: Optional[Union[Mapping[Any, Any], Callable[[Any], Any]]] = ..., + stacklevel: int = ..., +) -> Callable[..., Any]: ... +def rewrite_axis_style_signature( + name: str, extra_params: List[Tuple[str, Any]] +) -> Callable[..., Any]: ... class Substitution: params = ... @@ -18,7 +43,9 @@ class Substitution: class Appender: addendum: Optional[str] join = ... - def __init__(self, addendum: Optional[str], join: str=..., indents: int=...) -> None: ... + def __init__( + self, addendum: Optional[str], join: str = ..., indents: int = ... + ) -> None: ... def __call__(self, func: F) -> F: ... -def indent(text: Optional[str], indents: int=...) -> str: ... +def indent(text: Optional[str], indents: int = ...) -> str: ... diff --git a/pandas-stubs/util/_depr_module.pyi b/pandas-stubs/util/_depr_module.pyi index 620871e57..c11f9fb12 100644 --- a/pandas-stubs/util/_depr_module.pyi +++ b/pandas-stubs/util/_depr_module.pyi @@ -6,6 +6,6 @@ class _DeprecatedModule: removals = ... moved = ... self_dir = ... - def __init__(self, deprmod, deprmodto = ..., removals = ..., moved = ...) -> None: ... + def __init__(self, deprmod, deprmodto=..., removals=..., moved=...) -> None: ... def __dir__(self) -> Iterable[str]: ... - def __getattr__(self, name: str) : ... + def __getattr__(self, name: str): ... diff --git a/pandas-stubs/util/_doctools.pyi b/pandas-stubs/util/_doctools.pyi index aa191e99a..3d455cb44 100644 --- a/pandas-stubs/util/_doctools.pyi +++ b/pandas-stubs/util/_doctools.pyi @@ -2,5 +2,7 @@ class TablePlotter: cell_width = ... cell_height = ... font_size = ... - def __init__(self, cell_width: float=..., cell_height: float=..., font_size: float=...) -> None: ... - def plot(self, left, right, labels=..., vertical: bool=...) : ... + def __init__( + self, cell_width: float = ..., cell_height: float = ..., font_size: float = ... + ) -> None: ... + def plot(self, left, right, labels=..., vertical: bool = ...): ... diff --git a/pandas-stubs/util/_exceptions.pyi b/pandas-stubs/util/_exceptions.pyi index 39cb5d4c7..1439a4c59 100644 --- a/pandas-stubs/util/_exceptions.pyi +++ b/pandas-stubs/util/_exceptions.pyi @@ -1 +1 @@ -def rewrite_exception(old_name: str, new_name: str) : ... +def rewrite_exception(old_name: str, new_name: str): ... diff --git a/pandas-stubs/util/_print_versions.pyi b/pandas-stubs/util/_print_versions.pyi index c1e51d6db..ae3b27f3a 100644 --- a/pandas-stubs/util/_print_versions.pyi +++ b/pandas-stubs/util/_print_versions.pyi @@ -1,5 +1,10 @@ -#from pandas.compat._optional import VERSIONS as VERSIONS, import_optional_dependency as import_optional_dependency -from typing import List, Optional, Tuple, Union +# from pandas.compat._optional import VERSIONS as VERSIONS, import_optional_dependency as import_optional_dependency +from typing import ( + List, + Optional, + Tuple, + Union, +) def get_sys_info() -> List[Tuple[str, Optional[Union[str, int]]]]: ... def show_versions(as_json: bool = ...) -> None: ... diff --git a/pandas-stubs/util/_test_decorators.pyi b/pandas-stubs/util/_test_decorators.pyi index 6740fd6d0..fcec28afb 100644 --- a/pandas-stubs/util/_test_decorators.pyi +++ b/pandas-stubs/util/_test_decorators.pyi @@ -1,12 +1,15 @@ -from typing import Callable, Optional +from typing import ( + Callable, + Optional, +) -def safe_import(mod_name: str, min_version: Optional[str]=...) : ... +def safe_import(mod_name: str, min_version: Optional[str] = ...): ... tables = ... xfail_non_writeable = ... def skip_if_installed(package: str) -> Callable: ... -def skip_if_no(package: str, min_version: Optional[str]=...) -> Callable: ... +def skip_if_no(package: str, min_version: Optional[str] = ...) -> Callable: ... skip_if_no_mpl = ... skip_if_mpl = ... @@ -18,7 +21,9 @@ skip_if_not_us_locale = ... skip_if_no_scipy = ... skip_if_no_ne = ... -def skip_if_np_lt(ver_str: str, reason: Optional[str]=..., *args, **kwds) -> Callable: ... +def skip_if_np_lt( + ver_str: str, reason: Optional[str] = ..., *args, **kwds +) -> Callable: ... def parametrize_fixture_doc(*args): ... def check_file_leaks(func) -> Callable: ... def async_mark(): ... diff --git a/pandas-stubs/util/_tester.pyi b/pandas-stubs/util/_tester.pyi index 542f690d1..6c73287c0 100644 --- a/pandas-stubs/util/_tester.pyi +++ b/pandas-stubs/util/_tester.pyi @@ -1 +1 @@ -def test(extra_args = ...) -> None: ... +def test(extra_args=...) -> None: ... diff --git a/pandas-stubs/util/_validators.pyi b/pandas-stubs/util/_validators.pyi index 8a2f51106..c28407771 100644 --- a/pandas-stubs/util/_validators.pyi +++ b/pandas-stubs/util/_validators.pyi @@ -1,9 +1,15 @@ +from typing import ( + Iterable, + Union, +) + import numpy as np -from typing import Iterable, Union def validate_args(fname, args, max_fname_arg_count, compat_args) -> None: ... def validate_kwargs(fname, kwargs, compat_args) -> None: ... -def validate_args_and_kwargs(fname, args, kwargs, max_fname_arg_count, compat_args) -> None: ... +def validate_args_and_kwargs( + fname, args, kwargs, max_fname_arg_count, compat_args +) -> None: ... def validate_bool_kwarg(value, arg_name): ... def validate_axis_style_args(data, args, kwargs, arg_name, method_name): ... def validate_fillna_kwargs(value, method, validate_scalar_dict_value: bool = ...): ... diff --git a/pyproject.toml b/pyproject.toml index 5b5354f2f..6b1984874 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,6 +53,10 @@ build-backend = "poetry.core.masonry.api" help = "Local Code Style Check" script = "scripts.style:check_style" +[tool.poe.tasks.format_style] +help = "Apply Black and Isort Format" +script = "scripts.style:format_style" + [tool.poe.tasks.test_src] help = "LOCAL Test | Run tests against source code version: \"poe test_src -p=\"" script = "scripts.test:test_src(profile, clean_cache)" @@ -122,45 +126,20 @@ help = "CI Test | Run pyright against distribuition" script = "scripts.test.procedures:run_pyright_dist" [tool.black] -line_length = 88 -target_version = ["py39"] +target-version = ['py38', 'py39'] [tool.isort] +known_pre_libs = "pandas._config" +known_pre_core = ["pandas._libs", "pandas._typing", "pandas.util._*", "pandas.compat", "pandas.errors"] +known_dtypes = "pandas.core.dtypes" +known_post_core = ["pandas.tseries", "pandas.io", "pandas.plotting"] +sections = ["FUTURE", "STDLIB", "THIRDPARTY" ,"PRE_LIBS" , "PRE_CORE", "DTYPES", "FIRSTPARTY", "POST_CORE", "LOCALFOLDER"] profile = "black" combine_as_imports = true -line_length = 88 -extra_standard_library = [ - "typing_extensions", - "_typeshed", - # Extra modules not recognized by isort - "_compression", - "_csv", - "_curses", - "_markupbase", - "_random", - "_weakrefset", - "genericpath", - "opcode", - "pyexpat", - # Python 2 modules - "__builtin__", - "cookielib", - "cStringIO", - "httplib", - "mimetools", - "rfc822", - "thread", - "urllib2", - "urlparse", - "BaseHTTPServer", - "Queue", - "SimpleHTTPServer", - "SocketServer", - "StringIO", - "UserDict", - "UserList", - "UserString", -] +force_grid_wrap = 2 +force_sort_within_sections = true +skip_glob = "env" +skip = "pandas-stubs/__init__.pyi" [tool.mypy] # Import discovery diff --git a/scripts/__init__.py b/scripts/__init__.py index 9c40f6cf5..4abc0ef0a 100644 --- a/scripts/__init__.py +++ b/scripts/__init__.py @@ -1,12 +1,12 @@ +from pathlib import Path import sys from loguru import logger -from pathlib import Path -pkg_path = [x for x in sys.path if x.endswith('site-packages')] +pkg_path = [x for x in sys.path if x.endswith("site-packages")] -if not Path(fr'{pkg_path[0]}/my_paths.pth').exists(): - with open(fr'{pkg_path[0]}/my_paths.pth', 'w') as file: +if not Path(rf"{pkg_path[0]}/my_paths.pth").exists(): + with open(rf"{pkg_path[0]}/my_paths.pth", "w") as file: file.write(str(Path.cwd())) diff --git a/scripts/_job.py b/scripts/_job.py index c42a3168d..c5deb880a 100644 --- a/scripts/_job.py +++ b/scripts/_job.py @@ -1,10 +1,16 @@ -import time +from collections import deque from dataclasses import dataclass from subprocess import CalledProcessError -from typing import Callable, List, Optional, Deque +import time +from typing import ( + Callable, + Deque, + List, + Optional, +) from loguru import logger -from collections import deque + @dataclass class Step: @@ -28,7 +34,6 @@ def __rollback_job(steps: Deque[Step]): logger.error(f"Rollback of Step: '{step.name}' failed!") - def run_job(steps: List[Step]) -> None: """ Responsible to run steps with logs. @@ -41,7 +46,7 @@ def run_job(steps: List[Step]) -> None: logger.info(f"Beginning: '{step.name}'") try: - + rollback_steps.append(step) step.run() @@ -49,9 +54,8 @@ def run_job(steps: List[Step]) -> None: logger.error(f"Step: '{step.name}' failed!") __rollback_job(rollback_steps) - + break end = time.perf_counter() logger.success(f"End: '{step.name}', runtime: {end - start:.3f} seconds.") - diff --git a/scripts/style/__init__.py b/scripts/style/__init__.py index 08d0452a2..cb56e485a 100644 --- a/scripts/style/__init__.py +++ b/scripts/style/__init__.py @@ -1,8 +1,23 @@ +from scripts._job import ( + Step, + run_job, +) from scripts.style import procedures -from scripts._job import Step, run_job + def check_style(): - steps = [Step(name="Check Black Style Code", run=procedures.run_black_check), - Step(name="Check Isort Style Code", run=procedures.run_isort_check)] + steps = [ + Step(name="Check Black Style Code", run=procedures.run_black_check), + Step(name="Check Isort Style Code", run=procedures.run_isort_check), + ] + + run_job(steps) + + +def format_style(): + steps = [ + Step(name="Format Black Style Code", run=procedures.run_format_black), + Step(name="Format Isort Style Code", run=procedures.run_format_isort), + ] - run_job(steps) \ No newline at end of file + run_job(steps) diff --git a/scripts/style/procedures.py b/scripts/style/procedures.py index cf5501ffb..807618693 100644 --- a/scripts/style/procedures.py +++ b/scripts/style/procedures.py @@ -2,10 +2,20 @@ def run_black_check(): - cmd = ["black", "--check", "pandas-stubs", "tests"] + cmd = ["black", "--check", "pandas-stubs", "tests", "scripts"] subprocess.run(cmd, check=True) def run_isort_check(): - cmd = ["isort", "--check-only", "pandas-stubs", "tests"] + cmd = ["isort", "--check-only", "pandas-stubs", "tests", "scripts"] + subprocess.run(cmd, check=True) + + +def run_format_black(): + cmd = ["black", "pandas-stubs", "tests", "scripts"] + subprocess.run(cmd, check=True) + + +def run_format_isort(): + cmd = ["isort", "pandas-stubs", "tests", "scripts"] subprocess.run(cmd, check=True) diff --git a/scripts/test/__init__.py b/scripts/test/__init__.py index 5f9332b8d..9f1264f35 100644 --- a/scripts/test/__init__.py +++ b/scripts/test/__init__.py @@ -1,18 +1,28 @@ -from scripts._job import Step, run_job +from scripts._job import ( + Step, + run_job, +) from scripts.test import procedures + def test_src(profile: str, clean_cache: bool = False): steps = [] if clean_cache: - steps.extend([ - Step(name="Clean mypy cache", run=procedures.clean_mypy_cache), - Step(name="Clean pytest cache", run=procedures.clean_pytest_cache) - ]) + steps.extend( + [ + Step(name="Clean mypy cache", run=procedures.clean_mypy_cache), + Step(name="Clean pytest cache", run=procedures.clean_pytest_cache), + ] + ) # Possible steps mypy_step = Step(name="Run Mypy Against Source Code", run=procedures.run_mypy_src) - pyright_step = Step(name="Run Pyright Against Source Code", run=procedures.run_pyright_src) - pytest_step = Step(name="Run Pytest Against Source Code", run=procedures.run_pytest_src) + pyright_step = Step( + name="Run Pyright Against Source Code", run=procedures.run_pyright_src + ) + pytest_step = Step( + name="Run Pytest Against Source Code", run=procedures.run_pytest_src + ) # Defining which test is going to run according to a profile if profile in (None, "", "default"): @@ -30,20 +40,32 @@ def test_src(profile: str, clean_cache: bool = False): def test_dist(clean_cache: bool = False): steps = [] if clean_cache: - steps.extend([ - Step(name="Clean mypy cache", run=procedures.clean_mypy_cache), - Step(name="Clean pytest cache", run=procedures.clean_pytest_cache) - ]) - - steps.extend([ - Step(name="Build Dist", run=procedures.build_dist), - Step(name="Install Dist", run=procedures.install_dist, rollback=procedures.uninstall_dist), - Step(name="Remove Source Code", run=procedures.remove_src, rollback=procedures.restore_src), - Step(name="Run MyPy Against Dist", run=procedures.run_mypy_dist), - Step(name="Run Pyright Against Dist", run=procedures.run_pyright_dist), - Step(name="Uninstall Dist", run=procedures.uninstall_dist), - Step(name="Restore Source Code", run=procedures.restore_src) - ]) + steps.extend( + [ + Step(name="Clean mypy cache", run=procedures.clean_mypy_cache), + Step(name="Clean pytest cache", run=procedures.clean_pytest_cache), + ] + ) + + steps.extend( + [ + Step(name="Build Dist", run=procedures.build_dist), + Step( + name="Install Dist", + run=procedures.install_dist, + rollback=procedures.uninstall_dist, + ), + Step( + name="Remove Source Code", + run=procedures.remove_src, + rollback=procedures.restore_src, + ), + Step(name="Run MyPy Against Dist", run=procedures.run_mypy_dist), + Step(name="Run Pyright Against Dist", run=procedures.run_pyright_dist), + Step(name="Uninstall Dist", run=procedures.uninstall_dist), + Step(name="Restore Source Code", run=procedures.restore_src), + ] + ) run_job(steps) @@ -51,22 +73,36 @@ def test_dist(clean_cache: bool = False): def test_all(clean_cache: bool = False): steps = [] if clean_cache: - steps.extend([ - Step(name="Clean mypy cache", run=procedures.clean_mypy_cache), - Step(name="Clean pytest cache", run=procedures.clean_pytest_cache) - ]) + steps.extend( + [ + Step(name="Clean mypy cache", run=procedures.clean_mypy_cache), + Step(name="Clean pytest cache", run=procedures.clean_pytest_cache), + ] + ) - steps.extend([ - Step(name="Run Mypy Against Source Code", run=procedures.run_mypy_src), - Step(name="Run Pyright Against Source Code", run=procedures.run_pyright_src), - Step(name="Run Pytest Against Source Code", run=procedures.run_pytest_src), - Step(name="Build Dist", run=procedures.build_dist), - Step(name="Install Dist", run=procedures.install_dist, rollback=procedures.uninstall_dist), - Step(name="Remove Source Code", run=procedures.remove_src, rollback=procedures.restore_src), - Step(name="Run MyPy Against Dist", run=procedures.run_mypy_dist), - Step(name="Run Pyright Against Dist", run=procedures.run_pyright_dist), - Step(name="Uninstall Dist", run=procedures.uninstall_dist), - Step(name="Restore Source Code", run=procedures.restore_src) - ]) + steps.extend( + [ + Step(name="Run Mypy Against Source Code", run=procedures.run_mypy_src), + Step( + name="Run Pyright Against Source Code", run=procedures.run_pyright_src + ), + Step(name="Run Pytest Against Source Code", run=procedures.run_pytest_src), + Step(name="Build Dist", run=procedures.build_dist), + Step( + name="Install Dist", + run=procedures.install_dist, + rollback=procedures.uninstall_dist, + ), + Step( + name="Remove Source Code", + run=procedures.remove_src, + rollback=procedures.restore_src, + ), + Step(name="Run MyPy Against Dist", run=procedures.run_mypy_dist), + Step(name="Run Pyright Against Dist", run=procedures.run_pyright_dist), + Step(name="Uninstall Dist", run=procedures.uninstall_dist), + Step(name="Restore Source Code", run=procedures.restore_src), + ] + ) - run_job(steps) \ No newline at end of file + run_job(steps) diff --git a/scripts/test/procedures.py b/scripts/test/procedures.py index 4017c7464..4699c2523 100644 --- a/scripts/test/procedures.py +++ b/scripts/test/procedures.py @@ -1,8 +1,11 @@ +from pathlib import Path import shutil import subprocess -from pathlib import Path -from scripts._job import Step, run_job +from scripts._job import ( + Step, + run_job, +) def run_mypy_src(): @@ -44,6 +47,7 @@ def run_pyright_dist(): cmd = ["pyright", "tests"] subprocess.run(cmd, check=True) + def uninstall_dist(): cmd = ["pip", "uninstall", "-y", "pandas-stubs"] subprocess.run(cmd, check=True) @@ -55,13 +59,13 @@ def restore_src(): def clean_mypy_cache(): - if Path('.mypy_cache').exists(): - shutil.rmtree('.mypy_cache') + if Path(".mypy_cache").exists(): + shutil.rmtree(".mypy_cache") def clean_pytest_cache(): - if Path('.mypy_cache').exists(): - shutil.rmtree('.pytest_cache') + if Path(".mypy_cache").exists(): + shutil.rmtree(".pytest_cache") def create_new_venv(): @@ -73,4 +77,3 @@ def create_new_venv(): cmd = ["poetry", "shell"] subprocess.run(cmd, check=True) - diff --git a/tests/test_frame.py b/tests/test_frame.py index 4b18c27e8..5d20821ac 100644 --- a/tests/test_frame.py +++ b/tests/test_frame.py @@ -1,17 +1,26 @@ # flake8: noqa: F841 -from datetime import date, datetime +from datetime import ( + date, + datetime, +) import io -import tempfile from pathlib import Path -from typing import List, Tuple, Iterable, Any, Union -from typing_extensions import assert_type +import tempfile +from typing import ( + Any, + Iterable, + List, + Tuple, + Union, +) +import numpy as np import pandas as pd from pandas._testing import getSeriesData -from pandas.io.parsers import TextFileReader -import numpy as np - import pytest +from typing_extensions import assert_type + +from pandas.io.parsers import TextFileReader def test_types_init() -> None: diff --git a/tests/test_indexes.py b/tests/test_indexes.py index b31faafb6..11157e6e2 100644 --- a/tests/test_indexes.py +++ b/tests/test_indexes.py @@ -1,8 +1,7 @@ -from typing_extensions import assert_type import numpy as np -import pandas as pd - from numpy import typing as npt +import pandas as pd +from typing_extensions import assert_type def test_index_unique() -> None: diff --git a/tests/test_interval.py b/tests/test_interval.py index 7860ef7c7..55cfe857f 100644 --- a/tests/test_interval.py +++ b/tests/test_interval.py @@ -1,7 +1,8 @@ # flake8: noqa: F841 from typing import TYPE_CHECKING -from typing_extensions import assert_type + import pandas as pd +from typing_extensions import assert_type def test_interval_init() -> None: diff --git a/tests/test_pandas.py b/tests/test_pandas.py index bd823ac91..53bcd4a4f 100644 --- a/tests/test_pandas.py +++ b/tests/test_pandas.py @@ -1,12 +1,17 @@ # flake8: noqa: F841 import tempfile -from typing import Any, Dict, List, Union -from typing_extensions import assert_type - -from pandas.io.parsers import TextFileReader +from typing import ( + Any, + Dict, + List, + Union, +) import numpy as np import pandas as pd +from typing_extensions import assert_type + +from pandas.io.parsers import TextFileReader def test_types_to_datetime() -> None: diff --git a/tests/test_series.py b/tests/test_series.py index 52c3e2daa..1e6fe6263 100644 --- a/tests/test_series.py +++ b/tests/test_series.py @@ -1,17 +1,19 @@ -import tempfile from pathlib import Path -from typing import List, Union, TYPE_CHECKING -from typing_extensions import assert_type - -from pandas._typing import Scalar -from pandas.api.extensions import ExtensionArray +import tempfile +from typing import ( + TYPE_CHECKING, + List, + Union, +) -import pandas as pd import numpy as np - +import pandas as pd +from pandas.api.extensions import ExtensionArray from pandas.core.window import ExponentialMovingWindow - import pytest +from typing_extensions import assert_type + +from pandas._typing import Scalar def test_types_init() -> None: diff --git a/tests/test_testing.py b/tests/test_testing.py index 0f19ab1bb..dfa853abd 100644 --- a/tests/test_testing.py +++ b/tests/test_testing.py @@ -1,6 +1,5 @@ -from pandas.testing import assert_series_equal - import pandas as pd +from pandas.testing import assert_series_equal def test_types_assert_series_equal() -> None: diff --git a/tests/test_timefuncs.py b/tests/test_timefuncs.py index 74ef4fd96..8cea2906c 100644 --- a/tests/test_timefuncs.py +++ b/tests/test_timefuncs.py @@ -1,15 +1,17 @@ # flake8: noqa: F841 -from typing import TYPE_CHECKING -import pandas as pd import datetime as dt -from typing_extensions import assert_type +from typing import TYPE_CHECKING +import pandas as pd from pandas.testing import assert_series_equal - +from typing_extensions import assert_type if TYPE_CHECKING: - from pandas.core.series import TimedeltaSeries, TimestampSeries + from pandas.core.series import ( + TimedeltaSeries, + TimestampSeries, + ) def test_types_init() -> None: