def euclidean(
    y1: float | npt.NDArray[np.float64],
    x1: float | npt.NDArray[np.float64],
    y2: float | npt.NDArray[np.float64],
    x2: float | npt.NDArray[np.float64],
) -> float | npt.NDArray[np.float64]:
    """
    Calculate Euclidean distances between pairs of points.

    Vectorized function to calculate the Euclidean distance between two
    points' coordinates or between arrays of points' coordinates. For accurate
    results, use projected coordinates rather than decimal degrees.

    Parameters
    ----------
    y1
        First point's y coordinate(s).
    x1
        First point's x coordinate(s).
    y2
        Second point's y coordinate(s).
    x2
        Second point's x coordinate(s).

    Returns
    -------
    dist
        Distance from each `(x1, y1)` point to each `(x2, y2)` point in same
        units as the points' coordinates.
    """
    # pythagorean theorem
    dist: float | npt.NDArray[np.float64] = ((x1 - x2) ** 2 + (y1 - y2) ** 2) ** 0.5
    return dist

    Calculate Euclidean distances between pairs of points.

    Vectorized function to calculate the Euclidean distance between two
    points' coordinates or between arrays of points' coordinates. For accurate
    results, use projected coordinates rather than decimal degrees.

    Parameters
    ----------
    y1
        First point's y coordinate(s).
    x1
        First point's x coordinate(s).
    y2
        Second point's y coordinate(s).
    x2
        Second point's x coordinate(s).

    Returns
    -------
    dist
        Distance from each `(x1, y1)` point to each `(x2, y2)` point in same
        units as the points' coordinates.
    
osmnx/distance.py