Skip to content

Commit 6f7c797

Browse files
authored
Bump shapely to 2.1.* (#13847)
1 parent b379744 commit 6f7c797

17 files changed

+323
-121
lines changed

Diff for: stubs/shapely/@tests/stubtest_allowlist.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
shapely\.geometry\.conftest
1+
shapely\.conftest
22
shapely\.tests.*
33

44
shapely\._typing # stubs only module

Diff for: stubs/shapely/METADATA.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version = "2.0.*"
1+
version = "2.1.*"
22
# Requires a version of numpy with a `py.typed` file
33
requires = ["numpy>=1.20"]
44
upstream_repository = "https://github.com/shapely/shapely"

Diff for: stubs/shapely/shapely/_geometry.pyi

+20-15
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,29 @@ from .lib import Geometry
1313

1414
__all__ = [
1515
"GeometryType",
16-
"get_type_id",
17-
"get_dimensions",
16+
"force_2d",
17+
"force_3d",
1818
"get_coordinate_dimension",
19+
"get_dimensions",
20+
"get_exterior_ring",
21+
"get_geometry",
22+
"get_interior_ring",
23+
"get_m",
1924
"get_num_coordinates",
25+
"get_num_geometries",
26+
"get_num_interior_rings",
27+
"get_num_points",
28+
"get_parts",
29+
"get_point",
30+
"get_precision",
31+
"get_rings",
2032
"get_srid",
21-
"set_srid",
33+
"get_type_id",
2234
"get_x",
2335
"get_y",
2436
"get_z",
25-
"get_exterior_ring",
26-
"get_num_points",
27-
"get_num_interior_rings",
28-
"get_num_geometries",
29-
"get_point",
30-
"get_interior_ring",
31-
"get_geometry",
32-
"get_parts",
33-
"get_rings",
34-
"get_precision",
3537
"set_precision",
36-
"force_2d",
37-
"force_3d",
38+
"set_srid",
3839
]
3940

4041
_PrecisionMode: TypeAlias = Literal["valid_output", "pointwise", "keep_collapsed", 0, 1, 2]
@@ -89,6 +90,10 @@ def get_z(point: Geometry | None, **kwargs) -> float: ...
8990
@overload
9091
def get_z(point: OptGeoArrayLikeSeq, **kwargs) -> NDArray[np.float64]: ...
9192
@overload
93+
def get_m(point: Geometry | None, **kwargs) -> float: ...
94+
@overload
95+
def get_m(point: OptGeoArrayLikeSeq, **kwargs) -> NDArray[np.float64]: ...
96+
@overload
9297
def get_point(geometry: LineString, index: SupportsIndex, **kwargs) -> Point | Any: ...
9398
@overload
9499
def get_point(geometry: Point | Polygon | BaseMultipartGeometry | None, index: SupportsIndex, **kwargs) -> None: ...

Diff for: stubs/shapely/shapely/_ragged_array.pyi

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ from ._geometry import GeometryType
55
from ._typing import ArrayLike, ArrayLikeSeq, GeoArray, OptGeoArrayLikeSeq
66

77
def to_ragged_array(
8-
geometries: OptGeoArrayLikeSeq, include_z: bool | None = None
8+
geometries: OptGeoArrayLikeSeq, include_z: bool | None = None, include_m: bool | None = None
99
) -> tuple[GeometryType, NDArray[np.float64], tuple[NDArray[np.int64], ...]]: ...
1010
def from_ragged_array(
1111
geometry_type: GeometryType, coords: ArrayLike[float], offsets: ArrayLikeSeq[int] | None = None

Diff for: stubs/shapely/shapely/algorithms/cga.pyi

-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
from collections.abc import Callable
2-
31
from ..geometry import LinearRing
42

53
def signed_area(ring: LinearRing) -> float: ...
6-
def is_ccw_impl(name: None = None) -> Callable[[LinearRing], bool]: ...

Diff for: stubs/shapely/shapely/algorithms/polylabel.pyi

-16
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,3 @@
1-
from ..errors import TopologicalError as TopologicalError
21
from ..geometry import Point, Polygon
32

4-
class Cell:
5-
x: float
6-
y: float
7-
h: float
8-
centroid: Point
9-
distance: float
10-
max_distance: float
11-
def __init__(self, x: float, y: float, h: float, polygon: Polygon) -> None: ...
12-
def __lt__(self, other: Cell) -> bool: ...
13-
def __le__(self, other: Cell) -> bool: ...
14-
def __eq__(self, other: object) -> bool: ...
15-
def __ne__(self, other: object) -> bool: ...
16-
def __gt__(self, other: Cell) -> bool: ...
17-
def __ge__(self, other: Cell) -> bool: ...
18-
193
def polylabel(polygon: Polygon, tolerance: float = 1.0) -> Point: ...

Diff for: stubs/shapely/shapely/constructive.pyi

+117-18
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from collections.abc import Sequence
22
from typing import Any, Literal, SupportsIndex, overload
3+
from typing_extensions import TypeAlias
34

45
from ._enum import ParamEnum
56
from ._typing import ArrayLike, ArrayLikeSeq, GeoArray, OptGeoArrayLike, OptGeoArrayLikeSeq, OptGeoT
@@ -12,32 +13,38 @@ __all__ = [
1213
"BufferJoinStyle",
1314
"boundary",
1415
"buffer",
15-
"offset_curve",
16+
"build_area",
1617
"centroid",
1718
"clip_by_rect",
1819
"concave_hull",
20+
"constrained_delaunay_triangles",
1921
"convex_hull",
2022
"delaunay_triangles",
21-
"segmentize",
2223
"envelope",
2324
"extract_unique_points",
24-
"build_area",
2525
"make_valid",
26-
"normalize",
26+
"maximum_inscribed_circle",
27+
"minimum_bounding_circle",
28+
"minimum_clearance_line",
29+
"minimum_rotated_rectangle",
2730
"node",
31+
"normalize",
32+
"offset_curve",
33+
"orient_polygons",
34+
"oriented_envelope",
2835
"point_on_surface",
2936
"polygonize",
3037
"polygonize_full",
3138
"remove_repeated_points",
3239
"reverse",
40+
"segmentize",
3341
"simplify",
3442
"snap",
3543
"voronoi_polygons",
36-
"oriented_envelope",
37-
"minimum_rotated_rectangle",
38-
"minimum_bounding_circle",
3944
]
4045

46+
_Method: TypeAlias = Literal["linework", "structure"]
47+
4148
class BufferCapStyle(ParamEnum):
4249
round = 1
4350
flat = 2
@@ -229,6 +236,14 @@ def delaunay_triangles(
229236
geometry: OptGeoArrayLikeSeq, tolerance: ArrayLike[float] = 0.0, only_edges: ArrayLike[bool] = False, **kwargs
230237
) -> GeoArray: ...
231238
@overload
239+
def constrained_delaunay_triangles(geometry: Geometry, **kwargs) -> GeometryCollection: ...
240+
@overload
241+
def constrained_delaunay_triangles(geometry: None, **kwargs) -> None: ...
242+
@overload
243+
def constrained_delaunay_triangles(geometry: Geometry | None, **kwargs) -> GeometryCollection | None: ...
244+
@overload
245+
def constrained_delaunay_triangles(geometry: OptGeoArrayLikeSeq | OptGeoArrayLike, **kwargs) -> GeoArray: ...
246+
@overload
232247
def envelope(geometry: Point, **kwargs) -> Point: ...
233248
@overload
234249
def envelope(geometry: Geometry, **kwargs) -> BaseGeometry: ...
@@ -255,13 +270,37 @@ def build_area(geometry: Geometry | None, **kwargs) -> BaseGeometry | None: ...
255270
@overload
256271
def build_area(geometry: OptGeoArrayLikeSeq, **kwargs) -> GeoArray: ...
257272
@overload
258-
def make_valid(geometry: Geometry, **kwargs) -> BaseGeometry: ...
273+
def make_valid(geometry: Geometry, *, method: _Method = "linework", keep_collapsed: bool = True, **kwargs) -> BaseGeometry: ...
274+
@overload
275+
def make_valid(geometry: None, *, method: _Method = "linework", keep_collapsed: bool = True, **kwargs) -> None: ...
276+
@overload
277+
def make_valid(
278+
geometry: Geometry | None, *, method: Literal["structure"], keep_collapsed: bool = True, **kwargs
279+
) -> BaseGeometry | None: ...
280+
@overload
281+
def make_valid(
282+
geometry: Geometry | None, *, method: Literal["linework"], keep_collapsed: Literal[True], **kwargs
283+
) -> BaseGeometry | None: ...
284+
@overload
285+
def make_valid(
286+
geometry: OptGeoArrayLikeSeq, *, method: Literal["structure"], keep_collapsed: bool = True, **kwargs
287+
) -> GeoArray: ...
288+
@overload
289+
def make_valid(
290+
geometry: OptGeoArrayLikeSeq, *, method: Literal["linework"], keep_collapsed: Literal[True], **kwargs
291+
) -> GeoArray: ...
292+
@overload
293+
def minimum_clearance_line(geometry: Point, **kwargs) -> Point: ...
259294
@overload
260-
def make_valid(geometry: None, **kwargs) -> None: ...
295+
def minimum_clearance_line(geometry: LineString | Polygon | BaseMultipartGeometry, **kwargs) -> Polygon: ...
261296
@overload
262-
def make_valid(geometry: Geometry | None, **kwargs) -> BaseGeometry | None: ...
297+
def minimum_clearance_line(geometry: Geometry, **kwargs) -> Polygon | Point: ...
263298
@overload
264-
def make_valid(geometry: OptGeoArrayLikeSeq, **kwargs) -> GeoArray: ...
299+
def minimum_clearance_line(geometry: None, **kwargs) -> None: ...
300+
@overload
301+
def minimum_clearance_line(geometry: Geometry | None, **kwargs) -> Polygon | Point | None: ...
302+
@overload
303+
def minimum_clearance_line(geometry: OptGeoArrayLikeSeq, **kwargs) -> GeoArray: ...
265304
@overload
266305
def normalize(geometry: OptGeoT, **kwargs) -> OptGeoT: ...
267306
@overload
@@ -335,34 +374,61 @@ def snap(geometry: OptGeoArrayLike, reference: OptGeoArrayLikeSeq, tolerance: Ar
335374
def snap(geometry: OptGeoArrayLike, reference: OptGeoArrayLike, tolerance: ArrayLikeSeq[float], **kwargs) -> GeoArray: ...
336375
@overload
337376
def voronoi_polygons(
338-
geometry: Geometry, tolerance: float = 0.0, extend_to: Geometry | None = None, only_edges: Literal[False] = False, **kwargs
377+
geometry: Geometry,
378+
tolerance: float = 0.0,
379+
extend_to: Geometry | None = None,
380+
only_edges: Literal[False] = False,
381+
ordered: bool = False,
382+
**kwargs,
339383
) -> GeometryCollection[Polygon]: ...
340384
@overload
341385
def voronoi_polygons(
342-
geometry: Geometry, tolerance: float, extend_to: Geometry | None, only_edges: Literal[True], **kwargs
386+
geometry: Geometry, tolerance: float, extend_to: Geometry | None, only_edges: Literal[True], ordered: bool = False, **kwargs
343387
) -> LineString | MultiLineString: ...
344388
@overload
345389
def voronoi_polygons(
346-
geometry: Geometry, tolerance: float = 0.0, extend_to: Geometry | None = None, *, only_edges: Literal[True], **kwargs
390+
geometry: Geometry,
391+
tolerance: float = 0.0,
392+
extend_to: Geometry | None = None,
393+
*,
394+
only_edges: Literal[True],
395+
ordered: bool = False,
396+
**kwargs,
347397
) -> LineString | MultiLineString: ...
348398
@overload
349399
def voronoi_polygons(
350-
geometry: Geometry, tolerance: float = 0.0, extend_to: Geometry | None = None, only_edges: bool = False, **kwargs
400+
geometry: Geometry,
401+
tolerance: float = 0.0,
402+
extend_to: Geometry | None = None,
403+
only_edges: bool = False,
404+
ordered: bool = False,
405+
**kwargs,
351406
) -> GeometryCollection[Polygon] | LineString | MultiLineString: ...
352407
@overload
353408
def voronoi_polygons(
354-
geometry: None, tolerance: float = 0.0, extend_to: Geometry | None = None, only_edges: bool = False, **kwargs
409+
geometry: None,
410+
tolerance: float = 0.0,
411+
extend_to: Geometry | None = None,
412+
only_edges: bool = False,
413+
ordered: bool = False,
414+
**kwargs,
355415
) -> None: ...
356416
@overload
357417
def voronoi_polygons(
358-
geometry: Geometry | None, tolerance: float = 0.0, extend_to: Geometry | None = None, only_edges: bool = False, **kwargs
418+
geometry: Geometry | None,
419+
tolerance: float = 0.0,
420+
extend_to: Geometry | None = None,
421+
only_edges: bool = False,
422+
ordered: bool = False,
423+
**kwargs,
359424
) -> GeometryCollection[Polygon] | LineString | MultiLineString | None: ...
360425
@overload
361426
def voronoi_polygons(
362427
geometry: OptGeoArrayLikeSeq,
363428
tolerance: ArrayLike[float] = 0.0,
364429
extend_to: OptGeoArrayLike = None,
365430
only_edges: ArrayLike[bool] = False,
431+
ordered: bool = False,
366432
**kwargs,
367433
) -> GeoArray: ...
368434
@overload
@@ -371,6 +437,7 @@ def voronoi_polygons(
371437
tolerance: ArrayLikeSeq[float],
372438
extend_to: OptGeoArrayLike = None,
373439
only_edges: ArrayLike[bool] = False,
440+
ordered: bool = False,
374441
**kwargs,
375442
) -> GeoArray: ...
376443
@overload
@@ -379,6 +446,7 @@ def voronoi_polygons(
379446
tolerance: ArrayLike[float],
380447
extend_to: OptGeoArrayLikeSeq,
381448
only_edges: ArrayLike[bool] = False,
449+
ordered: bool = False,
382450
**kwargs,
383451
) -> GeoArray: ...
384452
@overload
@@ -388,11 +456,17 @@ def voronoi_polygons(
388456
*,
389457
extend_to: OptGeoArrayLikeSeq,
390458
only_edges: ArrayLike[bool] = False,
459+
ordered: bool = False,
391460
**kwargs,
392461
) -> GeoArray: ...
393462
@overload
394463
def voronoi_polygons(
395-
geometry: OptGeoArrayLike, tolerance: ArrayLike[float], extend_to: OptGeoArrayLike, only_edges: ArrayLikeSeq[bool], **kwargs
464+
geometry: OptGeoArrayLike,
465+
tolerance: ArrayLike[float],
466+
extend_to: OptGeoArrayLike,
467+
only_edges: ArrayLikeSeq[bool],
468+
ordered: bool = False,
469+
**kwargs,
396470
) -> GeoArray: ...
397471
@overload
398472
def voronoi_polygons(
@@ -401,6 +475,7 @@ def voronoi_polygons(
401475
extend_to: OptGeoArrayLike = None,
402476
*,
403477
only_edges: ArrayLikeSeq[bool],
478+
ordered: bool = False,
404479
**kwargs,
405480
) -> GeoArray: ...
406481
@overload
@@ -428,3 +503,27 @@ def minimum_bounding_circle(geometry: None, **kwargs) -> None: ...
428503
def minimum_bounding_circle(geometry: Geometry | None, **kwargs) -> Polygon | Point | None: ...
429504
@overload
430505
def minimum_bounding_circle(geometry: OptGeoArrayLikeSeq, **kwargs) -> GeoArray: ...
506+
@overload
507+
def maximum_inscribed_circle(geometry: Point, tolerance: float | None = None, **kwargs) -> Point: ...
508+
@overload
509+
def maximum_inscribed_circle(
510+
geometry: LineString | Polygon | BaseMultipartGeometry, tolerance: float | None = None, **kwargs
511+
): ...
512+
@overload
513+
def maximum_inscribed_circle(geometry: Geometry, tolerance: float | None = None, **kwargs) -> Polygon | Point: ...
514+
@overload
515+
def maximum_inscribed_circle(geometry: None, tolerance: float | None = None, **kwargs) -> None: ...
516+
@overload
517+
def maximum_inscribed_circle(geometry: Geometry | None, tolerance: float | None = None, **kwargs) -> Polygon | Point | None: ...
518+
@overload
519+
def maximum_inscribed_circle(geometry: OptGeoArrayLikeSeq, tolerance: ArrayLike[float] | None = None, **kwargs) -> GeoArray: ...
520+
@overload
521+
def orient_polygons(geometry: Point, *, exterior_cw: bool = False, **kwargs) -> Point: ...
522+
@overload
523+
def orient_polygons(geometry: Geometry, *, exterior_cw: bool = False, **kwargs) -> BaseGeometry: ...
524+
@overload
525+
def orient_polygons(geometry: None, *, exterior_cw: bool = False, **kwargs) -> None: ...
526+
@overload
527+
def orient_polygons(geometry: Geometry | None, *, exterior_cw: bool = False, **kwargs) -> BaseGeometry | None: ...
528+
@overload
529+
def orient_polygons(geometry: OptGeoArrayLikeSeq, *, exterior_cw: bool = False, **kwargs) -> GeoArray: ...

0 commit comments

Comments
 (0)