shapely 1.7.1__tar.gz → 1.8a1__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 (152) hide show
  1. {Shapely-1.7.1 → Shapely-1.8a1}/CHANGES.txt +51 -0
  2. {Shapely-1.7.1/Shapely.egg-info → Shapely-1.8a1}/PKG-INFO +62 -13
  3. {Shapely-1.7.1 → Shapely-1.8a1}/README.rst +7 -7
  4. {Shapely-1.7.1 → Shapely-1.8a1/Shapely.egg-info}/PKG-INFO +62 -13
  5. {Shapely-1.7.1 → Shapely-1.8a1}/Shapely.egg-info/SOURCES.txt +4 -2
  6. Shapely-1.8a1/VERSION.txt +1 -0
  7. {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/_compat.py +0 -12
  8. {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/markers.py +2 -3
  9. {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/specifiers.py +6 -6
  10. {Shapely-1.7.1 → Shapely-1.8a1}/docs/manual.rst +164 -42
  11. {Shapely-1.7.1 → Shapely-1.8a1}/setup.cfg +1 -1
  12. {Shapely-1.7.1 → Shapely-1.8a1}/setup.py +10 -31
  13. Shapely-1.8a1/shapely/__init__.py +1 -0
  14. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/_buildcfg.py +2 -7
  15. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/coords.py +16 -8
  16. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/ctypes_declarations.py +99 -112
  17. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/errors.py +6 -0
  18. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/base.py +97 -83
  19. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/collection.py +9 -14
  20. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/geo.py +18 -1
  21. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/linestring.py +40 -13
  22. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/multilinestring.py +12 -17
  23. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/multipoint.py +41 -13
  24. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/multipolygon.py +21 -23
  25. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/point.py +48 -11
  26. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/polygon.py +36 -17
  27. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geos.py +159 -276
  28. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/impl.py +12 -29
  29. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/iterops.py +6 -0
  30. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/ops.py +180 -44
  31. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/speedups/__init__.py +3 -3
  32. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/speedups/_speedups.c +2354 -2459
  33. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/speedups/_speedups.pyx +42 -35
  34. Shapely-1.8a1/shapely/strtree.py +236 -0
  35. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/topology.py +1 -0
  36. Shapely-1.8a1/shapely/validation.py +55 -0
  37. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/vectorized/_vectorized.pyx +3 -1
  38. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/wkt.py +4 -4
  39. {Shapely-1.7.1 → Shapely-1.8a1}/tests/__init__.py +7 -4
  40. {Shapely-1.7.1 → Shapely-1.8a1}/tests/conftest.py +1 -0
  41. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_affinity.py +0 -7
  42. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_box.py +0 -4
  43. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_buffer.py +0 -3
  44. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_cga.py +0 -7
  45. Shapely-1.8a1/tests/test_collection.py +116 -0
  46. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_coords.py +12 -3
  47. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_create_inconsistent_dimensionality.py +12 -4
  48. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_delaunay.py +0 -7
  49. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_delegated.py +0 -4
  50. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_dlls.py +0 -4
  51. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_emptiness.py +16 -9
  52. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_empty_polygons.py +1 -1
  53. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_equality.py +0 -4
  54. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_geointerface.py +65 -11
  55. Shapely-1.8a1/tests/test_geometry_geo.py +16 -0
  56. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_geomseq.py +4 -5
  57. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_geos_err_handler.py +0 -2
  58. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_getitem.py +4 -9
  59. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_invalid_geometries.py +0 -6
  60. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_iterops.py +14 -4
  61. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_linear_referencing.py +0 -15
  62. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_linemerge.py +0 -4
  63. Shapely-1.8a1/tests/test_linestring.py +307 -0
  64. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_locale.py +0 -4
  65. Shapely-1.8a1/tests/test_make_valid.py +20 -0
  66. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_mapping.py +0 -4
  67. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_minimum_rotated_rectangle.py +0 -3
  68. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_multilinestring.py +32 -7
  69. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_multipoint.py +67 -5
  70. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_multipolygon.py +28 -5
  71. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_ndarrays.py +38 -11
  72. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_nearest.py +0 -7
  73. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_operations.py +12 -7
  74. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_operators.py +0 -4
  75. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_parallel_offset.py +1 -3
  76. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_persist.py +2 -14
  77. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_pickle.py +1 -5
  78. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_point.py +138 -20
  79. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_polygon.py +223 -61
  80. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_polygonize.py +2 -8
  81. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_polylabel.py +0 -4
  82. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_predicates.py +4 -3
  83. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_prepared.py +0 -4
  84. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_products_z.py +0 -4
  85. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_shared_paths.py +9 -17
  86. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_singularity.py +0 -4
  87. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_snap.py +1 -8
  88. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_split.py +13 -8
  89. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_strtree.py +18 -9
  90. Shapely-1.8a1/tests/test_strtree_nearest.py +29 -0
  91. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_styles.py +0 -5
  92. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_substring.py +61 -41
  93. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_svg.py +2 -5
  94. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_transform.py +0 -7
  95. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_union.py +5 -8
  96. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_validation.py +0 -4
  97. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_vectorized.py +0 -4
  98. Shapely-1.8a1/tests/test_voronoi_diagram.py +135 -0
  99. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_wkb.py +24 -1
  100. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_wkt.py +2 -2
  101. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_xy.py +0 -4
  102. Shapely-1.7.1/VERSION.txt +0 -1
  103. Shapely-1.7.1/shapely/__init__.py +0 -1
  104. Shapely-1.7.1/shapely/strtree.py +0 -110
  105. Shapely-1.7.1/shapely/validation.py +0 -6
  106. Shapely-1.7.1/shapely/vectorized/_vectorized.c +0 -26736
  107. Shapely-1.7.1/tests/test_collection.py +0 -81
  108. Shapely-1.7.1/tests/test_linestring.py +0 -172
  109. Shapely-1.7.1/tests/test_strtree_nearest.py +0 -27
  110. {Shapely-1.7.1 → Shapely-1.8a1}/CREDITS.txt +0 -0
  111. {Shapely-1.7.1 → Shapely-1.8a1}/LICENSE.txt +0 -0
  112. {Shapely-1.7.1 → Shapely-1.8a1}/Shapely.egg-info/dependency_links.txt +0 -0
  113. {Shapely-1.7.1 → Shapely-1.8a1}/Shapely.egg-info/requires.txt +0 -0
  114. {Shapely-1.7.1 → Shapely-1.8a1}/Shapely.egg-info/top_level.txt +0 -0
  115. {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/__init__.py +0 -0
  116. {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/__about__.py +0 -0
  117. {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/__init__.py +0 -0
  118. {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/_structures.py +0 -0
  119. {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/requirements.py +0 -0
  120. {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/utils.py +0 -0
  121. {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/version.py +0 -0
  122. {Shapely-1.7.1 → Shapely-1.8a1}/docs/design.rst +0 -0
  123. {Shapely-1.7.1 → Shapely-1.8a1}/docs/index.rst +0 -0
  124. {Shapely-1.7.1 → Shapely-1.8a1}/docs/project.rst +0 -0
  125. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/_geos.pxi +0 -0
  126. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/affinity.py +0 -0
  127. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/algorithms/__init__.py +0 -0
  128. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/algorithms/cga.py +0 -0
  129. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/algorithms/polylabel.py +0 -0
  130. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/examples/__init__.py +0 -0
  131. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/examples/dissolve.py +0 -0
  132. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/examples/geoms.py +0 -0
  133. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/examples/intersect.py +0 -0
  134. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/__init__.py +0 -0
  135. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/proxy.py +0 -0
  136. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/linref.py +0 -0
  137. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/predicates.py +0 -0
  138. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/prepared.py +0 -0
  139. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/vectorized/__init__.py +0 -0
  140. {Shapely-1.7.1 → Shapely-1.8a1}/shapely/wkb.py +0 -0
  141. /Shapely-1.7.1/tests/binascii_hex.txt → /Shapely-1.8a1/tests/test_binascii_hex.txt +0 -0
  142. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_clip_by_rect.py +0 -0
  143. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_default_impl.py +0 -0
  144. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_doctests.py +0 -0
  145. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_geometry_base.py +0 -0
  146. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_hash.py +0 -0
  147. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_minimum_clearance.py +0 -0
  148. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_multi.py +0 -0
  149. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_orient.py +0 -0
  150. {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_shape.py +0 -0
  151. {Shapely-1.7.1 → Shapely-1.8a1}/tests/threading_test.py +0 -0
  152. {Shapely-1.7.1 → Shapely-1.8a1}/tests/unpickle-strtree.py +0 -0
@@ -1,6 +1,57 @@
1
1
  Changes
2
2
  =======
3
3
 
4
+ 1.8a1 (2021-03-03)
5
+ ------------------
6
+
7
+ Shapely 1.8.0 will be a transitional version. There are a few bug fixes and new
8
+ features, but it is mainly about warning of the upcoming changes in 2.0.0.
9
+ Several more pre-releases before 1.8.0 are expected.
10
+
11
+ Deprecations:
12
+
13
+ The following functions and geometry attributes and methods will be removed in
14
+ version 2.0.0.
15
+
16
+ - ops.cascaded_union
17
+ - geometry .empty()
18
+ - geometry .to_wkb() and .to_wkt()
19
+ - geometry .ctypes and .__array_interface__
20
+ - multi-part geometry .__len__
21
+
22
+ Geometry objects will become immutable in version 2.0.0.
23
+
24
+ The STRtree class will be entirely changed in 2.0.0. The exact future API is
25
+ not yet decided, but will be decided before 1.8.0 is released.
26
+
27
+ Deprecation warnings will be emitted in 1.8a1 when any of these features are
28
+ used.
29
+
30
+ New features:
31
+
32
+ - Add a normalize() method to geometry classes, exposing the GEOSNormalize
33
+ algorithm (#1090).
34
+ - Initialize STRtree with a capacity of 10 items per node (#1070).
35
+ - Load libraries relocated to shapely/.libs by auditwheel versions < 3.1 or
36
+ relocated to Shapely.libs by auditwheel versions >= 3.1.
37
+ - shapely.ops.voronoi_diagram() computes the Voronoi Diagram of a geometry or
38
+ geometry collection (#833, #851).
39
+ - shapely.validation.make_valid() fixes invalid geometries (#883)
40
+
41
+ Bug fixes:
42
+
43
+ - For pyinstaller we now handle the case of more than one GEOS library in the
44
+ environment, such as when fiona and rasterio wheels are co-installed with
45
+ shapely (#1071).
46
+ - The ops.split function now splits on touch to eliminate confusing
47
+ discrepancies between results using multi and single part splitters (#1034).
48
+ - Several issues with duplication and order of vertices in ops.substring have
49
+ been fixed (#1008).
50
+
51
+ Packaging:
52
+
53
+ - The wheels uploaded to PyPI will include GEOS 3.9.1.
54
+
4
55
  1.7.1 (2020-08-20)
5
56
  ------------------
6
57
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Shapely
3
- Version: 1.7.1
3
+ Version: 1.8a1
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -12,16 +12,16 @@ Description: =======
12
12
  Shapely
13
13
  =======
14
14
 
15
- |travis| |appveyor| |coveralls|
15
+ |github-actions| |appveyor| |coveralls|
16
16
 
17
- .. |travis| image:: https://travis-ci.org/Toblerity/Shapely.svg?branch=maint-1.7
18
- :target: https://travis-ci.org/Toblerity/Shapely
17
+ .. |github-actions| image:: https://github.com/Toblerity/Shapely/workflows/Tests%20(Linux)/badge.svg
18
+ :target: https://github.com/Toblerity/Shapely/actions
19
19
 
20
- .. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Shapely?branch=maint-1.7&svg=true
21
- :target: https://ci.appveyor.com/project/frsci/shapely?branch=maint-1.7
20
+ .. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Shapely?branch=master&svg=true
21
+ :target: https://ci.appveyor.com/project/frsci/shapely?branch=master
22
22
 
23
- .. |coveralls| image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=maint-1.7
24
- :target: https://coveralls.io/github/Toblerity/Shapely?branch=maint-1.7
23
+ .. |coveralls| image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
24
+ :target: https://coveralls.io/github/Toblerity/Shapely?branch=master
25
25
 
26
26
  Manipulation and analysis of geometric objects in the Cartesian plane.
27
27
 
@@ -295,6 +295,57 @@ Description: =======
295
295
  Changes
296
296
  =======
297
297
 
298
+ 1.8a1 (2021-03-03)
299
+ ------------------
300
+
301
+ Shapely 1.8.0 will be a transitional version. There are a few bug fixes and new
302
+ features, but it is mainly about warning of the upcoming changes in 2.0.0.
303
+ Several more pre-releases before 1.8.0 are expected.
304
+
305
+ Deprecations:
306
+
307
+ The following functions and geometry attributes and methods will be removed in
308
+ version 2.0.0.
309
+
310
+ - ops.cascaded_union
311
+ - geometry .empty()
312
+ - geometry .to_wkb() and .to_wkt()
313
+ - geometry .ctypes and .__array_interface__
314
+ - multi-part geometry .__len__
315
+
316
+ Geometry objects will become immutable in version 2.0.0.
317
+
318
+ The STRtree class will be entirely changed in 2.0.0. The exact future API is
319
+ not yet decided, but will be decided before 1.8.0 is released.
320
+
321
+ Deprecation warnings will be emitted in 1.8a1 when any of these features are
322
+ used.
323
+
324
+ New features:
325
+
326
+ - Add a normalize() method to geometry classes, exposing the GEOSNormalize
327
+ algorithm (#1090).
328
+ - Initialize STRtree with a capacity of 10 items per node (#1070).
329
+ - Load libraries relocated to shapely/.libs by auditwheel versions < 3.1 or
330
+ relocated to Shapely.libs by auditwheel versions >= 3.1.
331
+ - shapely.ops.voronoi_diagram() computes the Voronoi Diagram of a geometry or
332
+ geometry collection (#833, #851).
333
+ - shapely.validation.make_valid() fixes invalid geometries (#883)
334
+
335
+ Bug fixes:
336
+
337
+ - For pyinstaller we now handle the case of more than one GEOS library in the
338
+ environment, such as when fiona and rasterio wheels are co-installed with
339
+ shapely (#1071).
340
+ - The ops.split function now splits on touch to eliminate confusing
341
+ discrepancies between results using multi and single part splitters (#1034).
342
+ - Several issues with duplication and order of vertices in ops.substring have
343
+ been fixed (#1008).
344
+
345
+ Packaging:
346
+
347
+ - The wheels uploaded to PyPI will include GEOS 3.9.1.
348
+
298
349
  1.7.1 (2020-08-20)
299
350
  ------------------
300
351
 
@@ -1016,16 +1067,14 @@ Classifier: Intended Audience :: Developers
1016
1067
  Classifier: Intended Audience :: Science/Research
1017
1068
  Classifier: License :: OSI Approved :: BSD License
1018
1069
  Classifier: Operating System :: OS Independent
1019
- Classifier: Programming Language :: Python :: 2
1020
- Classifier: Programming Language :: Python :: 2.7
1021
1070
  Classifier: Programming Language :: Python :: 3
1022
1071
  Classifier: Programming Language :: Python :: 3.5
1023
1072
  Classifier: Programming Language :: Python :: 3.6
1024
1073
  Classifier: Programming Language :: Python :: 3.7
1025
1074
  Classifier: Programming Language :: Python :: 3.8
1075
+ Classifier: Programming Language :: Python :: 3.9
1026
1076
  Classifier: Topic :: Scientific/Engineering :: GIS
1027
- Requires: Python (>=2.7)
1028
- Requires: libgeos_c (>=3.3)
1077
+ Requires-Python: >=3.5
1078
+ Provides-Extra: vectorized
1029
1079
  Provides-Extra: test
1030
1080
  Provides-Extra: all
1031
- Provides-Extra: vectorized
@@ -2,16 +2,16 @@
2
2
  Shapely
3
3
  =======
4
4
 
5
- |travis| |appveyor| |coveralls|
5
+ |github-actions| |appveyor| |coveralls|
6
6
 
7
- .. |travis| image:: https://travis-ci.org/Toblerity/Shapely.svg?branch=maint-1.7
8
- :target: https://travis-ci.org/Toblerity/Shapely
7
+ .. |github-actions| image:: https://github.com/Toblerity/Shapely/workflows/Tests%20(Linux)/badge.svg
8
+ :target: https://github.com/Toblerity/Shapely/actions
9
9
 
10
- .. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Shapely?branch=maint-1.7&svg=true
11
- :target: https://ci.appveyor.com/project/frsci/shapely?branch=maint-1.7
10
+ .. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Shapely?branch=master&svg=true
11
+ :target: https://ci.appveyor.com/project/frsci/shapely?branch=master
12
12
 
13
- .. |coveralls| image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=maint-1.7
14
- :target: https://coveralls.io/github/Toblerity/Shapely?branch=maint-1.7
13
+ .. |coveralls| image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
14
+ :target: https://coveralls.io/github/Toblerity/Shapely?branch=master
15
15
 
16
16
  Manipulation and analysis of geometric objects in the Cartesian plane.
17
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Shapely
3
- Version: 1.7.1
3
+ Version: 1.8a1
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -12,16 +12,16 @@ Description: =======
12
12
  Shapely
13
13
  =======
14
14
 
15
- |travis| |appveyor| |coveralls|
15
+ |github-actions| |appveyor| |coveralls|
16
16
 
17
- .. |travis| image:: https://travis-ci.org/Toblerity/Shapely.svg?branch=maint-1.7
18
- :target: https://travis-ci.org/Toblerity/Shapely
17
+ .. |github-actions| image:: https://github.com/Toblerity/Shapely/workflows/Tests%20(Linux)/badge.svg
18
+ :target: https://github.com/Toblerity/Shapely/actions
19
19
 
20
- .. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Shapely?branch=maint-1.7&svg=true
21
- :target: https://ci.appveyor.com/project/frsci/shapely?branch=maint-1.7
20
+ .. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Shapely?branch=master&svg=true
21
+ :target: https://ci.appveyor.com/project/frsci/shapely?branch=master
22
22
 
23
- .. |coveralls| image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=maint-1.7
24
- :target: https://coveralls.io/github/Toblerity/Shapely?branch=maint-1.7
23
+ .. |coveralls| image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
24
+ :target: https://coveralls.io/github/Toblerity/Shapely?branch=master
25
25
 
26
26
  Manipulation and analysis of geometric objects in the Cartesian plane.
27
27
 
@@ -295,6 +295,57 @@ Description: =======
295
295
  Changes
296
296
  =======
297
297
 
298
+ 1.8a1 (2021-03-03)
299
+ ------------------
300
+
301
+ Shapely 1.8.0 will be a transitional version. There are a few bug fixes and new
302
+ features, but it is mainly about warning of the upcoming changes in 2.0.0.
303
+ Several more pre-releases before 1.8.0 are expected.
304
+
305
+ Deprecations:
306
+
307
+ The following functions and geometry attributes and methods will be removed in
308
+ version 2.0.0.
309
+
310
+ - ops.cascaded_union
311
+ - geometry .empty()
312
+ - geometry .to_wkb() and .to_wkt()
313
+ - geometry .ctypes and .__array_interface__
314
+ - multi-part geometry .__len__
315
+
316
+ Geometry objects will become immutable in version 2.0.0.
317
+
318
+ The STRtree class will be entirely changed in 2.0.0. The exact future API is
319
+ not yet decided, but will be decided before 1.8.0 is released.
320
+
321
+ Deprecation warnings will be emitted in 1.8a1 when any of these features are
322
+ used.
323
+
324
+ New features:
325
+
326
+ - Add a normalize() method to geometry classes, exposing the GEOSNormalize
327
+ algorithm (#1090).
328
+ - Initialize STRtree with a capacity of 10 items per node (#1070).
329
+ - Load libraries relocated to shapely/.libs by auditwheel versions < 3.1 or
330
+ relocated to Shapely.libs by auditwheel versions >= 3.1.
331
+ - shapely.ops.voronoi_diagram() computes the Voronoi Diagram of a geometry or
332
+ geometry collection (#833, #851).
333
+ - shapely.validation.make_valid() fixes invalid geometries (#883)
334
+
335
+ Bug fixes:
336
+
337
+ - For pyinstaller we now handle the case of more than one GEOS library in the
338
+ environment, such as when fiona and rasterio wheels are co-installed with
339
+ shapely (#1071).
340
+ - The ops.split function now splits on touch to eliminate confusing
341
+ discrepancies between results using multi and single part splitters (#1034).
342
+ - Several issues with duplication and order of vertices in ops.substring have
343
+ been fixed (#1008).
344
+
345
+ Packaging:
346
+
347
+ - The wheels uploaded to PyPI will include GEOS 3.9.1.
348
+
298
349
  1.7.1 (2020-08-20)
299
350
  ------------------
300
351
 
@@ -1016,16 +1067,14 @@ Classifier: Intended Audience :: Developers
1016
1067
  Classifier: Intended Audience :: Science/Research
1017
1068
  Classifier: License :: OSI Approved :: BSD License
1018
1069
  Classifier: Operating System :: OS Independent
1019
- Classifier: Programming Language :: Python :: 2
1020
- Classifier: Programming Language :: Python :: 2.7
1021
1070
  Classifier: Programming Language :: Python :: 3
1022
1071
  Classifier: Programming Language :: Python :: 3.5
1023
1072
  Classifier: Programming Language :: Python :: 3.6
1024
1073
  Classifier: Programming Language :: Python :: 3.7
1025
1074
  Classifier: Programming Language :: Python :: 3.8
1075
+ Classifier: Programming Language :: Python :: 3.9
1026
1076
  Classifier: Topic :: Scientific/Engineering :: GIS
1027
- Requires: Python (>=2.7)
1028
- Requires: libgeos_c (>=3.3)
1077
+ Requires-Python: >=3.5
1078
+ Provides-Extra: vectorized
1029
1079
  Provides-Extra: test
1030
1080
  Provides-Extra: all
1031
- Provides-Extra: vectorized
@@ -65,12 +65,11 @@ shapely/speedups/__init__.py
65
65
  shapely/speedups/_speedups.c
66
66
  shapely/speedups/_speedups.pyx
67
67
  shapely/vectorized/__init__.py
68
- shapely/vectorized/_vectorized.c
69
68
  shapely/vectorized/_vectorized.pyx
70
69
  tests/__init__.py
71
- tests/binascii_hex.txt
72
70
  tests/conftest.py
73
71
  tests/test_affinity.py
72
+ tests/test_binascii_hex.txt
74
73
  tests/test_box.py
75
74
  tests/test_buffer.py
76
75
  tests/test_cga.py
@@ -88,6 +87,7 @@ tests/test_empty_polygons.py
88
87
  tests/test_equality.py
89
88
  tests/test_geointerface.py
90
89
  tests/test_geometry_base.py
90
+ tests/test_geometry_geo.py
91
91
  tests/test_geomseq.py
92
92
  tests/test_geos_err_handler.py
93
93
  tests/test_getitem.py
@@ -98,6 +98,7 @@ tests/test_linear_referencing.py
98
98
  tests/test_linemerge.py
99
99
  tests/test_linestring.py
100
100
  tests/test_locale.py
101
+ tests/test_make_valid.py
101
102
  tests/test_mapping.py
102
103
  tests/test_minimum_clearance.py
103
104
  tests/test_minimum_rotated_rectangle.py
@@ -134,6 +135,7 @@ tests/test_transform.py
134
135
  tests/test_union.py
135
136
  tests/test_validation.py
136
137
  tests/test_vectorized.py
138
+ tests/test_voronoi_diagram.py
137
139
  tests/test_wkb.py
138
140
  tests/test_wkt.py
139
141
  tests/test_xy.py
@@ -0,0 +1 @@
1
+ 1.8a1
@@ -1,21 +1,9 @@
1
1
  # This file is dual licensed under the terms of the Apache License, Version
2
2
  # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3
3
  # for complete details.
4
- from __future__ import absolute_import, division, print_function
5
-
6
- import sys
7
-
8
-
9
- PY2 = sys.version_info[0] == 2
10
- PY3 = sys.version_info[0] == 3
11
4
 
12
5
  # flake8: noqa
13
6
 
14
- if PY3:
15
- string_types = str,
16
- else:
17
- string_types = basestring,
18
-
19
7
 
20
8
  def with_metaclass(meta, *bases):
21
9
  """
@@ -12,7 +12,6 @@ from pyparsing import ParseException, ParseResults, stringStart, stringEnd
12
12
  from pyparsing import ZeroOrMore, Group, Forward, QuotedString
13
13
  from pyparsing import Literal as L # noqa
14
14
 
15
- from ._compat import string_types
16
15
  from .specifiers import Specifier, InvalidSpecifier
17
16
 
18
17
 
@@ -132,7 +131,7 @@ def _coerce_parse_result(results):
132
131
 
133
132
 
134
133
  def _format_marker(marker, first=True):
135
- assert isinstance(marker, (list, tuple, string_types))
134
+ assert isinstance(marker, (list, tuple, str))
136
135
 
137
136
  # Sometimes we have a structure like [[...]] which is a single item list
138
137
  # where the single item is itself it's own list. In that case we want skip
@@ -201,7 +200,7 @@ def _evaluate_markers(markers, environment):
201
200
  groups = [[]]
202
201
 
203
202
  for marker in markers:
204
- assert isinstance(marker, (list, tuple, string_types))
203
+ assert isinstance(marker, (list, tuple, str))
205
204
 
206
205
  if isinstance(marker, list):
207
206
  groups[-1].append(_evaluate_markers(marker, environment))
@@ -8,7 +8,7 @@ import functools
8
8
  import itertools
9
9
  import re
10
10
 
11
- from ._compat import string_types, with_metaclass
11
+ from ._compat import with_metaclass
12
12
  from .version import Version, LegacyVersion, parse
13
13
 
14
14
 
@@ -112,7 +112,7 @@ class _IndividualSpecifier(BaseSpecifier):
112
112
  return hash(self._spec)
113
113
 
114
114
  def __eq__(self, other):
115
- if isinstance(other, string_types):
115
+ if isinstance(other, str):
116
116
  try:
117
117
  other = self.__class__(other)
118
118
  except InvalidSpecifier:
@@ -123,7 +123,7 @@ class _IndividualSpecifier(BaseSpecifier):
123
123
  return self._spec == other._spec
124
124
 
125
125
  def __ne__(self, other):
126
- if isinstance(other, string_types):
126
+ if isinstance(other, str):
127
127
  try:
128
128
  other = self.__class__(other)
129
129
  except InvalidSpecifier:
@@ -625,7 +625,7 @@ class SpecifierSet(BaseSpecifier):
625
625
  return hash(self._specs)
626
626
 
627
627
  def __and__(self, other):
628
- if isinstance(other, string_types):
628
+ if isinstance(other, str):
629
629
  other = SpecifierSet(other)
630
630
  elif not isinstance(other, SpecifierSet):
631
631
  return NotImplemented
@@ -648,7 +648,7 @@ class SpecifierSet(BaseSpecifier):
648
648
  return specifier
649
649
 
650
650
  def __eq__(self, other):
651
- if isinstance(other, string_types):
651
+ if isinstance(other, str):
652
652
  other = SpecifierSet(other)
653
653
  elif isinstance(other, _IndividualSpecifier):
654
654
  other = SpecifierSet(str(other))
@@ -658,7 +658,7 @@ class SpecifierSet(BaseSpecifier):
658
658
  return self._specs == other._specs
659
659
 
660
660
  def __ne__(self, other):
661
- if isinstance(other, string_types):
661
+ if isinstance(other, str):
662
662
  other = SpecifierSet(other)
663
663
  elif isinstance(other, _IndividualSpecifier):
664
664
  other = SpecifierSet(str(other))