diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ed6600fee..d06410a68 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,7 +14,7 @@ repos: hooks: - id: absolufy-imports - repo: https://github.com/asottile/reorder-python-imports - rev: v3.16.0 + rev: v3.17.0 hooks: - id: reorder-python-imports exclude: doc/ @@ -50,7 +50,7 @@ repos: - id: detect-private-key # code style - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.15.9 + rev: v0.16.1 hooks: - id: ruff-check - id: ruff-format @@ -70,6 +70,6 @@ repos: - id: rst-inline-touching-normal - id: text-unicode-replacement-char - repo: https://github.com/codespell-project/codespell - rev: v2.4.2 + rev: v2.4.3 hooks: - id: codespell diff --git a/doc/source/guide/tips_about_accessor.ipynb b/doc/source/guide/tips_about_accessor.ipynb index 368501576..917d03efe 100644 --- a/doc/source/guide/tips_about_accessor.ipynb +++ b/doc/source/guide/tips_about_accessor.ipynb @@ -57,8 +57,8 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", "import numpy as np\n", + "import pandas as pd\n", "\n", "\n", "@pd.api.extensions.register_dataframe_accessor(\"geo\")\n", @@ -228,8 +228,7 @@ "metadata": {}, "outputs": [], "source": [ - "from dtoolkit.accessor import register_dataframe_method\n", - "from dtoolkit.accessor import register_series_method\n", + "from dtoolkit.accessor import register_dataframe_method, register_series_method\n", "\n", "\n", "@register_dataframe_method(\"col\")\n", diff --git a/dtoolkit/_typing.py b/dtoolkit/_typing.py index dd3428720..e4861d440 100644 --- a/dtoolkit/_typing.py +++ b/dtoolkit/_typing.py @@ -3,7 +3,6 @@ import numpy as np import pandas as pd - SeriesOrFrame = pd.Series | pd.DataFrame TwoDimArray = np.ndarray | pd.DataFrame diff --git a/dtoolkit/accessor/__init__.py b/dtoolkit/accessor/__init__.py index 2e320dde1..9485cf59d 100644 --- a/dtoolkit/accessor/__init__.py +++ b/dtoolkit/accessor/__init__.py @@ -1,7 +1,9 @@ -import dtoolkit.accessor.dataframe # noqa: F401 -import dtoolkit.accessor.index # noqa: F401 +import dtoolkit.accessor.dataframe +import dtoolkit.accessor.index import dtoolkit.accessor.series # noqa: F401 -from dtoolkit.accessor.register import register_dataframe_method # noqa: F401 -from dtoolkit.accessor.register import register_index_method # noqa: F401 -from dtoolkit.accessor.register import register_method_factory # noqa: F401 -from dtoolkit.accessor.register import register_series_method # noqa: F401 +from dtoolkit.accessor.register import ( + register_dataframe_method, # noqa: F401 + register_index_method, # noqa: F401 + register_method_factory, # noqa: F401 + register_series_method, # noqa: F401 +) diff --git a/dtoolkit/accessor/dataframe/drop_not_duplicates.py b/dtoolkit/accessor/dataframe/drop_not_duplicates.py index 519269e00..e0d77faf9 100644 --- a/dtoolkit/accessor/dataframe/drop_not_duplicates.py +++ b/dtoolkit/accessor/dataframe/drop_not_duplicates.py @@ -1,6 +1,5 @@ -from collections.abc import Hashable +from collections.abc import Hashable, Sequence from typing import Literal -from typing import Sequence import pandas as pd diff --git a/dtoolkit/accessor/dataframe/fillna_regression.py b/dtoolkit/accessor/dataframe/fillna_regression.py index 5b9b4358b..53654bcaa 100644 --- a/dtoolkit/accessor/dataframe/fillna_regression.py +++ b/dtoolkit/accessor/dataframe/fillna_regression.py @@ -1,8 +1,7 @@ from __future__ import annotations from collections.abc import Hashable -from typing import Literal -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Literal import pandas as pd diff --git a/dtoolkit/accessor/dataframe/filter_in.py b/dtoolkit/accessor/dataframe/filter_in.py index ba425bb70..5c61ee22d 100644 --- a/dtoolkit/accessor/dataframe/filter_in.py +++ b/dtoolkit/accessor/dataframe/filter_in.py @@ -1,5 +1,4 @@ -from collections.abc import Hashable -from typing import Iterable +from collections.abc import Hashable, Iterable from typing import Literal import pandas as pd diff --git a/dtoolkit/accessor/dataframe/weighted_mean.py b/dtoolkit/accessor/dataframe/weighted_mean.py index 7e53dae7b..a90c5386c 100644 --- a/dtoolkit/accessor/dataframe/weighted_mean.py +++ b/dtoolkit/accessor/dataframe/weighted_mean.py @@ -1,11 +1,9 @@ from collections.abc import Hashable import pandas as pd -from pandas.api.types import is_dict_like -from pandas.api.types import is_number +from pandas.api.types import is_dict_like, is_number -from dtoolkit._typing import Number -from dtoolkit._typing import SeriesOrFrame +from dtoolkit._typing import Number, SeriesOrFrame from dtoolkit.accessor.register import register_dataframe_method diff --git a/dtoolkit/accessor/register.py b/dtoolkit/accessor/register.py index 0e5963b3a..53562e46f 100644 --- a/dtoolkit/accessor/register.py +++ b/dtoolkit/accessor/register.py @@ -1,9 +1,11 @@ +from collections.abc import Callable from functools import wraps -from typing import Callable -from pandas.api.extensions import register_dataframe_accessor -from pandas.api.extensions import register_index_accessor -from pandas.api.extensions import register_series_accessor +from pandas.api.extensions import ( + register_dataframe_accessor, + register_index_accessor, + register_series_accessor, +) from pandas.util._decorators import doc from dtoolkit._typing import SeriesOrFrame diff --git a/dtoolkit/accessor/series/error_report.py b/dtoolkit/accessor/series/error_report.py index a8a402db7..e0dfd46d2 100644 --- a/dtoolkit/accessor/series/error_report.py +++ b/dtoolkit/accessor/series/error_report.py @@ -1,7 +1,6 @@ import pandas as pd -from dtoolkit._typing import Number -from dtoolkit._typing import OneDimArray +from dtoolkit._typing import Number, OneDimArray from dtoolkit.accessor.register import register_series_method diff --git a/dtoolkit/accessor/series/expand.py b/dtoolkit/accessor/series/expand.py index 0925bddda..c614971c2 100644 --- a/dtoolkit/accessor/series/expand.py +++ b/dtoolkit/accessor/series/expand.py @@ -1,6 +1,5 @@ -from collections.abc import Hashable +from collections.abc import Hashable, Iterable from textwrap import dedent -from typing import Iterable import pandas as pd from pandas.api.types import is_list_like diff --git a/dtoolkit/accessor/series/filter_in.py b/dtoolkit/accessor/series/filter_in.py index 0b8547b17..767e91dbf 100644 --- a/dtoolkit/accessor/series/filter_in.py +++ b/dtoolkit/accessor/series/filter_in.py @@ -1,4 +1,4 @@ -from typing import Iterable +from collections.abc import Iterable import pandas as pd diff --git a/dtoolkit/accessor/series/getattr.py b/dtoolkit/accessor/series/getattr.py index 399308697..0938a496f 100644 --- a/dtoolkit/accessor/series/getattr.py +++ b/dtoolkit/accessor/series/getattr.py @@ -2,7 +2,6 @@ from dtoolkit.accessor.register import register_series_method - get_attr = getattr diff --git a/dtoolkit/accessor/series/textdistance.py b/dtoolkit/accessor/series/textdistance.py index 7f651ddb9..bfd289ec1 100644 --- a/dtoolkit/accessor/series/textdistance.py +++ b/dtoolkit/accessor/series/textdistance.py @@ -1,5 +1,5 @@ +from collections.abc import Callable from functools import lru_cache -from typing import Callable from warnings import warn import pandas as pd diff --git a/dtoolkit/accessor/series/textdistance_matrix.py b/dtoolkit/accessor/series/textdistance_matrix.py index 4a3d931fe..07538379e 100644 --- a/dtoolkit/accessor/series/textdistance_matrix.py +++ b/dtoolkit/accessor/series/textdistance_matrix.py @@ -1,4 +1,4 @@ -from typing import Callable +from collections.abc import Callable import pandas as pd diff --git a/dtoolkit/accessor/series/to_zh.py b/dtoolkit/accessor/series/to_zh.py index 8b269e83f..898175aa7 100644 --- a/dtoolkit/accessor/series/to_zh.py +++ b/dtoolkit/accessor/series/to_zh.py @@ -5,7 +5,6 @@ from dtoolkit.accessor.register import register_series_method - LOCALIZATION = Literal[ "zh-hans", "zh-hant", diff --git a/dtoolkit/geoaccessor/__init__.py b/dtoolkit/geoaccessor/__init__.py index c99b32303..3c9673b74 100644 --- a/dtoolkit/geoaccessor/__init__.py +++ b/dtoolkit/geoaccessor/__init__.py @@ -1,8 +1,14 @@ -from dtoolkit.geoaccessor import dataframe # noqa: F401 -from dtoolkit.geoaccessor import geodataframe # noqa: F401 -from dtoolkit.geoaccessor import geoseries # noqa: F401 -from dtoolkit.geoaccessor import series # noqa: F401 -from dtoolkit.geoaccessor.accessor import register_geodataframe_accessor # noqa: F401 -from dtoolkit.geoaccessor.accessor import register_geoseries_accessor # noqa: F401 -from dtoolkit.geoaccessor.register import register_geodataframe_method # noqa: F401 -from dtoolkit.geoaccessor.register import register_geoseries_method # noqa: F401 +from dtoolkit.geoaccessor import ( + dataframe, # noqa: F401 + geodataframe, # noqa: F401 + geoseries, # noqa: F401 + series, # noqa: F401 +) +from dtoolkit.geoaccessor.accessor import ( + register_geodataframe_accessor, # noqa: F401 + register_geoseries_accessor, # noqa: F401 +) +from dtoolkit.geoaccessor.register import ( + register_geodataframe_method, # noqa: F401 + register_geoseries_method, # noqa: F401 +) diff --git a/dtoolkit/geoaccessor/dataframe/from_wkb.py b/dtoolkit/geoaccessor/dataframe/from_wkb.py index 51624b82c..5f5dc401a 100644 --- a/dtoolkit/geoaccessor/dataframe/from_wkb.py +++ b/dtoolkit/geoaccessor/dataframe/from_wkb.py @@ -9,7 +9,6 @@ from dtoolkit.accessor.register import register_dataframe_method from dtoolkit.geoaccessor.dataframe.to_geoframe import to_geoframe - if TYPE_CHECKING: from pyproj import CRS diff --git a/dtoolkit/geoaccessor/dataframe/from_wkt.py b/dtoolkit/geoaccessor/dataframe/from_wkt.py index 3719fbd5b..75f1a2288 100644 --- a/dtoolkit/geoaccessor/dataframe/from_wkt.py +++ b/dtoolkit/geoaccessor/dataframe/from_wkt.py @@ -9,7 +9,6 @@ from dtoolkit.accessor.register import register_dataframe_method from dtoolkit.geoaccessor.dataframe.to_geoframe import to_geoframe - if TYPE_CHECKING: from pyproj import CRS diff --git a/dtoolkit/geoaccessor/dataframe/from_xy.py b/dtoolkit/geoaccessor/dataframe/from_xy.py index 139d89155..a8e079b9e 100644 --- a/dtoolkit/geoaccessor/dataframe/from_xy.py +++ b/dtoolkit/geoaccessor/dataframe/from_xy.py @@ -9,7 +9,6 @@ from dtoolkit.accessor.register import register_dataframe_method from dtoolkit.geoaccessor.dataframe.to_geoframe import to_geoframe - if TYPE_CHECKING: from pyproj import CRS diff --git a/dtoolkit/geoaccessor/dataframe/geocode.py b/dtoolkit/geoaccessor/dataframe/geocode.py index a14bf2fe6..d86fecf94 100644 --- a/dtoolkit/geoaccessor/dataframe/geocode.py +++ b/dtoolkit/geoaccessor/dataframe/geocode.py @@ -10,7 +10,6 @@ from dtoolkit.accessor.register import register_dataframe_method from dtoolkit.geoaccessor.series import geocode as s_geocode - if TYPE_CHECKING: import geopy.geocoders diff --git a/dtoolkit/geoaccessor/geodataframe/filter_geometry.py b/dtoolkit/geoaccessor/geodataframe/filter_geometry.py index 35edf45db..6f2ea170a 100644 --- a/dtoolkit/geoaccessor/geodataframe/filter_geometry.py +++ b/dtoolkit/geoaccessor/geodataframe/filter_geometry.py @@ -6,11 +6,12 @@ from pandas.util._decorators import doc from dtoolkit.geoaccessor.geoseries import filter_geometry as s_filter_geometry -from dtoolkit.geoaccessor.geoseries.filter_geometry import _filter_geometry -from dtoolkit.geoaccessor.geoseries.filter_geometry import BINARY_PREDICATE +from dtoolkit.geoaccessor.geoseries.filter_geometry import ( + BINARY_PREDICATE, + _filter_geometry, +) from dtoolkit.geoaccessor.register import register_geodataframe_method - if TYPE_CHECKING: from shapely.geometry.base import BaseGeometry diff --git a/dtoolkit/geoaccessor/geodataframe/geobuffer.py b/dtoolkit/geoaccessor/geodataframe/geobuffer.py index 25b9b2eaa..316216230 100644 --- a/dtoolkit/geoaccessor/geodataframe/geobuffer.py +++ b/dtoolkit/geoaccessor/geodataframe/geobuffer.py @@ -3,8 +3,7 @@ import geopandas as gpd from pandas.util._decorators import doc -from dtoolkit._typing import Number -from dtoolkit._typing import OneDimArray +from dtoolkit._typing import Number, OneDimArray from dtoolkit.geoaccessor.geoseries import geobuffer as s_geobuffer from dtoolkit.geoaccessor.register import register_geodataframe_method diff --git a/dtoolkit/geoaccessor/geodataframe/voronoi.py b/dtoolkit/geoaccessor/geodataframe/voronoi.py index 91cf9085b..88819944d 100644 --- a/dtoolkit/geoaccessor/geodataframe/voronoi.py +++ b/dtoolkit/geoaccessor/geodataframe/voronoi.py @@ -9,8 +9,7 @@ from dtoolkit.geoaccessor.register import register_geodataframe_method if TYPE_CHECKING: - from shapely import MultiPolygon - from shapely import Polygon + from shapely import MultiPolygon, Polygon @register_geodataframe_method diff --git a/dtoolkit/geoaccessor/geoseries/cncrs_offset.py b/dtoolkit/geoaccessor/geoseries/cncrs_offset.py index 41413f82b..ebd664d59 100644 --- a/dtoolkit/geoaccessor/geoseries/cncrs_offset.py +++ b/dtoolkit/geoaccessor/geoseries/cncrs_offset.py @@ -1,5 +1,4 @@ -from typing import get_args -from typing import Literal +from typing import Literal, get_args import geopandas as gpd import numpy as np diff --git a/dtoolkit/geoaccessor/geoseries/duplicated_geometry.py b/dtoolkit/geoaccessor/geoseries/duplicated_geometry.py index 1a2db9179..6af1671c2 100644 --- a/dtoolkit/geoaccessor/geoseries/duplicated_geometry.py +++ b/dtoolkit/geoaccessor/geoseries/duplicated_geometry.py @@ -3,8 +3,8 @@ import geopandas as gpd import pandas as pd -from dtoolkit.geoaccessor.geoseries.duplicated_geometry_groups import BINARY_PREDICATE from dtoolkit.geoaccessor.geoseries.duplicated_geometry_groups import ( + BINARY_PREDICATE, duplicated_geometry_groups, ) from dtoolkit.geoaccessor.register import register_geoseries_method diff --git a/dtoolkit/geoaccessor/geoseries/duplicated_geometry_groups.py b/dtoolkit/geoaccessor/geoseries/duplicated_geometry_groups.py index 8f26de9a7..8586cac53 100644 --- a/dtoolkit/geoaccessor/geoseries/duplicated_geometry_groups.py +++ b/dtoolkit/geoaccessor/geoseries/duplicated_geometry_groups.py @@ -3,11 +3,12 @@ import geopandas as gpd import pandas as pd -from dtoolkit.accessor.series import set_unique_index # noqa: F401 -from dtoolkit.accessor.series import swap_index_values # noqa: F401 +from dtoolkit.accessor.series import ( + set_unique_index, # noqa: F401 + swap_index_values, # noqa: F401 +) from dtoolkit.geoaccessor.register import register_geoseries_method - BINARY_PREDICATE = Literal[ "intersects", "crosses", diff --git a/dtoolkit/geoaccessor/geoseries/filter_geometry.py b/dtoolkit/geoaccessor/geoseries/filter_geometry.py index 8fa73c7d9..7d16b5cb9 100644 --- a/dtoolkit/geoaccessor/geoseries/filter_geometry.py +++ b/dtoolkit/geoaccessor/geoseries/filter_geometry.py @@ -1,8 +1,6 @@ from __future__ import annotations -from typing import get_args -from typing import Literal -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Literal, get_args import geopandas as gpd import pandas as pd @@ -11,7 +9,6 @@ from dtoolkit.accessor.series import invert_or_not # noqa: F401 from dtoolkit.geoaccessor.register import register_geoseries_method - if TYPE_CHECKING: from shapely.geometry.base import BaseGeometry diff --git a/dtoolkit/geoaccessor/geoseries/geobuffer.py b/dtoolkit/geoaccessor/geoseries/geobuffer.py index e82a4eb46..4d472c67b 100644 --- a/dtoolkit/geoaccessor/geoseries/geobuffer.py +++ b/dtoolkit/geoaccessor/geoseries/geobuffer.py @@ -1,15 +1,12 @@ -from warnings import catch_warnings -from warnings import simplefilter +from warnings import catch_warnings, simplefilter import geopandas as gpd import numpy as np import pandas as pd -from pandas.api.types import is_list_like -from pandas.api.types import is_number +from pandas.api.types import is_list_like, is_number from pandas.util._decorators import doc -from dtoolkit._typing import Number -from dtoolkit._typing import OneDimArray +from dtoolkit._typing import Number, OneDimArray from dtoolkit.geoaccessor.register import register_geoseries_method diff --git a/dtoolkit/geoaccessor/geoseries/select_geom_type.py b/dtoolkit/geoaccessor/geoseries/select_geom_type.py index 48a95393c..e17dd9254 100644 --- a/dtoolkit/geoaccessor/geoseries/select_geom_type.py +++ b/dtoolkit/geoaccessor/geoseries/select_geom_type.py @@ -6,7 +6,6 @@ from dtoolkit.accessor.series import invert_or_not from dtoolkit.geoaccessor.register import register_geoseries_method - GEOM_TYPE = Literal[ "Point", "MultiPoint", diff --git a/dtoolkit/geoaccessor/index/h3.py b/dtoolkit/geoaccessor/index/h3.py index 1a0e59768..05c44e2cd 100644 --- a/dtoolkit/geoaccessor/index/h3.py +++ b/dtoolkit/geoaccessor/index/h3.py @@ -7,8 +7,7 @@ from pandas.core.base import NoNewAttributesMixin from pandas.util._decorators import doc -from dtoolkit.geoaccessor.index.is_h3 import apply_h3 -from dtoolkit.geoaccessor.index.is_h3 import is_h3 +from dtoolkit.geoaccessor.index.is_h3 import apply_h3, is_h3 def available_if(func): diff --git a/dtoolkit/geoaccessor/index/is_h3.py b/dtoolkit/geoaccessor/index/is_h3.py index ee0d5bedf..d30d1d826 100644 --- a/dtoolkit/geoaccessor/index/is_h3.py +++ b/dtoolkit/geoaccessor/index/is_h3.py @@ -1,8 +1,7 @@ from functools import partial import pandas as pd -from pandas.api.types import is_integer_dtype -from pandas.api.types import is_string_dtype +from pandas.api.types import is_integer_dtype, is_string_dtype from pandas.util._decorators import doc from dtoolkit.accessor.register import register_index_method diff --git a/dtoolkit/geoaccessor/register.py b/dtoolkit/geoaccessor/register.py index 188d5133a..87ec1f064 100644 --- a/dtoolkit/geoaccessor/register.py +++ b/dtoolkit/geoaccessor/register.py @@ -1,8 +1,10 @@ from pandas.util._decorators import doc from dtoolkit.accessor.register import register_method_factory -from dtoolkit.geoaccessor.accessor import register_geodataframe_accessor -from dtoolkit.geoaccessor.accessor import register_geoseries_accessor +from dtoolkit.geoaccessor.accessor import ( + register_geodataframe_accessor, + register_geoseries_accessor, +) @register_method_factory diff --git a/dtoolkit/geoaccessor/series/from_wkb.py b/dtoolkit/geoaccessor/series/from_wkb.py index 362b469e8..31f48b36d 100644 --- a/dtoolkit/geoaccessor/series/from_wkb.py +++ b/dtoolkit/geoaccessor/series/from_wkb.py @@ -8,7 +8,6 @@ from dtoolkit.accessor.register import register_series_method from dtoolkit.geoaccessor.series.to_geoframe import to_geoframe - if TYPE_CHECKING: from pyproj import CRS diff --git a/dtoolkit/geoaccessor/series/from_wkt.py b/dtoolkit/geoaccessor/series/from_wkt.py index f435c1d13..6bd267335 100644 --- a/dtoolkit/geoaccessor/series/from_wkt.py +++ b/dtoolkit/geoaccessor/series/from_wkt.py @@ -8,7 +8,6 @@ from dtoolkit.accessor.register import register_series_method from dtoolkit.geoaccessor.series.to_geoframe import to_geoframe - if TYPE_CHECKING: from pyproj import CRS diff --git a/dtoolkit/transformer/GeoKMeans.py b/dtoolkit/transformer/GeoKMeans.py index 29959ade8..453fd00b0 100644 --- a/dtoolkit/transformer/GeoKMeans.py +++ b/dtoolkit/transformer/GeoKMeans.py @@ -4,24 +4,29 @@ import scipy.sparse as sp from pandas.util._decorators import doc from sklearn.cluster import KMeans -from sklearn.cluster._k_means_common import _inertia_dense -from sklearn.cluster._k_means_common import _inertia_sparse -from sklearn.cluster._k_means_common import _is_same_clustering -from sklearn.cluster._k_means_elkan import elkan_iter_chunked_dense -from sklearn.cluster._k_means_elkan import elkan_iter_chunked_sparse -from sklearn.cluster._k_means_elkan import init_bounds_dense -from sklearn.cluster._k_means_elkan import init_bounds_sparse +from sklearn.cluster._k_means_common import ( + _inertia_dense, + _inertia_sparse, + _is_same_clustering, +) +from sklearn.cluster._k_means_elkan import ( + elkan_iter_chunked_dense, + elkan_iter_chunked_sparse, + init_bounds_dense, + init_bounds_sparse, +) from sklearn.cluster._kmeans import _kmeans_plusplus as sklearn_kmeans_plusplus from sklearn.cluster._kmeans import _kmeans_single_elkan as sklearn_kmeans_single_elkan from sklearn.exceptions import ConvergenceWarning from sklearn.metrics.pairwise import haversine_distances -from sklearn.utils import check_array -from sklearn.utils import check_random_state +from sklearn.utils import check_array, check_random_state from sklearn.utils._openmp_helpers import _openmp_effective_n_threads from sklearn.utils.extmath import stable_cumsum -from sklearn.utils.validation import _check_sample_weight -from sklearn.utils.validation import _is_arraylike_not_scalar -from sklearn.utils.validation import validate_data +from sklearn.utils.validation import ( + _check_sample_weight, + _is_arraylike_not_scalar, + validate_data, +) class GeoKMeans(KMeans): diff --git a/dtoolkit/util/parallelize.py b/dtoolkit/util/parallelize.py index 68a138481..ae74ebbd6 100644 --- a/dtoolkit/util/parallelize.py +++ b/dtoolkit/util/parallelize.py @@ -1,6 +1,5 @@ +from collections.abc import Callable, Iterable from functools import partial -from typing import Callable -from typing import Iterable from typing import Literal diff --git a/setup.py b/setup.py index 714c61f48..e58617032 100644 --- a/setup.py +++ b/setup.py @@ -8,9 +8,10 @@ # https://github.com/python-versioneer/python-versioneer/issues/193 sys.path.append(os.path.dirname(__file__)) -from versioneer import get_cmdclass # noqa: E402 -from versioneer import get_version # noqa: E402 - +from versioneer import ( + get_cmdclass, + get_version, +) setup( version=get_version(), diff --git a/test/accessor/dataframe/test_decompose.py b/test/accessor/dataframe/test_decompose.py index 0ae546cf9..af51faf86 100644 --- a/test/accessor/dataframe/test_decompose.py +++ b/test/accessor/dataframe/test_decompose.py @@ -4,7 +4,6 @@ from dtoolkit.accessor.dataframe import decompose # noqa: F401 - decomposition = pytest.importorskip("sklearn.decomposition") diff --git a/test/accessor/dataframe/test_filter_in.py b/test/accessor/dataframe/test_filter_in.py index 73f4d9e1d..880fdf2a5 100644 --- a/test/accessor/dataframe/test_filter_in.py +++ b/test/accessor/dataframe/test_filter_in.py @@ -4,7 +4,6 @@ from dtoolkit.accessor.dataframe import filter_in # noqa: F401 - df = pd.DataFrame( { "legs": [2, 4, 2], diff --git a/test/accessor/dataframe/test_to_series.py b/test/accessor/dataframe/test_to_series.py index 52118153a..83751480d 100644 --- a/test/accessor/dataframe/test_to_series.py +++ b/test/accessor/dataframe/test_to_series.py @@ -1,7 +1,6 @@ import pandas as pd import pytest -from pandas.testing import assert_frame_equal -from pandas.testing import assert_series_equal +from pandas.testing import assert_frame_equal, assert_series_equal from dtoolkit.accessor.dataframe import to_series # noqa: F401 diff --git a/test/accessor/dataframe/test_values_to_dict.py b/test/accessor/dataframe/test_values_to_dict.py index 90ffb2fd5..2f04ef5f0 100644 --- a/test/accessor/dataframe/test_values_to_dict.py +++ b/test/accessor/dataframe/test_values_to_dict.py @@ -1,8 +1,10 @@ import pandas as pd import pytest -from dtoolkit.accessor.dataframe import repeat # noqa: F401 -from dtoolkit.accessor.dataframe import values_to_dict # noqa: F401 +from dtoolkit.accessor.dataframe import ( + repeat, # noqa: F401 + values_to_dict, # noqa: F401 +) @pytest.mark.parametrize( diff --git a/test/accessor/dataframe/test_weighted_mean.py b/test/accessor/dataframe/test_weighted_mean.py index 71311d78c..342fd6da2 100644 --- a/test/accessor/dataframe/test_weighted_mean.py +++ b/test/accessor/dataframe/test_weighted_mean.py @@ -1,7 +1,6 @@ import pandas as pd import pytest -from pandas.testing import assert_frame_equal -from pandas.testing import assert_series_equal +from pandas.testing import assert_frame_equal, assert_series_equal from dtoolkit.accessor.dataframe import weighted_mean diff --git a/test/accessor/series/test_drop_inf.py b/test/accessor/series/test_drop_inf.py index 3efe2cca4..19df85de9 100644 --- a/test/accessor/series/test_drop_inf.py +++ b/test/accessor/series/test_drop_inf.py @@ -4,8 +4,7 @@ from pandas.testing import assert_series_equal from dtoolkit.accessor.series import drop_inf # noqa: F401 -from test.accessor.data import s -from test.accessor.data import s_inf +from test.accessor.data import s, s_inf @pytest.mark.parametrize( diff --git a/test/accessor/series/test_textdistance.py b/test/accessor/series/test_textdistance.py index 717a77a6a..a27f20828 100644 --- a/test/accessor/series/test_textdistance.py +++ b/test/accessor/series/test_textdistance.py @@ -4,7 +4,6 @@ from dtoolkit.accessor.series import textdistance - rapidfuzz = pytest.importorskip("rapidfuzz") diff --git a/test/accessor/series/test_textdistance_matrix.py b/test/accessor/series/test_textdistance_matrix.py index 6d56e4d79..b12fb9b15 100644 --- a/test/accessor/series/test_textdistance_matrix.py +++ b/test/accessor/series/test_textdistance_matrix.py @@ -4,7 +4,6 @@ from dtoolkit.accessor.series import textdistance_matrix - rapidfuzz = pytest.importorskip("rapidfuzz") diff --git a/test/accessor/series/test_to_zh.py b/test/accessor/series/test_to_zh.py index 9463ecee8..3d79b28c6 100644 --- a/test/accessor/series/test_to_zh.py +++ b/test/accessor/series/test_to_zh.py @@ -3,7 +3,6 @@ from dtoolkit.accessor.series.to_zh import to_zh - pytest.importorskip("zhconv") diff --git a/test/accessor/test_register.py b/test/accessor/test_register.py index 979af5180..7ddf87250 100644 --- a/test/accessor/test_register.py +++ b/test/accessor/test_register.py @@ -1,9 +1,11 @@ import pandas as pd import pytest -from dtoolkit.accessor.register import register_dataframe_method -from dtoolkit.accessor.register import register_index_method -from dtoolkit.accessor.register import register_series_method +from dtoolkit.accessor.register import ( + register_dataframe_method, + register_index_method, + register_series_method, +) def base_name_or_columns(pd_obj): diff --git a/test/geoaccessor/dataframe/test_from_wkb.py b/test/geoaccessor/dataframe/test_from_wkb.py index 31f08f150..056c545a0 100644 --- a/test/geoaccessor/dataframe/test_from_wkb.py +++ b/test/geoaccessor/dataframe/test_from_wkb.py @@ -2,8 +2,7 @@ import pandas as pd from pandas.testing import assert_frame_equal -from dtoolkit.geoaccessor.dataframe import from_wkb -from dtoolkit.geoaccessor.dataframe import from_wkt +from dtoolkit.geoaccessor.dataframe import from_wkb, from_wkt def test_csv(): diff --git a/test/geoaccessor/dataframe/test_h3.py b/test/geoaccessor/dataframe/test_h3.py index 64dabcffb..2a7b6bc93 100644 --- a/test/geoaccessor/dataframe/test_h3.py +++ b/test/geoaccessor/dataframe/test_h3.py @@ -4,7 +4,6 @@ from dtoolkit.geoaccessor.series import H3 # noqa: F401 - pytest.importorskip("h3") diff --git a/test/geoaccessor/dataframe/test_to_series.py b/test/geoaccessor/dataframe/test_to_series.py index c505b3ca3..6508c5737 100644 --- a/test/geoaccessor/dataframe/test_to_series.py +++ b/test/geoaccessor/dataframe/test_to_series.py @@ -2,12 +2,10 @@ # while the input is `GeoDataFrame`. import pandas as pd import pytest -from pandas.testing import assert_frame_equal -from pandas.testing import assert_series_equal +from pandas.testing import assert_frame_equal, assert_series_equal from dtoolkit.accessor.dataframe import to_series # noqa: F401 - gpd = pytest.importorskip("geopandas") diff --git a/test/geoaccessor/geodataframe/test_geobuffer.py b/test/geoaccessor/geodataframe/test_geobuffer.py index b7ad633dd..91642bfd4 100644 --- a/test/geoaccessor/geodataframe/test_geobuffer.py +++ b/test/geoaccessor/geodataframe/test_geobuffer.py @@ -5,7 +5,6 @@ from dtoolkit.geoaccessor.geodataframe import geobuffer # noqa: F401 - df = gpd.GeoSeries.from_wkt( [ "Point(120 50)", diff --git a/test/geoaccessor/geoseries/test_cncrs_offset.py b/test/geoaccessor/geoseries/test_cncrs_offset.py index 619d3880a..c3479724d 100644 --- a/test/geoaccessor/geoseries/test_cncrs_offset.py +++ b/test/geoaccessor/geoseries/test_cncrs_offset.py @@ -112,7 +112,7 @@ def test_error(s, from_crs, to_crs, error): gpd.GeoSeries.from_wkt( [ "POINT (128.5365893261212 37.058754503281534)", - "LINESTRING (119.9935908161529 29.99366216605467, 121.99343069916875 32.994279907228055)", # noqa: E501 + "LINESTRING (119.9935908161529 29.99366216605467, 121.99343069916875 32.994279907228055)", ], crs=4326, ), diff --git a/test/geoaccessor/geoseries/test_filter_geometry.py b/test/geoaccessor/geoseries/test_filter_geometry.py index b62a118f3..4f7ddd80a 100644 --- a/test/geoaccessor/geoseries/test_filter_geometry.py +++ b/test/geoaccessor/geoseries/test_filter_geometry.py @@ -1,10 +1,7 @@ import geopandas as gpd import pytest from geopandas.testing import assert_geoseries_equal -from shapely import box -from shapely import LineString -from shapely import Point -from shapely import Polygon +from shapely import LineString, Point, Polygon, box from dtoolkit.geoaccessor.geoseries import filter_geometry diff --git a/test/geoaccessor/geoseries/test_geobuffer.py b/test/geoaccessor/geoseries/test_geobuffer.py index 118469672..a0da4ad56 100644 --- a/test/geoaccessor/geoseries/test_geobuffer.py +++ b/test/geoaccessor/geoseries/test_geobuffer.py @@ -5,7 +5,6 @@ from dtoolkit.geoaccessor.geoseries import geobuffer # noqa: F401 - s = gpd.GeoSeries.from_wkt( [ "Point(120 50)", diff --git a/test/geoaccessor/geoseries/test_reverse_geocode.py b/test/geoaccessor/geoseries/test_reverse_geocode.py index 7a8902045..6741d730c 100644 --- a/test/geoaccessor/geoseries/test_reverse_geocode.py +++ b/test/geoaccessor/geoseries/test_reverse_geocode.py @@ -3,7 +3,6 @@ from dtoolkit.geoaccessor.geoseries import reverse_geocode - pytest.importorskip("geopy") diff --git a/test/geoaccessor/geoseries/test_to_h3.py b/test/geoaccessor/geoseries/test_to_h3.py index 81fcd0bbb..6edeb992f 100644 --- a/test/geoaccessor/geoseries/test_to_h3.py +++ b/test/geoaccessor/geoseries/test_to_h3.py @@ -1,13 +1,10 @@ import geopandas as gpd import pytest from geopandas.testing import assert_geoseries_equal -from shapely import LineString -from shapely import Point -from shapely import Polygon +from shapely import LineString, Point, Polygon from dtoolkit.geoaccessor.geoseries import to_h3 - pytest.importorskip("h3") diff --git a/test/geoaccessor/geoseries/test_voronoi.py b/test/geoaccessor/geoseries/test_voronoi.py index 6d5d0915e..494e1812d 100644 --- a/test/geoaccessor/geoseries/test_voronoi.py +++ b/test/geoaccessor/geoseries/test_voronoi.py @@ -1,7 +1,6 @@ import geopandas as gpd import pytest -from shapely import LineString -from shapely import Point +from shapely import LineString, Point from dtoolkit.geoaccessor.geoseries import voronoi diff --git a/test/geoaccessor/index/test_h3.py b/test/geoaccessor/index/test_h3.py index dda2b50e6..6a997ccf2 100644 --- a/test/geoaccessor/index/test_h3.py +++ b/test/geoaccessor/index/test_h3.py @@ -5,7 +5,6 @@ from dtoolkit.geoaccessor.index import H3 - pytest.importorskip("h3") diff --git a/test/geoaccessor/index/test_is_h3.py b/test/geoaccessor/index/test_is_h3.py index a3e3afa4d..bd3807960 100644 --- a/test/geoaccessor/index/test_is_h3.py +++ b/test/geoaccessor/index/test_is_h3.py @@ -3,7 +3,6 @@ from dtoolkit.geoaccessor.index import is_h3 - pytest.importorskip("h3") diff --git a/test/geoaccessor/series/test_from_wkb.py b/test/geoaccessor/series/test_from_wkb.py index b3358146a..fd102b024 100644 --- a/test/geoaccessor/series/test_from_wkb.py +++ b/test/geoaccessor/series/test_from_wkb.py @@ -10,9 +10,9 @@ ( pd.Series( [ - b"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?", # noqa: E501 - b"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@", # noqa: E501 - b"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\x08@", # noqa: E501 + b"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?", + b"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@", + b"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\x08@", ], ), ValueError, diff --git a/test/geoaccessor/series/test_geocode.py b/test/geoaccessor/series/test_geocode.py index d010fb65a..f19b97df3 100644 --- a/test/geoaccessor/series/test_geocode.py +++ b/test/geoaccessor/series/test_geocode.py @@ -6,7 +6,6 @@ from dtoolkit.geoaccessor.series import geocode - pytest.importorskip("geopy") diff --git a/test/geoaccessor/series/test_h3.py b/test/geoaccessor/series/test_h3.py index 5f69c71d0..5602865ed 100644 --- a/test/geoaccessor/series/test_h3.py +++ b/test/geoaccessor/series/test_h3.py @@ -3,7 +3,6 @@ from dtoolkit.geoaccessor.series import H3 - pytest.importorskip("h3") diff --git a/test/geoaccessor/series/test_to_geoframe.py b/test/geoaccessor/series/test_to_geoframe.py index 0e14a82ca..9f0f0d313 100644 --- a/test/geoaccessor/series/test_to_geoframe.py +++ b/test/geoaccessor/series/test_to_geoframe.py @@ -5,7 +5,7 @@ from geopandas.testing import assert_geodataframe_equal from shapely import Point -from dtoolkit.geoaccessor.series import to_geoframe # noqa: F401 +from dtoolkit.geoaccessor.series import to_geoframe @pytest.mark.parametrize( diff --git a/test/geoaccessor/test_accessor.py b/test/geoaccessor/test_accessor.py index b1cfc190e..b7f5c37d5 100644 --- a/test/geoaccessor/test_accessor.py +++ b/test/geoaccessor/test_accessor.py @@ -1,12 +1,13 @@ import warnings -from contextlib import contextmanager -from contextlib import suppress +from contextlib import contextmanager, suppress import geopandas as gpd import pytest -from dtoolkit.geoaccessor.accessor import register_geodataframe_accessor -from dtoolkit.geoaccessor.accessor import register_geoseries_accessor +from dtoolkit.geoaccessor.accessor import ( + register_geodataframe_accessor, + register_geoseries_accessor, +) my_wkts = [ "POINT (1 1)", diff --git a/test/geoaccessor/test_register.py b/test/geoaccessor/test_register.py index 3563d0b56..c74a9bea9 100644 --- a/test/geoaccessor/test_register.py +++ b/test/geoaccessor/test_register.py @@ -3,8 +3,10 @@ import pytest from pandas.testing import assert_series_equal -from dtoolkit.geoaccessor.register import register_geodataframe_method -from dtoolkit.geoaccessor.register import register_geoseries_method +from dtoolkit.geoaccessor.register import ( + register_geodataframe_method, + register_geoseries_method, +) @register_geodataframe_method