shapely 1.6.4.post2__tar.gz → 1.7a1__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 (138) hide show
  1. {Shapely-1.6.4.post2 → Shapely-1.7a1}/CHANGES.txt +22 -5
  2. {Shapely-1.6.4.post2/Shapely.egg-info → Shapely-1.7a1}/PKG-INFO +32 -17
  3. {Shapely-1.6.4.post2 → Shapely-1.7a1}/README.rst +4 -4
  4. {Shapely-1.6.4.post2 → Shapely-1.7a1/Shapely.egg-info}/PKG-INFO +32 -17
  5. {Shapely-1.6.4.post2 → Shapely-1.7a1}/Shapely.egg-info/SOURCES.txt +3 -0
  6. Shapely-1.7a1/VERSION.txt +1 -0
  7. {Shapely-1.6.4.post2 → Shapely-1.7a1}/_vendor/packaging/markers.py +1 -1
  8. {Shapely-1.6.4.post2 → Shapely-1.7a1}/_vendor/packaging/requirements.py +3 -3
  9. {Shapely-1.6.4.post2 → Shapely-1.7a1}/_vendor/packaging/specifiers.py +3 -3
  10. {Shapely-1.6.4.post2 → Shapely-1.7a1}/_vendor/packaging/version.py +8 -8
  11. {Shapely-1.6.4.post2 → Shapely-1.7a1}/docs/manual.rst +123 -28
  12. {Shapely-1.6.4.post2 → Shapely-1.7a1}/setup.cfg +1 -0
  13. {Shapely-1.6.4.post2 → Shapely-1.7a1}/setup.py +14 -11
  14. Shapely-1.7a1/shapely/__init__.py +1 -0
  15. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/_buildcfg.py +1 -1
  16. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/ctypes_declarations.py +4 -0
  17. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/geometry/base.py +7 -4
  18. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/geometry/geo.py +4 -1
  19. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/geometry/linestring.py +10 -3
  20. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/geometry/multilinestring.py +1 -1
  21. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/geometry/multipoint.py +1 -2
  22. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/geometry/point.py +2 -1
  23. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/geometry/polygon.py +4 -5
  24. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/geometry/proxy.py +1 -1
  25. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/geos.py +52 -30
  26. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/iterops.py +0 -1
  27. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/ops.py +88 -1
  28. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/predicates.py +1 -1
  29. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/prepared.py +4 -2
  30. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/speedups/_speedups.c +1026 -797
  31. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/speedups/_speedups.pyx +26 -9
  32. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/validation.py +0 -2
  33. Shapely-1.7a1/shapely/wkb.py +55 -0
  34. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/__init__.py +1 -5
  35. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/conftest.py +10 -0
  36. Shapely-1.7a1/tests/test_clip_by_rect.py +109 -0
  37. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_delaunay.py +1 -4
  38. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_linear_referencing.py +3 -0
  39. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_linestring.py +12 -4
  40. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_mapping.py +5 -2
  41. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_point.py +4 -0
  42. Shapely-1.7a1/tests/test_prepared.py +67 -0
  43. Shapely-1.7a1/tests/test_substring.py +75 -0
  44. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_vectorized.py +5 -5
  45. Shapely-1.7a1/tests/test_wkb.py +51 -0
  46. Shapely-1.6.4.post2/VERSION.txt +0 -1
  47. Shapely-1.6.4.post2/shapely/__init__.py +0 -1
  48. Shapely-1.6.4.post2/shapely/wkb.py +0 -37
  49. Shapely-1.6.4.post2/tests/test_prepared.py +0 -51
  50. {Shapely-1.6.4.post2 → Shapely-1.7a1}/CREDITS.txt +0 -0
  51. {Shapely-1.6.4.post2 → Shapely-1.7a1}/LICENSE.txt +0 -0
  52. {Shapely-1.6.4.post2 → Shapely-1.7a1}/Shapely.egg-info/dependency_links.txt +0 -0
  53. {Shapely-1.6.4.post2 → Shapely-1.7a1}/Shapely.egg-info/requires.txt +1 -1
  54. {Shapely-1.6.4.post2 → Shapely-1.7a1}/Shapely.egg-info/top_level.txt +0 -0
  55. {Shapely-1.6.4.post2 → Shapely-1.7a1}/_vendor/__init__.py +0 -0
  56. {Shapely-1.6.4.post2 → Shapely-1.7a1}/_vendor/packaging/__about__.py +0 -0
  57. {Shapely-1.6.4.post2 → Shapely-1.7a1}/_vendor/packaging/__init__.py +0 -0
  58. {Shapely-1.6.4.post2 → Shapely-1.7a1}/_vendor/packaging/_compat.py +0 -0
  59. {Shapely-1.6.4.post2 → Shapely-1.7a1}/_vendor/packaging/_structures.py +0 -0
  60. {Shapely-1.6.4.post2 → Shapely-1.7a1}/_vendor/packaging/utils.py +0 -0
  61. {Shapely-1.6.4.post2 → Shapely-1.7a1}/docs/design.rst +0 -0
  62. {Shapely-1.6.4.post2 → Shapely-1.7a1}/docs/index.rst +0 -0
  63. {Shapely-1.6.4.post2 → Shapely-1.7a1}/docs/project.rst +0 -0
  64. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/_geos.pxi +0 -0
  65. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/affinity.py +0 -0
  66. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/algorithms/__init__.py +0 -0
  67. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/algorithms/cga.py +0 -0
  68. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/algorithms/polylabel.py +0 -0
  69. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/coords.py +0 -0
  70. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/errors.py +0 -0
  71. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/examples/__init__.py +0 -0
  72. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/examples/dissolve.py +0 -0
  73. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/examples/geoms.py +0 -0
  74. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/examples/intersect.py +0 -0
  75. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/ftools.py +0 -0
  76. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/geometry/__init__.py +0 -0
  77. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/geometry/collection.py +0 -0
  78. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/geometry/multipolygon.py +0 -0
  79. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/impl.py +0 -0
  80. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/linref.py +0 -0
  81. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/speedups/__init__.py +0 -0
  82. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/strtree.py +0 -0
  83. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/topology.py +0 -0
  84. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/vectorized/__init__.py +0 -0
  85. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/vectorized/_vectorized.pyx +0 -0
  86. {Shapely-1.6.4.post2 → Shapely-1.7a1}/shapely/wkt.py +0 -0
  87. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/binascii_hex.txt +0 -0
  88. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_affinity.py +0 -0
  89. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_box.py +0 -0
  90. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_cga.py +0 -0
  91. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_collection.py +0 -0
  92. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_coords.py +0 -0
  93. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_default_impl.py +0 -0
  94. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_delegated.py +0 -0
  95. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_dlls.py +0 -0
  96. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_doctests.py +0 -0
  97. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_emptiness.py +0 -0
  98. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_empty_polygons.py +0 -0
  99. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_equality.py +0 -0
  100. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_geointerface.py +0 -0
  101. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_geomseq.py +0 -0
  102. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_geos_err_handler.py +0 -0
  103. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_getitem.py +0 -0
  104. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_hash.py +0 -0
  105. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_invalid_geometries.py +0 -0
  106. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_iterops.py +0 -0
  107. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_linemerge.py +0 -0
  108. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_locale.py +0 -0
  109. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_minimum_rotated_rectangle.py +0 -0
  110. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_multi.py +0 -0
  111. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_multilinestring.py +0 -0
  112. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_multipoint.py +0 -0
  113. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_multipolygon.py +0 -0
  114. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_ndarrays.py +0 -0
  115. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_nearest.py +0 -0
  116. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_operations.py +0 -0
  117. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_operators.py +0 -0
  118. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_parallel_offset.py +0 -0
  119. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_persist.py +0 -0
  120. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_pickle.py +0 -0
  121. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_polygon.py +0 -0
  122. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_polygonize.py +0 -0
  123. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_polylabel.py +0 -0
  124. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_predicates.py +0 -0
  125. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_products_z.py +0 -0
  126. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_shared_paths.py +0 -0
  127. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_singularity.py +0 -0
  128. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_snap.py +0 -0
  129. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_split.py +0 -0
  130. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_strtree.py +0 -0
  131. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_styles.py +0 -0
  132. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_svg.py +0 -0
  133. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_transform.py +0 -0
  134. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_union.py +0 -0
  135. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_validation.py +0 -0
  136. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_wkt.py +0 -0
  137. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/test_xy.py +0 -0
  138. {Shapely-1.6.4.post2 → Shapely-1.7a1}/tests/threading_test.py +0 -0
