shapely 2.1.1__tar.gz → 2.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. {shapely-2.1.1 → shapely-2.1.2}/CHANGES.txt +6 -0
  2. {shapely-2.1.1 → shapely-2.1.2}/CITATION.cff +2 -2
  3. {shapely-2.1.1 → shapely-2.1.2}/PKG-INFO +2 -1
  4. {shapely-2.1.1 → shapely-2.1.2}/pyproject.toml +2 -1
  5. {shapely-2.1.1 → shapely-2.1.2}/shapely/_version.py +3 -3
  6. {shapely-2.1.1 → shapely-2.1.2}/shapely/set_operations.py +3 -0
  7. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_measurement.py +1 -1
  8. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_set_operations.py +5 -1
  9. {shapely-2.1.1 → shapely-2.1.2}/shapely.egg-info/PKG-INFO +2 -1
  10. {shapely-2.1.1 → shapely-2.1.2}/CREDITS.txt +0 -0
  11. {shapely-2.1.1 → shapely-2.1.2}/LICENSE.txt +0 -0
  12. {shapely-2.1.1 → shapely-2.1.2}/README.rst +0 -0
  13. {shapely-2.1.1 → shapely-2.1.2}/docs/constructive.rst +0 -0
  14. {shapely-2.1.1 → shapely-2.1.2}/docs/coordinates.rst +0 -0
  15. {shapely-2.1.1 → shapely-2.1.2}/docs/coverage.rst +0 -0
  16. {shapely-2.1.1 → shapely-2.1.2}/docs/creation.rst +0 -0
  17. {shapely-2.1.1 → shapely-2.1.2}/docs/design.rst +0 -0
  18. {shapely-2.1.1 → shapely-2.1.2}/docs/geometry.rst +0 -0
  19. {shapely-2.1.1 → shapely-2.1.2}/docs/index.rst +0 -0
  20. {shapely-2.1.1 → shapely-2.1.2}/docs/installation.rst +0 -0
  21. {shapely-2.1.1 → shapely-2.1.2}/docs/io.rst +0 -0
  22. {shapely-2.1.1 → shapely-2.1.2}/docs/linear.rst +0 -0
  23. {shapely-2.1.1 → shapely-2.1.2}/docs/manual.rst +0 -0
  24. {shapely-2.1.1 → shapely-2.1.2}/docs/measurement.rst +0 -0
  25. {shapely-2.1.1 → shapely-2.1.2}/docs/migration.rst +0 -0
  26. {shapely-2.1.1 → shapely-2.1.2}/docs/migration_pygeos.rst +0 -0
  27. {shapely-2.1.1 → shapely-2.1.2}/docs/plotting.rst +0 -0
  28. {shapely-2.1.1 → shapely-2.1.2}/docs/predicates.rst +0 -0
  29. {shapely-2.1.1 → shapely-2.1.2}/docs/properties.rst +0 -0
  30. {shapely-2.1.1 → shapely-2.1.2}/docs/release.rst +0 -0
  31. {shapely-2.1.1 → shapely-2.1.2}/docs/set_operations.rst +0 -0
  32. {shapely-2.1.1 → shapely-2.1.2}/docs/strtree.rst +0 -0
  33. {shapely-2.1.1 → shapely-2.1.2}/docs/testing.rst +0 -0
  34. {shapely-2.1.1 → shapely-2.1.2}/setup.cfg +0 -0
  35. {shapely-2.1.1 → shapely-2.1.2}/setup.py +0 -0
  36. {shapely-2.1.1 → shapely-2.1.2}/shapely/__init__.py +0 -0
  37. {shapely-2.1.1 → shapely-2.1.2}/shapely/_coverage.py +0 -0
  38. {shapely-2.1.1 → shapely-2.1.2}/shapely/_enum.py +0 -0
  39. {shapely-2.1.1 → shapely-2.1.2}/shapely/_geometry.py +0 -0
  40. {shapely-2.1.1 → shapely-2.1.2}/shapely/_geometry_helpers.pyx +0 -0
  41. {shapely-2.1.1 → shapely-2.1.2}/shapely/_geos.pxd +0 -0
  42. {shapely-2.1.1 → shapely-2.1.2}/shapely/_geos.pyx +0 -0
  43. {shapely-2.1.1 → shapely-2.1.2}/shapely/_pygeos_api.pxd +0 -0
  44. {shapely-2.1.1 → shapely-2.1.2}/shapely/_ragged_array.py +0 -0
  45. {shapely-2.1.1 → shapely-2.1.2}/shapely/affinity.py +0 -0
  46. {shapely-2.1.1 → shapely-2.1.2}/shapely/algorithms/__init__.py +0 -0
  47. {shapely-2.1.1 → shapely-2.1.2}/shapely/algorithms/_oriented_envelope.py +0 -0
  48. {shapely-2.1.1 → shapely-2.1.2}/shapely/algorithms/cga.py +0 -0
  49. {shapely-2.1.1 → shapely-2.1.2}/shapely/algorithms/polylabel.py +0 -0
  50. {shapely-2.1.1 → shapely-2.1.2}/shapely/conftest.py +0 -0
  51. {shapely-2.1.1 → shapely-2.1.2}/shapely/constructive.py +0 -0
  52. {shapely-2.1.1 → shapely-2.1.2}/shapely/coordinates.py +0 -0
  53. {shapely-2.1.1 → shapely-2.1.2}/shapely/coords.py +0 -0
  54. {shapely-2.1.1 → shapely-2.1.2}/shapely/creation.py +0 -0
  55. {shapely-2.1.1 → shapely-2.1.2}/shapely/decorators.py +0 -0
  56. {shapely-2.1.1 → shapely-2.1.2}/shapely/errors.py +0 -0
  57. {shapely-2.1.1 → shapely-2.1.2}/shapely/geometry/__init__.py +0 -0
  58. {shapely-2.1.1 → shapely-2.1.2}/shapely/geometry/base.py +0 -0
  59. {shapely-2.1.1 → shapely-2.1.2}/shapely/geometry/collection.py +0 -0
  60. {shapely-2.1.1 → shapely-2.1.2}/shapely/geometry/geo.py +0 -0
  61. {shapely-2.1.1 → shapely-2.1.2}/shapely/geometry/linestring.py +0 -0
  62. {shapely-2.1.1 → shapely-2.1.2}/shapely/geometry/multilinestring.py +0 -0
  63. {shapely-2.1.1 → shapely-2.1.2}/shapely/geometry/multipoint.py +0 -0
  64. {shapely-2.1.1 → shapely-2.1.2}/shapely/geometry/multipolygon.py +0 -0
  65. {shapely-2.1.1 → shapely-2.1.2}/shapely/geometry/point.py +0 -0
  66. {shapely-2.1.1 → shapely-2.1.2}/shapely/geometry/polygon.py +0 -0
  67. {shapely-2.1.1 → shapely-2.1.2}/shapely/geos.py +0 -0
  68. {shapely-2.1.1 → shapely-2.1.2}/shapely/io.py +0 -0
  69. {shapely-2.1.1 → shapely-2.1.2}/shapely/linear.py +0 -0
  70. {shapely-2.1.1 → shapely-2.1.2}/shapely/measurement.py +0 -0
  71. {shapely-2.1.1 → shapely-2.1.2}/shapely/ops.py +0 -0
  72. {shapely-2.1.1 → shapely-2.1.2}/shapely/plotting.py +0 -0
  73. {shapely-2.1.1 → shapely-2.1.2}/shapely/predicates.py +0 -0
  74. {shapely-2.1.1 → shapely-2.1.2}/shapely/prepared.py +0 -0
  75. {shapely-2.1.1 → shapely-2.1.2}/shapely/speedups.py +0 -0
  76. {shapely-2.1.1 → shapely-2.1.2}/shapely/strtree.py +0 -0
  77. {shapely-2.1.1 → shapely-2.1.2}/shapely/testing.py +0 -0
  78. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/__init__.py +0 -0
  79. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/common.py +0 -0
  80. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/__init__.py +0 -0
  81. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_collection.py +0 -0
  82. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_coords.py +0 -0
  83. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_decimal.py +0 -0
  84. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_emptiness.py +0 -0
  85. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_equality.py +0 -0
  86. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_format.py +0 -0
  87. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_geometry_base.py +0 -0
  88. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_hash.py +0 -0
  89. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_linestring.py +0 -0
  90. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_multi.py +0 -0
  91. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_multilinestring.py +0 -0
  92. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_multipoint.py +0 -0
  93. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_multipolygon.py +0 -0
  94. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_point.py +0 -0
  95. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/geometry/test_polygon.py +0 -0
  96. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/__init__.py +0 -0
  97. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/conftest.py +0 -0
  98. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_affinity.py +0 -0
  99. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_box.py +0 -0
  100. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_buffer.py +0 -0
  101. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_cga.py +0 -0
  102. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_clip_by_rect.py +0 -0
  103. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_create_inconsistent_dimensionality.py +0 -0
  104. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_delaunay.py +0 -0
  105. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_empty_polygons.py +0 -0
  106. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_equality.py +0 -0
  107. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_geointerface.py +0 -0
  108. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_invalid_geometries.py +0 -0
  109. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_linear_referencing.py +0 -0
  110. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_linemerge.py +0 -0
  111. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_locale.py +0 -0
  112. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_make_valid.py +0 -0
  113. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_mapping.py +0 -0
  114. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_minimum_clearance.py +0 -0
  115. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_ndarrays.py +0 -0
  116. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_nearest.py +0 -0
  117. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_operations.py +0 -0
  118. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_operators.py +0 -0
  119. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_orient.py +0 -0
  120. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_parallel_offset.py +0 -0
  121. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_persist.py +0 -0
  122. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_pickle.py +0 -0
  123. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_polygonize.py +0 -0
  124. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_polylabel.py +0 -0
  125. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_predicates.py +0 -0
  126. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_prepared.py +0 -0
  127. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_products_z.py +0 -0
  128. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_shape.py +0 -0
  129. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_shared_paths.py +0 -0
  130. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_singularity.py +0 -0
  131. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_snap.py +0 -0
  132. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_split.py +0 -0
  133. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_substring.py +0 -0
  134. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_svg.py +0 -0
  135. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_transform.py +0 -0
  136. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_union.py +0 -0
  137. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_validation.py +0 -0
  138. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_vectorized.py +0 -0
  139. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_voronoi_diagram.py +0 -0
  140. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_wkb.py +0 -0
  141. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/test_wkt.py +0 -0
  142. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/legacy/threading_test.py +0 -0
  143. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_constructive.py +0 -0
  144. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_coordinates.py +0 -0
  145. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_coverage.py +0 -0
  146. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_creation.py +0 -0
  147. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_creation_indices.py +0 -0
  148. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_decorators.py +0 -0
  149. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_geometry.py +0 -0
  150. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_io.py +0 -0
  151. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_linear.py +0 -0
  152. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_misc.py +0 -0
  153. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_plotting.py +0 -0
  154. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_predicates.py +0 -0
  155. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_ragged_array.py +0 -0
  156. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_strtree.py +0 -0
  157. {shapely-2.1.1 → shapely-2.1.2}/shapely/tests/test_testing.py +0 -0
  158. {shapely-2.1.1 → shapely-2.1.2}/shapely/validation.py +0 -0
  159. {shapely-2.1.1 → shapely-2.1.2}/shapely/vectorized/__init__.py +0 -0
  160. {shapely-2.1.1 → shapely-2.1.2}/shapely/wkb.py +0 -0
  161. {shapely-2.1.1 → shapely-2.1.2}/shapely/wkt.py +0 -0
  162. {shapely-2.1.1 → shapely-2.1.2}/shapely.egg-info/SOURCES.txt +0 -0
  163. {shapely-2.1.1 → shapely-2.1.2}/shapely.egg-info/dependency_links.txt +0 -0
  164. {shapely-2.1.1 → shapely-2.1.2}/shapely.egg-info/requires.txt +0 -0
  165. {shapely-2.1.1 → shapely-2.1.2}/shapely.egg-info/top_level.txt +0 -0
  166. {shapely-2.1.1 → shapely-2.1.2}/src/c_api.c +0 -0
  167. {shapely-2.1.1 → shapely-2.1.2}/src/c_api.h +0 -0
  168. {shapely-2.1.1 → shapely-2.1.2}/src/coords.c +0 -0
  169. {shapely-2.1.1 → shapely-2.1.2}/src/coords.h +0 -0
  170. {shapely-2.1.1 → shapely-2.1.2}/src/fast_loop_macros.h +0 -0
  171. {shapely-2.1.1 → shapely-2.1.2}/src/geos.c +0 -0
  172. {shapely-2.1.1 → shapely-2.1.2}/src/geos.h +0 -0
  173. {shapely-2.1.1 → shapely-2.1.2}/src/kvec.h +0 -0
  174. {shapely-2.1.1 → shapely-2.1.2}/src/lib.c +0 -0
  175. {shapely-2.1.1 → shapely-2.1.2}/src/pygeom.c +0 -0
  176. {shapely-2.1.1 → shapely-2.1.2}/src/pygeom.h +0 -0
  177. {shapely-2.1.1 → shapely-2.1.2}/src/pygeos.c +0 -0
  178. {shapely-2.1.1 → shapely-2.1.2}/src/pygeos.h +0 -0
  179. {shapely-2.1.1 → shapely-2.1.2}/src/strtree.c +0 -0
  180. {shapely-2.1.1 → shapely-2.1.2}/src/strtree.h +0 -0
  181. {shapely-2.1.1 → shapely-2.1.2}/src/ufuncs.c +0 -0
  182. {shapely-2.1.1 → shapely-2.1.2}/src/ufuncs.h +0 -0
  183. {shapely-2.1.1 → shapely-2.1.2}/src/vector.c +0 -0
  184. {shapely-2.1.1 → shapely-2.1.2}/src/vector.h +0 -0
  185. {shapely-2.1.1 → shapely-2.1.2}/versioneer.py +0 -0
