code: def pairwise_point_distance(points1: GeoSeries, points2: GeoSeries):
      """Compute distance between (multi)points-(multi)points pairs
  
      Currently `points1` and `points2` must contain either only points or
      multipoints. Mixing points and multipoints in the same series is
      unsupported.
  
      Parameters
      ----------
      points1 : GeoSeries
          A GeoSeries of (multi)points
      points2 : GeoSeries
          A GeoSeries of (multi)points
  
      Returns
      -------
      distance : cudf.Series
          the distance between each pair of (multi)points
  
      Examples
      --------
      >>> from shapely.geometry import Point, MultiPoint
      >>> p1 = cuspatial.GeoSeries([
      ...     MultiPoint([(0.0, 0.0), (1.0, 0.0)]),
      ...     MultiPoint([(0.0, 1.0), (1.0, 0.0)])
      ... ])
      >>> p2 = cuspatial.GeoSeries([
      ...     Point(2.0, 2.0), Point(0.0, 0.5)
      ... ])
      >>> cuspatial.pairwise_point_distance(p1, p2)
      0    2.236068
      1    0.500000
      dtype: float64
      """
  
      if not len(points1) == len(points2):
          raise ValueError(
              "`points1` and `points2` must have the same length"
          )
  
      if len(points1) == 0:
          return cudf.Series(dtype="float64")
  
      if not contains_only_points(points1):
          raise ValueError("`points1` array must contain only points")
      if not contains_only_points(points2):
          raise ValueError("`points2` array must contain only points")
  
      if (
          len(points1.points.xy) > 0 and len(points1.multipoints.xy) > 0
      ) or (
          len(points2.points.xy) > 0 and len(points2.multipoints.xy) > 0
      ):
          raise NotImplementedError(
              "Mixing point and multipoint geometries is not supported"
          )
  
      (
          lhs_column,
          lhs_point_collection_type,
      ) = _extract_point_column_and_collection_type(points1)
      (
          rhs_column,
          rhs_point_collection_type,
      ) = _extract_point_column_and_collection_type(points2)
  
      return Series._from_data(
          {
              None: cpp_pairwise_point_distance(
                  lhs_point_collection_type,
                  rhs_point_collection_type,
                  lhs_column,
                  rhs_column,
              )
          }
      )
  
file_path: cuspatial/python/cuspatial/cuspatial/core/spatial/distance.py
imports: import cudf
  from cudf import DataFrame, Series
  from cudf.core.column import as_column
  from cuspatial._lib.distance import directed_hausdorff_distance, haversine_distance, pairwise_linestring_distance, pairwise_linestring_polygon_distance, pairwise_point_distance, pairwise_point_linestring_distance, pairwise_point_polygon_distance, pairwise_polygon_distance
  from cuspatial._lib.types import CollectionType
  from cuspatial.core.geoseries import GeoSeries
  from cuspatial.utils.column_utils import contains_only_linestrings, contains_only_multipoints, contains_only_points, contains_only_polygons
label_desc: Use image node_id 3 for calling a global function with example usage: pairwise_point_distance(points1, points2) and returns: Series, cudf