shapely 1.6a2__tar.gz → 1.6b1__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 (139) hide show
  1. {Shapely-1.6a2 → Shapely-1.6b1}/CHANGES.txt +18 -0
  2. {Shapely-1.6a2/Shapely.egg-info → Shapely-1.6b1}/PKG-INFO +61 -37
  3. {Shapely-1.6a2 → Shapely-1.6b1}/README.rst +42 -36
  4. {Shapely-1.6a2 → Shapely-1.6b1/Shapely.egg-info}/PKG-INFO +61 -37
  5. {Shapely-1.6a2 → Shapely-1.6b1}/Shapely.egg-info/requires.txt +4 -2
  6. Shapely-1.6b1/VERSION.txt +1 -0
  7. {Shapely-1.6a2 → Shapely-1.6b1}/setup.py +7 -14
  8. Shapely-1.6b1/shapely/__init__.py +1 -0
  9. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/coords.py +0 -21
  10. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/linestring.py +49 -105
  11. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/multipoint.py +14 -53
  12. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/point.py +19 -55
  13. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/polygon.py +68 -122
  14. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/speedups/_speedups.c +1406 -1192
  15. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/speedups/_speedups.pyx +11 -1
  16. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_linestring.py +5 -0
  17. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_ndarrays.py +4 -4
  18. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_point.py +5 -0
  19. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_vectorized.py +7 -6
  20. Shapely-1.6a2/VERSION.txt +0 -1
  21. Shapely-1.6a2/shapely/__init__.py +0 -1
  22. {Shapely-1.6a2 → Shapely-1.6b1}/CREDITS.txt +0 -0
  23. {Shapely-1.6a2 → Shapely-1.6b1}/LICENSE.txt +0 -0
  24. {Shapely-1.6a2 → Shapely-1.6b1}/Shapely.egg-info/SOURCES.txt +0 -0
  25. {Shapely-1.6a2 → Shapely-1.6b1}/Shapely.egg-info/dependency_links.txt +0 -0
  26. {Shapely-1.6a2 → Shapely-1.6b1}/Shapely.egg-info/top_level.txt +0 -0
  27. {Shapely-1.6a2 → Shapely-1.6b1}/docs/design.rst +0 -0
  28. {Shapely-1.6a2 → Shapely-1.6b1}/docs/index.rst +0 -0
  29. {Shapely-1.6a2 → Shapely-1.6b1}/docs/manual.rst +0 -0
  30. {Shapely-1.6a2 → Shapely-1.6b1}/docs/project.rst +0 -0
  31. {Shapely-1.6a2 → Shapely-1.6b1}/packaging/__about__.py +0 -0
  32. {Shapely-1.6a2 → Shapely-1.6b1}/packaging/__init__.py +0 -0
  33. {Shapely-1.6a2 → Shapely-1.6b1}/packaging/_compat.py +0 -0
  34. {Shapely-1.6a2 → Shapely-1.6b1}/packaging/_structures.py +0 -0
  35. {Shapely-1.6a2 → Shapely-1.6b1}/packaging/markers.py +0 -0
  36. {Shapely-1.6a2 → Shapely-1.6b1}/packaging/requirements.py +0 -0
  37. {Shapely-1.6a2 → Shapely-1.6b1}/packaging/specifiers.py +0 -0
  38. {Shapely-1.6a2 → Shapely-1.6b1}/packaging/utils.py +0 -0
  39. {Shapely-1.6a2 → Shapely-1.6b1}/packaging/version.py +0 -0
  40. {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/DESCRIPTION.rst +0 -0
  41. {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/METADATA +0 -0
  42. {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/RECORD +0 -0
  43. {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/WHEEL +0 -0
  44. {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/metadata.json +0 -0
  45. {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/pbr.json +0 -0
  46. {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/top_level.txt +0 -0
  47. {Shapely-1.6a2 → Shapely-1.6b1}/setup.cfg +1 -1
  48. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/_buildcfg.py +0 -0
  49. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/_geos.pxi +0 -0
  50. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/affinity.py +0 -0
  51. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/algorithms/__init__.py +0 -0
  52. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/algorithms/cga.py +0 -0
  53. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/algorithms/polylabel.py +0 -0
  54. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/ctypes_declarations.py +0 -0
  55. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/errors.py +0 -0
  56. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/examples/__init__.py +0 -0
  57. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/examples/dissolve.py +0 -0
  58. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/examples/geoms.py +0 -0
  59. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/examples/intersect.py +0 -0
  60. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/ftools.py +0 -0
  61. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/__init__.py +0 -0
  62. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/base.py +0 -0
  63. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/collection.py +0 -0
  64. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/geo.py +0 -0
  65. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/multilinestring.py +0 -0
  66. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/multipolygon.py +0 -0
  67. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/proxy.py +0 -0
  68. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geos.py +0 -0
  69. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/impl.py +0 -0
  70. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/iterops.py +0 -0
  71. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/linref.py +0 -0
  72. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/ops.py +0 -0
  73. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/predicates.py +0 -0
  74. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/prepared.py +0 -0
  75. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/speedups/__init__.py +0 -0
  76. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/strtree.py +0 -0
  77. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/topology.py +0 -0
  78. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/validation.py +0 -0
  79. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/vectorized/__init__.py +0 -0
  80. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/vectorized/_vectorized.pyx +0 -0
  81. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/wkb.py +0 -0
  82. {Shapely-1.6a2 → Shapely-1.6b1}/shapely/wkt.py +0 -0
  83. {Shapely-1.6a2 → Shapely-1.6b1}/tests/__init__.py +0 -0
  84. {Shapely-1.6a2 → Shapely-1.6b1}/tests/binascii_hex.txt +0 -0
  85. {Shapely-1.6a2 → Shapely-1.6b1}/tests/conftest.py +0 -0
  86. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_affinity.py +0 -0
  87. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_box.py +0 -0
  88. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_cga.py +0 -0
  89. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_collection.py +0 -0
  90. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_coords.py +0 -0
  91. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_default_impl.py +0 -0
  92. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_delaunay.py +0 -0
  93. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_delegated.py +0 -0
  94. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_dlls.py +0 -0
  95. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_doctests.py +0 -0
  96. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_emptiness.py +0 -0
  97. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_empty_polygons.py +0 -0
  98. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_equality.py +0 -0
  99. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_geointerface.py +0 -0
  100. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_geomseq.py +0 -0
  101. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_geos_err_handler.py +0 -0
  102. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_getitem.py +0 -0
  103. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_hash.py +0 -0
  104. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_invalid_geometries.py +0 -0
  105. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_iterops.py +0 -0
  106. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_linear_referencing.py +0 -0
  107. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_linemerge.py +0 -0
  108. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_locale.py +0 -0
  109. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_mapping.py +0 -0
  110. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_minimum_rotated_rectangle.py +0 -0
  111. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_multi.py +0 -0
  112. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_multilinestring.py +0 -0
  113. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_multipoint.py +0 -0
  114. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_multipolygon.py +0 -0
  115. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_nearest.py +0 -0
  116. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_operations.py +0 -0
  117. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_operators.py +0 -0
  118. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_parallel_offset.py +0 -0
  119. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_persist.py +0 -0
  120. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_pickle.py +0 -0
  121. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_polygon.py +0 -0
  122. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_polygonize.py +0 -0
  123. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_polylabel.py +0 -0
  124. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_predicates.py +0 -0
  125. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_prepared.py +0 -0
  126. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_products_z.py +0 -0
  127. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_shared_paths.py +0 -0
  128. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_singularity.py +0 -0
  129. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_snap.py +0 -0
  130. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_split.py +0 -0
  131. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_strtree.py +0 -0
  132. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_styles.py +0 -0
  133. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_svg.py +0 -0
  134. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_transform.py +0 -0
  135. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_union.py +0 -0
  136. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_validation.py +0 -0
  137. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_wkt.py +0 -0
  138. {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_xy.py +0 -0
  139. {Shapely-1.6a2 → Shapely-1.6b1}/tests/threading_test.py +0 -0
@@ -1,6 +1,24 @@
1
1
  Changes
2
2
  =======
3
3
 
4
+ 1.6b1 (2016-12-12)
5
+ ------------------
6
+
7
+ Bug fixes:
8
+
9
+ - Implemented __array_interface__ for empty Points and LineStrings (#403).
10
+
11
+ 1.6a3 (2016-12-01)
12
+ ------------------
13
+
14
+ Bug fixes:
15
+
16
+ - Remove accidental hard requirement of Numpy (#431).
17
+
18
+ Packaging:
19
+
20
+ - Put Numpy in an optional requirement set named "vectorized" (#431).
21
+
4
22
  1.6a2 (2016-11-09)
5
23
  ------------------
6
24
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.6a2
3
+ Version: 1.6b1
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -10,17 +10,16 @@ Description: =======
10
10
  Shapely
11
11
  =======
12
12
 
13
- Manipulation and analysis of geometric objects in the Cartesian plane.
14
-
15
13
  .. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
16
14
  :target: https://travis-ci.org/Toblerity/Shapely
17
15
 
18
- .. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
19
16
  :target: https://coveralls.io/github/Toblerity/Shapely?branch=master
20
17
 
21
- .. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
18
+ Manipulation and analysis of geometric objects in the Cartesian plane.
19
+
20
+ .. image:: https://c2.staticflickr.com/6/5560/31301790086_b3472ea4e9_c.jpg
22
21
  :width: 800
23
- :height: 400
22
+ :height: 378
24
23
 
25
24
  Shapely is a BSD-licensed Python package for manipulation and analysis of
26
25
  planar geometric objects. It is based on the widely deployed `GEOS
@@ -36,46 +35,61 @@ Description: =======
36
35
  Requirements
37
36
  ============
38
37
 
39
- Shapely 1.5.x requires
38
+ Shapely 1.6.x requires
40
39
 
41
40
  * Python >=2.6 (including Python 3.x)
42
- * GEOS >=3.3 (Shapely 1.2.x requires only GEOS 3.1 but YMMV)
41
+ * GEOS >=3.3
43
42
 
44
- Installing Shapely
45
- ==================
43
+ Installing Shapely (1.6b1)
44
+ ==========================
46
45
 
47
- Windows users should download an executable installer from
48
- http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely or PyPI (if available).
46
+ Windows users have two good installation options: the wheels at
47
+ http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
48
+ Anaconda platform's [conda-forge](https://conda-forge.github.io/)
49
+ channel.
49
50
 
50
- On other systems, acquire the GEOS by any means (`brew install geos` on OS X or
51
- `apt-get install libgeos-dev` on Debian/Ubuntu), make sure that it is on the
52
- system library path, and install Shapely from the Python package index.
51
+ OS X users can get Shapely wheels with GEOS included from the
52
+ Python Package Index with a recent version of pip (8+):
53
53
 
54
54
  .. code-block:: console
55
55
 
56
- $ pip install shapely
56
+ $ pip install shapely==1.6b1
57
57
 
58
- If you've installed GEOS to a non-standard location, the geos-config program
59
- will be used to get compiler and linker options. If it is not on the PATH,
60
- it can be specified with a GEOS_CONFIG environment variable, e.g.:
58
+ A few extra speedups that require Numpy can be had by running
61
59
 
62
60
  .. code-block:: console
63
61
 
64
- $ GEOS_CONFIG=/path/to/geos-config pip install shapely
62
+ $ pip install shapely[vectorized]==1.6b1
65
63
 
66
- If your system's GEOS version is < 3.3.0 you cannot use Shapely 1.3+ and must
67
- stick to 1.2.x as shown below.
64
+ If you want to build Shapely from source for compatibility with
65
+ other modules that depend on GEOS (such as cartopy or osgeo.ogr)
66
+ you may ignore the binary wheels.
68
67
 
69
68
  .. code-block:: console
70
69
 
71
- $ pip install shapely<1.3
70
+ $ pip install shapely --no-binary shapely
72
71
 
73
- Or, if you're using pip 6+
72
+ Binary wheels are also available for Linux. To get them, use `pip shapely
73
+ shapely==1.6b1`. To avoid them, use `pip install shapely --no-binary
74
+ shapely==1.6b1`.
75
+
76
+ In other situations, install `geos_c` libs and headers by any means
77
+ (for example, `brew install geos` on OS X or
78
+ `apt-get install libgeos-dev` on Debian/Ubuntu) and install Shapely
79
+ from the Python package index.
74
80
 
75
81
  .. code-block:: console
76
82
 
77
- $ pip install shapely~=1.2
83
+ $ pip install shapely
78
84
 
85
+ If you've installed GEOS to a standard location, the geos-config program
86
+ will be used to get compiler and linker options. If geos-config is not on
87
+ your executable, it can be specified with a GEOS_CONFIG environment
88
+ variable, e.g.:
89
+
90
+ .. code-block:: console
91
+
92
+ $ GEOS_CONFIG=/path/to/geos-config pip install shapely
79
93
  Shapely is also provided by popular Python distributions like Canopy (Enthought)
80
94
  and Anaconda (Continuum Analytics).
81
95
 
@@ -141,22 +155,14 @@ Description: =======
141
155
 
142
156
  .. code-block:: console
143
157
 
144
- (env)$ py.test tests
145
-
146
- Roadmap and Maintenance
147
- =======================
148
-
149
- Shapely 1.2.x is a maintenance-only branch which supports Python 2.4-2.6, but
150
- not Python 3+. There will be no new features in Shapely 1.2.x and only fixes
151
- for major bugs.
152
-
153
- Shapely 1.4.x is a maintenance-only branch supporting Pythons 2.7 and 3.3+.
158
+ (env)$ python -m pytest
154
159
 
155
160
  Support
156
161
  =======
157
162
 
158
- Please discuss Shapely with us at
159
- http://lists.gispython.org/mailman/listinfo/community.
163
+ Questions about using Shapely may be asked on the `GIS StackExchange
164
+ <http://gis.stackexchange.com/questions/tagged/shapely>`__ using the "shapely"
165
+ tag.
160
166
 
161
167
  Bugs may be reported at https://github.com/Toblerity/Shapely/issues.
162
168
 
@@ -231,6 +237,24 @@ Description: =======
231
237
  Changes
232
238
  =======
233
239
 
240
+ 1.6b1 (2016-12-12)
241
+ ------------------
242
+
243
+ Bug fixes:
244
+
245
+ - Implemented __array_interface__ for empty Points and LineStrings (#403).
246
+
247
+ 1.6a3 (2016-12-01)
248
+ ------------------
249
+
250
+ Bug fixes:
251
+
252
+ - Remove accidental hard requirement of Numpy (#431).
253
+
254
+ Packaging:
255
+
256
+ - Put Numpy in an optional requirement set named "vectorized" (#431).
257
+
234
258
  1.6a2 (2016-11-09)
235
259
  ------------------
236
260
 
@@ -2,17 +2,16 @@
2
2
  Shapely
3
3
  =======
4
4
 
5
- Manipulation and analysis of geometric objects in the Cartesian plane.
6
-
7
5
  .. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
8
6
  :target: https://travis-ci.org/Toblerity/Shapely
9
7
 
10
- .. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
11
8
  :target: https://coveralls.io/github/Toblerity/Shapely?branch=master
12
9
 
13
- .. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
10
+ Manipulation and analysis of geometric objects in the Cartesian plane.
11
+
12
+ .. image:: https://c2.staticflickr.com/6/5560/31301790086_b3472ea4e9_c.jpg
14
13
  :width: 800
15
- :height: 400
14
+ :height: 378
16
15
 
17
16
  Shapely is a BSD-licensed Python package for manipulation and analysis of
18
17
  planar geometric objects. It is based on the widely deployed `GEOS
@@ -28,46 +27,61 @@ but can be readily integrated with packages that are. For more details, see:
28
27
  Requirements
29
28
  ============
30
29
 
31
- Shapely 1.5.x requires
30
+ Shapely 1.6.x requires
32
31
 
33
32
  * Python >=2.6 (including Python 3.x)
34
- * GEOS >=3.3 (Shapely 1.2.x requires only GEOS 3.1 but YMMV)
33
+ * GEOS >=3.3
35
34
 
36
- Installing Shapely
37
- ==================
35
+ Installing Shapely (1.6b1)
36
+ ==========================
38
37
 
39
- Windows users should download an executable installer from
40
- http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely or PyPI (if available).
38
+ Windows users have two good installation options: the wheels at
39
+ http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
40
+ Anaconda platform's [conda-forge](https://conda-forge.github.io/)
41
+ channel.
41
42
 
42
- On other systems, acquire the GEOS by any means (`brew install geos` on OS X or
43
- `apt-get install libgeos-dev` on Debian/Ubuntu), make sure that it is on the
44
- system library path, and install Shapely from the Python package index.
43
+ OS X users can get Shapely wheels with GEOS included from the
44
+ Python Package Index with a recent version of pip (8+):
45
45
 
46
46
  .. code-block:: console
47
47
 
48
- $ pip install shapely
48
+ $ pip install shapely==1.6b1
49
49
 
50
- If you've installed GEOS to a non-standard location, the geos-config program
51
- will be used to get compiler and linker options. If it is not on the PATH,
52
- it can be specified with a GEOS_CONFIG environment variable, e.g.:
50
+ A few extra speedups that require Numpy can be had by running
53
51
 
54
52
  .. code-block:: console
55
53
 
56
- $ GEOS_CONFIG=/path/to/geos-config pip install shapely
54
+ $ pip install shapely[vectorized]==1.6b1
57
55
 
58
- If your system's GEOS version is < 3.3.0 you cannot use Shapely 1.3+ and must
59
- stick to 1.2.x as shown below.
56
+ If you want to build Shapely from source for compatibility with
57
+ other modules that depend on GEOS (such as cartopy or osgeo.ogr)
58
+ you may ignore the binary wheels.
60
59
 
61
60
  .. code-block:: console
62
61
 
63
- $ pip install shapely<1.3
62
+ $ pip install shapely --no-binary shapely
64
63
 
65
- Or, if you're using pip 6+
64
+ Binary wheels are also available for Linux. To get them, use `pip shapely
65
+ shapely==1.6b1`. To avoid them, use `pip install shapely --no-binary
66
+ shapely==1.6b1`.
67
+
68
+ In other situations, install `geos_c` libs and headers by any means
69
+ (for example, `brew install geos` on OS X or
70
+ `apt-get install libgeos-dev` on Debian/Ubuntu) and install Shapely
71
+ from the Python package index.
66
72
 
67
73
  .. code-block:: console
68
74
 
69
- $ pip install shapely~=1.2
75
+ $ pip install shapely
76
+
77
+ If you've installed GEOS to a standard location, the geos-config program
78
+ will be used to get compiler and linker options. If geos-config is not on
79
+ your executable, it can be specified with a GEOS_CONFIG environment
80
+ variable, e.g.:
81
+
82
+ .. code-block:: console
70
83
 
84
+ $ GEOS_CONFIG=/path/to/geos-config pip install shapely
71
85
  Shapely is also provided by popular Python distributions like Canopy (Enthought)
72
86
  and Anaconda (Continuum Analytics).
73
87
 
@@ -133,21 +147,13 @@ We use py.test to run Shapely's suite of unittests and doctests.
133
147
 
134
148
  .. code-block:: console
135
149
 
136
- (env)$ py.test tests
137
-
138
- Roadmap and Maintenance
139
- =======================
140
-
141
- Shapely 1.2.x is a maintenance-only branch which supports Python 2.4-2.6, but
142
- not Python 3+. There will be no new features in Shapely 1.2.x and only fixes
143
- for major bugs.
144
-
145
- Shapely 1.4.x is a maintenance-only branch supporting Pythons 2.7 and 3.3+.
150
+ (env)$ python -m pytest
146
151
 
147
152
  Support
148
153
  =======
149
154
 
150
- Please discuss Shapely with us at
151
- http://lists.gispython.org/mailman/listinfo/community.
155
+ Questions about using Shapely may be asked on the `GIS StackExchange
156
+ <http://gis.stackexchange.com/questions/tagged/shapely>`__ using the "shapely"
157
+ tag.
152
158
 
153
159
  Bugs may be reported at https://github.com/Toblerity/Shapely/issues.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.6a2
3
+ Version: 1.6b1
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -10,17 +10,16 @@ Description: =======
10
10
  Shapely
11
11
  =======
12
12
 
13
- Manipulation and analysis of geometric objects in the Cartesian plane.
14
-
15
13
  .. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
16
14
  :target: https://travis-ci.org/Toblerity/Shapely
17
15
 
18
- .. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
19
16
  :target: https://coveralls.io/github/Toblerity/Shapely?branch=master
20
17
 
21
- .. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
18
+ Manipulation and analysis of geometric objects in the Cartesian plane.
19
+
20
+ .. image:: https://c2.staticflickr.com/6/5560/31301790086_b3472ea4e9_c.jpg
22
21
  :width: 800
23
- :height: 400
22
+ :height: 378
24
23
 
25
24
  Shapely is a BSD-licensed Python package for manipulation and analysis of
26
25
  planar geometric objects. It is based on the widely deployed `GEOS
@@ -36,46 +35,61 @@ Description: =======
36
35
  Requirements
37
36
  ============
38
37
 
39
- Shapely 1.5.x requires
38
+ Shapely 1.6.x requires
40
39
 
41
40
  * Python >=2.6 (including Python 3.x)
42
- * GEOS >=3.3 (Shapely 1.2.x requires only GEOS 3.1 but YMMV)
41
+ * GEOS >=3.3
43
42
 
44
- Installing Shapely
45
- ==================
43
+ Installing Shapely (1.6b1)
44
+ ==========================
46
45
 
47
- Windows users should download an executable installer from
48
- http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely or PyPI (if available).
46
+ Windows users have two good installation options: the wheels at
47
+ http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
48
+ Anaconda platform's [conda-forge](https://conda-forge.github.io/)
49
+ channel.
49
50
 
50
- On other systems, acquire the GEOS by any means (`brew install geos` on OS X or
51
- `apt-get install libgeos-dev` on Debian/Ubuntu), make sure that it is on the
52
- system library path, and install Shapely from the Python package index.
51
+ OS X users can get Shapely wheels with GEOS included from the
52
+ Python Package Index with a recent version of pip (8+):
53
53
 
54
54
  .. code-block:: console
55
55
 
56
- $ pip install shapely
56
+ $ pip install shapely==1.6b1
57
57
 
58
- If you've installed GEOS to a non-standard location, the geos-config program
59
- will be used to get compiler and linker options. If it is not on the PATH,
60
- it can be specified with a GEOS_CONFIG environment variable, e.g.:
58
+ A few extra speedups that require Numpy can be had by running
61
59
 
62
60
  .. code-block:: console
63
61
 
64
- $ GEOS_CONFIG=/path/to/geos-config pip install shapely
62
+ $ pip install shapely[vectorized]==1.6b1
65
63
 
66
- If your system's GEOS version is < 3.3.0 you cannot use Shapely 1.3+ and must
67
- stick to 1.2.x as shown below.
64
+ If you want to build Shapely from source for compatibility with
65
+ other modules that depend on GEOS (such as cartopy or osgeo.ogr)
66
+ you may ignore the binary wheels.
68
67
 
69
68
  .. code-block:: console
70
69
 
71
- $ pip install shapely<1.3
70
+ $ pip install shapely --no-binary shapely
72
71
 
73
- Or, if you're using pip 6+
72
+ Binary wheels are also available for Linux. To get them, use `pip shapely
73
+ shapely==1.6b1`. To avoid them, use `pip install shapely --no-binary
74
+ shapely==1.6b1`.
75
+
76
+ In other situations, install `geos_c` libs and headers by any means
77
+ (for example, `brew install geos` on OS X or
78
+ `apt-get install libgeos-dev` on Debian/Ubuntu) and install Shapely
79
+ from the Python package index.
74
80
 
75
81
  .. code-block:: console
76
82
 
77
- $ pip install shapely~=1.2
83
+ $ pip install shapely
78
84
 
85
+ If you've installed GEOS to a standard location, the geos-config program
86
+ will be used to get compiler and linker options. If geos-config is not on
87
+ your executable, it can be specified with a GEOS_CONFIG environment
88
+ variable, e.g.:
89
+
90
+ .. code-block:: console
91
+
92
+ $ GEOS_CONFIG=/path/to/geos-config pip install shapely
79
93
  Shapely is also provided by popular Python distributions like Canopy (Enthought)
80
94
  and Anaconda (Continuum Analytics).
81
95
 
@@ -141,22 +155,14 @@ Description: =======
141
155
 
142
156
  .. code-block:: console
143
157
 
144
- (env)$ py.test tests
145
-
146
- Roadmap and Maintenance
147
- =======================
148
-
149
- Shapely 1.2.x is a maintenance-only branch which supports Python 2.4-2.6, but
150
- not Python 3+. There will be no new features in Shapely 1.2.x and only fixes
151
- for major bugs.
152
-
153
- Shapely 1.4.x is a maintenance-only branch supporting Pythons 2.7 and 3.3+.
158
+ (env)$ python -m pytest
154
159
 
155
160
  Support
156
161
  =======
157
162
 
158
- Please discuss Shapely with us at
159
- http://lists.gispython.org/mailman/listinfo/community.
163
+ Questions about using Shapely may be asked on the `GIS StackExchange
164
+ <http://gis.stackexchange.com/questions/tagged/shapely>`__ using the "shapely"
165
+ tag.
160
166
 
161
167
  Bugs may be reported at https://github.com/Toblerity/Shapely/issues.
162
168
 
@@ -231,6 +237,24 @@ Description: =======
231
237
  Changes
232
238
  =======
233
239
 
240
+ 1.6b1 (2016-12-12)
241
+ ------------------
242
+
243
+ Bug fixes:
244
+
245
+ - Implemented __array_interface__ for empty Points and LineStrings (#403).
246
+
247
+ 1.6a3 (2016-12-01)
248
+ ------------------
249
+
250
+ Bug fixes:
251
+
252
+ - Remove accidental hard requirement of Numpy (#431).
253
+
254
+ Packaging:
255
+
256
+ - Put Numpy in an optional requirement set named "vectorized" (#431).
257
+
234
258
  1.6a2 (2016-11-09)
235
259
  ------------------
236
260
 
@@ -2,11 +2,13 @@
2
2
  [all]
3
3
  pytest
4
4
  pytest-cov
5
- numpy>=1.4.1
6
5
  packaging
6
+ numpy
7
7
 
8
8
  [test]
9
9
  pytest
10
10
  pytest-cov
11
- numpy>=1.4.1
12
11
  packaging
12
+
13
+ [vectorized]
14
+ numpy
@@ -0,0 +1 @@
1
+ 1.6b1
@@ -178,8 +178,9 @@ with open('CHANGES.txt', 'r', **open_kwds) as fp:
178
178
  long_description = readme + '\n\n' + credits + '\n\n' + changes
179
179
 
180
180
  extra_reqs = {
181
- 'test': ['pytest', 'pytest-cov', 'numpy>=1.4.1', 'packaging']
182
- }
181
+ 'test': ['pytest', 'pytest-cov', 'packaging'],
182
+ 'vectorized': ['numpy']}
183
+
183
184
  extra_reqs['all'] = list(it.chain.from_iterable(extra_reqs.values()))
184
185
 
185
186
  # Make a dict of setup arguments. Some items will be updated as
@@ -302,8 +303,8 @@ def construct_build_ext(build_ext):
302
303
  build_ext.build_extension(self, ext)
303
304
  except ext_errors as x:
304
305
  raise BuildFailed(x)
305
- return WrappedBuildExt
306
306
 
307
+ return WrappedBuildExt
307
308
 
308
309
  if (hasattr(platform, 'python_implementation')
309
310
  and platform.python_implementation() == 'PyPy'):
@@ -311,7 +312,6 @@ if (hasattr(platform, 'python_implementation')
311
312
  ext_modules = []
312
313
  libraries = []
313
314
 
314
-
315
315
  if os.path.exists("MANIFEST.in"):
316
316
  pyx_file = "shapely/speedups/_speedups.pyx"
317
317
  c_file = "shapely/speedups/_speedups.c"
@@ -333,15 +333,9 @@ if os.path.exists("MANIFEST.in"):
333
333
  log.warn("speedup extension not found")
334
334
 
335
335
  ext_modules = [
336
- Extension(
337
- "shapely.speedups._speedups",
338
- ["shapely/speedups/_speedups.c"],
339
- include_dirs=include_dirs,
340
- library_dirs=library_dirs,
341
- libraries=libraries,
342
- extra_link_args=extra_link_args,
343
- ),
344
- ]
336
+ Extension("shapely.speedups._speedups", ["shapely/speedups/_speedups.c"],
337
+ include_dirs=include_dirs, library_dirs=library_dirs,
338
+ libraries=libraries, extra_link_args=extra_link_args)]
345
339
 
346
340
  cmd_classes = setup_args.setdefault('cmdclass', {})
347
341
 
@@ -370,7 +364,6 @@ except ImportError:
370
364
  log.info("Numpy or Cython not available, shapely.vectorized submodule "
371
365
  "not being built.")
372
366
 
373
-
374
367
  try:
375
368
  # try building with speedups
376
369
  existing_build_ext = setup_args['cmdclass'].\
@@ -0,0 +1 @@
1
+ __version__ = "1.6b1"
@@ -11,27 +11,6 @@ from shapely.topology import Validating
11
11
  if sys.version_info[0] < 3:
12
12
  range = xrange
13
13
 
14
- try:
15
- import numpy
16
- has_numpy = True
17
- except ImportError:
18
- has_numpy = False
19
-
20
- def required(ob):
21
- """Return an object that meets Shapely requirements for self-owned
22
- C-continguous data, copying if necessary, or just return the original
23
- object."""
24
- if hasattr(ob, '__array_interface__'):
25
- if ob.__array_interface__.get('strides') and not has_numpy:
26
- # raise an error if strided. See issue #52.
27
- raise ValueError("C-contiguous data is required")
28
- else:
29
- # numpy.require will just return (ob) if it is already
30
- # float64 and well-behaved.
31
- return numpy.require(ob, numpy.float64, ["C", "OWNDATA"])
32
- else:
33
- return ob
34
-
35
14
 
36
15
  class CoordinateSequence(object):
37
16
  """