@@ -1,6 +1,12 @@
1
1
  Changes
2
2
  =======
3
3
 
4
+ 2.1.2 (2025-09-24)
5
+ ------------------
6
+
7
+ Wheels are available for Python 3.14 (and still include GEOS 3.13.1).
8
+
9
+
4
10
  2.1.1 (2025-05-19)
5
11
  ------------------
6
12
 
@@ -2,8 +2,8 @@ cff-version: 1.2.0
2
2
  message: "Please cite this software using these metadata."
3
3
  type: software
4
4
  title: Shapely
5
- version: "2.1.1"
6
- date-released: "2025-05-19"
5
+ version: "2.1.2"
6
+ date-released: "2025-09-24"
7
7
  doi: 10.5281/zenodo.5597138
8
8
  abstract: "Manipulation and analysis of geometric objects in the Cartesian plane."
9
9
  repository-artifact: https://pypi.org/project/Shapely
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shapely
3
- Version: 2.1.1
3
+ Version: 2.1.2
4
4
  Summary: Manipulation and analysis of geometric objects
5
5
  Author: Sean Gillies
6
6
  Maintainer: Shapely contributors
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.10
20
20
  Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
23
24
  Classifier: Topic :: Scientific/Engineering :: GIS
24
25
  Requires-Python: >=3.10
