This is an automated email from the ASF dual-hosted git repository.

jiayu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sedona.git


The following commit(s) were added to refs/heads/master by this push:
     new 37f8132d7 [CI] Add pre-commit hook `isort` to sort Python imports 
(#1633)
37f8132d7 is described below

commit 37f8132d7e0ee8703c00751821017449440930d7
Author: John Bampton <[email protected]>
AuthorDate: Sun Oct 13 12:07:18 2024 +1000

    [CI] Add pre-commit hook `isort` to sort Python imports (#1633)
    
    "isort is a Python utility / library to sort imports alphabetically and 
automatically separate into sections and by type."
    
    https://github.com/PyCQA/isort
    
    https://pycqa.github.io/isort/docs/configuration/pre-commit.html
    
    https://pycqa.github.io/isort/docs/configuration/black_compatibility.html
---
 .pre-commit-config.yaml                            |  5 +++
 pyproject.toml                                     |  2 +
 python/sedona/core/SpatialRDD/__init__.py          |  6 +--
 python/sedona/core/SpatialRDD/linestring_rdd.py    |  6 +--
 python/sedona/core/SpatialRDD/point_rdd.py         |  8 ++--
 python/sedona/core/SpatialRDD/polygon_rdd.py       |  8 ++--
 python/sedona/core/SpatialRDD/rectangle_rdd.py     |  6 +--
 python/sedona/core/SpatialRDD/spatial_rdd.py       | 13 +++---
 python/sedona/core/formatMapper/__init__.py        |  2 +-
 python/sedona/core/formatMapper/disc_utils.py      |  2 +-
 python/sedona/core/formatMapper/geo_json_reader.py |  4 +-
 .../shapefileParser/shape_file_reader.py           |  4 +-
 python/sedona/core/formatMapper/wkb_reader.py      |  4 +-
 python/sedona/core/formatMapper/wkt_reader.py      |  4 +-
 python/sedona/core/geom/circle.py                  |  1 -
 python/sedona/core/geom/envelope.py                |  1 -
 python/sedona/core/geom/shapely1/circle.py         |  6 +--
 python/sedona/core/geom/shapely1/envelope.py       |  7 ++--
 python/sedona/core/geom/shapely2/circle.py         |  6 +--
 python/sedona/core/geom/shapely2/envelope.py       |  5 ++-
 python/sedona/core/jvm/config.py                   |  7 ++--
 python/sedona/core/spatialOperator/__init__.py     |  4 +-
 python/sedona/core/spatialOperator/join_query.py   |  2 +-
 .../sedona/core/spatialOperator/join_query_raw.py  |  4 +-
 python/sedona/core/spatialOperator/knn_query.py    |  2 +-
 python/sedona/core/spatialOperator/range_query.py  |  2 +-
 .../sedona/core/spatialOperator/range_query_raw.py |  2 +-
 python/sedona/core/spatialOperator/rdd.py          |  2 +-
 python/sedona/maps/SedonaMapUtils.py               |  1 +
 python/sedona/maps/SedonaPyDeck.py                 |  6 +--
 python/sedona/raster/data_buffer.py                |  3 +-
 python/sedona/raster/meta.py                       |  2 +-
 python/sedona/raster/raster_serde.py               | 17 ++++----
 python/sedona/raster/sample_model.py               |  3 +-
 python/sedona/raster/sedona_raster.py              |  9 ++--
 python/sedona/raster_utils/SedonaUtils.py          |  2 +-
 python/sedona/spark/__init__.py                    | 48 +++++++++++-----------
 python/sedona/sql/dataframe_api.py                 | 15 ++-----
 python/sedona/sql/st_aggregates.py                 |  1 -
 python/sedona/sql/st_constructors.py               |  2 -
 python/sedona/sql/st_functions.py                  |  4 +-
 python/sedona/sql/st_predicates.py                 |  4 +-
 python/sedona/sql/types.py                         |  4 +-
 python/sedona/utils/__init__.py                    |  3 +-
 python/sedona/utils/adapter.py                     |  2 +-
 python/sedona/utils/decorators.py                  |  2 +-
 python/sedona/utils/geometry_serde.py              | 21 +++++-----
 python/sedona/utils/geometry_serde_general.py      |  3 +-
 python/sedona/utils/meta.py                        |  3 +-
 python/sedona/utils/prep.py                        | 10 ++---
 python/sedona/utils/spatial_rdd_parser.py          |  3 +-
 python/setup.py                                    |  4 +-
 python/tests/__init__.py                           |  1 -
 .../core/test_avoiding_python_jvm_serde_df.py      | 13 +++---
 .../core/test_avoiding_python_jvm_serde_to_rdd.py  | 14 +++----
 python/tests/core/test_config.py                   |  3 +-
 python/tests/core/test_core_geom_primitives.py     |  3 +-
 python/tests/core/test_core_rdd.py                 |  6 +--
 python/tests/core/test_rdd.py                      | 23 +++++------
 python/tests/core/test_spatial_rdd_from_disc.py    | 24 +++++------
 python/tests/format_mapper/test_geo_json_reader.py |  7 ++--
 .../tests/format_mapper/test_shapefile_reader.py   |  6 +--
 python/tests/format_mapper/test_wkb_reader.py      |  3 +-
 python/tests/format_mapper/test_wkt_reader.py      |  3 +-
 .../tests/maps/test_sedonakepler_visualization.py  | 14 ++++---
 python/tests/maps/test_sedonapydeck.py             | 13 +++---
 python/tests/properties/crs_transform.py           |  2 +-
 python/tests/properties/linestring_properties.py   |  3 +-
 python/tests/properties/point_properties.py        |  3 +-
 python/tests/properties/polygon_properties.py      |  3 +-
 python/tests/raster/test_meta.py                   |  3 +-
 python/tests/raster/test_pandas_udf.py             | 12 +++---
 python/tests/raster/test_serde.py                  |  9 ++--
 python/tests/raster_viz_utils/test_sedonautils.py  |  5 ++-
 python/tests/serialization/test_deserializers.py   | 13 +++---
 .../serialization/test_direct_serialization.py     |  2 +-
 .../tests/serialization/test_rdd_serialization.py  |  5 ++-
 python/tests/serialization/test_serializers.py     | 17 ++++----
 .../tests/serialization/test_with_sc_parellize.py  |  6 +--
 python/tests/spatial_operator/test_join_base.py    |  6 +--
 .../test_join_query_correctness.py                 | 10 ++---
 .../tests/spatial_operator/test_linestring_join.py |  7 ++--
 .../tests/spatial_operator/test_linestring_knn.py  |  8 ++--
 .../spatial_operator/test_linestring_range.py      |  8 ++--
 python/tests/spatial_operator/test_point_join.py   |  7 ++--
 python/tests/spatial_operator/test_point_knn.py    |  8 ++--
 python/tests/spatial_operator/test_point_range.py  |  9 ++--
 python/tests/spatial_operator/test_polygon_join.py |  7 ++--
 python/tests/spatial_operator/test_polygon_knn.py  |  8 ++--
 .../tests/spatial_operator/test_polygon_range.py   |  9 ++--
 .../tests/spatial_operator/test_rectangle_join.py  |  5 ++-
 .../tests/spatial_operator/test_rectangle_knn.py   | 10 ++---
 .../tests/spatial_operator/test_rectangle_range.py |  9 ++--
 python/tests/spatial_rdd/test_circle_rdd.py        |  7 ++--
 python/tests/spatial_rdd/test_linestring_rdd.py    | 15 +++----
 python/tests/spatial_rdd/test_point_rdd.py         | 21 +++++-----
 python/tests/spatial_rdd/test_polygon_rdd.py       | 27 ++++++------
 python/tests/spatial_rdd/test_rectangle_rdd.py     |  8 ++--
 python/tests/spatial_rdd/test_spatial_rdd.py       |  6 +--
 .../tests/spatial_rdd/test_spatial_rdd_writer.py   |  6 +--
 python/tests/sql/test_adapter.py                   | 22 +++++-----
 python/tests/sql/test_aggregate_functions.py       |  1 -
 python/tests/sql/test_constructor_test.py          |  6 +--
 python/tests/sql/test_dataframe_api.py             | 18 ++++----
 python/tests/sql/test_function.py                  | 15 +++----
 python/tests/sql/test_geoparquet.py                | 18 ++++----
 python/tests/sql/test_predicate.py                 |  4 +-
 python/tests/sql/test_predicate_join.py            | 15 ++++---
 python/tests/sql/test_shapefile.py                 |  4 +-
 .../sql/test_spatial_rdd_to_spatial_dataframe.py   | 11 +++--
 python/tests/sql/test_st_function_imports.py       | 10 ++---
 python/tests/stats/test_dbscan.py                  |  5 +--
 python/tests/streaming/spark/cases_builder.py      |  2 +-
 .../streaming/spark/test_constructor_functions.py  | 12 +++---
 python/tests/test_assign_raw_spatial_rdd.py        |  5 ++-
 python/tests/test_base.py                          |  1 +
 python/tests/test_circle.py                        |  1 -
 python/tests/test_scala_example.py                 | 12 +++---
 python/tests/utils/test_crs_transformation.py      |  9 ++--
 python/tests/utils/test_geo_spark_meta.py          |  3 +-
 python/tests/utils/test_geometry_serde.py          |  8 ++--
 python/tests/utils/test_geomserde_speedup.py       |  6 +--
 122 files changed, 448 insertions(+), 454 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 69dd4cb29..9fdcd749f 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -14,6 +14,11 @@ repos:
     rev: 24.10.0
     hooks:
       - id: black-jupyter
+  - repo: https://github.com/pycqa/isort
+    rev: 5.13.2
+    hooks:
+      - id: isort
+        name: isort (python)
   - repo: https://github.com/codespell-project/codespell
     rev: v2.3.0
     hooks:
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 000000000..5d7bf33d9
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,2 @@
+[tool.isort]
+profile = "black"
diff --git a/python/sedona/core/SpatialRDD/__init__.py 
b/python/sedona/core/SpatialRDD/__init__.py
index c39df7835..368af1fcd 100644
--- a/python/sedona/core/SpatialRDD/__init__.py
+++ b/python/sedona/core/SpatialRDD/__init__.py
@@ -15,13 +15,11 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from .point_rdd import PointRDD
 from .circle_rdd import CircleRDD
 from .linestring_rdd import LineStringRDD
+from .point_rdd import PointRDD
 from .polygon_rdd import PolygonRDD
-from .rectangle_rdd import RectangleRDD
-from .rectangle_rdd import SpatialRDD
-
+from .rectangle_rdd import RectangleRDD, SpatialRDD
 
 __all__ = [
     "PolygonRDD",
diff --git a/python/sedona/core/SpatialRDD/linestring_rdd.py 
b/python/sedona/core/SpatialRDD/linestring_rdd.py
index 63df1587c..fcdf9450e 100644
--- a/python/sedona/core/SpatialRDD/linestring_rdd.py
+++ b/python/sedona/core/SpatialRDD/linestring_rdd.py
@@ -15,13 +15,13 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from pyspark import SparkContext, StorageLevel, RDD
+from pyspark import RDD, SparkContext, StorageLevel
 
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD, JvmSpatialRDD
-from sedona.core.SpatialRDD.spatial_rdd_factory import SpatialRDDFactory
 from sedona.core.enums import FileDataSplitter
 from sedona.core.enums.file_data_splitter import FileSplitterJvm
 from sedona.core.jvm.translate import PythonRddToJavaRDDAdapter
+from sedona.core.SpatialRDD.spatial_rdd import JvmSpatialRDD, SpatialRDD
+from sedona.core.SpatialRDD.spatial_rdd_factory import SpatialRDDFactory
 from sedona.utils.meta import MultipleMeta
 
 
diff --git a/python/sedona/core/SpatialRDD/point_rdd.py 
b/python/sedona/core/SpatialRDD/point_rdd.py
index dbe401db6..54205cad6 100644
--- a/python/sedona/core/SpatialRDD/point_rdd.py
+++ b/python/sedona/core/SpatialRDD/point_rdd.py
@@ -15,12 +15,12 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from pyspark import SparkContext, StorageLevel, RDD
+from pyspark import RDD, SparkContext, StorageLevel
 
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD, JvmSpatialRDD
-from sedona.core.SpatialRDD.spatial_rdd_factory import SpatialRDDFactory
-from sedona.core.enums.file_data_splitter import FileSplitterJvm, 
FileDataSplitter
+from sedona.core.enums.file_data_splitter import FileDataSplitter, 
FileSplitterJvm
 from sedona.core.jvm.translate import PythonRddToJavaRDDAdapter
+from sedona.core.SpatialRDD.spatial_rdd import JvmSpatialRDD, SpatialRDD
+from sedona.core.SpatialRDD.spatial_rdd_factory import SpatialRDDFactory
 from sedona.utils.meta import MultipleMeta
 
 
diff --git a/python/sedona/core/SpatialRDD/polygon_rdd.py 
b/python/sedona/core/SpatialRDD/polygon_rdd.py
index 072776980..ab6dfa463 100644
--- a/python/sedona/core/SpatialRDD/polygon_rdd.py
+++ b/python/sedona/core/SpatialRDD/polygon_rdd.py
@@ -15,12 +15,12 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from pyspark import SparkContext, StorageLevel, RDD
+from pyspark import RDD, SparkContext, StorageLevel
 
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD, JvmSpatialRDD
-from sedona.core.SpatialRDD.spatial_rdd_factory import SpatialRDDFactory
-from sedona.core.enums.file_data_splitter import FileSplitterJvm, 
FileDataSplitter
+from sedona.core.enums.file_data_splitter import FileDataSplitter, 
FileSplitterJvm
 from sedona.core.jvm.translate import PythonRddToJavaRDDAdapter
+from sedona.core.SpatialRDD.spatial_rdd import JvmSpatialRDD, SpatialRDD
+from sedona.core.SpatialRDD.spatial_rdd_factory import SpatialRDDFactory
 from sedona.utils.meta import MultipleMeta
 
 
diff --git a/python/sedona/core/SpatialRDD/rectangle_rdd.py 
b/python/sedona/core/SpatialRDD/rectangle_rdd.py
index d5de40d5b..3d8e457ef 100644
--- a/python/sedona/core/SpatialRDD/rectangle_rdd.py
+++ b/python/sedona/core/SpatialRDD/rectangle_rdd.py
@@ -15,11 +15,11 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from pyspark import SparkContext, StorageLevel, RDD
+from pyspark import RDD, SparkContext, StorageLevel
 
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD, JvmSpatialRDD
+from sedona.core.enums.file_data_splitter import FileDataSplitter, 
FileSplitterJvm
+from sedona.core.SpatialRDD.spatial_rdd import JvmSpatialRDD, SpatialRDD
 from sedona.core.SpatialRDD.spatial_rdd_factory import SpatialRDDFactory
-from sedona.core.enums.file_data_splitter import FileSplitterJvm, 
FileDataSplitter
 from sedona.utils.jvm import JvmStorageLevel
 from sedona.utils.meta import MultipleMeta
 
diff --git a/python/sedona/core/SpatialRDD/spatial_rdd.py 
b/python/sedona/core/SpatialRDD/spatial_rdd.py
index 5b3376437..a373309d8 100644
--- a/python/sedona/core/SpatialRDD/spatial_rdd.py
+++ b/python/sedona/core/SpatialRDD/spatial_rdd.py
@@ -16,20 +16,19 @@
 #  under the License.
 
 import pickle
-from typing import Optional, List, Union
+from typing import List, Optional, Union
 
 import attr
 from py4j.java_gateway import get_field
-from pyspark import SparkContext, RDD
+from pyspark import RDD, SparkContext, StorageLevel
 from pyspark.sql import SparkSession
-from pyspark import StorageLevel
 
-from sedona.core.SpatialRDD.spatial_rdd_factory import SpatialRDDFactory
-from sedona.core.enums.grid_type import GridTypeJvm, GridType
-from sedona.core.enums.index_type import IndexTypeJvm, IndexType
+from sedona.core.enums.grid_type import GridType, GridTypeJvm
+from sedona.core.enums.index_type import IndexType, IndexTypeJvm
 from sedona.core.enums.spatial import SpatialType
 from sedona.core.geom.envelope import Envelope
-from sedona.core.jvm.translate import SedonaPythonConverter, 
JvmSedonaPythonConverter
+from sedona.core.jvm.translate import JvmSedonaPythonConverter, 
SedonaPythonConverter
+from sedona.core.SpatialRDD.spatial_rdd_factory import SpatialRDDFactory
 from sedona.utils.decorators import require
 from sedona.utils.jvm import JvmStorageLevel
 from sedona.utils.spatial_rdd_parser import SedonaPickler
diff --git a/python/sedona/core/formatMapper/__init__.py 
b/python/sedona/core/formatMapper/__init__.py
index 0daadc217..29315b894 100644
--- a/python/sedona/core/formatMapper/__init__.py
+++ b/python/sedona/core/formatMapper/__init__.py
@@ -16,7 +16,7 @@
 #  under the License.
 
 from .geo_json_reader import GeoJsonReader
-from .wkt_reader import WktReader
 from .wkb_reader import WkbReader
+from .wkt_reader import WktReader
 
 __all__ = ["GeoJsonReader", "WktReader", "WkbReader"]
diff --git a/python/sedona/core/formatMapper/disc_utils.py 
b/python/sedona/core/formatMapper/disc_utils.py
index 34d6d1748..e5b8256d3 100644
--- a/python/sedona/core/formatMapper/disc_utils.py
+++ b/python/sedona/core/formatMapper/disc_utils.py
@@ -19,8 +19,8 @@ from enum import Enum
 
 from pyspark import SparkContext
 
-from sedona.core.SpatialRDD import SpatialRDD, PolygonRDD, LineStringRDD, 
PointRDD
 from sedona.core.jvm.translate import SpatialObjectLoaderAdapter
+from sedona.core.SpatialRDD import LineStringRDD, PointRDD, PolygonRDD, 
SpatialRDD
 from sedona.utils.decorators import require
 
 
diff --git a/python/sedona/core/formatMapper/geo_json_reader.py 
b/python/sedona/core/formatMapper/geo_json_reader.py
index e0eeec695..7b1784f0c 100644
--- a/python/sedona/core/formatMapper/geo_json_reader.py
+++ b/python/sedona/core/formatMapper/geo_json_reader.py
@@ -15,10 +15,10 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from pyspark import SparkContext, RDD
+from pyspark import RDD, SparkContext
 
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.core.formatMapper.geo_reader import GeoDataReader
+from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.utils.meta import MultipleMeta
 
 
diff --git 
a/python/sedona/core/formatMapper/shapefileParser/shape_file_reader.py 
b/python/sedona/core/formatMapper/shapefileParser/shape_file_reader.py
index 48efe0eba..4c4560965 100644
--- a/python/sedona/core/formatMapper/shapefileParser/shape_file_reader.py
+++ b/python/sedona/core/formatMapper/shapefileParser/shape_file_reader.py
@@ -18,9 +18,9 @@
 import attr
 from pyspark import SparkContext
 
-from sedona.core.SpatialRDD import PolygonRDD, PointRDD, LineStringRDD
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.core.formatMapper.geo_reader import GeoDataReader
+from sedona.core.SpatialRDD import LineStringRDD, PointRDD, PolygonRDD
+from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.utils.meta import MultipleMeta
 
 
diff --git a/python/sedona/core/formatMapper/wkb_reader.py 
b/python/sedona/core/formatMapper/wkb_reader.py
index 23cc27c9d..45bbc5acd 100644
--- a/python/sedona/core/formatMapper/wkb_reader.py
+++ b/python/sedona/core/formatMapper/wkb_reader.py
@@ -15,10 +15,10 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from pyspark import SparkContext, RDD
+from pyspark import RDD, SparkContext
 
-from sedona.core.SpatialRDD import SpatialRDD
 from sedona.core.formatMapper.geo_reader import GeoDataReader
+from sedona.core.SpatialRDD import SpatialRDD
 from sedona.utils.meta import MultipleMeta
 
 
diff --git a/python/sedona/core/formatMapper/wkt_reader.py 
b/python/sedona/core/formatMapper/wkt_reader.py
index 499bbbda5..7d5689ece 100644
--- a/python/sedona/core/formatMapper/wkt_reader.py
+++ b/python/sedona/core/formatMapper/wkt_reader.py
@@ -15,10 +15,10 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from pyspark import SparkContext, RDD
+from pyspark import RDD, SparkContext
 
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.core.formatMapper.geo_reader import GeoDataReader
+from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.utils.meta import MultipleMeta
 
 
diff --git a/python/sedona/core/geom/circle.py 
b/python/sedona/core/geom/circle.py
index 669259da5..9550ea2c6 100644
--- a/python/sedona/core/geom/circle.py
+++ b/python/sedona/core/geom/circle.py
@@ -17,7 +17,6 @@
 
 import shapely
 
-
 if shapely.__version__.startswith("2."):
     from .shapely2.circle import Circle
 else:
diff --git a/python/sedona/core/geom/envelope.py 
b/python/sedona/core/geom/envelope.py
index db2ec5c4c..5456f2a42 100644
--- a/python/sedona/core/geom/envelope.py
+++ b/python/sedona/core/geom/envelope.py
@@ -17,7 +17,6 @@
 
 import shapely
 
-
 if shapely.__version__.startswith("2."):
     from .shapely2.envelope import Envelope
 else:
diff --git a/python/sedona/core/geom/shapely1/circle.py 
b/python/sedona/core/geom/shapely1/circle.py
index 787468f52..f227e748c 100644
--- a/python/sedona/core/geom/shapely1/circle.py
+++ b/python/sedona/core/geom/shapely1/circle.py
@@ -18,12 +18,12 @@
 from math import sqrt
 
 from shapely.geometry import (
-    Polygon,
-    Point,
     LineString,
+    MultiLineString,
     MultiPoint,
     MultiPolygon,
-    MultiLineString,
+    Point,
+    Polygon,
 )
 from shapely.geometry.base import BaseGeometry
 
diff --git a/python/sedona/core/geom/shapely1/envelope.py 
b/python/sedona/core/geom/shapely1/envelope.py
index bb16cbc30..df49e6150 100644
--- a/python/sedona/core/geom/shapely1/envelope.py
+++ b/python/sedona/core/geom/shapely1/envelope.py
@@ -15,12 +15,13 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from shapely.geometry import Polygon, Point
+import math
+import pickle
+
+from shapely.geometry import Point, Polygon
 from shapely.geometry.base import BaseGeometry
 
 from sedona.utils.decorators import require
-import math
-import pickle
 
 
 class Envelope(Polygon):
diff --git a/python/sedona/core/geom/shapely2/circle.py 
b/python/sedona/core/geom/shapely2/circle.py
index 3147fc1f9..859d1ef3b 100644
--- a/python/sedona/core/geom/shapely2/circle.py
+++ b/python/sedona/core/geom/shapely2/circle.py
@@ -18,12 +18,12 @@
 from math import sqrt
 
 from shapely.geometry import (
-    Polygon,
-    Point,
     LineString,
+    MultiLineString,
     MultiPoint,
     MultiPolygon,
-    MultiLineString,
+    Point,
+    Polygon,
     box,
 )
 from shapely.geometry.base import BaseGeometry
diff --git a/python/sedona/core/geom/shapely2/envelope.py 
b/python/sedona/core/geom/shapely2/envelope.py
index fb9543416..6a5aeb078 100644
--- a/python/sedona/core/geom/shapely2/envelope.py
+++ b/python/sedona/core/geom/shapely2/envelope.py
@@ -15,12 +15,13 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
+import math
+import pickle
+
 from shapely.geometry import Polygon, box
 from shapely.geometry.base import BaseGeometry
 
 from sedona.utils.decorators import require
-import math
-import pickle
 
 
 class Envelope(Polygon):
diff --git a/python/sedona/core/jvm/config.py b/python/sedona/core/jvm/config.py
index d1fbc918d..177571279 100644
--- a/python/sedona/core/jvm/config.py
+++ b/python/sedona/core/jvm/config.py
@@ -15,17 +15,18 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
+import functools
+import inspect
 import logging
 import os
+import warnings
 from re import findall
 from typing import Optional, Tuple
 
 from py4j.protocol import Py4JJavaError
 from pyspark.sql import SparkSession
+
 from sedona.utils.decorators import classproperty
-import functools
-import inspect
-import warnings
 
 string_types = (type(b""), type(""))
 
diff --git a/python/sedona/core/spatialOperator/__init__.py 
b/python/sedona/core/spatialOperator/__init__.py
index fc9e5f678..034600d4a 100644
--- a/python/sedona/core/spatialOperator/__init__.py
+++ b/python/sedona/core/spatialOperator/__init__.py
@@ -16,9 +16,9 @@
 #  under the License.
 
 from .join_query import JoinQuery
-from .range_query import RangeQuery
-from .knn_query import KNNQuery
 from .join_query_raw import JoinQueryRaw
+from .knn_query import KNNQuery
+from .range_query import RangeQuery
 from .range_query_raw import RangeQueryRaw
 
 __all__ = ["JoinQuery", "RangeQuery", "KNNQuery", "JoinQueryRaw", 
"RangeQueryRaw"]
diff --git a/python/sedona/core/spatialOperator/join_query.py 
b/python/sedona/core/spatialOperator/join_query.py
index d6d5f55bc..7e1f01653 100644
--- a/python/sedona/core/spatialOperator/join_query.py
+++ b/python/sedona/core/spatialOperator/join_query.py
@@ -17,9 +17,9 @@
 
 from pyspark import RDD
 
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.core.spatialOperator.join_params import JoinParams
 from sedona.core.spatialOperator.join_query_raw import JoinQueryRaw
+from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.utils.decorators import require
 
 
diff --git a/python/sedona/core/spatialOperator/join_query_raw.py 
b/python/sedona/core/spatialOperator/join_query_raw.py
index d1b0f10a9..e97118215 100644
--- a/python/sedona/core/spatialOperator/join_query_raw.py
+++ b/python/sedona/core/spatialOperator/join_query_raw.py
@@ -15,9 +15,9 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from sedona.core.SpatialRDD import SpatialRDD
 from sedona.core.spatialOperator.join_params import JoinParams
-from sedona.core.spatialOperator.rdd import SedonaPairRDDList, SedonaPairRDD
+from sedona.core.spatialOperator.rdd import SedonaPairRDD, SedonaPairRDDList
+from sedona.core.SpatialRDD import SpatialRDD
 from sedona.utils.decorators import require
 
 
diff --git a/python/sedona/core/spatialOperator/knn_query.py 
b/python/sedona/core/spatialOperator/knn_query.py
index 9e6905ce6..c858cdc0f 100644
--- a/python/sedona/core/spatialOperator/knn_query.py
+++ b/python/sedona/core/spatialOperator/knn_query.py
@@ -18,8 +18,8 @@
 import attr
 from shapely.geometry.base import BaseGeometry
 
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.core.jvm.translate import JvmSedonaPythonConverter
+from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.utils.binary_parser import BinaryParser
 from sedona.utils.decorators import require
 from sedona.utils.geometry_adapter import GeometryAdapter
diff --git a/python/sedona/core/spatialOperator/range_query.py 
b/python/sedona/core/spatialOperator/range_query.py
index b76ab8a77..4990f15ab 100644
--- a/python/sedona/core/spatialOperator/range_query.py
+++ b/python/sedona/core/spatialOperator/range_query.py
@@ -17,8 +17,8 @@
 
 from shapely.geometry.base import BaseGeometry
 
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.core.spatialOperator.range_query_raw import RangeQueryRaw
+from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.utils.decorators import require
 
 
diff --git a/python/sedona/core/spatialOperator/range_query_raw.py 
b/python/sedona/core/spatialOperator/range_query_raw.py
index e20646ccb..1b03ef58b 100644
--- a/python/sedona/core/spatialOperator/range_query_raw.py
+++ b/python/sedona/core/spatialOperator/range_query_raw.py
@@ -17,8 +17,8 @@
 
 from shapely.geometry.base import BaseGeometry
 
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.core.spatialOperator.rdd import SedonaPairRDD, SedonaRDD
+from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.utils.decorators import require
 from sedona.utils.geometry_adapter import GeometryAdapter
 
diff --git a/python/sedona/core/spatialOperator/rdd.py 
b/python/sedona/core/spatialOperator/rdd.py
index d96c65724..9576f731d 100644
--- a/python/sedona/core/spatialOperator/rdd.py
+++ b/python/sedona/core/spatialOperator/rdd.py
@@ -15,7 +15,7 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from pyspark import SparkContext, RDD
+from pyspark import RDD, SparkContext
 
 from sedona.core.jvm.translate import JvmSedonaPythonConverter
 from sedona.utils.spatial_rdd_parser import SedonaPickler
diff --git a/python/sedona/maps/SedonaMapUtils.py 
b/python/sedona/maps/SedonaMapUtils.py
index b4f68fb4c..02ef90921 100644
--- a/python/sedona/maps/SedonaMapUtils.py
+++ b/python/sedona/maps/SedonaMapUtils.py
@@ -16,6 +16,7 @@
 #  under the License.
 
 import json
+
 from sedona.sql.types import GeometryType
 
 
diff --git a/python/sedona/maps/SedonaPyDeck.py 
b/python/sedona/maps/SedonaPyDeck.py
index 367fffc9c..a15cafca5 100644
--- a/python/sedona/maps/SedonaPyDeck.py
+++ b/python/sedona/maps/SedonaPyDeck.py
@@ -18,13 +18,13 @@
 from types import ModuleType
 
 from pyspark.sql.types import (
-    FloatType,
+    ByteType,
+    DecimalType,
     DoubleType,
+    FloatType,
     IntegerType,
     LongType,
-    DecimalType,
     ShortType,
-    ByteType,
 )
 
 from sedona.maps.SedonaMapUtils import SedonaMapUtils
diff --git a/python/sedona/raster/data_buffer.py 
b/python/sedona/raster/data_buffer.py
index 28b28bbe3..972ee1c5e 100644
--- a/python/sedona/raster/data_buffer.py
+++ b/python/sedona/raster/data_buffer.py
@@ -15,7 +15,8 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from typing import List, Any
+from typing import Any, List
+
 import numpy as np
 
 
diff --git a/python/sedona/raster/meta.py b/python/sedona/raster/meta.py
index a8ed687dc..38c5283ba 100644
--- a/python/sedona/raster/meta.py
+++ b/python/sedona/raster/meta.py
@@ -16,7 +16,7 @@
 #  under the License.
 
 from enum import Enum
-from typing import List, Dict, Optional
+from typing import Dict, List, Optional
 
 
 class PixelAnchor(Enum):
diff --git a/python/sedona/raster/raster_serde.py 
b/python/sedona/raster/raster_serde.py
index 2bc396845..90dd651be 100644
--- a/python/sedona/raster/raster_serde.py
+++ b/python/sedona/raster/raster_serde.py
@@ -15,23 +15,24 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from typing import Optional, Union, Tuple, List, Dict
-from io import BytesIO
 import struct
 import zlib
+from io import BytesIO
+from typing import Dict, List, Optional, Tuple, Union
+
 import numpy as np
 
+from .awt_raster import AWTRaster
+from .data_buffer import DataBuffer
+from .meta import AffineTransform, PixelAnchor, SampleDimension
 from .sample_model import (
-    SampleModel,
     ComponentSampleModel,
-    PixelInterleavedSampleModel,
     MultiPixelPackedSampleModel,
+    PixelInterleavedSampleModel,
+    SampleModel,
     SinglePixelPackedSampleModel,
 )
-from .data_buffer import DataBuffer
-from .awt_raster import AWTRaster
-from .meta import AffineTransform, PixelAnchor, SampleDimension
-from .sedona_raster import SedonaRaster, InDbSedonaRaster
+from .sedona_raster import InDbSedonaRaster, SedonaRaster
 
 
 class RasterTypes:
diff --git a/python/sedona/raster/sample_model.py 
b/python/sedona/raster/sample_model.py
index 2959b599f..7545f6203 100644
--- a/python/sedona/raster/sample_model.py
+++ b/python/sedona/raster/sample_model.py
@@ -15,8 +15,9 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from typing import List
 from abc import ABC, abstractmethod
+from typing import List
+
 import numpy as np
 
 from .data_buffer import DataBuffer
diff --git a/python/sedona/raster/sedona_raster.py 
b/python/sedona/raster/sedona_raster.py
index 4520950ed..f47d208f4 100644
--- a/python/sedona/raster/sedona_raster.py
+++ b/python/sedona/raster/sedona_raster.py
@@ -15,16 +15,16 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from typing import List, Dict, Optional
 from abc import ABC, abstractmethod
+from typing import Dict, List, Optional
 from xml.etree.ElementTree import Element, SubElement, tostring
 
 import numpy as np
 import rasterio  # type: ignore
 import rasterio.env  # type: ignore
-from rasterio.transform import Affine  # type: ignore
-from rasterio.io import MemoryFile  # type: ignore
 from rasterio.io import DatasetReader  # type: ignore
+from rasterio.io import MemoryFile  # type: ignore
+from rasterio.transform import Affine  # type: ignore
 
 try:
     # for rasterio >= 1.3.0
@@ -35,8 +35,7 @@ except:
 
 from .awt_raster import AWTRaster
 from .data_buffer import DataBuffer
-from .meta import AffineTransform, PixelAnchor
-from .meta import SampleDimension
+from .meta import AffineTransform, PixelAnchor, SampleDimension
 
 
 def _rasterio_open(fp, driver=None):
diff --git a/python/sedona/raster_utils/SedonaUtils.py 
b/python/sedona/raster_utils/SedonaUtils.py
index ef0926ab6..5f7304f3f 100644
--- a/python/sedona/raster_utils/SedonaUtils.py
+++ b/python/sedona/raster_utils/SedonaUtils.py
@@ -19,6 +19,6 @@
 class SedonaUtils:
     @classmethod
     def display_image(cls, df):
-        from IPython.display import display, HTML
+        from IPython.display import HTML, display
 
         display(HTML(df.toPandas().to_html(escape=False)))
diff --git a/python/sedona/spark/__init__.py b/python/sedona/spark/__init__.py
index c98234a41..665757953 100644
--- a/python/sedona/spark/__init__.py
+++ b/python/sedona/spark/__init__.py
@@ -15,35 +15,33 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from sedona.core.SpatialRDD import SpatialRDD
-from sedona.core.SpatialRDD import PointRDD
-from sedona.core.SpatialRDD import PolygonRDD
-from sedona.core.SpatialRDD import LineStringRDD
-from sedona.core.SpatialRDD import CircleRDD
-from sedona.core.SpatialRDD import RectangleRDD
-from sedona.core.spatialOperator import KNNQuery
-from sedona.core.spatialOperator import JoinQueryRaw
-from sedona.core.spatialOperator import JoinQuery
-from sedona.core.spatialOperator import RangeQueryRaw
-from sedona.core.spatialOperator import RangeQuery
+from sedona.core.enums import FileDataSplitter, GridType, IndexType
+from sedona.core.formatMapper import GeoJsonReader, WkbReader, WktReader
 from sedona.core.formatMapper.shapefileParser import ShapefileReader
-from sedona.core.formatMapper import GeoJsonReader
-from sedona.core.formatMapper import WktReader
-from sedona.core.formatMapper import WkbReader
-from sedona.core.enums import IndexType
-from sedona.core.enums import GridType
-from sedona.core.enums import FileDataSplitter
-from sedona.sql.types import GeometryType
-from sedona.sql.types import RasterType
-from sedona.utils.adapter import Adapter
-from sedona.utils import KryoSerializer
-from sedona.utils import SedonaKryoRegistrator
-from sedona.register import SedonaRegistrator
-from sedona.spark.SedonaContext import SedonaContext
-from sedona.raster_utils.SedonaUtils import SedonaUtils
+from sedona.core.spatialOperator import (
+    JoinQuery,
+    JoinQueryRaw,
+    KNNQuery,
+    RangeQuery,
+    RangeQueryRaw,
+)
+from sedona.core.SpatialRDD import (
+    CircleRDD,
+    LineStringRDD,
+    PointRDD,
+    PolygonRDD,
+    RectangleRDD,
+    SpatialRDD,
+)
 from sedona.maps.SedonaKepler import SedonaKepler
 from sedona.maps.SedonaPyDeck import SedonaPyDeck
+from sedona.raster_utils.SedonaUtils import SedonaUtils
+from sedona.register import SedonaRegistrator
+from sedona.spark.SedonaContext import SedonaContext
 from sedona.sql.st_aggregates import *
 from sedona.sql.st_constructors import *
 from sedona.sql.st_functions import *
 from sedona.sql.st_predicates import *
+from sedona.sql.types import GeometryType, RasterType
+from sedona.utils import KryoSerializer, SedonaKryoRegistrator
+from sedona.utils.adapter import Adapter
diff --git a/python/sedona/sql/dataframe_api.py 
b/python/sedona/sql/dataframe_api.py
index 9d7c2f47b..4f79878ba 100644
--- a/python/sedona/sql/dataframe_api.py
+++ b/python/sedona/sql/dataframe_api.py
@@ -18,20 +18,11 @@
 import functools
 import inspect
 import itertools
-from typing import (
-    Any,
-    Callable,
-    Iterable,
-    List,
-    Mapping,
-    Tuple,
-    Type,
-    Union,
-)
 import typing
+from typing import Any, Callable, Iterable, List, Mapping, Tuple, Type, Union
 
-from pyspark.sql import SparkSession, Column, functions as f
-
+from pyspark.sql import Column, SparkSession
+from pyspark.sql import functions as f
 
 ColumnOrName = Union[Column, str]
 ColumnOrNameOrNumber = Union[Column, str, float, int]
diff --git a/python/sedona/sql/st_aggregates.py 
b/python/sedona/sql/st_aggregates.py
index 5632594b4..2156285bc 100644
--- a/python/sedona/sql/st_aggregates.py
+++ b/python/sedona/sql/st_aggregates.py
@@ -16,7 +16,6 @@
 #  under the License.
 import inspect
 import sys
-
 from functools import partial
 
 from pyspark.sql import Column
diff --git a/python/sedona/sql/st_constructors.py 
b/python/sedona/sql/st_constructors.py
index b4e9aa686..f636edc0c 100644
--- a/python/sedona/sql/st_constructors.py
+++ b/python/sedona/sql/st_constructors.py
@@ -16,7 +16,6 @@
 #  under the License.
 import inspect
 import sys
-
 from functools import partial
 from typing import Optional, Union
 
@@ -29,7 +28,6 @@ from sedona.sql.dataframe_api import (
     validate_argument_types,
 )
 
-
 _call_constructor_function = partial(call_sedona_function, "st_constructors")
 
 
diff --git a/python/sedona/sql/st_functions.py 
b/python/sedona/sql/st_functions.py
index 16ff25a3e..0d66725a5 100644
--- a/python/sedona/sql/st_functions.py
+++ b/python/sedona/sql/st_functions.py
@@ -16,20 +16,18 @@
 #  under the License.
 import inspect
 import sys
-
 from functools import partial
 from typing import Optional, Union
 
 from pyspark.sql import Column
 
 from sedona.sql.dataframe_api import (
-    call_sedona_function,
     ColumnOrName,
     ColumnOrNameOrNumber,
+    call_sedona_function,
     validate_argument_types,
 )
 
-
 _call_st_function = partial(call_sedona_function, "st_functions")
 
 
diff --git a/python/sedona/sql/st_predicates.py 
b/python/sedona/sql/st_predicates.py
index b91edf8ee..18b33c160 100644
--- a/python/sedona/sql/st_predicates.py
+++ b/python/sedona/sql/st_predicates.py
@@ -16,11 +16,10 @@
 #  under the License.
 import inspect
 import sys
-
 from functools import partial
+from typing import Optional, Union
 
 from pyspark.sql import Column
-from typing import Union, Optional
 
 from sedona.sql.dataframe_api import (
     ColumnOrName,
@@ -28,7 +27,6 @@ from sedona.sql.dataframe_api import (
     validate_argument_types,
 )
 
-
 _call_predicate_function = partial(call_sedona_function, "st_predicates")
 
 
diff --git a/python/sedona/sql/types.py b/python/sedona/sql/types.py
index 239f19df8..1d7a693f1 100644
--- a/python/sedona/sql/types.py
+++ b/python/sedona/sql/types.py
@@ -15,11 +15,11 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from pyspark.sql.types import UserDefinedType, BinaryType
+from pyspark.sql.types import BinaryType, UserDefinedType
 
-from ..utils import geometry_serde
 from ..raster import raster_serde
 from ..raster.sedona_raster import SedonaRaster
+from ..utils import geometry_serde
 
 
 class GeometryType(UserDefinedType):
diff --git a/python/sedona/utils/__init__.py b/python/sedona/utils/__init__.py
index 6873fd8c0..8c3ca0933 100644
--- a/python/sedona/utils/__init__.py
+++ b/python/sedona/utils/__init__.py
@@ -15,7 +15,6 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from .serde import KryoSerializer
-from .serde import SedonaKryoRegistrator
+from .serde import KryoSerializer, SedonaKryoRegistrator
 
 __all__ = ["KryoSerializer", "SedonaKryoRegistrator"]
diff --git a/python/sedona/utils/adapter.py b/python/sedona/utils/adapter.py
index a7d786e5e..b692fd2fd 100644
--- a/python/sedona/utils/adapter.py
+++ b/python/sedona/utils/adapter.py
@@ -20,9 +20,9 @@ from typing import List
 from pyspark import RDD
 from pyspark.sql import DataFrame, SparkSession
 
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.core.enums.spatial import SpatialType
 from sedona.core.spatialOperator.rdd import SedonaPairRDD, SedonaRDD
+from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.utils.meta import MultipleMeta
 
 
diff --git a/python/sedona/utils/decorators.py 
b/python/sedona/utils/decorators.py
index 9d10212b3..90de8d16e 100644
--- a/python/sedona/utils/decorators.py
+++ b/python/sedona/utils/decorators.py
@@ -15,7 +15,7 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from typing import List, Iterable, Callable, TypeVar
+from typing import Callable, Iterable, List, TypeVar
 
 T = TypeVar("T")
 
diff --git a/python/sedona/utils/geometry_serde.py 
b/python/sedona/utils/geometry_serde.py
index cf872dfb2..f9c23e112 100644
--- a/python/sedona/utils/geometry_serde.py
+++ b/python/sedona/utils/geometry_serde.py
@@ -15,15 +15,14 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
+import os
+import sys
 from typing import Optional
 from warnings import warn
-import sys
-import os
 
 import shapely
 from shapely.geometry.base import BaseGeometry
 
-
 speedup_enabled = False
 
 
@@ -70,17 +69,17 @@ try:
     elif shapely.__version__.startswith("1."):
         # Shapely 1.x uses ctypes.CDLL to load geos_c library. We can obtain 
the
         # handle of geos_c library from `shapely.geos._lgeos._handle`
-        import shapely.geos
         import shapely.geometry.base
+        import shapely.geos
         from shapely.geometry import (
-            Point,
-            LineString,
+            GeometryCollection,
             LinearRing,
-            Polygon,
-            MultiPoint,
+            LineString,
             MultiLineString,
+            MultiPoint,
             MultiPolygon,
-            GeometryCollection,
+            Point,
+            Polygon,
         )
 
         lgeos_handle = shapely.geos._lgeos._handle
@@ -130,10 +129,10 @@ try:
 
     else:
         # fallback to our general pure python implementation
-        from .geometry_serde_general import serialize, deserialize
+        from .geometry_serde_general import deserialize, serialize
 
 except Exception as e:
     warn(
         f"Cannot load geomserde_speedup, fallback to general python 
implementation. Reason: {e}"
     )
-    from .geometry_serde_general import serialize, deserialize
+    from .geometry_serde_general import deserialize, serialize
diff --git a/python/sedona/utils/geometry_serde_general.py 
b/python/sedona/utils/geometry_serde_general.py
index 212a302b6..6c1a82134 100644
--- a/python/sedona/utils/geometry_serde_general.py
+++ b/python/sedona/utils/geometry_serde_general.py
@@ -16,8 +16,8 @@
 #  under the License.
 
 import array
-import struct
 import math
+import struct
 from typing import List, Optional, Tuple, Union
 
 import numpy as np
@@ -35,7 +35,6 @@ from shapely.geometry.base import BaseGeometry
 from shapely.wkb import dumps as wkb_dumps
 from shapely.wkt import loads as wkt_loads
 
-
 CoordType = Union[
     Tuple[float, float], Tuple[float, float, float], Tuple[float, float, 
float, float]
 ]
diff --git a/python/sedona/utils/meta.py b/python/sedona/utils/meta.py
index 079b8acb5..c6c6945d4 100644
--- a/python/sedona/utils/meta.py
+++ b/python/sedona/utils/meta.py
@@ -17,11 +17,10 @@
 
 import inspect
 import types
+from typing import Any
 
 from sedona.exceptions import InvalidParametersException
 
-from typing import Any
-
 try:
     from typing import GenericMeta
 except ImportError:
diff --git a/python/sedona/utils/prep.py b/python/sedona/utils/prep.py
index 57ea920a7..c9528300c 100644
--- a/python/sedona/utils/prep.py
+++ b/python/sedona/utils/prep.py
@@ -18,13 +18,13 @@
 from typing import List
 
 from shapely.geometry import (
-    Point,
-    MultiPoint,
-    Polygon,
-    MultiPolygon,
+    GeometryCollection,
     LineString,
     MultiLineString,
-    GeometryCollection,
+    MultiPoint,
+    MultiPolygon,
+    Point,
+    Polygon,
 )
 from shapely.geometry.base import BaseGeometry
 
diff --git a/python/sedona/utils/spatial_rdd_parser.py 
b/python/sedona/utils/spatial_rdd_parser.py
index c18ac9cd8..d99eecf80 100644
--- a/python/sedona/utils/spatial_rdd_parser.py
+++ b/python/sedona/utils/spatial_rdd_parser.py
@@ -18,7 +18,7 @@
 import struct
 from abc import ABC
 from copy import copy
-from typing import List, Any
+from typing import Any, List
 
 import attr
 from shapely.geometry.base import BaseGeometry
@@ -27,6 +27,7 @@ try:
     from pyspark import CPickleSerializer
 except ImportError:
     from pyspark import PickleSerializer as CPickleSerializer
+
 from shapely.wkb import dumps
 
 from sedona.core.geom.circle import Circle
diff --git a/python/setup.py b/python/setup.py
index fd38f34e2..e4dccbd8f 100644
--- a/python/setup.py
+++ b/python/setup.py
@@ -15,8 +15,10 @@
 # specific language governing permissions and limitations
 # under the License.
 
-from setuptools import setup, find_packages, Extension
 import os
+
+from setuptools import Extension, find_packages, setup
+
 from sedona import version
 
 with open("README.md", "r") as fh:
diff --git a/python/tests/__init__.py b/python/tests/__init__.py
index b63fc7061..0f8fa55be 100644
--- a/python/tests/__init__.py
+++ b/python/tests/__init__.py
@@ -19,7 +19,6 @@ import os
 
 from tests.tools import tests_resource
 
-
 mixed_wkb_geometry_input_location = os.path.join(tests_resource, 
"county_small_wkb.tsv")
 mixed_wkt_geometry_input_location = os.path.join(tests_resource, 
"county_small.tsv")
 shape_file_input_location = os.path.join(tests_resource, "shapefiles/dbf")
diff --git a/python/tests/core/test_avoiding_python_jvm_serde_df.py 
b/python/tests/core/test_avoiding_python_jvm_serde_df.py
index 4811f9f51..66b8a27b6 100644
--- a/python/tests/core/test_avoiding_python_jvm_serde_df.py
+++ b/python/tests/core/test_avoiding_python_jvm_serde_df.py
@@ -14,22 +14,21 @@
 #  KIND, either express or implied.  See the License for the
 #  specific language governing permissions and limitations
 #  under the License.
+import os
+
 from pyspark.sql.types import StructField, StructType
+from shapely.wkt import loads
+from tests.test_base import TestBase
+from tests.tools import tests_resource
 
-from sedona.core.SpatialRDD import CircleRDD
 from sedona.core.enums import GridType, IndexType
 from sedona.core.formatMapper import WktReader
 from sedona.core.spatialOperator.join_params import JoinParams
 from sedona.core.spatialOperator.join_query_raw import JoinQueryRaw
 from sedona.core.spatialOperator.range_query_raw import RangeQueryRaw
+from sedona.core.SpatialRDD import CircleRDD
 from sedona.sql.types import GeometryType
 from sedona.utils.adapter import Adapter
-from tests.test_base import TestBase
-
-import os
-
-from tests.tools import tests_resource
-from shapely.wkt import loads
 
 bank_csv_path = os.path.join(tests_resource, "small/points.csv")
 areas_csv_path = os.path.join(tests_resource, "small/areas.csv")
diff --git a/python/tests/core/test_avoiding_python_jvm_serde_to_rdd.py 
b/python/tests/core/test_avoiding_python_jvm_serde_to_rdd.py
index 382934259..5440034fd 100644
--- a/python/tests/core/test_avoiding_python_jvm_serde_to_rdd.py
+++ b/python/tests/core/test_avoiding_python_jvm_serde_to_rdd.py
@@ -15,18 +15,18 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from sedona.core.SpatialRDD import CircleRDD
+import os
+
+from shapely.wkt import loads
+from tests.test_base import TestBase
+from tests.tools import tests_resource
+
 from sedona.core.enums import GridType, IndexType
 from sedona.core.formatMapper import WktReader
 from sedona.core.spatialOperator.join_params import JoinParams
 from sedona.core.spatialOperator.join_query_raw import JoinQueryRaw
 from sedona.core.spatialOperator.range_query_raw import RangeQueryRaw
-from tests.test_base import TestBase
-
-import os
-
-from tests.tools import tests_resource
-from shapely.wkt import loads
+from sedona.core.SpatialRDD import CircleRDD
 
 bank_csv_path = os.path.join(tests_resource, "small/points.csv")
 areas_csv_path = os.path.join(tests_resource, "small/areas.csv")
diff --git a/python/tests/core/test_config.py b/python/tests/core/test_config.py
index dfaec37ee..f188d99e9 100644
--- a/python/tests/core/test_config.py
+++ b/python/tests/core/test_config.py
@@ -17,9 +17,10 @@
 
 import os
 
-from sedona.core.jvm.config import SparkJars, SedonaMeta
 from tests.test_base import TestBase
 
+from sedona.core.jvm.config import SedonaMeta, SparkJars
+
 
 class TestCoreJVMConfig(TestBase):
     def test_yarn_jars(self):
diff --git a/python/tests/core/test_core_geom_primitives.py 
b/python/tests/core/test_core_geom_primitives.py
index 3fa20a369..09717cef1 100644
--- a/python/tests/core/test_core_geom_primitives.py
+++ b/python/tests/core/test_core_geom_primitives.py
@@ -15,9 +15,10 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from sedona.core.geom.envelope import Envelope
 from tests.test_base import TestBase
 
+from sedona.core.geom.envelope import Envelope
+
 
 class TestGeomPrimitives(TestBase):
 
diff --git a/python/tests/core/test_core_rdd.py 
b/python/tests/core/test_core_rdd.py
index 769c0a1eb..8567fd84d 100644
--- a/python/tests/core/test_core_rdd.py
+++ b/python/tests/core/test_core_rdd.py
@@ -17,12 +17,12 @@
 
 import os
 
-from sedona.core.enums import FileDataSplitter
-from sedona.core.SpatialRDD import PointRDD
-from sedona.core.SpatialRDD import PolygonRDD
 from tests.test_base import TestBase
 from tests.tools import tests_resource
 
+from sedona.core.enums import FileDataSplitter
+from sedona.core.SpatialRDD import PointRDD, PolygonRDD
+
 point_path = os.path.join(tests_resource, "points.csv")
 counties_path = os.path.join(tests_resource, "county_small.tsv")
 
diff --git a/python/tests/core/test_rdd.py b/python/tests/core/test_rdd.py
index a002c7db2..abf5e1c9b 100644
--- a/python/tests/core/test_rdd.py
+++ b/python/tests/core/test_rdd.py
@@ -16,27 +16,26 @@
 #  under the License.
 
 import logging
-
-from shapely.geometry import Point
-
-from sedona.core.SpatialRDD import PointRDD, PolygonRDD, CircleRDD
-from sedona.core.enums import GridType, FileDataSplitter, IndexType
-from sedona.core.enums.join_build_side import JoinBuildSide
-from sedona.core.geom.envelope import Envelope
-from sedona.core.spatialOperator import RangeQuery, KNNQuery, JoinQuery
-from sedona.core.spatialOperator.join_params import JoinParams
 import os
 
+from shapely.geometry import Point
 from tests.properties.polygon_properties import (
-    polygon_rdd_input_location,
-    polygon_rdd_start_offset,
     polygon_rdd_end_offset,
-    polygon_rdd_splitter,
     polygon_rdd_index_type,
+    polygon_rdd_input_location,
+    polygon_rdd_splitter,
+    polygon_rdd_start_offset,
 )
 from tests.test_base import TestBase
 from tests.tools import tests_resource
 
+from sedona.core.enums import FileDataSplitter, GridType, IndexType
+from sedona.core.enums.join_build_side import JoinBuildSide
+from sedona.core.geom.envelope import Envelope
+from sedona.core.spatialOperator import JoinQuery, KNNQuery, RangeQuery
+from sedona.core.spatialOperator.join_params import JoinParams
+from sedona.core.SpatialRDD import CircleRDD, PointRDD, PolygonRDD
+
 point_rdd_input_location = os.path.join(tests_resource, "arealm-small.csv")
 
 point_rdd_splitter = FileDataSplitter.CSV
diff --git a/python/tests/core/test_spatial_rdd_from_disc.py 
b/python/tests/core/test_spatial_rdd_from_disc.py
index b8bfc9d94..ff363dc6a 100644
--- a/python/tests/core/test_spatial_rdd_from_disc.py
+++ b/python/tests/core/test_spatial_rdd_from_disc.py
@@ -19,17 +19,17 @@ import os
 import shutil
 
 import pytest
+from tests.test_base import TestBase
+from tests.tools import tests_resource
 
-from sedona.core.SpatialRDD import PointRDD, PolygonRDD, LineStringRDD
-from sedona.core.enums import IndexType, GridType
+from sedona.core.enums import GridType, IndexType
 from sedona.core.formatMapper.disc_utils import (
-    load_spatial_rdd_from_disc,
-    load_spatial_index_rdd_from_disc,
     GeoType,
+    load_spatial_index_rdd_from_disc,
+    load_spatial_rdd_from_disc,
 )
 from sedona.core.spatialOperator import JoinQuery
-from tests.test_base import TestBase
-from tests.tools import tests_resource
+from sedona.core.SpatialRDD import LineStringRDD, PointRDD, PolygonRDD
 
 
 def remove_directory(path: str) -> bool:
@@ -48,9 +48,9 @@ class TestDiscUtils(TestBase):
     def test_saving_to_disc_spatial_rdd_point(self):
         from tests.properties.point_properties import (
             input_location,
+            num_partitions,
             offset,
             splitter,
-            num_partitions,
         )
 
         point_rdd = PointRDD(
@@ -64,8 +64,8 @@ class TestDiscUtils(TestBase):
     def test_saving_to_disc_spatial_rdd_polygon(self):
         from tests.properties.polygon_properties import (
             input_location,
-            splitter,
             num_partitions,
+            splitter,
         )
 
         polygon_rdd = PolygonRDD(
@@ -78,8 +78,8 @@ class TestDiscUtils(TestBase):
     def test_saving_to_disc_spatial_rdd_linestring(self):
         from tests.properties.linestring_properties import (
             input_location,
-            splitter,
             num_partitions,
+            splitter,
         )
 
         linestring_rdd = LineStringRDD(
@@ -92,8 +92,8 @@ class TestDiscUtils(TestBase):
     def test_saving_to_disc_index_linestring(self):
         from tests.properties.linestring_properties import (
             input_location,
-            splitter,
             num_partitions,
+            splitter,
         )
 
         linestring_rdd = LineStringRDD(
@@ -107,8 +107,8 @@ class TestDiscUtils(TestBase):
     def test_saving_to_disc_index_polygon(self):
         from tests.properties.polygon_properties import (
             input_location,
-            splitter,
             num_partitions,
+            splitter,
         )
 
         polygon_rdd = PolygonRDD(
@@ -122,9 +122,9 @@ class TestDiscUtils(TestBase):
     def test_saving_to_disc_index_point(self):
         from tests.properties.point_properties import (
             input_location,
+            num_partitions,
             offset,
             splitter,
-            num_partitions,
         )
 
         point_rdd = PointRDD(
diff --git a/python/tests/format_mapper/test_geo_json_reader.py 
b/python/tests/format_mapper/test_geo_json_reader.py
index 73b4ade7a..042bd08fc 100644
--- a/python/tests/format_mapper/test_geo_json_reader.py
+++ b/python/tests/format_mapper/test_geo_json_reader.py
@@ -18,13 +18,12 @@
 import os
 
 import pyspark
-
-from sedona.core.jvm.config import is_greater_or_equal_version, SedonaMeta
-
-from sedona.core.formatMapper.geo_json_reader import GeoJsonReader
 from tests.test_base import TestBase
 from tests.tools import tests_resource
 
+from sedona.core.formatMapper.geo_json_reader import GeoJsonReader
+from sedona.core.jvm.config import SedonaMeta, is_greater_or_equal_version
+
 geo_json_contains_id = os.path.join(tests_resource, "testContainsId.json")
 geo_json_geom_with_feature_property = os.path.join(tests_resource, 
"testPolygon.json")
 geo_json_geom_without_feature_property = os.path.join(
diff --git a/python/tests/format_mapper/test_shapefile_reader.py 
b/python/tests/format_mapper/test_shapefile_reader.py
index 73e7fd9ac..8fe47154a 100644
--- a/python/tests/format_mapper/test_shapefile_reader.py
+++ b/python/tests/format_mapper/test_shapefile_reader.py
@@ -18,13 +18,13 @@
 import os
 
 import pytest
+from tests.test_base import TestBase
+from tests.tools import tests_resource
 
+from sedona.core.formatMapper.shapefileParser import ShapefileReader
 from sedona.core.geom.envelope import Envelope
 from sedona.core.jvm.config import SedonaMeta, is_greater_or_equal_version
 from sedona.core.spatialOperator import RangeQuery
-from tests.tools import tests_resource
-from sedona.core.formatMapper.shapefileParser import ShapefileReader
-from tests.test_base import TestBase
 
 undefined_type_shape_location = os.path.join(tests_resource, 
"shapefiles/undefined")
 polygon_shape_location = os.path.join(tests_resource, "shapefiles/polygon")
diff --git a/python/tests/format_mapper/test_wkb_reader.py 
b/python/tests/format_mapper/test_wkb_reader.py
index c08b1733f..d9452babb 100644
--- a/python/tests/format_mapper/test_wkb_reader.py
+++ b/python/tests/format_mapper/test_wkb_reader.py
@@ -17,10 +17,11 @@
 
 import os
 
-from sedona.core.formatMapper.wkb_reader import WkbReader
 from tests.test_base import TestBase
 from tests.tools import tests_resource
 
+from sedona.core.formatMapper.wkb_reader import WkbReader
+
 
 class TestWkbReader(TestBase):
 
diff --git a/python/tests/format_mapper/test_wkt_reader.py 
b/python/tests/format_mapper/test_wkt_reader.py
index 28eeae86e..56ace0347 100644
--- a/python/tests/format_mapper/test_wkt_reader.py
+++ b/python/tests/format_mapper/test_wkt_reader.py
@@ -17,10 +17,11 @@
 
 import os
 
-from sedona.core.formatMapper import WktReader
 from tests.test_base import TestBase
 from tests.tools import tests_resource
 
+from sedona.core.formatMapper import WktReader
+
 
 class TestWktReader(TestBase):
 
diff --git a/python/tests/maps/test_sedonakepler_visualization.py 
b/python/tests/maps/test_sedonakepler_visualization.py
index 7f9ad2195..808b72a2f 100644
--- a/python/tests/maps/test_sedonakepler_visualization.py
+++ b/python/tests/maps/test_sedonakepler_visualization.py
@@ -15,13 +15,17 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from keplergl import KeplerGl
-from sedona.maps.SedonaKepler import SedonaKepler
-from tests.test_base import TestBase
-from tests import mixed_wkt_geometry_input_location, 
world_map_raster_input_location
-from tests import csv_point_input_location
 import geopandas as gpd
+from keplergl import KeplerGl
 from pyspark.sql.functions import explode, hex
+from tests import (
+    csv_point_input_location,
+    mixed_wkt_geometry_input_location,
+    world_map_raster_input_location,
+)
+from tests.test_base import TestBase
+
+from sedona.maps.SedonaKepler import SedonaKepler
 
 
 class TestVisualization(TestBase):
diff --git a/python/tests/maps/test_sedonapydeck.py 
b/python/tests/maps/test_sedonapydeck.py
index 329f2e4f4..daa1d397b 100644
--- a/python/tests/maps/test_sedonapydeck.py
+++ b/python/tests/maps/test_sedonapydeck.py
@@ -15,14 +15,15 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from sedona.maps.SedonaPyDeck import SedonaPyDeck
-from tests.test_base import TestBase
-from tests import google_buildings_input_location
-from tests import chicago_crimes_input_location
-import pydeck as pdk
-import geopandas as gpd
 import json
 
+import geopandas as gpd
+import pydeck as pdk
+from tests import chicago_crimes_input_location, 
google_buildings_input_location
+from tests.test_base import TestBase
+
+from sedona.maps.SedonaPyDeck import SedonaPyDeck
+
 
 class TestVisualization(TestBase):
 
diff --git a/python/tests/properties/crs_transform.py 
b/python/tests/properties/crs_transform.py
index be095ccb6..af6437a0e 100644
--- a/python/tests/properties/crs_transform.py
+++ b/python/tests/properties/crs_transform.py
@@ -18,10 +18,10 @@
 import os
 
 from shapely.geometry import Point
+from tests.tools import tests_resource
 
 from sedona.core.enums import FileDataSplitter, IndexType
 from sedona.core.geom.envelope import Envelope
-from tests.tools import tests_resource
 
 input_location = os.path.join(tests_resource, "crs-test-point.csv")
 offset = 0
diff --git a/python/tests/properties/linestring_properties.py 
b/python/tests/properties/linestring_properties.py
index fac63c8c6..e53fc14b7 100644
--- a/python/tests/properties/linestring_properties.py
+++ b/python/tests/properties/linestring_properties.py
@@ -17,9 +17,10 @@
 
 import os
 
+from tests.tools import tests_resource
+
 from sedona.core.enums import FileDataSplitter
 from sedona.core.geom.envelope import Envelope
-from tests.tools import tests_resource
 
 input_location = os.path.join(tests_resource, "primaryroads-linestring.csv")
 query_window_set = os.path.join(tests_resource, "zcta510-small.csv")
diff --git a/python/tests/properties/point_properties.py 
b/python/tests/properties/point_properties.py
index f8af94961..bea7dcf10 100644
--- a/python/tests/properties/point_properties.py
+++ b/python/tests/properties/point_properties.py
@@ -17,9 +17,10 @@
 
 import os
 
+from tests.tools import tests_resource
+
 from sedona.core.enums import FileDataSplitter
 from sedona.core.geom.envelope import Envelope
-from tests.tools import tests_resource
 
 input_location = os.path.join(tests_resource, "arealm-small.csv")
 query_window_set = os.path.join(tests_resource, "zcta510-small.csv")
diff --git a/python/tests/properties/polygon_properties.py 
b/python/tests/properties/polygon_properties.py
index f4ca94214..09680f086 100644
--- a/python/tests/properties/polygon_properties.py
+++ b/python/tests/properties/polygon_properties.py
@@ -17,9 +17,10 @@
 
 import os
 
+from tests.tools import tests_resource
+
 from sedona.core.enums import FileDataSplitter, IndexType
 from sedona.core.geom.envelope import Envelope
-from tests.tools import tests_resource
 
 input_location = os.path.join(tests_resource, "primaryroads-polygon.csv")
 query_window_set = os.path.join(tests_resource, "zcta510-small.csv")
diff --git a/python/tests/raster/test_meta.py b/python/tests/raster/test_meta.py
index 7372cecf7..9c4d01dd5 100644
--- a/python/tests/raster/test_meta.py
+++ b/python/tests/raster/test_meta.py
@@ -18,8 +18,7 @@
 import pytest
 from pytest import approx
 
-from sedona.raster.meta import AffineTransform
-from sedona.raster.meta import PixelAnchor
+from sedona.raster.meta import AffineTransform, PixelAnchor
 
 
 class TestAffineTransform:
diff --git a/python/tests/raster/test_pandas_udf.py 
b/python/tests/raster/test_pandas_udf.py
index b6a7d4682..b33c8370d 100644
--- a/python/tests/raster/test_pandas_udf.py
+++ b/python/tests/raster/test_pandas_udf.py
@@ -15,17 +15,15 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
+import numpy as np
+import pandas as pd
+import pyspark
 import pytest
-
-from tests.test_base import TestBase
+import rasterio
 from pyspark.sql.functions import expr, pandas_udf
 from pyspark.sql.types import IntegerType
-import pyspark
-import pandas as pd
-import numpy as np
-import rasterio
-
 from tests import world_map_raster_input_location
+from tests.test_base import TestBase
 
 
 class TestRasterPandasUDF(TestBase):
diff --git a/python/tests/raster/test_serde.py 
b/python/tests/raster/test_serde.py
index b50ddfd33..4dfe8b973 100644
--- a/python/tests/raster/test_serde.py
+++ b/python/tests/raster/test_serde.py
@@ -15,15 +15,14 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
+import numpy as np
 import pytest
 import rasterio
-import numpy as np
-
-from tests.test_base import TestBase
 from pyspark.sql.functions import expr
-from sedona.sql.types import RasterType
-
 from tests import world_map_raster_input_location
+from tests.test_base import TestBase
+
+from sedona.sql.types import RasterType
 
 
 class TestRasterSerde(TestBase):
diff --git a/python/tests/raster_viz_utils/test_sedonautils.py 
b/python/tests/raster_viz_utils/test_sedonautils.py
index 02ae06cdf..28f3f91b1 100644
--- a/python/tests/raster_viz_utils/test_sedonautils.py
+++ b/python/tests/raster_viz_utils/test_sedonautils.py
@@ -15,10 +15,11 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from IPython.display import display, HTML
+from IPython.display import HTML, display
+from tests import world_map_raster_input_location
 from tests.test_base import TestBase
+
 from sedona.raster_utils.SedonaUtils import SedonaUtils
-from tests import world_map_raster_input_location
 
 
 class TestSedonaUtils(TestBase):
diff --git a/python/tests/serialization/test_deserializers.py 
b/python/tests/serialization/test_deserializers.py
index 8495a7374..d36160e43 100644
--- a/python/tests/serialization/test_deserializers.py
+++ b/python/tests/serialization/test_deserializers.py
@@ -17,18 +17,17 @@
 
 import os
 
+import geopandas as gpd
+import pandas as pd
 from shapely.geometry import (
+    GeometryCollection,
+    LineString,
+    MultiLineString,
     MultiPoint,
+    MultiPolygon,
     Point,
-    MultiLineString,
-    LineString,
     Polygon,
-    MultiPolygon,
-    GeometryCollection,
 )
-import geopandas as gpd
-import pandas as pd
-
 from tests import tests_resource
 from tests.test_base import TestBase
 
diff --git a/python/tests/serialization/test_direct_serialization.py 
b/python/tests/serialization/test_direct_serialization.py
index 07df1f5dd..c960468c8 100644
--- a/python/tests/serialization/test_direct_serialization.py
+++ b/python/tests/serialization/test_direct_serialization.py
@@ -17,9 +17,9 @@
 
 from shapely.geometry import Polygon
 from shapely.wkt import loads
+from tests.test_base import TestBase
 
 from sedona.utils.geometry_adapter import GeometryAdapter
-from tests.test_base import TestBase
 
 
 class TestDirectSerialization(TestBase):
diff --git a/python/tests/serialization/test_rdd_serialization.py 
b/python/tests/serialization/test_rdd_serialization.py
index 56900a17e..e82ae1ce8 100644
--- a/python/tests/serialization/test_rdd_serialization.py
+++ b/python/tests/serialization/test_rdd_serialization.py
@@ -17,11 +17,12 @@
 
 import os
 
-from sedona.core.SpatialRDD import PointRDD, PolygonRDD, CircleRDD, 
LineStringRDD
-from sedona.core.enums import FileDataSplitter, IndexType
 from tests.test_base import TestBase
 from tests.tools import tests_resource
 
+from sedona.core.enums import FileDataSplitter, IndexType
+from sedona.core.SpatialRDD import CircleRDD, LineStringRDD, PointRDD, 
PolygonRDD
+
 point_rdd_input_location = os.path.join(tests_resource, "arealm-small.csv")
 polygon_rdd_input_location = os.path.join(tests_resource, 
"primaryroads-polygon.csv")
 linestring_rdd_input_location = os.path.join(
diff --git a/python/tests/serialization/test_serializers.py 
b/python/tests/serialization/test_serializers.py
index 8c7153683..f51c94375 100644
--- a/python/tests/serialization/test_serializers.py
+++ b/python/tests/serialization/test_serializers.py
@@ -17,24 +17,23 @@
 
 import os
 
-from pyspark.sql.types import IntegerType
 import geopandas as gpd
 import pandas as pd
-
-from tests import tests_resource
-from sedona.sql.types import GeometryType
+from pyspark.sql import types as t
+from pyspark.sql.types import IntegerType
 from shapely.geometry import (
-    Point,
-    MultiPoint,
     LineString,
     MultiLineString,
-    Polygon,
+    MultiPoint,
     MultiPolygon,
+    Point,
+    Polygon,
 )
-from pyspark.sql import types as t
-
+from tests import tests_resource
 from tests.test_base import TestBase
 
+from sedona.sql.types import GeometryType
+
 
 class TestsSerializers(TestBase):
 
diff --git a/python/tests/serialization/test_with_sc_parellize.py 
b/python/tests/serialization/test_with_sc_parellize.py
index b0ad0acf7..60852704c 100644
--- a/python/tests/serialization/test_with_sc_parellize.py
+++ b/python/tests/serialization/test_with_sc_parellize.py
@@ -15,12 +15,12 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from shapely.geometry import Point, LineString, Polygon
+from shapely.geometry import LineString, Point, Polygon
 from shapely.wkt import loads
+from tests.test_base import TestBase
 
-from sedona.core.SpatialRDD import PointRDD, LineStringRDD, PolygonRDD
+from sedona.core.SpatialRDD import LineStringRDD, PointRDD, PolygonRDD
 from sedona.utils.spatial_rdd_parser import GeoData
-from tests.test_base import TestBase
 
 
 class TestWithScParallelize(TestBase):
diff --git a/python/tests/spatial_operator/test_join_base.py 
b/python/tests/spatial_operator/test_join_base.py
index 80f198c33..2aac30fb5 100644
--- a/python/tests/spatial_operator/test_join_base.py
+++ b/python/tests/spatial_operator/test_join_base.py
@@ -16,11 +16,11 @@
 #  under the License.
 
 import pytest
+from tests.test_base import TestBase
 
-from sedona.core.SpatialRDD import RectangleRDD, PolygonRDD, LineStringRDD, 
PointRDD
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.core.enums import GridType
-from tests.test_base import TestBase
+from sedona.core.SpatialRDD import LineStringRDD, PointRDD, PolygonRDD, 
RectangleRDD
+from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 
 
 class TestJoinBase(TestBase):
diff --git a/python/tests/spatial_operator/test_join_query_correctness.py 
b/python/tests/spatial_operator/test_join_query_correctness.py
index 7b2f74352..e4995bef4 100644
--- a/python/tests/spatial_operator/test_join_query_correctness.py
+++ b/python/tests/spatial_operator/test_join_query_correctness.py
@@ -15,15 +15,15 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from shapely.geometry import Point, Polygon, LineString
+from shapely.geometry import LineString, Point, Polygon
 from shapely.geometry.base import BaseGeometry
+from tests.test_base import TestBase
 
-from sedona.core.SpatialRDD import LineStringRDD, PolygonRDD, CircleRDD, 
PointRDD
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
-from sedona.core.enums import IndexType, GridType
+from sedona.core.enums import GridType, IndexType
 from sedona.core.spatialOperator import JoinQuery
+from sedona.core.SpatialRDD import CircleRDD, LineStringRDD, PointRDD, 
PolygonRDD
+from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
 from sedona.utils.spatial_rdd_parser import GeoData
-from tests.test_base import TestBase
 
 
 class TestJoinQueryCorrectness(TestBase):
diff --git a/python/tests/spatial_operator/test_linestring_join.py 
b/python/tests/spatial_operator/test_linestring_join.py
index 13c41329d..af140d411 100644
--- a/python/tests/spatial_operator/test_linestring_join.py
+++ b/python/tests/spatial_operator/test_linestring_join.py
@@ -15,15 +15,16 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-import pytest
 import os
 
+import pytest
+from tests.spatial_operator.test_join_base import TestJoinBase
+from tests.tools import tests_resource
+
 from sedona.core.enums import FileDataSplitter, GridType, IndexType
 from sedona.core.enums.join_build_side import JoinBuildSide
 from sedona.core.spatialOperator import JoinQuery
 from sedona.core.spatialOperator.join_params import JoinParams
-from tests.spatial_operator.test_join_base import TestJoinBase
-from tests.tools import tests_resource
 
 input_location = os.path.join(tests_resource, "primaryroads-linestring.csv")
 query_window_set = os.path.join(tests_resource, "zcta510-small.csv")
diff --git a/python/tests/spatial_operator/test_linestring_knn.py 
b/python/tests/spatial_operator/test_linestring_knn.py
index 41bbaca24..8de3ab93c 100644
--- a/python/tests/spatial_operator/test_linestring_knn.py
+++ b/python/tests/spatial_operator/test_linestring_knn.py
@@ -18,13 +18,13 @@
 import os
 
 from shapely.geometry import Point
-
-from sedona.core.SpatialRDD import LineStringRDD
-from sedona.core.enums import IndexType, FileDataSplitter
-from sedona.core.spatialOperator import KNNQuery
 from tests.test_base import TestBase
 from tests.tools import tests_resource
 
+from sedona.core.enums import FileDataSplitter, IndexType
+from sedona.core.spatialOperator import KNNQuery
+from sedona.core.SpatialRDD import LineStringRDD
+
 input_location = os.path.join(tests_resource, "primaryroads-linestring.csv")
 offset = 0
 splitter = FileDataSplitter.CSV
diff --git a/python/tests/spatial_operator/test_linestring_range.py 
b/python/tests/spatial_operator/test_linestring_range.py
index 2d3da73d4..e6b5df971 100644
--- a/python/tests/spatial_operator/test_linestring_range.py
+++ b/python/tests/spatial_operator/test_linestring_range.py
@@ -17,13 +17,13 @@
 
 import os
 
+from tests.test_base import TestBase
+from tests.tools import tests_resource
 
-from sedona.core.SpatialRDD import LineStringRDD
-from sedona.core.enums import IndexType, FileDataSplitter
+from sedona.core.enums import FileDataSplitter, IndexType
 from sedona.core.geom.envelope import Envelope
 from sedona.core.spatialOperator import RangeQuery
-from tests.test_base import TestBase
-from tests.tools import tests_resource
+from sedona.core.SpatialRDD import LineStringRDD
 
 input_location = os.path.join(tests_resource, "primaryroads-linestring.csv")
 offset = 0
diff --git a/python/tests/spatial_operator/test_point_join.py 
b/python/tests/spatial_operator/test_point_join.py
index 2363df281..dcfdaeb79 100644
--- a/python/tests/spatial_operator/test_point_join.py
+++ b/python/tests/spatial_operator/test_point_join.py
@@ -15,15 +15,16 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-import pytest
 import os
 
+import pytest
+from tests.spatial_operator.test_join_base import TestJoinBase
+from tests.tools import tests_resource
+
 from sedona.core.enums import FileDataSplitter, GridType, IndexType
 from sedona.core.enums.join_build_side import JoinBuildSide
 from sedona.core.spatialOperator import JoinQuery
 from sedona.core.spatialOperator.join_params import JoinParams
-from tests.spatial_operator.test_join_base import TestJoinBase
-from tests.tools import tests_resource
 
 input_location = os.path.join(tests_resource, "arealm-small.csv")
 input_location_query_window = os.path.join(tests_resource, "zcta510-small.csv")
diff --git a/python/tests/spatial_operator/test_point_knn.py 
b/python/tests/spatial_operator/test_point_knn.py
index 017b8b7fe..5f5cc951f 100644
--- a/python/tests/spatial_operator/test_point_knn.py
+++ b/python/tests/spatial_operator/test_point_knn.py
@@ -18,12 +18,12 @@
 import os
 
 from shapely.geometry import Point
+from tests.test_base import TestBase
+from tests.tools import distance_sorting_functions, tests_resource
 
-from sedona.core.SpatialRDD import PointRDD
-from sedona.core.enums import IndexType, FileDataSplitter
+from sedona.core.enums import FileDataSplitter, IndexType
 from sedona.core.spatialOperator import KNNQuery
-from tests.test_base import TestBase
-from tests.tools import tests_resource, distance_sorting_functions
+from sedona.core.SpatialRDD import PointRDD
 
 input_location = os.path.join(tests_resource, "arealm-small.csv")
 queryWindowSet = os.path.join(tests_resource, "zcta510-small.csv")
diff --git a/python/tests/spatial_operator/test_point_range.py 
b/python/tests/spatial_operator/test_point_range.py
index 86a837fe5..0c85af235 100644
--- a/python/tests/spatial_operator/test_point_range.py
+++ b/python/tests/spatial_operator/test_point_range.py
@@ -17,13 +17,14 @@
 
 import os
 
-from sedona.core.SpatialRDD import PointRDD
-from sedona.core.enums import IndexType, FileDataSplitter
-from sedona.core.geom.envelope import Envelope
-from sedona.core.spatialOperator import RangeQuery
 from tests.test_base import TestBase
 from tests.tools import tests_resource
 
+from sedona.core.enums import FileDataSplitter, IndexType
+from sedona.core.geom.envelope import Envelope
+from sedona.core.spatialOperator import RangeQuery
+from sedona.core.SpatialRDD import PointRDD
+
 input_location = os.path.join(tests_resource, "arealm-small.csv")
 queryWindowSet = os.path.join(tests_resource, "zcta510-small.csv")
 offset = 1
diff --git a/python/tests/spatial_operator/test_polygon_join.py 
b/python/tests/spatial_operator/test_polygon_join.py
index e22cf1a60..70e55e965 100644
--- a/python/tests/spatial_operator/test_polygon_join.py
+++ b/python/tests/spatial_operator/test_polygon_join.py
@@ -15,15 +15,16 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-import pytest
 import os
 
+import pytest
+from tests.spatial_operator.test_join_base import TestJoinBase
+from tests.tools import tests_resource
+
 from sedona.core.enums import FileDataSplitter, GridType, IndexType
 from sedona.core.enums.join_build_side import JoinBuildSide
 from sedona.core.spatialOperator import JoinQuery
 from sedona.core.spatialOperator.join_params import JoinParams
-from tests.spatial_operator.test_join_base import TestJoinBase
-from tests.tools import tests_resource
 
 input_location = os.path.join(tests_resource, "primaryroads-polygon.csv")
 query_window_set = os.path.join(tests_resource, "zcta510-small.csv")
diff --git a/python/tests/spatial_operator/test_polygon_knn.py 
b/python/tests/spatial_operator/test_polygon_knn.py
index 5b8ed2ab6..fd604036c 100644
--- a/python/tests/spatial_operator/test_polygon_knn.py
+++ b/python/tests/spatial_operator/test_polygon_knn.py
@@ -18,12 +18,12 @@
 import os
 
 from shapely.geometry import Point
+from tests.test_base import TestBase
+from tests.tools import distance_sorting_functions, tests_resource
 
-from sedona.core.SpatialRDD import PolygonRDD
-from sedona.core.enums import IndexType, FileDataSplitter
+from sedona.core.enums import FileDataSplitter, IndexType
 from sedona.core.spatialOperator import KNNQuery
-from tests.test_base import TestBase
-from tests.tools import tests_resource, distance_sorting_functions
+from sedona.core.SpatialRDD import PolygonRDD
 
 input_location = os.path.join(tests_resource, "primaryroads-polygon.csv")
 splitter = FileDataSplitter.CSV
diff --git a/python/tests/spatial_operator/test_polygon_range.py 
b/python/tests/spatial_operator/test_polygon_range.py
index 117341445..cef018ab4 100644
--- a/python/tests/spatial_operator/test_polygon_range.py
+++ b/python/tests/spatial_operator/test_polygon_range.py
@@ -17,13 +17,14 @@
 
 import os
 
-from sedona.core.SpatialRDD import PolygonRDD
-from sedona.core.enums import IndexType, FileDataSplitter
-from sedona.core.geom.envelope import Envelope
-from sedona.core.spatialOperator import RangeQuery
 from tests.test_base import TestBase
 from tests.tools import tests_resource
 
+from sedona.core.enums import FileDataSplitter, IndexType
+from sedona.core.geom.envelope import Envelope
+from sedona.core.spatialOperator import RangeQuery
+from sedona.core.SpatialRDD import PolygonRDD
+
 input_location = os.path.join(tests_resource, "primaryroads-polygon.csv")
 splitter = FileDataSplitter.CSV
 gridType = "rtree"
diff --git a/python/tests/spatial_operator/test_rectangle_join.py 
b/python/tests/spatial_operator/test_rectangle_join.py
index 6c6895534..fc69f8d1c 100644
--- a/python/tests/spatial_operator/test_rectangle_join.py
+++ b/python/tests/spatial_operator/test_rectangle_join.py
@@ -17,13 +17,14 @@
 
 import os
 
+from tests.spatial_operator.test_join_base import TestJoinBase
+from tests.tools import tests_resource
+
 from sedona.core.enums import FileDataSplitter, GridType, IndexType
 from sedona.core.enums.join_build_side import JoinBuildSide
 from sedona.core.geom.envelope import Envelope
 from sedona.core.spatialOperator import JoinQuery
 from sedona.core.spatialOperator.join_params import JoinParams
-from tests.spatial_operator.test_join_base import TestJoinBase
-from tests.tools import tests_resource
 
 input_location = os.path.join(tests_resource, "zcta510-small.csv")
 query_window_set = os.path.join(tests_resource, "zcta510-small.csv")
diff --git a/python/tests/spatial_operator/test_rectangle_knn.py 
b/python/tests/spatial_operator/test_rectangle_knn.py
index 09d14cda0..36d54a9d2 100644
--- a/python/tests/spatial_operator/test_rectangle_knn.py
+++ b/python/tests/spatial_operator/test_rectangle_knn.py
@@ -17,14 +17,14 @@
 
 import os
 
-from shapely.geometry import Point, Polygon, LineString
+from shapely.geometry import LineString, Point, Polygon
+from tests.test_base import TestBase
+from tests.tools import distance_sorting_functions, tests_resource
 
-from sedona.core.SpatialRDD import RectangleRDD
-from sedona.core.enums import IndexType, FileDataSplitter
+from sedona.core.enums import FileDataSplitter, IndexType
 from sedona.core.geom.envelope import Envelope
 from sedona.core.spatialOperator import KNNQuery
-from tests.test_base import TestBase
-from tests.tools import tests_resource, distance_sorting_functions
+from sedona.core.SpatialRDD import RectangleRDD
 
 inputLocation = os.path.join(tests_resource, "zcta510-small.csv")
 queryWindowSet = os.path.join(tests_resource, "zcta510-small.csv")
diff --git a/python/tests/spatial_operator/test_rectangle_range.py 
b/python/tests/spatial_operator/test_rectangle_range.py
index d3e79397b..8dbde7543 100644
--- a/python/tests/spatial_operator/test_rectangle_range.py
+++ b/python/tests/spatial_operator/test_rectangle_range.py
@@ -17,13 +17,14 @@
 
 import os
 
-from sedona.core.SpatialRDD import RectangleRDD
-from sedona.core.enums import IndexType, FileDataSplitter
-from sedona.core.geom.envelope import Envelope
-from sedona.core.spatialOperator import RangeQuery
 from tests.test_base import TestBase
 from tests.tools import tests_resource
 
+from sedona.core.enums import FileDataSplitter, IndexType
+from sedona.core.geom.envelope import Envelope
+from sedona.core.spatialOperator import RangeQuery
+from sedona.core.SpatialRDD import RectangleRDD
+
 inputLocation = os.path.join(tests_resource, "zcta510-small.csv")
 queryWindowSet = os.path.join(tests_resource, "zcta510-small.csv")
 offset = 0
diff --git a/python/tests/spatial_rdd/test_circle_rdd.py 
b/python/tests/spatial_rdd/test_circle_rdd.py
index 6117c2bb1..d0151ec88 100644
--- a/python/tests/spatial_rdd/test_circle_rdd.py
+++ b/python/tests/spatial_rdd/test_circle_rdd.py
@@ -15,14 +15,15 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from sedona.core.SpatialRDD import PointRDD, CircleRDD
-from tests.test_base import TestBase
 from tests.properties.point_properties import (
     input_location,
+    num_partitions,
     offset,
     splitter,
-    num_partitions,
 )
+from tests.test_base import TestBase
+
+from sedona.core.SpatialRDD import CircleRDD, PointRDD
 
 
 class TestCircleRDD(TestBase):
diff --git a/python/tests/spatial_rdd/test_linestring_rdd.py 
b/python/tests/spatial_rdd/test_linestring_rdd.py
index edfb38e7c..4820ad0c6 100644
--- a/python/tests/spatial_rdd/test_linestring_rdd.py
+++ b/python/tests/spatial_rdd/test_linestring_rdd.py
@@ -15,22 +15,23 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from sedona.core.SpatialRDD import LineStringRDD
-from sedona.core.enums import IndexType, GridType
-from sedona.core.geom.envelope import Envelope
 from tests.properties.linestring_properties import (
-    input_count,
+    grid_type,
     input_boundary,
+    input_boundary_2,
+    input_count,
     input_location,
-    splitter,
     num_partitions,
-    grid_type,
+    splitter,
     transformed_envelope,
-    input_boundary_2,
     transformed_envelope_2,
 )
 from tests.test_base import TestBase
 
+from sedona.core.enums import GridType, IndexType
+from sedona.core.geom.envelope import Envelope
+from sedona.core.SpatialRDD import LineStringRDD
+
 
 class TestLineStringRDD(TestBase):
 
diff --git a/python/tests/spatial_rdd/test_point_rdd.py 
b/python/tests/spatial_rdd/test_point_rdd.py
index f7a8a1499..e21bbf4c5 100644
--- a/python/tests/spatial_rdd/test_point_rdd.py
+++ b/python/tests/spatial_rdd/test_point_rdd.py
@@ -15,24 +15,25 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from sedona.core.SpatialRDD import PointRDD
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
-from sedona.core.enums import IndexType, GridType
-from sedona.core.geom.envelope import Envelope
 from tests.properties.point_properties import (
+    crs_envelope,
+    crs_envelope_transformed,
+    crs_point_test,
+    input_boundary,
+    input_count,
     input_location,
+    num_partitions,
     offset,
     splitter,
-    num_partitions,
-    input_count,
-    input_boundary,
     transformed_envelope,
-    crs_point_test,
-    crs_envelope,
-    crs_envelope_transformed,
 )
 from tests.test_base import TestBase
 
+from sedona.core.enums import GridType, IndexType
+from sedona.core.geom.envelope import Envelope
+from sedona.core.SpatialRDD import PointRDD
+from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
+
 
 class TestPointRDD(TestBase):
 
diff --git a/python/tests/spatial_rdd/test_polygon_rdd.py 
b/python/tests/spatial_rdd/test_polygon_rdd.py
index d2be16304..f0bc46331 100644
--- a/python/tests/spatial_rdd/test_polygon_rdd.py
+++ b/python/tests/spatial_rdd/test_polygon_rdd.py
@@ -15,28 +15,29 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from sedona.core.SpatialRDD import PolygonRDD
-from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
-from sedona.core.enums import IndexType, FileDataSplitter, GridType
-from sedona.core.geom.envelope import Envelope
 from tests.properties.polygon_properties import (
-    input_location,
-    splitter,
-    num_partitions,
-    input_count,
-    input_boundary,
     grid_type,
+    input_boundary,
+    input_count,
+    input_location,
     input_location_geo_json,
-    input_location_wkt,
     input_location_wkb,
-    query_envelope,
-    polygon_rdd_input_location,
-    polygon_rdd_start_offset,
+    input_location_wkt,
+    num_partitions,
     polygon_rdd_end_offset,
+    polygon_rdd_input_location,
     polygon_rdd_splitter,
+    polygon_rdd_start_offset,
+    query_envelope,
+    splitter,
 )
 from tests.test_base import TestBase
 
+from sedona.core.enums import FileDataSplitter, GridType, IndexType
+from sedona.core.geom.envelope import Envelope
+from sedona.core.SpatialRDD import PolygonRDD
+from sedona.core.SpatialRDD.spatial_rdd import SpatialRDD
+
 
 class TestPolygonRDD(TestBase):
 
diff --git a/python/tests/spatial_rdd/test_rectangle_rdd.py 
b/python/tests/spatial_rdd/test_rectangle_rdd.py
index 29b406c06..4c67e751a 100644
--- a/python/tests/spatial_rdd/test_rectangle_rdd.py
+++ b/python/tests/spatial_rdd/test_rectangle_rdd.py
@@ -18,13 +18,13 @@
 import os
 
 import pytest
-
-from sedona.core.SpatialRDD import RectangleRDD
-from sedona.core.enums import IndexType, GridType, FileDataSplitter
-from sedona.core.geom.envelope import Envelope
 from tests.test_base import TestBase
 from tests.tools import tests_resource
 
+from sedona.core.enums import FileDataSplitter, GridType, IndexType
+from sedona.core.geom.envelope import Envelope
+from sedona.core.SpatialRDD import RectangleRDD
+
 inputLocation = os.path.join(tests_resource, "zcta510-small.csv")
 queryWindowSet = os.path.join(tests_resource, "zcta510-small.csv")
 offset = 0
diff --git a/python/tests/spatial_rdd/test_spatial_rdd.py 
b/python/tests/spatial_rdd/test_spatial_rdd.py
index 6866d6b22..ae1dd2f62 100644
--- a/python/tests/spatial_rdd/test_spatial_rdd.py
+++ b/python/tests/spatial_rdd/test_spatial_rdd.py
@@ -21,13 +21,13 @@ import pyspark
 import pytest
 from pyspark import RDD
 from shapely.geometry import Point
+from tests.test_base import TestBase
+from tests.tools import tests_resource
 
-from sedona.core.SpatialRDD import PointRDD
 from sedona.core.enums import FileDataSplitter, GridType, IndexType
 from sedona.core.formatMapper.geo_json_reader import GeoJsonReader
 from sedona.core.geom.envelope import Envelope
-from tests.test_base import TestBase
-from tests.tools import tests_resource
+from sedona.core.SpatialRDD import PointRDD
 
 input_file_location = os.path.join(tests_resource, "arealm-small.csv")
 crs_test_point = os.path.join(tests_resource, "crs-test-point.csv")
diff --git a/python/tests/spatial_rdd/test_spatial_rdd_writer.py 
b/python/tests/spatial_rdd/test_spatial_rdd_writer.py
index 334a7d148..2e5a571c3 100644
--- a/python/tests/spatial_rdd/test_spatial_rdd_writer.py
+++ b/python/tests/spatial_rdd/test_spatial_rdd_writer.py
@@ -19,12 +19,12 @@ import os
 import shutil
 
 import pytest
+from tests.test_base import TestBase
+from tests.tools import tests_resource
 
-from sedona.core.SpatialRDD import PointRDD
 from sedona.core.enums import FileDataSplitter
 from sedona.core.geom.envelope import Envelope
-from tests.test_base import TestBase
-from tests.tools import tests_resource
+from sedona.core.SpatialRDD import PointRDD
 
 wkb_folder = "wkb"
 wkt_folder = "wkt"
diff --git a/python/tests/sql/test_adapter.py b/python/tests/sql/test_adapter.py
index c69e330da..1c8ff3412 100644
--- a/python/tests/sql/test_adapter.py
+++ b/python/tests/sql/test_adapter.py
@@ -20,25 +20,25 @@ import logging
 import pyspark
 import pytest
 from pyspark.sql import DataFrame
-from pyspark.sql.functions import expr
-from pyspark.sql.functions import col
+from pyspark.sql.functions import col, expr
+from tests import (
+    area_lm_point_input_location,
+    geojson_id_input_location,
+    geojson_input_location,
+    mixed_wkt_geometry_input_location,
+    shape_file_input_location,
+    shape_file_with_missing_trailing_input_location,
+)
+from tests.test_base import TestBase
 
 from sedona import version
-from sedona.core.SpatialRDD import PolygonRDD, CircleRDD
 from sedona.core.enums import FileDataSplitter, GridType, IndexType
 from sedona.core.formatMapper.shapefileParser.shape_file_reader import 
ShapefileReader
 from sedona.core.geom.envelope import Envelope
 from sedona.core.jvm.config import is_greater_or_equal_version
 from sedona.core.spatialOperator import JoinQuery
+from sedona.core.SpatialRDD import CircleRDD, PolygonRDD
 from sedona.utils.adapter import Adapter
-from tests import (
-    geojson_input_location,
-    shape_file_with_missing_trailing_input_location,
-    geojson_id_input_location,
-)
-from tests import shape_file_input_location, area_lm_point_input_location
-from tests import mixed_wkt_geometry_input_location
-from tests.test_base import TestBase
 
 
 class TestAdapter(TestBase):
diff --git a/python/tests/sql/test_aggregate_functions.py 
b/python/tests/sql/test_aggregate_functions.py
index 32aa054ae..6aa0e7c25 100644
--- a/python/tests/sql/test_aggregate_functions.py
+++ b/python/tests/sql/test_aggregate_functions.py
@@ -16,7 +16,6 @@
 #  under the License.
 
 from shapely.geometry import Polygon
-
 from tests import csv_point_input_location, union_polygon_input_location
 from tests.test_base import TestBase
 
diff --git a/python/tests/sql/test_constructor_test.py 
b/python/tests/sql/test_constructor_test.py
index 3b2c1ba79..126d985c8 100644
--- a/python/tests/sql/test_constructor_test.py
+++ b/python/tests/sql/test_constructor_test.py
@@ -16,11 +16,11 @@
 #  under the License.
 
 from tests import (
-    csv_point_input_location,
     area_lm_point_input_location,
-    mixed_wkt_geometry_input_location,
-    mixed_wkb_geometry_input_location,
+    csv_point_input_location,
     geojson_input_location,
+    mixed_wkb_geometry_input_location,
+    mixed_wkt_geometry_input_location,
 )
 from tests.test_base import TestBase
 
diff --git a/python/tests/sql/test_dataframe_api.py 
b/python/tests/sql/test_dataframe_api.py
index c3e4d208c..2af7e33e9 100644
--- a/python/tests/sql/test_dataframe_api.py
+++ b/python/tests/sql/test_dataframe_api.py
@@ -17,25 +17,21 @@
 from math import radians
 from typing import Callable, Tuple
 
-from pyspark.sql import functions as f, Row
 import pytest
+from pyspark.sql import Row
+from pyspark.sql import functions as f
 from shapely.geometry.base import BaseGeometry
+from tests.test_base import TestBase
 
+from sedona.sql import st_aggregates as sta
+from sedona.sql import st_constructors as stc
+from sedona.sql import st_functions as stf
+from sedona.sql import st_predicates as stp
 from sedona.sql.st_aggregates import *
 from sedona.sql.st_constructors import *
 from sedona.sql.st_functions import *
 from sedona.sql.st_predicates import *
 
-from sedona.sql import (
-    st_aggregates as sta,
-    st_constructors as stc,
-    st_functions as stf,
-    st_predicates as stp,
-)
-
-from tests.test_base import TestBase
-
-
 test_configurations = [
     # constructors
     (
diff --git a/python/tests/sql/test_function.py 
b/python/tests/sql/test_function.py
index 5b61d3600..367e0e055 100644
--- a/python/tests/sql/test_function.py
+++ b/python/tests/sql/test_function.py
@@ -16,23 +16,24 @@
 #  under the License.
 
 import math
+from typing import List
+
 from pyspark.sql import DataFrame, Row
-from pyspark.sql.functions import col
-from pyspark.sql.functions import explode, expr
-from pyspark.sql.types import StructType, StructField, IntegerType
-from sedona.sql.types import GeometryType
+from pyspark.sql.functions import col, explode, expr
+from pyspark.sql.types import IntegerType, StructField, StructType
 from shapely import wkt
 from shapely.wkt import loads
 from tests import mixed_wkt_geometry_input_location
 from tests.sql.resource.sample_data import (
+    create_sample_lines_df,
     create_sample_points,
-    create_simple_polygons_df,
     create_sample_points_df,
     create_sample_polygons_df,
-    create_sample_lines_df,
+    create_simple_polygons_df,
 )
 from tests.test_base import TestBase
-from typing import List
+
+from sedona.sql.types import GeometryType
 
 
 class TestPredicateJoin(TestBase):
diff --git a/python/tests/sql/test_geoparquet.py 
b/python/tests/sql/test_geoparquet.py
index 0878e20fb..8a6b82e0e 100644
--- a/python/tests/sql/test_geoparquet.py
+++ b/python/tests/sql/test_geoparquet.py
@@ -15,20 +15,20 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-import pytest
-import os.path
 import json
+import os.path
 
-from shapely.geometry import Point
-from shapely.geometry import LineString
+import geopandas
+import pytest
+from shapely.geometry import LineString, Point
 from shapely.geometry.base import BaseGeometry
 from shapely.wkt import loads as wkt_loads
-import geopandas
-
+from tests import (
+    geoparquet_input_location,
+    legacy_parquet_input_location,
+    plain_parquet_input_location,
+)
 from tests.test_base import TestBase
-from tests import geoparquet_input_location
-from tests import plain_parquet_input_location
-from tests import legacy_parquet_input_location
 
 
 class TestGeoParquet(TestBase):
diff --git a/python/tests/sql/test_predicate.py 
b/python/tests/sql/test_predicate.py
index 539ed7358..538d61d32 100644
--- a/python/tests/sql/test_predicate.py
+++ b/python/tests/sql/test_predicate.py
@@ -15,13 +15,13 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
+from pyspark.sql.functions import expr
 from tests import (
-    csv_point_input_location,
     csv_point1_input_location,
+    csv_point_input_location,
     csv_polygon1_input_location,
 )
 from tests.test_base import TestBase
-from pyspark.sql.functions import expr
 
 
 class TestPredicate(TestBase):
diff --git a/python/tests/sql/test_predicate_join.py 
b/python/tests/sql/test_predicate_join.py
index f8a35831a..5c6966a82 100644
--- a/python/tests/sql/test_predicate_join.py
+++ b/python/tests/sql/test_predicate_join.py
@@ -18,23 +18,22 @@
 from pyspark import Row
 from pyspark.sql.functions import broadcast, expr
 from pyspark.sql.types import (
-    StructType,
-    StringType,
+    DoubleType,
     IntegerType,
+    StringType,
     StructField,
-    DoubleType,
+    StructType,
 )
-
 from tests import (
-    csv_polygon_input_location,
-    csv_point_input_location,
-    overlap_polygon_input_location,
     csv_point1_input_location,
     csv_point2_input_location,
+    csv_point_input_location,
     csv_polygon1_input_location,
-    csv_polygon2_input_location,
     csv_polygon1_random_input_location,
+    csv_polygon2_input_location,
     csv_polygon2_random_input_location,
+    csv_polygon_input_location,
+    overlap_polygon_input_location,
 )
 from tests.test_base import TestBase
 
diff --git a/python/tests/sql/test_shapefile.py 
b/python/tests/sql/test_shapefile.py
index b02cbc04d..a6d5a578c 100644
--- a/python/tests/sql/test_shapefile.py
+++ b/python/tests/sql/test_shapefile.py
@@ -15,10 +15,10 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-import pytest
-import os.path
 import datetime
+import os.path
 
+import pytest
 from tests.test_base import TestBase
 from tests.tools import tests_resource
 
diff --git a/python/tests/sql/test_spatial_rdd_to_spatial_dataframe.py 
b/python/tests/sql/test_spatial_rdd_to_spatial_dataframe.py
index 45570396d..66bbaa71c 100644
--- a/python/tests/sql/test_spatial_rdd_to_spatial_dataframe.py
+++ b/python/tests/sql/test_spatial_rdd_to_spatial_dataframe.py
@@ -17,15 +17,14 @@
 
 import os
 
-from pyspark.sql.types import StructType, StructField, StringType, IntegerType
+from pyspark.sql.types import IntegerType, StringType, StructField, StructType
+from shapely.geometry import Point
+from tests.test_base import TestBase
+from tests.tools import tests_resource
 
-from sedona.core.SpatialRDD import PointRDD
 from sedona.core.enums import FileDataSplitter
+from sedona.core.SpatialRDD import PointRDD
 from sedona.sql.types import GeometryType
-from tests.test_base import TestBase
-from shapely.geometry import Point
-
-from tests.tools import tests_resource
 
 point_input_path = os.path.join(tests_resource, "arealm-small.csv")
 
diff --git a/python/tests/sql/test_st_function_imports.py 
b/python/tests/sql/test_st_function_imports.py
index 79cf29d81..f0c38f6b0 100644
--- a/python/tests/sql/test_st_function_imports.py
+++ b/python/tests/sql/test_st_function_imports.py
@@ -22,12 +22,7 @@ from tests.test_base import TestBase
 
 class TestStFunctionImport(TestBase):
     def test_import(self):
-        from sedona.sql import (
-            ST_Distance,
-            ST_Point,
-            ST_Contains,
-            ST_Envelope_Aggr,
-        )
+        from sedona.sql import ST_Contains, ST_Distance, ST_Envelope_Aggr, 
ST_Point
 
         ST_Distance
         ST_Point
@@ -35,7 +30,8 @@ class TestStFunctionImport(TestBase):
         ST_Envelope_Aggr
 
     def test_geometry_type_should_be_a_sql_type(self):
-        from sedona.spark import GeometryType
         from pyspark.sql.types import UserDefinedType
 
+        from sedona.spark import GeometryType
+
         assert isinstance(GeometryType(), UserDefinedType)
diff --git a/python/tests/stats/test_dbscan.py 
b/python/tests/stats/test_dbscan.py
index 6c6a0d3b3..0d816b6dc 100644
--- a/python/tests/stats/test_dbscan.py
+++ b/python/tests/stats/test_dbscan.py
@@ -17,14 +17,13 @@
 
 import pyspark.sql.functions as f
 import pytest
+from sklearn.cluster import DBSCAN as sklearnDBSCAN
+from tests.test_base import TestBase
 
 from sedona.sql.st_constructors import ST_MakePoint
 from sedona.sql.st_functions import ST_Buffer
-from sklearn.cluster import DBSCAN as sklearnDBSCAN
 from sedona.stats.clustering.dbscan import dbscan
 
-from tests.test_base import TestBase
-
 
 class TestDBScan(TestBase):
 
diff --git a/python/tests/streaming/spark/cases_builder.py 
b/python/tests/streaming/spark/cases_builder.py
index cfb25e4c6..5f650c61a 100644
--- a/python/tests/streaming/spark/cases_builder.py
+++ b/python/tests/streaming/spark/cases_builder.py
@@ -15,7 +15,7 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from typing import Dict, Any, List
+from typing import Any, Dict, List
 
 
 class SuiteContainer:
diff --git a/python/tests/streaming/spark/test_constructor_functions.py 
b/python/tests/streaming/spark/test_constructor_functions.py
index a6ae01be2..30ca829c4 100644
--- a/python/tests/streaming/spark/test_constructor_functions.py
+++ b/python/tests/streaming/spark/test_constructor_functions.py
@@ -15,19 +15,19 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
+import math
 import os
 import uuid
-from typing import List, Any, Optional
+from typing import Any, List, Optional
 
 import pytest
-from pyspark.sql.types import StructType, StructField, Row
-from shapely import wkt, wkb
-
-from sedona.sql.types import GeometryType
+from pyspark.sql.types import Row, StructField, StructType
+from shapely import wkb, wkt
 from tests import tests_resource
 from tests.streaming.spark.cases_builder import SuiteContainer
 from tests.test_base import TestBase
-import math
+
+from sedona.sql.types import GeometryType
 
 SCHEMA = StructType([StructField("geom", GeometryType())])
 
diff --git a/python/tests/test_assign_raw_spatial_rdd.py 
b/python/tests/test_assign_raw_spatial_rdd.py
index b367a0852..303ded9ac 100644
--- a/python/tests/test_assign_raw_spatial_rdd.py
+++ b/python/tests/test_assign_raw_spatial_rdd.py
@@ -15,15 +15,16 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from sedona.core.SpatialRDD import PointRDD, CircleRDD
 from tests.properties.point_properties import (
     input_location,
+    num_partitions,
     offset,
     splitter,
-    num_partitions,
 )
 from tests.test_base import TestBase
 
+from sedona.core.SpatialRDD import CircleRDD, PointRDD
+
 
 class TestSpatialRddAssignment(TestBase):
 
diff --git a/python/tests/test_base.py b/python/tests/test_base.py
index 8bd4b6461..e45a6e9f6 100644
--- a/python/tests/test_base.py
+++ b/python/tests/test_base.py
@@ -16,6 +16,7 @@
 #  under the License.
 
 from tempfile import mkdtemp
+
 from sedona.spark import *
 from sedona.utils.decorators import classproperty
 
diff --git a/python/tests/test_circle.py b/python/tests/test_circle.py
index 91d818482..688a39963 100644
--- a/python/tests/test_circle.py
+++ b/python/tests/test_circle.py
@@ -16,7 +16,6 @@
 #  under the License.
 
 import pytest
-
 import shapely
 from shapely import wkt
 from shapely.geometry import Point
diff --git a/python/tests/test_scala_example.py 
b/python/tests/test_scala_example.py
index 909bb0212..d2e1a3350 100644
--- a/python/tests/test_scala_example.py
+++ b/python/tests/test_scala_example.py
@@ -17,16 +17,16 @@
 
 import os
 
-from shapely.geometry import Point
 from pyspark import StorageLevel
-
-from sedona.core.SpatialRDD import PointRDD, CircleRDD, PolygonRDD
-from sedona.core.enums import FileDataSplitter, IndexType, GridType
-from sedona.core.geom.envelope import Envelope
-from sedona.core.spatialOperator import RangeQuery, JoinQuery, KNNQuery
+from shapely.geometry import Point
 from tests.test_base import TestBase
 from tests.tools import tests_resource
 
+from sedona.core.enums import FileDataSplitter, GridType, IndexType
+from sedona.core.geom.envelope import Envelope
+from sedona.core.spatialOperator import JoinQuery, KNNQuery, RangeQuery
+from sedona.core.SpatialRDD import CircleRDD, PointRDD, PolygonRDD
+
 point_rdd_input_location = os.path.join(tests_resource, "arealm-small.csv")
 
 point_rdd_splitter = FileDataSplitter.CSV
diff --git a/python/tests/utils/test_crs_transformation.py 
b/python/tests/utils/test_crs_transformation.py
index ebf21eabd..b751857fb 100644
--- a/python/tests/utils/test_crs_transformation.py
+++ b/python/tests/utils/test_crs_transformation.py
@@ -15,15 +15,16 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from sedona.core.SpatialRDD import PointRDD, PolygonRDD, CircleRDD
-from sedona.core.enums import GridType
-from sedona.core.geom.circle import Circle
-from sedona.core.spatialOperator import RangeQuery, KNNQuery, JoinQuery
 from tests.properties.crs_transform import *
 from tests.properties.polygon_properties import grid_type
 from tests.test_base import TestBase
 from tests.tools import distance_sorting_functions
 
+from sedona.core.enums import GridType
+from sedona.core.geom.circle import Circle
+from sedona.core.spatialOperator import JoinQuery, KNNQuery, RangeQuery
+from sedona.core.SpatialRDD import CircleRDD, PointRDD, PolygonRDD
+
 
 class TestCrsTransformation(TestBase):
 
diff --git a/python/tests/utils/test_geo_spark_meta.py 
b/python/tests/utils/test_geo_spark_meta.py
index 3cc8f08c4..14f6464a8 100644
--- a/python/tests/utils/test_geo_spark_meta.py
+++ b/python/tests/utils/test_geo_spark_meta.py
@@ -15,9 +15,10 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from sedona.core.jvm.config import is_greater_or_equal_version, SedonaMeta
 from tests.test_base import TestBase
 
+from sedona.core.jvm.config import SedonaMeta, is_greater_or_equal_version
+
 
 class TestGeoSparkMeta(TestBase):
 
diff --git a/python/tests/utils/test_geometry_serde.py 
b/python/tests/utils/test_geometry_serde.py
index 79981460c..661aa169d 100644
--- a/python/tests/utils/test_geometry_serde.py
+++ b/python/tests/utils/test_geometry_serde.py
@@ -15,11 +15,8 @@
 #  specific language governing permissions and limitations
 #  under the License.
 import pytest
-
-from pyspark.sql.types import StructType, StringType
-from sedona.sql.types import GeometryType
 from pyspark.sql.functions import expr
-
+from pyspark.sql.types import StringType, StructType
 from shapely.geometry import (
     GeometryCollection,
     LineString,
@@ -30,9 +27,10 @@ from shapely.geometry import (
     Polygon,
 )
 from shapely.wkt import loads as wkt_loads
-
 from tests.test_base import TestBase
 
+from sedona.sql.types import GeometryType
+
 
 class TestGeometrySerde(TestBase):
     @pytest.mark.parametrize(
diff --git a/python/tests/utils/test_geomserde_speedup.py 
b/python/tests/utils/test_geomserde_speedup.py
index a7478e0c7..ea2edc4a1 100644
--- a/python/tests/utils/test_geomserde_speedup.py
+++ b/python/tests/utils/test_geomserde_speedup.py
@@ -15,9 +15,6 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-from sedona.utils import geometry_serde
-
-from shapely.geometry.base import BaseGeometry
 from shapely.geometry import (
     GeometryCollection,
     LineString,
@@ -27,8 +24,11 @@ from shapely.geometry import (
     Point,
     Polygon,
 )
+from shapely.geometry.base import BaseGeometry
 from shapely.wkt import loads as wkt_loads
 
+from sedona.utils import geometry_serde
+
 
 class TestGeomSerdeSpeedup:
     def test_speedup_enabled(self):

Reply via email to