@@ -1,11 +1,29 @@
1
1
  Changes
2
2
  =======
3
3
 
4
- 1.6.4.post2 (2018-07-18)
5
- ------------------------
4
+ Next
5
+ -----
6
+
7
+ New features:
6
8
 
7
- This release provides macosx and manylinux1 wheels for Python 3.7. There are no
8
- changes from the previous version.
9
+ - A Python version check is made by the package setup script. Shapely 1.7
10
+ supports only Python versions 2.7 and 3.4+ (#610).
11
+ - Added a new `EmptyGeometry` class to support GeoPandas (#514).
12
+ - Added new `shapely.ops.substring` function (#459).
13
+ - Added new `shapely.ops.clip_by_rect` function (#583).
14
+ - Use DLLs indicated in sys._MEIPASS' to support PyInstaller frozen apps
15
+ (#523).
16
+ - `shapely.wkb.dumps` now accepts an `srid` integer keyword argument to write
17
+ WKB data including a spatial reference ID in the output data (#593).
18
+
19
+ Bug fixes:
20
+
21
+ - `shapely.geometry.shape` can now marshal empty GeoJSON representations
22
+ (#573).
23
+ - An exception is raised when an attempt is made to `prepare`
24
+ a `PreparedGeometry` (#577, #595).
25
+ - Keyword arguments have been removed from a geometry object's `wkt` property
26
+ getter (#581, #594).
9
27
 
10
28
  1.6.4.post1 (2018-01-24)
11
29
  ------------------------
@@ -612,4 +630,3 @@ TODO: fill gap here
612
630
  1.0 RC1 (2008-01-14)
613
631
  --------------------
614
632
  - First release candidate
615
-
@@ -1,18 +1,16 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.6.4.post2
3
+ Version: 1.7a1
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
7
7
  Author-email: sean.gillies@gmail.com
8
- Maintainer: Sean Gillies
9
- Maintainer-email: sean.gillies@gmail.com
10
8
  License: BSD
11
9
  Description: =======
12
10
  Shapely
13
11
  =======
14
12
 
15
- .. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
13
+ .. image:: https://travis-ci.org/Toblerity/Shapely.svg?branch=master
16
14
  :target: https://travis-ci.org/Toblerity/Shapely
17
15
 
18
16
  .. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
@@ -28,7 +26,7 @@ Description: =======
28
26
  planar geometric objects. It is based on the widely deployed `GEOS
29
27
  <http://trac.osgeo.org/geos/>`__ (the engine of `PostGIS
30
28
  <http://postgis.org>`__) and `JTS
31
- <http://www.vividsolutions.com/jts/jtshome.htm>`__ (from which GEOS is ported)
29
+ <https://locationtech.github.io/jts/>`__ (from which GEOS is ported)
32
30
  libraries. Shapely is not concerned with data formats or coordinate systems,
33
31
  but can be readily integrated with packages that are. For more details, see:
34
32
 
@@ -40,7 +38,7 @@ Description: =======
40
38
 
41
39
  Shapely 1.6 requires
42
40
 
43
- * Python >=2.6 (including Python 3.x)
41
+ * Python 2.7, >=3.4
44
42
  * GEOS >=3.3
45
43
 
46
44
  Installing Shapely 1.6
@@ -54,7 +52,7 @@ Description: =======
54
52
 
55
53
  Windows users have two good installation options: the wheels at
56
54
  http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
57
- Anaconda platform's [conda-forge](https://conda-forge.github.io/)
55
+ Anaconda platform's `conda-forge <https://conda-forge.github.io/>`__
58
56
  channel.
59
57
 
60
58
  OS X and Linux users can get Shapely wheels with GEOS included from the
@@ -243,11 +241,29 @@ Description: =======
243
241
  Changes
244
242
  =======
245
243
 
246
- 1.6.4.post2 (2018-07-18)
247
- ------------------------
244
+ Next
245
+ -----
246
+
247
+ New features:
248
248
 
249
- This release provides macosx and manylinux1 wheels for Python 3.7. There are no
250
- changes from the previous version.
249
+ - A Python version check is made by the package setup script. Shapely 1.7
250
+ supports only Python versions 2.7 and 3.4+ (#610).
251
+ - Added a new `EmptyGeometry` class to support GeoPandas (#514).
252
+ - Added new `shapely.ops.substring` function (#459).
253
+ - Added new `shapely.ops.clip_by_rect` function (#583).
254
+ - Use DLLs indicated in sys._MEIPASS' to support PyInstaller frozen apps
255
+ (#523).
256
+ - `shapely.wkb.dumps` now accepts an `srid` integer keyword argument to write
257
+ WKB data including a spatial reference ID in the output data (#593).
258
+
259
+ Bug fixes:
260
+
261
+ - `shapely.geometry.shape` can now marshal empty GeoJSON representations
262
+ (#573).
263
+ - An exception is raised when an attempt is made to `prepare`
264
+ a `PreparedGeometry` (#577, #595).
265
+ - Keyword arguments have been removed from a geometry object's `wkt` property
266
+ getter (#581, #594).
251
267
 
252
268
  1.6.4.post1 (2018-01-24)
253
269
  ------------------------
@@ -855,7 +871,6 @@ Description: =======
855
871
  --------------------
856
872
  - First release candidate
857
873
 
858
-
859
874
  Keywords: geometry topology gis
860
875
  Platform: UNKNOWN
861
876
  Classifier: Development Status :: 5 - Production/Stable
@@ -863,12 +878,12 @@ Classifier: Intended Audience :: Developers
863
878
  Classifier: Intended Audience :: Science/Research
864
879
  Classifier: License :: OSI Approved :: BSD License
865
880
  Classifier: Operating System :: OS Independent
866
- Classifier: Programming Language :: Python :: 2.6
881
+ Classifier: Programming Language :: Python :: 2
867
882
  Classifier: Programming Language :: Python :: 2.7
868
883
  Classifier: Programming Language :: Python :: 3
884
+ Classifier: Programming Language :: Python :: 3.4
885
+ Classifier: Programming Language :: Python :: 3.5
886
+ Classifier: Programming Language :: Python :: 3.6
869
887
  Classifier: Topic :: Scientific/Engineering :: GIS
870
888
  Requires: Python (>=2.6)
871
889
  Requires: libgeos_c (>=3.3)
872
- Provides-Extra: vectorized
873
- Provides-Extra: all
874
- Provides-Extra: test
@@ -2,7 +2,7 @@
2
2
  Shapely
3
3
  =======
4
4
 
5
- .. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
5
+ .. image:: https://travis-ci.org/Toblerity/Shapely.svg?branch=master
6
6
  :target: https://travis-ci.org/Toblerity/Shapely
7
7
 
8
8
  .. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
@@ -18,7 +18,7 @@ Shapely is a BSD-licensed Python package for manipulation and analysis of
18
18
  planar geometric objects. It is based on the widely deployed `GEOS
19
19
  <http://trac.osgeo.org/geos/>`__ (the engine of `PostGIS
20
20
  <http://postgis.org>`__) and `JTS
21
- <http://www.vividsolutions.com/jts/jtshome.htm>`__ (from which GEOS is ported)
21
+ <https://locationtech.github.io/jts/>`__ (from which GEOS is ported)
22
22
  libraries. Shapely is not concerned with data formats or coordinate systems,
23
23
  but can be readily integrated with packages that are. For more details, see:
24
24
 
@@ -30,7 +30,7 @@ Requirements
30
30
 
31
31
  Shapely 1.6 requires
32
32
 
33
- * Python >=2.6 (including Python 3.x)
33
+ * Python 2.7, >=3.4
34
34
  * GEOS >=3.3
35
35
 
36
36
  Installing Shapely 1.6
@@ -44,7 +44,7 @@ Built distributions
44
44
 
45
45
  Windows users have two good installation options: the wheels at
46
46
  http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
47
- Anaconda platform's [conda-forge](https://conda-forge.github.io/)
47
+ Anaconda platform's `conda-forge <https://conda-forge.github.io/>`__
48
48
  channel.
49
49
 
50
50
  OS X and Linux users can get Shapely wheels with GEOS included from the
@@ -1,18 +1,16 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.6.4.post2
3
+ Version: 1.7a1
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
7
7
  Author-email: sean.gillies@gmail.com
8
- Maintainer: Sean Gillies
9
- Maintainer-email: sean.gillies@gmail.com
10
8
  License: BSD
11
9
  Description: =======
12
10
  Shapely
13
11
  =======
14
12
 
15
- .. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
13
+ .. image:: https://travis-ci.org/Toblerity/Shapely.svg?branch=master
16
14
  :target: https://travis-ci.org/Toblerity/Shapely
17
15
 
18
16
  .. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
@@ -28,7 +26,7 @@ Description: =======
28
26
  planar geometric objects. It is based on the widely deployed `GEOS
29
27
  <http://trac.osgeo.org/geos/>`__ (the engine of `PostGIS
30
28
  <http://postgis.org>`__) and `JTS
31
- <http://www.vividsolutions.com/jts/jtshome.htm>`__ (from which GEOS is ported)
29
+ <https://locationtech.github.io/jts/>`__ (from which GEOS is ported)
32
30
  libraries. Shapely is not concerned with data formats or coordinate systems,
33
31
  but can be readily integrated with packages that are. For more details, see:
34
32
 
@@ -40,7 +38,7 @@ Description: =======
40
38
 
41
39
  Shapely 1.6 requires
42
40
 
43
- * Python >=2.6 (including Python 3.x)
41
+ * Python 2.7, >=3.4
44
42
  * GEOS >=3.3
45
43
 
46
44
  Installing Shapely 1.6
@@ -54,7 +52,7 @@ Description: =======
54
52
 
55
53
  Windows users have two good installation options: the wheels at
56
54
  http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
57
- Anaconda platform's [conda-forge](https://conda-forge.github.io/)
55
+ Anaconda platform's `conda-forge <https://conda-forge.github.io/>`__
58
56
  channel.
59
57
 
60
58
  OS X and Linux users can get Shapely wheels with GEOS included from the
@@ -243,11 +241,29 @@ Description: =======
243
241
  Changes
244
242
  =======
245
243
 
246
- 1.6.4.post2 (2018-07-18)
247
- ------------------------
244
+ Next
245
+ -----
246
+
247
+ New features:
248
248
 
249
- This release provides macosx and manylinux1 wheels for Python 3.7. There are no
250
- changes from the previous version.
249
+ - A Python version check is made by the package setup script. Shapely 1.7
250
+ supports only Python versions 2.7 and 3.4+ (#610).
251
+ - Added a new `EmptyGeometry` class to support GeoPandas (#514).
252
+ - Added new `shapely.ops.substring` function (#459).
253
+ - Added new `shapely.ops.clip_by_rect` function (#583).
254
+ - Use DLLs indicated in sys._MEIPASS' to support PyInstaller frozen apps
255
+ (#523).
256
+ - `shapely.wkb.dumps` now accepts an `srid` integer keyword argument to write
257
+ WKB data including a spatial reference ID in the output data (#593).
258
+
259
+ Bug fixes:
260
+
261
+ - `shapely.geometry.shape` can now marshal empty GeoJSON representations
262
+ (#573).
263
+ - An exception is raised when an attempt is made to `prepare`
264
+ a `PreparedGeometry` (#577, #595).
265
+ - Keyword arguments have been removed from a geometry object's `wkt` property
266
+ getter (#581, #594).
251
267
 
252
268
  1.6.4.post1 (2018-01-24)
253
269
  ------------------------
@@ -855,7 +871,6 @@ Description: =======
855
871
  --------------------
856
872
  - First release candidate
857
873
 
858
-
859
874
  Keywords: geometry topology gis
860
875
  Platform: UNKNOWN
861
876
  Classifier: Development Status :: 5 - Production/Stable
@@ -863,12 +878,12 @@ Classifier: Intended Audience :: Developers
863
878
  Classifier: Intended Audience :: Science/Research
864
879
  Classifier: License :: OSI Approved :: BSD License
865
880
  Classifier: Operating System :: OS Independent
866
- Classifier: Programming Language :: Python :: 2.6
881
+ Classifier: Programming Language :: Python :: 2
867
882
  Classifier: Programming Language :: Python :: 2.7
868
883
  Classifier: Programming Language :: Python :: 3
884
+ Classifier: Programming Language :: Python :: 3.4
885
+ Classifier: Programming Language :: Python :: 3.5
886
+ Classifier: Programming Language :: Python :: 3.6
869
887
  Classifier: Topic :: Scientific/Engineering :: GIS
870
888
  Requires: Python (>=2.6)
871
889
  Requires: libgeos_c (>=3.3)
872
- Provides-Extra: vectorized
873
- Provides-Extra: all
874
- Provides-Extra: test
@@ -73,6 +73,7 @@ tests/conftest.py
73
73
  tests/test_affinity.py
74
74
  tests/test_box.py
75
75
  tests/test_cga.py
76
+ tests/test_clip_by_rect.py
76
77
  tests/test_collection.py
77
78
  tests/test_coords.py
78
79
  tests/test_default_impl.py
@@ -120,11 +121,13 @@ tests/test_snap.py
120
121
  tests/test_split.py
121
122
  tests/test_strtree.py
122
123
  tests/test_styles.py
124
+ tests/test_substring.py
123
125
  tests/test_svg.py
124
126
  tests/test_transform.py
125
127
  tests/test_union.py
126
128
  tests/test_validation.py
127
129
  tests/test_vectorized.py
130
+ tests/test_wkb.py
128
131
  tests/test_wkt.py
129
132
  tests/test_xy.py
130
133
  tests/threading_test.py
@@ -0,0 +1 @@
1
+ 1.7a1
@@ -149,7 +149,7 @@ def _format_marker(marker, first=True):
149
149
  else:
150
150
  return "(" + " ".join(inner) + ")"
151
151
  elif isinstance(marker, tuple):
152
- return '{0} {1} "{2}"'.format(*marker)
152
+ return '{} {} "{}"'.format(*marker)
153
153
  else:
154
154
  return marker
155
155
 
@@ -110,16 +110,16 @@ class Requirement(object):
110
110
  parts = [self.name]
111
111
 
112
112
  if self.extras:
113
- parts.append("[{0}]".format(",".join(sorted(self.extras))))
113
+ parts.append("[{}]".format(",".join(sorted(self.extras))))
114
114
 
115
115
  if self.specifier:
116
116
  parts.append(str(self.specifier))
117
117
 
118
118
  if self.url:
119
- parts.append("@ {0}".format(self.url))
119
+ parts.append("@ {}".format(self.url))
120
120
 
121
121
  if self.marker:
122
- parts.append("; {0}".format(self.marker))
122
+ parts.append("; {}".format(self.marker))
123
123
 
124
124
  return "".join(parts)
125
125
 
@@ -82,7 +82,7 @@ class _IndividualSpecifier(BaseSpecifier):
82
82
  def __init__(self, spec="", prereleases=None):
83
83
  match = self._regex.search(spec)
84
84
  if not match:
85
- raise InvalidSpecifier("Invalid specifier: '{0}'".format(spec))
85
+ raise InvalidSpecifier("Invalid specifier: '{}'".format(spec))
86
86
 
87
87
  self._spec = (
88
88
  match.group("operator").strip(),
@@ -106,7 +106,7 @@ class _IndividualSpecifier(BaseSpecifier):
106
106
  )
107
107
 
108
108
  def __str__(self):
109
- return "{0}{1}".format(*self._spec)
109
+ return "{}{}".format(*self._spec)
110
110
 
111
111
  def __hash__(self):
112
112
  return hash(self._spec)
@@ -134,7 +134,7 @@ class _IndividualSpecifier(BaseSpecifier):
134
134
  return self._spec != other._spec
135
135
 
136
136
  def _get_operator(self, op):
137
- return getattr(self, "_compare_{0}".format(self._operators[op]))
137
+ return getattr(self, "_compare_{}".format(self._operators[op]))
138
138
 
139
139
  def _coerce_version(self, version):
140
140
  if not isinstance(version, (LegacyVersion, Version)):
@@ -79,7 +79,7 @@ class LegacyVersion(_BaseVersion):
79
79
  return self._version
80
80
 
81
81
  def __repr__(self):
82
- return "<LegacyVersion({0})>".format(repr(str(self)))
82
+ return "<LegacyVersion({})>".format(repr(str(self)))
83
83
 
84
84
  @property
85
85
  def public(self):
@@ -199,7 +199,7 @@ class Version(_BaseVersion):
199
199
  # Validate the version and parse it into pieces
200
200
  match = self._regex.search(version)
201
201
  if not match:
202
- raise InvalidVersion("Invalid version: '{0}'".format(version))
202
+ raise InvalidVersion("Invalid version: '{}'".format(version))
203
203
 
204
204
  # Store the parsed out pieces of the version
205
205
  self._version = _Version(
@@ -231,14 +231,14 @@ class Version(_BaseVersion):
231
231
  )
232
232
 
233
233
  def __repr__(self):
234
- return "<Version({0})>".format(repr(str(self)))
234
+ return "<Version({})>".format(repr(str(self)))
235
235
 
236
236
  def __str__(self):
237
237
  parts = []
238
238
 
239
239
  # Epoch
240
240
  if self._version.epoch != 0:
241
- parts.append("{0}!".format(self._version.epoch))
241
+ parts.append("{}!".format(self._version.epoch))
242
242
 
243
243
  # Release segment
244
244
  parts.append(".".join(str(x) for x in self._version.release))
@@ -249,16 +249,16 @@ class Version(_BaseVersion):
249
249
 
250
250
  # Post-release
251
251
  if self._version.post is not None:
252
- parts.append(".post{0}".format(self._version.post[1]))
252
+ parts.append(".post{}".format(self._version.post[1]))
253
253
 
254
254
  # Development release
255
255
  if self._version.dev is not None:
256
- parts.append(".dev{0}".format(self._version.dev[1]))
256
+ parts.append(".dev{}".format(self._version.dev[1]))
257
257
 
258
258
  # Local version segment
259
259
  if self._version.local is not None:
260
260
  parts.append(
261
- "+{0}".format(".".join(str(x) for x in self._version.local))
261
+ "+{}".format(".".join(str(x) for x in self._version.local))
262
262
  )
263
263
 
264
264
  return "".join(parts)
@@ -273,7 +273,7 @@ class Version(_BaseVersion):
273
273
 
274
274
  # Epoch
275
275
  if self._version.epoch != 0:
276
- parts.append("{0}!".format(self._version.epoch))
276
+ parts.append("{}!".format(self._version.epoch))
277
277
 
278
278
  # Release segment
279
279
  parts.append(".".join(str(x) for x in self._version.release))