25
26
  Description-Content-Type: text/x-rst
@@ -35,6 +35,7 @@ classifiers = [
35
35
  "Programming Language :: Python :: 3.11",
36
36
  "Programming Language :: Python :: 3.12",
37
37
  "Programming Language :: Python :: 3.13",
38
+ "Programming Language :: Python :: 3.14",
38
39
  "Topic :: Scientific/Engineering :: GIS",
39
40
  ]
40
41
  requires-python = ">=3.10"
@@ -74,7 +75,7 @@ skip = ["pp*", "*_i686", "*_ppc64le", "*_s390x"]
74
75
  build-verbosity = 1
75
76
  test-requires = "pytest"
76
77
  test-command = "pytest --pyargs shapely.tests"
77
- free-threaded-support = true
78
+ enable = ["cpython-freethreading"]
78
79
 
79
80
  [tool.coverage.run]
80
81
  source = ["shapely"]
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2025-05-19T12:40:46+0200",
11
+ "date": "2025-09-24T15:22:48+0200",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "b49155ea7eaec698a0357fb9bc1147533b566916",
15
- "version": "2.1.1"
14
+ "full-revisionid": "5fb639d1056888d135fe56bfaf750c9648addeec",
15
+ "version": "2.1.2"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -562,6 +562,9 @@ def coverage_union(a, b, **kwargs):
562
562
 
