From 9953ad1d054bf339e7e4e7bdac2a7de0ec2ff765 Mon Sep 17 00:00:00 2001 From: Jeroen Kant Date: Tue, 15 Oct 2019 23:29:54 +0200 Subject: [PATCH 1/5] CLN: Fix typing in test_datetimelike.py (#28926) --- pandas/tests/arrays/test_datetimelike.py | 4 +++- setup.cfg | 3 --- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/pandas/tests/arrays/test_datetimelike.py b/pandas/tests/arrays/test_datetimelike.py index 7c482664bca48..5b2888c94f0e9 100644 --- a/pandas/tests/arrays/test_datetimelike.py +++ b/pandas/tests/arrays/test_datetimelike.py @@ -1,9 +1,11 @@ import numpy as np import pytest +from typing import Type, Union from pandas._libs import OutOfBoundsDatetime import pandas as pd +from pandas import DatetimeIndex, TimedeltaIndex, PeriodIndex from pandas.core.arrays import DatetimeArray, PeriodArray, TimedeltaArray import pandas.util.testing as tm @@ -52,7 +54,7 @@ def timedelta_index(request): class SharedTests: - index_cls = None + index_cls = None # type: Type[Union[DatetimeIndex, TimedeltaIndex, PeriodIndex]] def test_compare_len1_raises(self): # make sure we raise when comparing with different lengths, specific diff --git a/setup.cfg b/setup.cfg index 55d25abde585c..9fb1724e688a0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -139,9 +139,6 @@ ignore_errors=True [mypy-pandas.tests.arrays.test_array] ignore_errors=True -[mypy-pandas.tests.arrays.test_datetimelike] -ignore_errors=True - [mypy-pandas.tests.arrays.test_period] ignore_errors=True From 136b9a89a284b19556dbb1f2e5655251183d83ed Mon Sep 17 00:00:00 2001 From: Jeroen Kant Date: Tue, 15 Oct 2019 23:29:54 +0200 Subject: [PATCH 2/5] CLN: Fix typing in test_datetimelike.py (#28926) --- pandas/tests/arrays/test_datetimelike.py | 4 +++- setup.cfg | 3 --- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/pandas/tests/arrays/test_datetimelike.py b/pandas/tests/arrays/test_datetimelike.py index 7c482664bca48..5b2888c94f0e9 100644 --- a/pandas/tests/arrays/test_datetimelike.py +++ b/pandas/tests/arrays/test_datetimelike.py @@ -1,9 +1,11 @@ import numpy as np import pytest +from typing import Type, Union from pandas._libs import OutOfBoundsDatetime import pandas as pd +from pandas import DatetimeIndex, TimedeltaIndex, PeriodIndex from pandas.core.arrays import DatetimeArray, PeriodArray, TimedeltaArray import pandas.util.testing as tm @@ -52,7 +54,7 @@ def timedelta_index(request): class SharedTests: - index_cls = None + index_cls = None # type: Type[Union[DatetimeIndex, TimedeltaIndex, PeriodIndex]] def test_compare_len1_raises(self): # make sure we raise when comparing with different lengths, specific diff --git a/setup.cfg b/setup.cfg index 55d25abde585c..9fb1724e688a0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -139,9 +139,6 @@ ignore_errors=True [mypy-pandas.tests.arrays.test_array] ignore_errors=True -[mypy-pandas.tests.arrays.test_datetimelike] -ignore_errors=True - [mypy-pandas.tests.arrays.test_period] ignore_errors=True From cc5614f02cbaf781aea4fdd922a3c2166f15eb95 Mon Sep 17 00:00:00 2001 From: Jeroen Kant Date: Wed, 16 Oct 2019 08:03:42 +0200 Subject: [PATCH 3/5] CLN: Sorted imports (GH28926) --- pandas/tests/arrays/test_datetimelike.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pandas/tests/arrays/test_datetimelike.py b/pandas/tests/arrays/test_datetimelike.py index 5b2888c94f0e9..3bc0073b6a71d 100644 --- a/pandas/tests/arrays/test_datetimelike.py +++ b/pandas/tests/arrays/test_datetimelike.py @@ -1,11 +1,12 @@ +from typing import Type, Union + import numpy as np import pytest -from typing import Type, Union from pandas._libs import OutOfBoundsDatetime import pandas as pd -from pandas import DatetimeIndex, TimedeltaIndex, PeriodIndex +from pandas import DatetimeIndex, PeriodIndex, TimedeltaIndex from pandas.core.arrays import DatetimeArray, PeriodArray, TimedeltaArray import pandas.util.testing as tm From 5184b16e6f2a92ca7bc806bf3552a284fe564e3b Mon Sep 17 00:00:00 2001 From: Jeroen Kant Date: Wed, 16 Oct 2019 23:38:38 +0200 Subject: [PATCH 4/5] ENH: Added DatetimeLikeIndex alias (GH29014) --- pandas/_typing.py | 4 ++++ pandas/tests/arrays/test_datetimelike.py | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pandas/_typing.py b/pandas/_typing.py index 5afe64f719b8a..f1e9c6c416c57 100644 --- a/pandas/_typing.py +++ b/pandas/_typing.py @@ -11,12 +11,16 @@ from pandas.core.arrays.base import ExtensionArray # noqa: F401 from pandas.core.dtypes.dtypes import ExtensionDtype # noqa: F401 from pandas.core.indexes.base import Index # noqa: F401 + from pandas.core.indexes.datetimes import DatetimeIndex # noqa: F401 + from pandas.core.indexes.period import PeriodIndex # noqa: F401 + from pandas.core.indexes.timedeltas import TimedeltaIndex # noqa: F401 from pandas.core.series import Series # noqa: F401 from pandas.core.generic import NDFrame # noqa: F401 AnyArrayLike = TypeVar("AnyArrayLike", "ExtensionArray", "Index", "Series", np.ndarray) ArrayLike = TypeVar("ArrayLike", "ExtensionArray", np.ndarray) +DatetimeLikeIndex = Union["DatetimeIndex", "PeriodIndex", "TimedeltaIndex"] DatetimeLikeScalar = TypeVar("DatetimeLikeScalar", "Period", "Timestamp", "Timedelta") Dtype = Union[str, np.dtype, "ExtensionDtype"] FilePathOrBuffer = Union[str, Path, IO[AnyStr]] diff --git a/pandas/tests/arrays/test_datetimelike.py b/pandas/tests/arrays/test_datetimelike.py index 3bc0073b6a71d..ab1e726bb4fee 100644 --- a/pandas/tests/arrays/test_datetimelike.py +++ b/pandas/tests/arrays/test_datetimelike.py @@ -1,4 +1,4 @@ -from typing import Type, Union +from typing import Type import numpy as np import pytest @@ -6,7 +6,7 @@ from pandas._libs import OutOfBoundsDatetime import pandas as pd -from pandas import DatetimeIndex, PeriodIndex, TimedeltaIndex +from pandas._typing import DatetimeLikeIndex from pandas.core.arrays import DatetimeArray, PeriodArray, TimedeltaArray import pandas.util.testing as tm @@ -55,7 +55,7 @@ def timedelta_index(request): class SharedTests: - index_cls = None # type: Type[Union[DatetimeIndex, TimedeltaIndex, PeriodIndex]] + index_cls = None # type: Type[DatetimeLikeIndex] def test_compare_len1_raises(self): # make sure we raise when comparing with different lengths, specific From 1e52b081c17213aeb25d73764bf91a5e66ac3aad Mon Sep 17 00:00:00 2001 From: Jeroen Kant Date: Thu, 17 Oct 2019 09:14:21 +0200 Subject: [PATCH 5/5] Revert to local Union defined type (GH29014) --- pandas/_typing.py | 4 ---- pandas/tests/arrays/test_datetimelike.py | 8 +++++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/pandas/_typing.py b/pandas/_typing.py index f1e9c6c416c57..5afe64f719b8a 100644 --- a/pandas/_typing.py +++ b/pandas/_typing.py @@ -11,16 +11,12 @@ from pandas.core.arrays.base import ExtensionArray # noqa: F401 from pandas.core.dtypes.dtypes import ExtensionDtype # noqa: F401 from pandas.core.indexes.base import Index # noqa: F401 - from pandas.core.indexes.datetimes import DatetimeIndex # noqa: F401 - from pandas.core.indexes.period import PeriodIndex # noqa: F401 - from pandas.core.indexes.timedeltas import TimedeltaIndex # noqa: F401 from pandas.core.series import Series # noqa: F401 from pandas.core.generic import NDFrame # noqa: F401 AnyArrayLike = TypeVar("AnyArrayLike", "ExtensionArray", "Index", "Series", np.ndarray) ArrayLike = TypeVar("ArrayLike", "ExtensionArray", np.ndarray) -DatetimeLikeIndex = Union["DatetimeIndex", "PeriodIndex", "TimedeltaIndex"] DatetimeLikeScalar = TypeVar("DatetimeLikeScalar", "Period", "Timestamp", "Timedelta") Dtype = Union[str, np.dtype, "ExtensionDtype"] FilePathOrBuffer = Union[str, Path, IO[AnyStr]] diff --git a/pandas/tests/arrays/test_datetimelike.py b/pandas/tests/arrays/test_datetimelike.py index ab1e726bb4fee..117a19acbfc3a 100644 --- a/pandas/tests/arrays/test_datetimelike.py +++ b/pandas/tests/arrays/test_datetimelike.py @@ -1,4 +1,4 @@ -from typing import Type +from typing import Type, Union import numpy as np import pytest @@ -6,8 +6,10 @@ from pandas._libs import OutOfBoundsDatetime import pandas as pd -from pandas._typing import DatetimeLikeIndex from pandas.core.arrays import DatetimeArray, PeriodArray, TimedeltaArray +from pandas.core.indexes.datetimes import DatetimeIndex +from pandas.core.indexes.period import PeriodIndex +from pandas.core.indexes.timedeltas import TimedeltaIndex import pandas.util.testing as tm @@ -55,7 +57,7 @@ def timedelta_index(request): class SharedTests: - index_cls = None # type: Type[DatetimeLikeIndex] + index_cls = None # type: Type[Union[DatetimeIndex, PeriodIndex, TimedeltaIndex]] def test_compare_len1_raises(self): # make sure we raise when comparing with different lengths, specific