shapely 1.5.17__tar.gz → 1.6a1__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.5.17 → Shapely-1.6a1}/CHANGES.txt +37 -0
  2. {Shapely-1.5.17 → Shapely-1.6a1}/CREDITS.txt +23 -17
  3. {Shapely-1.5.17/Shapely.egg-info → Shapely-1.6a1}/PKG-INFO +64 -18
  4. {Shapely-1.5.17 → Shapely-1.6a1}/README.rst +3 -0
  5. {Shapely-1.5.17 → Shapely-1.6a1/Shapely.egg-info}/PKG-INFO +64 -18
  6. {Shapely-1.5.17 → Shapely-1.6a1}/Shapely.egg-info/SOURCES.txt +23 -0
  7. Shapely-1.6a1/Shapely.egg-info/requires.txt +12 -0
  8. Shapely-1.6a1/VERSION.txt +1 -0
  9. {Shapely-1.5.17 → Shapely-1.6a1}/docs/manual.rst +118 -12
  10. Shapely-1.6a1/packaging/__about__.py +21 -0
  11. Shapely-1.6a1/packaging/__init__.py +14 -0
  12. Shapely-1.6a1/packaging/_compat.py +30 -0
  13. Shapely-1.6a1/packaging/_structures.py +68 -0
  14. Shapely-1.6a1/packaging/markers.py +287 -0
  15. Shapely-1.6a1/packaging/requirements.py +127 -0
  16. Shapely-1.6a1/packaging/specifiers.py +774 -0
  17. Shapely-1.6a1/packaging/utils.py +14 -0
  18. Shapely-1.6a1/packaging/version.py +393 -0
  19. Shapely-1.6a1/packaging-15.3.dist-info/DESCRIPTION.rst +121 -0
  20. Shapely-1.6a1/packaging-15.3.dist-info/METADATA +141 -0
  21. Shapely-1.6a1/packaging-15.3.dist-info/RECORD +13 -0
  22. Shapely-1.6a1/packaging-15.3.dist-info/WHEEL +6 -0
  23. Shapely-1.6a1/packaging-15.3.dist-info/metadata.json +1 -0
  24. Shapely-1.6a1/packaging-15.3.dist-info/pbr.json +1 -0
  25. Shapely-1.6a1/packaging-15.3.dist-info/top_level.txt +1 -0
  26. {Shapely-1.5.17 → Shapely-1.6a1}/setup.cfg +4 -1
  27. {Shapely-1.5.17 → Shapely-1.6a1}/setup.py +116 -44
  28. Shapely-1.6a1/shapely/__init__.py +1 -0
  29. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/_buildcfg.py +1 -1
  30. Shapely-1.6a1/shapely/algorithms/polylabel.py +128 -0
  31. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/ctypes_declarations.py +55 -79
  32. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/__init__.py +3 -0
  33. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/base.py +57 -4
  34. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/linestring.py +5 -4
  35. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/polygon.py +24 -3
  36. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geos.py +58 -28
  37. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/impl.py +1 -0
  38. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/ops.py +174 -2
  39. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/speedups/__init__.py +32 -1
  40. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/speedups/_speedups.c +535 -497
  41. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/speedups/_speedups.pyx +7 -3
  42. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/vectorized/_vectorized.pyx +7 -5
  43. {Shapely-1.5.17 → Shapely-1.6a1}/tests/conftest.py +8 -0
  44. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_emptiness.py +10 -0
  45. Shapely-1.6a1/tests/test_minimum_rotated_rectangle.py +33 -0
  46. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_operations.py +11 -2
  47. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_polygon.py +12 -0
  48. Shapely-1.6a1/tests/test_polylabel.py +63 -0
  49. Shapely-1.6a1/tests/test_shared_paths.py +50 -0
  50. Shapely-1.6a1/tests/test_split.py +192 -0
  51. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_vectorized.py +4 -4
  52. Shapely-1.5.17/VERSION.txt +0 -1
  53. Shapely-1.5.17/shapely/__init__.py +0 -1
  54. {Shapely-1.5.17 → Shapely-1.6a1}/LICENSE.txt +0 -0
  55. {Shapely-1.5.17 → Shapely-1.6a1}/Shapely.egg-info/dependency_links.txt +0 -0
  56. {Shapely-1.5.17 → Shapely-1.6a1}/Shapely.egg-info/top_level.txt +0 -0
  57. {Shapely-1.5.17 → Shapely-1.6a1}/docs/design.rst +0 -0
  58. {Shapely-1.5.17 → Shapely-1.6a1}/docs/index.rst +0 -0
  59. {Shapely-1.5.17 → Shapely-1.6a1}/docs/project.rst +0 -0
  60. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/_geos.pxi +0 -0
  61. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/affinity.py +0 -0
  62. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/algorithms/__init__.py +0 -0
  63. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/algorithms/cga.py +0 -0
  64. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/coords.py +0 -0
  65. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/examples/__init__.py +0 -0
  66. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/examples/dissolve.py +0 -0
  67. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/examples/geoms.py +0 -0
  68. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/examples/intersect.py +0 -0
  69. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/ftools.py +0 -0
  70. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/collection.py +0 -0
  71. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/geo.py +0 -0
  72. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/multilinestring.py +0 -0
  73. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/multipoint.py +0 -0
  74. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/multipolygon.py +0 -0
  75. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/point.py +0 -0
  76. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/proxy.py +0 -0
  77. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/iterops.py +0 -0
  78. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/linref.py +0 -0
  79. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/predicates.py +0 -0
  80. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/prepared.py +0 -0
  81. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/strtree.py +0 -0
  82. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/topology.py +0 -0
  83. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/validation.py +0 -0
  84. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/vectorized/__init__.py +0 -0
  85. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/wkb.py +0 -0
  86. {Shapely-1.5.17 → Shapely-1.6a1}/shapely/wkt.py +0 -0
  87. {Shapely-1.5.17 → Shapely-1.6a1}/tests/__init__.py +0 -0
  88. {Shapely-1.5.17 → Shapely-1.6a1}/tests/binascii_hex.txt +0 -0
  89. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_affinity.py +0 -0
  90. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_box.py +0 -0
  91. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_cga.py +0 -0
  92. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_collection.py +0 -0
  93. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_coords.py +0 -0
  94. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_default_impl.py +0 -0
  95. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_delaunay.py +0 -0
  96. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_delegated.py +0 -0
  97. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_dlls.py +0 -0
  98. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_doctests.py +0 -0
  99. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_empty_polygons.py +0 -0
  100. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_equality.py +0 -0
  101. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_geointerface.py +0 -0
  102. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_geomseq.py +0 -0
  103. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_geos_err_handler.py +0 -0
  104. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_getitem.py +0 -0
  105. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_hash.py +0 -0
  106. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_invalid_geometries.py +0 -0
  107. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_iterops.py +0 -0
  108. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_linear_referencing.py +0 -0
  109. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_linemerge.py +0 -0
  110. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_linestring.py +0 -0
  111. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_locale.py +0 -0
  112. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_mapping.py +0 -0
  113. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_multi.py +0 -0
  114. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_multilinestring.py +0 -0
  115. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_multipoint.py +0 -0
  116. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_multipolygon.py +0 -0
  117. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_ndarrays.py +0 -0
  118. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_nearest.py +0 -0
  119. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_operators.py +0 -0
  120. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_parallel_offset.py +0 -0
  121. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_persist.py +0 -0
  122. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_pickle.py +0 -0
  123. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_point.py +0 -0
  124. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_polygonize.py +0 -0
  125. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_predicates.py +0 -0
  126. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_prepared.py +0 -0
  127. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_products_z.py +0 -0
  128. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_singularity.py +0 -0
  129. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_snap.py +0 -0
  130. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_strtree.py +0 -0
  131. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_styles.py +0 -0
  132. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_svg.py +0 -0
  133. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_transform.py +0 -0
  134. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_union.py +0 -0
  135. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_validation.py +0 -0
  136. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_wkt.py +0 -0
  137. {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_xy.py +0 -0
  138. {Shapely-1.5.17 → Shapely-1.6a1}/tests/threading_test.py +0 -0
@@ -1,6 +1,43 @@
1
1
  Changes
2
2
  =======
3
3
 
4
+ 1.6a1 (2016-09-14)
5
+ ------------------
6
+
7
+ New features:
8
+
9
+ - A new error derived from NotImplementedError, with a more useful message, is
10
+ raised when the GEOS backend doesn't support a called method (#216).
11
+ - The ``project()`` method of LineString has been extended to LinearRing
12
+ geometries (#286).
13
+ - A new ``minimum_rotated_rectangle`` attribute has been added to the base
14
+ geometry class (#354).
15
+ - A new ``shapely.ops.polylabel()`` function has been added. It
16
+ computes a point suited for labeling concave polygons (#395).
17
+ - A new ``shapely.ops.split()`` function has been added. It splits a
18
+ geometry by another geometry of lesser dimension: polygon by line, line by
19
+ point (#293, #371).
20
+ - ``Polygon.from_bounds()`` constructs a Polygon from bounding coordinates
21
+ (#392).
22
+ - Support for testing with Numpy 1.4.1 has been added (#301).
23
+ - Support creating all kinds of empty geometries from empty lists of Python
24
+ objects (#397, #404).
25
+
26
+ Refactoring:
27
+
28
+ - Switch from ``SingleSidedBuffer()`` to ``OffsetCurve()`` for GEOS >= 3.3
29
+ (#270).
30
+ - Cython speedups are now enabled by defualt (#252).
31
+
32
+ Packaging:
33
+
34
+ - Packaging 16.7, a setup dependency, is vendorized (#314).
35
+ - Infrastructure for building manylinux1 wheels has been added (#391).
36
+ - The system's ``geos-config`` program is now only checked when ``setup.py``
37
+ is executed, never during normal use of the module (#244).
38
+ - Added new library search paths to assist PyInstaller (#382) and Windows
39
+ (#343).
40
+
4
41
  1.5.17 (2016-08-31)
5
42
  -------------------
6
43
  - Bug fix: eliminate memory leak in geom_factory() (#408).
@@ -5,44 +5,50 @@ Shapely is written by:
5
5
 
6
6
  * Sean Gillies <sean.gillies@gmail.com>
7
7
  * Oliver Tonnhofer <olt@bogosoft.com>
8
- * Mike Toews <mwtoews@gmail.com>
9
8
  * Joshua Arnott <josh@snorfalorpagus.net>
9
+ * Mike Toews <mwtoews@gmail.com>
10
10
  * Jacob Wasserman <jwasserman@gmail.com>
11
- * Aron Bierbaum <aronbierbaum@gmail.com>
11
+ * aronbierbaum <aronbierbaum@b426a367-1105-0410-b9ff-cdf4ab011145>
12
+ * Allan Adair <allan@rfspot.com>
12
13
  * Johannes Schönberger <jschoenberger@demuc.de>
14
+ * georgeouzou <geothrock@gmail.com>
13
15
  * Phil Elson <pelson.pub@gmail.com>
14
16
  * Howard Butler <hobu.inc@gmail.com>
15
17
  * dokai <dokai@b426a367-1105-0410-b9ff-cdf4ab011145>
16
18
  * Gabi Davar <grizzly.nyo@gmail.com>
19
+ * Kevin Wurster <kevin@skytruth.org>
17
20
  * Kelsey Jordahl <kjordahl@enthought.com>
18
21
  * Dave Collins <dave@hopest.net>
22
+ * fredj <frederic.junod@camptocamp.com>
23
+ * Brad Hards <bradh@frogmouth.net>
24
+ * David Baumgold <david@davidbaumgold.com>
25
+ * Henry Walshaw <henry.walshaw@gmail.com>
19
26
  * Jinkun Wang <mejkunw@gmail.com>
20
27
  * Marc Jansen <jansen@terrestris.de>
21
- * Henry Walshaw <henry.walshaw@gmail.com>
22
- * David Baumgold <david@davidbaumgold.com>
23
28
  * Sampo Syrjanen <sampo.syrjanen@here.com>
24
29
  * Steve M. Kim <steve@climate.com>
25
30
  * Thomas Kluyver <takowl@gmail.com>
26
- * Brad Hards <bradh@frogmouth.net>
27
- * Allan Adair <allan.m.adair@gmail.com>
28
- * fredj <frederic.junod@camptocamp.com>
31
+ * Morris Tweed <tweed.morris@gmail.com>
29
32
  * Naveen Michaud-Agrawal <naveen.michaudagrawal@gmail.com>
30
- * Peter Sagerson <psagers.github@ignorare.net>
31
- * BertrandGervais <bertrand.gervais.pro@gmail.com>
32
33
  * Jeethu Rao <jeethu@jeethurao.com>
34
+ * Peter Sagerson <psagers.github@ignorare.net>
33
35
  * Jason Sanford <jason.sanford@mapmyfitness.com>
34
- * Brandon Wood <btwood@geometeor.com>
35
- * Stephan Hügel <urschrei@gmail.com>
36
- * Johan Euphrosine <proppy@aminche.com>
37
- * mindw <grizzly.nyo@gmail.com>
36
+ * Jamie Hall <jamie1212@gmail.com>
38
37
  * James Spencer <james.s.spencer@gmail.com>
38
+ * Stephan Hügel <urschrei@gmail.com>
39
39
  * Benjamin Root <ben.v.root@gmail.com>
40
- * Leandro Lima <leandro@limaesilva.com.br>
41
- * Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
42
40
  * Tobias Sauerwein <tobias.sauerwein@camptocamp.com>
43
- * James Douglass <jamesdouglassusa@gmail.com>
44
- * Morris Tweed <tweed.morris@gmail.com>]
45
41
  * WANG Aiyong <gepcelway@gmail.com>
42
+ * James Douglass <jamesdouglassusa@gmail.com>
43
+ * Brandon Wood <btwood@geometeor.com>
44
+ * Andy Freeland <andy@andyfreeland.net>
45
+ * BertrandGervais <bertrand.gervais.pro@gmail.com>
46
+ * giumas <gmasetti@ccom.unh.edu>
47
+ * Leandro Lima <leandro@limaesilva.com.br>
48
+ * Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
49
+ * joelostblom <joelostblom@users.noreply.github.com>
50
+ * Marco De Nadai <me@marcodena.it>
51
+ * Johan Euphrosine <proppy@aminche.com>
46
52
 
47
53
  See also: https://github.com/Toblerity/Shapely/graphs/contributors.
48
54
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.5.17
3
+ Version: 1.6a1
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -15,6 +15,9 @@ Description: =======
15
15
  .. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
16
16
  :target: https://travis-ci.org/Toblerity/Shapely
17
17
 
18
+ .. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
19
+ :target: https://coveralls.io/github/Toblerity/Shapely?branch=master
20
+
18
21
  .. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
19
22
  :width: 800
20
23
  :height: 400
@@ -165,44 +168,50 @@ Description: =======
165
168
 
166
169
  * Sean Gillies <sean.gillies@gmail.com>
167
170
  * Oliver Tonnhofer <olt@bogosoft.com>
168
- * Mike Toews <mwtoews@gmail.com>
169
171
  * Joshua Arnott <josh@snorfalorpagus.net>
172
+ * Mike Toews <mwtoews@gmail.com>
170
173
  * Jacob Wasserman <jwasserman@gmail.com>
171
- * Aron Bierbaum <aronbierbaum@gmail.com>
174
+ * aronbierbaum <aronbierbaum@b426a367-1105-0410-b9ff-cdf4ab011145>
175
+ * Allan Adair <allan@rfspot.com>
172
176
  * Johannes Schönberger <jschoenberger@demuc.de>
177
+ * georgeouzou <geothrock@gmail.com>
173
178
  * Phil Elson <pelson.pub@gmail.com>
174
179
  * Howard Butler <hobu.inc@gmail.com>
175
180
  * dokai <dokai@b426a367-1105-0410-b9ff-cdf4ab011145>
176
181
  * Gabi Davar <grizzly.nyo@gmail.com>
182
+ * Kevin Wurster <kevin@skytruth.org>
177
183
  * Kelsey Jordahl <kjordahl@enthought.com>
178
184
  * Dave Collins <dave@hopest.net>
185
+ * fredj <frederic.junod@camptocamp.com>
186
+ * Brad Hards <bradh@frogmouth.net>
187
+ * David Baumgold <david@davidbaumgold.com>
188
+ * Henry Walshaw <henry.walshaw@gmail.com>
179
189
  * Jinkun Wang <mejkunw@gmail.com>
180
190
  * Marc Jansen <jansen@terrestris.de>
181
- * Henry Walshaw <henry.walshaw@gmail.com>
182
- * David Baumgold <david@davidbaumgold.com>
183
191
  * Sampo Syrjanen <sampo.syrjanen@here.com>
184
192
  * Steve M. Kim <steve@climate.com>
185
193
  * Thomas Kluyver <takowl@gmail.com>
186
- * Brad Hards <bradh@frogmouth.net>
187
- * Allan Adair <allan.m.adair@gmail.com>
188
- * fredj <frederic.junod@camptocamp.com>
194
+ * Morris Tweed <tweed.morris@gmail.com>
189
195
  * Naveen Michaud-Agrawal <naveen.michaudagrawal@gmail.com>
190
- * Peter Sagerson <psagers.github@ignorare.net>
191
- * BertrandGervais <bertrand.gervais.pro@gmail.com>
192
196
  * Jeethu Rao <jeethu@jeethurao.com>
197
+ * Peter Sagerson <psagers.github@ignorare.net>
193
198
  * Jason Sanford <jason.sanford@mapmyfitness.com>
194
- * Brandon Wood <btwood@geometeor.com>
195
- * Stephan Hügel <urschrei@gmail.com>
196
- * Johan Euphrosine <proppy@aminche.com>
197
- * mindw <grizzly.nyo@gmail.com>
199
+ * Jamie Hall <jamie1212@gmail.com>
198
200
  * James Spencer <james.s.spencer@gmail.com>
201
+ * Stephan Hügel <urschrei@gmail.com>
199
202
  * Benjamin Root <ben.v.root@gmail.com>
200
- * Leandro Lima <leandro@limaesilva.com.br>
201
- * Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
202
203
  * Tobias Sauerwein <tobias.sauerwein@camptocamp.com>
203
- * James Douglass <jamesdouglassusa@gmail.com>
204
- * Morris Tweed <tweed.morris@gmail.com>]
205
204
  * WANG Aiyong <gepcelway@gmail.com>
205
+ * James Douglass <jamesdouglassusa@gmail.com>
206
+ * Brandon Wood <btwood@geometeor.com>
207
+ * Andy Freeland <andy@andyfreeland.net>
208
+ * BertrandGervais <bertrand.gervais.pro@gmail.com>
209
+ * giumas <gmasetti@ccom.unh.edu>
210
+ * Leandro Lima <leandro@limaesilva.com.br>
211
+ * Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
212
+ * joelostblom <joelostblom@users.noreply.github.com>
213
+ * Marco De Nadai <me@marcodena.it>
214
+ * Johan Euphrosine <proppy@aminche.com>
206
215
 
207
216
  See also: https://github.com/Toblerity/Shapely/graphs/contributors.
208
217
 
@@ -222,6 +231,43 @@ Description: =======
222
231
  Changes
223
232
  =======
224
233
 
234
+ 1.6a1 (2016-09-14)
235
+ ------------------
236
+
237
+ New features:
238
+
239
+ - A new error derived from NotImplementedError, with a more useful message, is
240
+ raised when the GEOS backend doesn't support a called method (#216).
241
+ - The ``project()`` method of LineString has been extended to LinearRing
242
+ geometries (#286).
243
+ - A new ``minimum_rotated_rectangle`` attribute has been added to the base
244
+ geometry class (#354).
245
+ - A new ``shapely.ops.polylabel()`` function has been added. It
246
+ computes a point suited for labeling concave polygons (#395).
247
+ - A new ``shapely.ops.split()`` function has been added. It splits a
248
+ geometry by another geometry of lesser dimension: polygon by line, line by
249
+ point (#293, #371).
250
+ - ``Polygon.from_bounds()`` constructs a Polygon from bounding coordinates
251
+ (#392).
252
+ - Support for testing with Numpy 1.4.1 has been added (#301).
253
+ - Support creating all kinds of empty geometries from empty lists of Python
254
+ objects (#397, #404).
255
+
256
+ Refactoring:
257
+
258
+ - Switch from ``SingleSidedBuffer()`` to ``OffsetCurve()`` for GEOS >= 3.3
259
+ (#270).
260
+ - Cython speedups are now enabled by defualt (#252).
261
+
262
+ Packaging:
263
+
264
+ - Packaging 16.7, a setup dependency, is vendorized (#314).
265
+ - Infrastructure for building manylinux1 wheels has been added (#391).
266
+ - The system's ``geos-config`` program is now only checked when ``setup.py``
267
+ is executed, never during normal use of the module (#244).
268
+ - Added new library search paths to assist PyInstaller (#382) and Windows
269
+ (#343).
270
+
225
271
  1.5.17 (2016-08-31)
226
272
  -------------------
227
273
  - Bug fix: eliminate memory leak in geom_factory() (#408).
@@ -7,6 +7,9 @@ Manipulation and analysis of geometric objects in the Cartesian plane.
7
7
  .. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
8
8
  :target: https://travis-ci.org/Toblerity/Shapely
9
9
 
10
+ .. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
11
+ :target: https://coveralls.io/github/Toblerity/Shapely?branch=master
12
+
10
13
  .. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
11
14
  :width: 800
12
15
  :height: 400
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.5.17
3
+ Version: 1.6a1
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -15,6 +15,9 @@ Description: =======
15
15
  .. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
16
16
  :target: https://travis-ci.org/Toblerity/Shapely
17
17
 
18
+ .. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
19
+ :target: https://coveralls.io/github/Toblerity/Shapely?branch=master
20
+
18
21
  .. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
19
22
  :width: 800
20
23
  :height: 400
@@ -165,44 +168,50 @@ Description: =======
165
168
 
166
169
  * Sean Gillies <sean.gillies@gmail.com>
167
170
  * Oliver Tonnhofer <olt@bogosoft.com>
168
- * Mike Toews <mwtoews@gmail.com>
169
171
  * Joshua Arnott <josh@snorfalorpagus.net>
172
+ * Mike Toews <mwtoews@gmail.com>
170
173
  * Jacob Wasserman <jwasserman@gmail.com>
171
- * Aron Bierbaum <aronbierbaum@gmail.com>
174
+ * aronbierbaum <aronbierbaum@b426a367-1105-0410-b9ff-cdf4ab011145>
175
+ * Allan Adair <allan@rfspot.com>
172
176
  * Johannes Schönberger <jschoenberger@demuc.de>
177
+ * georgeouzou <geothrock@gmail.com>
173
178
  * Phil Elson <pelson.pub@gmail.com>
174
179
  * Howard Butler <hobu.inc@gmail.com>
175
180
  * dokai <dokai@b426a367-1105-0410-b9ff-cdf4ab011145>
176
181
  * Gabi Davar <grizzly.nyo@gmail.com>
182
+ * Kevin Wurster <kevin@skytruth.org>
177
183
  * Kelsey Jordahl <kjordahl@enthought.com>
178
184
  * Dave Collins <dave@hopest.net>
185
+ * fredj <frederic.junod@camptocamp.com>
186
+ * Brad Hards <bradh@frogmouth.net>
187
+ * David Baumgold <david@davidbaumgold.com>
188
+ * Henry Walshaw <henry.walshaw@gmail.com>
179
189
  * Jinkun Wang <mejkunw@gmail.com>
180
190
  * Marc Jansen <jansen@terrestris.de>
181
- * Henry Walshaw <henry.walshaw@gmail.com>
182
- * David Baumgold <david@davidbaumgold.com>
183
191
  * Sampo Syrjanen <sampo.syrjanen@here.com>
184
192
  * Steve M. Kim <steve@climate.com>
185
193
  * Thomas Kluyver <takowl@gmail.com>
186
- * Brad Hards <bradh@frogmouth.net>
187
- * Allan Adair <allan.m.adair@gmail.com>
188
- * fredj <frederic.junod@camptocamp.com>
194
+ * Morris Tweed <tweed.morris@gmail.com>
189
195
  * Naveen Michaud-Agrawal <naveen.michaudagrawal@gmail.com>
190
- * Peter Sagerson <psagers.github@ignorare.net>
191
- * BertrandGervais <bertrand.gervais.pro@gmail.com>
192
196
  * Jeethu Rao <jeethu@jeethurao.com>
197
+ * Peter Sagerson <psagers.github@ignorare.net>
193
198
  * Jason Sanford <jason.sanford@mapmyfitness.com>
194
- * Brandon Wood <btwood@geometeor.com>
195
- * Stephan Hügel <urschrei@gmail.com>
196
- * Johan Euphrosine <proppy@aminche.com>
197
- * mindw <grizzly.nyo@gmail.com>
199
+ * Jamie Hall <jamie1212@gmail.com>
198
200
  * James Spencer <james.s.spencer@gmail.com>
201
+ * Stephan Hügel <urschrei@gmail.com>
199
202
  * Benjamin Root <ben.v.root@gmail.com>
200
- * Leandro Lima <leandro@limaesilva.com.br>
201
- * Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
202
203
  * Tobias Sauerwein <tobias.sauerwein@camptocamp.com>
203
- * James Douglass <jamesdouglassusa@gmail.com>
204
- * Morris Tweed <tweed.morris@gmail.com>]
205
204
  * WANG Aiyong <gepcelway@gmail.com>
205
+ * James Douglass <jamesdouglassusa@gmail.com>
206
+ * Brandon Wood <btwood@geometeor.com>
207
+ * Andy Freeland <andy@andyfreeland.net>
208
+ * BertrandGervais <bertrand.gervais.pro@gmail.com>
209
+ * giumas <gmasetti@ccom.unh.edu>
210
+ * Leandro Lima <leandro@limaesilva.com.br>
211
+ * Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
212
+ * joelostblom <joelostblom@users.noreply.github.com>
213
+ * Marco De Nadai <me@marcodena.it>
214
+ * Johan Euphrosine <proppy@aminche.com>
206
215
 
207
216
  See also: https://github.com/Toblerity/Shapely/graphs/contributors.
208
217
 
@@ -222,6 +231,43 @@ Description: =======
222
231
  Changes
223
232
  =======
224
233
 
234
+ 1.6a1 (2016-09-14)
235
+ ------------------
236
+
237
+ New features:
238
+
239
+ - A new error derived from NotImplementedError, with a more useful message, is
240
+ raised when the GEOS backend doesn't support a called method (#216).
241
+ - The ``project()`` method of LineString has been extended to LinearRing
242
+ geometries (#286).
243
+ - A new ``minimum_rotated_rectangle`` attribute has been added to the base
244
+ geometry class (#354).
245
+ - A new ``shapely.ops.polylabel()`` function has been added. It
246
+ computes a point suited for labeling concave polygons (#395).
247
+ - A new ``shapely.ops.split()`` function has been added. It splits a
248
+ geometry by another geometry of lesser dimension: polygon by line, line by
249
+ point (#293, #371).
250
+ - ``Polygon.from_bounds()`` constructs a Polygon from bounding coordinates
251
+ (#392).
252
+ - Support for testing with Numpy 1.4.1 has been added (#301).
253
+ - Support creating all kinds of empty geometries from empty lists of Python
254
+ objects (#397, #404).
255
+
256
+ Refactoring:
257
+
258
+ - Switch from ``SingleSidedBuffer()`` to ``OffsetCurve()`` for GEOS >= 3.3
259
+ (#270).
260
+ - Cython speedups are now enabled by defualt (#252).
261
+
262
+ Packaging:
263
+
264
+ - Packaging 16.7, a setup dependency, is vendorized (#314).
265
+ - Infrastructure for building manylinux1 wheels has been added (#391).
266
+ - The system's ``geos-config`` program is now only checked when ``setup.py``
267
+ is executed, never during normal use of the module (#244).
268
+ - Added new library search paths to assist PyInstaller (#382) and Windows
269
+ (#343).
270
+
225
271
  1.5.17 (2016-08-31)
226
272
  -------------------
227
273
  - Bug fix: eliminate memory leak in geom_factory() (#408).
@@ -3,15 +3,33 @@ CREDITS.txt
3
3
  LICENSE.txt
4
4
  README.rst
5
5
  VERSION.txt
6
+ setup.cfg
6
7
  setup.py
7
8
  Shapely.egg-info/PKG-INFO
8
9
  Shapely.egg-info/SOURCES.txt
9
10
  Shapely.egg-info/dependency_links.txt
11
+ Shapely.egg-info/requires.txt
10
12
  Shapely.egg-info/top_level.txt
11
13
  docs/design.rst
12
14
  docs/index.rst
13
15
  docs/manual.rst
14
16
  docs/project.rst
17
+ packaging/__about__.py
18
+ packaging/__init__.py
19
+ packaging/_compat.py
20
+ packaging/_structures.py
21
+ packaging/markers.py
22
+ packaging/requirements.py
23
+ packaging/specifiers.py
24
+ packaging/utils.py
25
+ packaging/version.py
26
+ packaging-15.3.dist-info/DESCRIPTION.rst
27
+ packaging-15.3.dist-info/METADATA
28
+ packaging-15.3.dist-info/RECORD
29
+ packaging-15.3.dist-info/WHEEL
30
+ packaging-15.3.dist-info/metadata.json
31
+ packaging-15.3.dist-info/pbr.json
32
+ packaging-15.3.dist-info/top_level.txt
15
33
  shapely/__init__.py
16
34
  shapely/_buildcfg.py
17
35
  shapely/_geos.pxi
@@ -33,6 +51,7 @@ shapely/wkb.py
33
51
  shapely/wkt.py
34
52
  shapely/algorithms/__init__.py
35
53
  shapely/algorithms/cga.py
54
+ shapely/algorithms/polylabel.py
36
55
  shapely/examples/__init__.py
37
56
  shapely/examples/dissolve.py
38
57
  shapely/examples/geoms.py
@@ -81,6 +100,7 @@ tests/test_linemerge.py
81
100
  tests/test_linestring.py
82
101
  tests/test_locale.py
83
102
  tests/test_mapping.py
103
+ tests/test_minimum_rotated_rectangle.py
84
104
  tests/test_multi.py
85
105
  tests/test_multilinestring.py
86
106
  tests/test_multipoint.py
@@ -95,11 +115,14 @@ tests/test_pickle.py
95
115
  tests/test_point.py
96
116
  tests/test_polygon.py
97
117
  tests/test_polygonize.py
118
+ tests/test_polylabel.py
98
119
  tests/test_predicates.py
99
120
  tests/test_prepared.py
100
121
  tests/test_products_z.py
122
+ tests/test_shared_paths.py
101
123
  tests/test_singularity.py
102
124
  tests/test_snap.py
125
+ tests/test_split.py
103
126
  tests/test_strtree.py
104
127
  tests/test_styles.py
105
128
  tests/test_svg.py
@@ -0,0 +1,12 @@
1
+
2
+ [all]
3
+ pytest
4
+ pytest-cov
5
+ numpy>=1.4.1
6
+ packaging
7
+
8
+ [test]
9
+ pytest
10
+ pytest-cov
11
+ numpy>=1.4.1
12
+ packaging
@@ -0,0 +1 @@
1
+ 1.6a1
@@ -207,6 +207,23 @@ General Attributes and Methods
207
207
  >>> Point(0,0).distance(Point(1,1))
208
208
  1.4142135623730951
209
209
 
210
+ .. method:: object.hausdorff_distance(other)
211
+
212
+ Returns the Hausdorff distance (``float``) to the `other` geometric object.
213
+ The Hausdorff distance is the furthest distance from any point on the first
214
+ geometry to any point on the second geometry.
215
+
216
+ `New in Shapely 1.6.0`
217
+
218
+ .. code-block:: pycon
219
+
220
+ >>> point = Point(1, 1)
221
+ >>> line = LineString([(2, 0), (2, 4), (3, 4)])
222
+ >>> point.hausdorff_distance(line)
223
+ 3.605551275463989
224
+ >>> point.distance(Point(3, 4))
225
+ 3.605551275463989
226
+
210
227
  .. method:: object.representative_point()
211
228
 
212
229
  Returns a cheaply computed point that is guaranteed to be within the
@@ -1122,7 +1139,7 @@ This predicate applies to all types and is the inverse of :meth:`intersects`.
1122
1139
 
1123
1140
  .. method:: object.intersects(other)
1124
1141
 
1125
- Returns ``True`` if the `boundary` and `interior` of the object intersect in
1142
+ Returns ``True`` if the `boundary` or `interior` of the object intersect in
1126
1143
  any way with those of the other.
1127
1144
 
1128
1145
  In other words, geometric objects intersect if they have any boundary or
@@ -1559,6 +1576,27 @@ Figure 10. Convex hull (blue) of 2 points (left) and of 6 points (right).
1559
1576
  >>> MultiPoint([(0, 0), (1, 1)]).envelope
1560
1577
  <shapely.geometry.polygon.Polygon object at 0x...>
1561
1578
 
1579
+ .. attribute:: object.minimum_rotated_rectangle
1580
+
1581
+ Returns the general minimum bounding rectangle that contains the object.
1582
+ Unlike envelope this rectangle is not constrained to be parallel to the
1583
+ coordinate axes. If the convex hull of the object is a degenerate (line or point)
1584
+ this degenerate is returned.
1585
+
1586
+ `New in Shapely 1.6.0`
1587
+
1588
+ .. code-block:: pycon
1589
+
1590
+ >>> Point(0, 0).minimum_rotated_rectangle
1591
+ <shapely.geometry.point.Point object at 0x...>
1592
+ >>> MultiPoint([(0,0),(1,1),(2,0.5)]).minimum_rotated_rectangle
1593
+ <shapely.geometry.polygon.Polygon object at 0x...>
1594
+
1595
+ .. plot:: code/minimum_rotated_rectangle.py
1596
+
1597
+ Figure 11. Minimum rotated rectangle for a multipoint feature (left) and a
1598
+ linestring feature (right).
1599
+
1562
1600
  .. method:: object.parallel_offset(distance, side, resolution=16, join_style=1, mitre_limit=5.0)
1563
1601
 
1564
1602
  Returns a LineString or MultiLineString geometry at a distance from the
@@ -1583,7 +1621,7 @@ Figure 10. Convex hull (blue) of 2 points (left) and of 6 points (right).
1583
1621
 
1584
1622
  .. plot:: code/parallel_offset.py
1585
1623
 
1586
- Figure 11. Three styles of parallel offset lines on the left side of a simple
1624
+ Figure 12. Three styles of parallel offset lines on the left side of a simple
1587
1625
  line string (its starting point shown as a circle) and one offset on the right
1588
1626
  side, a multipart.
1589
1627
 
@@ -1591,7 +1629,7 @@ The effect of the `mitre_limit` parameter is shown below.
1591
1629
 
1592
1630
  .. plot:: code/parallel_offset_mitre.py
1593
1631
 
1594
- Figure 12. Large and small mitre_limit values for left and right offsets.
1632
+ Figure 13. Large and small mitre_limit values for left and right offsets.
1595
1633
 
1596
1634
  .. method:: object.simplify(tolerance, preserve_topology=True)
1597
1635
 
@@ -1618,7 +1656,7 @@ Douglas-Peucker algorithm [6]_ is used.
1618
1656
 
1619
1657
  .. plot:: code/simplify.py
1620
1658
 
1621
- Figure 13. Simplification of a nearly circular polygon using a tolerance of 0.2
1659
+ Figure 14. Simplification of a nearly circular polygon using a tolerance of 0.2
1622
1660
  (left) and 0.5 (right).
1623
1661
 
1624
1662
  .. note::
@@ -1726,7 +1764,7 @@ preserved or supported by 3D affine transformations.
1726
1764
 
1727
1765
  .. plot:: code/rotate.py
1728
1766
 
1729
- Figure 14. Rotation of a `LineString` (gray) by an angle of 90°
1767
+ Figure 15. Rotation of a `LineString` (gray) by an angle of 90°
1730
1768
  counter-clockwise (blue) using different origins.
1731
1769
 
1732
1770
  .. function:: shapely.affinity.scale(geom, xfact=1.0, yfact=1.0, zfact=1.0, origin='center')
@@ -1768,7 +1806,7 @@ preserved or supported by 3D affine transformations.
1768
1806
 
1769
1807
  .. plot:: code/scale.py
1770
1808
 
1771
- Figure 15. Scaling of a gray triangle to blue result: a) by a factor of 1.5
1809
+ Figure 16. Scaling of a gray triangle to blue result: a) by a factor of 1.5
1772
1810
  along x-direction, with reflection across y-axis; b) by a factor of 2 along
1773
1811
  x-direction with custom origin at (1, 1).
1774
1812
 
@@ -1800,7 +1838,7 @@ preserved or supported by 3D affine transformations.
1800
1838
 
1801
1839
  .. plot:: code/skew.py
1802
1840
 
1803
- Figure 16. Skewing of a gray "R" to blue result: a) by a shear angle of 20°
1841
+ Figure 17. Skewing of a gray "R" to blue result: a) by a shear angle of 20°
1804
1842
  along the x-direction and an origin at (1, 1); b) by a shear angle of 30°
1805
1843
  along the y-direction, using default origin.
1806
1844
 
@@ -2080,6 +2118,65 @@ one geometry to the vertices in a second geometry with a given tolerance.
2080
2118
  >>> result.wkt
2081
2119
  'LINESTRING (0 0, 1 1, 2 1, 2.6 0.5)'
2082
2120
 
2121
+ Shared paths
2122
+ ------------
2123
+
2124
+ The :func:`~shapely.ops.shared_paths` function in `shapely.ops` finds the shared
2125
+ paths between two lineal geometries.
2126
+
2127
+ .. function:: shapely.ops.shared_paths(geom1, geom2)
2128
+
2129
+ Finds the shared paths between `geom1` and `geom2`, where both geometries
2130
+ are `LineStrings`.
2131
+
2132
+ A `GeometryCollection` is returned with two elements. The first element is a
2133
+ `MultiLineString` containing shared paths with the same direction for both
2134
+ inputs. The second element is a MultiLineString containing shared paths with
2135
+ the opposite direction for the two inputs.
2136
+
2137
+ `New in version 1.6.0`
2138
+
2139
+ .. code-block:: pycon
2140
+
2141
+ >>> from shapely.ops import shared_paths
2142
+ >>> g1 = LineString([(0, 0), (10, 0), (10, 5), (20, 5)])
2143
+ >>> g2 = LineString([(5, 0), (30, 0), (30, 5), (0, 5)])
2144
+ >>> forward, backward = shared_paths(g1, g2)
2145
+ >>> forward.wkt
2146
+ 'MULTILINESTRING ((5 0, 10 0))'
2147
+ >>> backward.wkt
2148
+ 'MULTILINESTRING ((10 5, 20 5))'
2149
+
2150
+ Splitting
2151
+ ---------
2152
+
2153
+ The :func:`~shapely.ops.split` function in `shapely.ops` splits a geometry by another geometry.
2154
+
2155
+ .. function:: shapely.ops.split(geom, splitter)
2156
+
2157
+ Splits a geometry by another geometry and returns a collection of geometries. This function is the theoretical
2158
+ opposite of the union of the split geometry parts. If the splitter does not split the geometry, a collection with a single geometry equal to the input geometry is returned.
2159
+
2160
+ The function supports:
2161
+
2162
+ * Splitting a (Multi)LineString by a (Multi)Point or (Multi)LineString or (Multi)Polygon boundary
2163
+
2164
+ * Splitting a (Multi)Polygon by a LineString
2165
+
2166
+ It may be convenient to snap the splitter with low tolerance to the geometry. For example in the case of splitting a line by a point, the point must be exactly on the line, for the line to be correctly split.
2167
+ When splitting a line by a polygon, the boundary of the polygon is used for the operation.
2168
+ When splitting a line by another line, a ValueError is raised if the two overlap at some segment.
2169
+
2170
+ `New in version 1.6.0`
2171
+
2172
+ .. code-block:: pycon
2173
+
2174
+ >>> pt = Point((1, 1))
2175
+ >>> line = LineString([(0,0), (2,2)])
2176
+ >>> result = split(line, pt)
2177
+ >>> result.wkt
2178
+ 'GEOMETRYCOLLECTION (LINESTRING (0 0, 1 1), LINESTRING (1 1, 2 2))'
2179
+
2083
2180
  Prepared Geometry Operations
2084
2181
  ----------------------------
2085
2182
 
@@ -2370,13 +2467,12 @@ involves some overhead that might slow down your code.
2370
2467
  .. versionadded:: 1.2.10
2371
2468
 
2372
2469
  The :mod:`shapely.speedups` module contains performance enhancements written in
2373
- C. They are automaticaly installed when Python has access to a compiler and
2374
- GEOS development headers during installation.
2470
+ C. They are automatically installed when Python has access to a compiler and
2471
+ GEOS development headers during installation.
2375
2472
 
2376
2473
  You can check if the speedups are installed with the :attr:`available`
2377
- attribute. The constructor speedups are disabled by default. To enable the
2378
- speedups call :func:`enable`. You can revert to the default implementation with
2379
- :func:`disable`.
2474
+ attribute. To enable the speedups call :func:`enable`. You can revert to the
2475
+ default implementation with :func:`disable`.
2380
2476
 
2381
2477
  .. code-block:: pycon
2382
2478
 
@@ -2385,6 +2481,16 @@ speedups call :func:`enable`. You can revert to the default implementation with
2385
2481
  True
2386
2482
  >>> speedups.enable()
2387
2483
 
2484
+ .. versionadded:: 1.6.0
2485
+
2486
+ Speedups are now enabled by default if they are available. You can check if
2487
+ speedups are enabled with the :attr:`enabled` attribute.
2488
+
2489
+ .. code-block:: pycon
2490
+
2491
+ >>> from shapely import speedups
2492
+ >>> speedups.enabled
2493
+ True
2388
2494
 
2389
2495
  Conclusion
2390
2496
  ==========