563
563
  This is an optimized version of union which assumes the polygons to be
564
564
  non-overlapping.
565
+ If this assumption is not met, the exact result is not guaranteed
566
+ (depending on the GEOS version, it may return the input unchanged or raise
567
+ an error).
565
568
 
566
569
  Parameters
567
570
  ----------
@@ -247,7 +247,7 @@ def test_frechet_distance(geom1, geom2, expected):
247
247
  (
248
248
  shapely.linestrings([[0, 0], [100, 0]]),
249
249
  shapely.linestrings([[0, 0], [50, 50], [100, 0]]),
250
- 0.001,
250
+ 0.002,
251
251
  50,
252
252
  )
253
253
  ],
@@ -287,7 +287,11 @@ def test_coverage_union_overlapping_inputs():
287
287
  polygon = Polygon([(1, 1), (1, 0), (0, 0), (0, 1), (1, 1)])
288
288
  other = Polygon([(1, 0), (0.9, 1), (2, 1), (2, 0), (1, 0)])
289
289
 
290
- if shapely.geos_version >= (3, 12, 0):
290
+ if shapely.geos_version >= (3, 14, 0):
291
+ # Overlapping polygons raise an error again
292
+ with pytest.raises(shapely.GEOSException, match="TopologyException"):
293
+ shapely.coverage_union(polygon, other)
294
+ elif shapely.geos_version >= (3, 12, 0):
291
295
  # Return mostly unchanged output
292
296
  result = shapely.coverage_union(polygon, other)
293
297
  expected = shapely.multipolygons([polygon, other])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shapely
3
- Version: 2.1.1
3
+ Version: 2.1.2
4
4
  Summary: Manipulation and analysis of geometric objects
5
5
  Author: Sean Gillies
6
6
  Maintainer: Shapely contributors
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.10
20
20
  Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
23
24
  Classifier: Topic :: Scientific/Engineering :: GIS
24
25
  Requires-Python: >=3.10
25
26
  Description-Content-Type: text/x-rst
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes