shapely 1.7a2__tar.gz → 1.7b1__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.
- {Shapely-1.7a2 → Shapely-1.7b1}/CHANGES.txt +23 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/CREDITS.txt +11 -6
- {Shapely-1.7a2/Shapely.egg-info → Shapely-1.7b1}/PKG-INFO +42 -13
- {Shapely-1.7a2 → Shapely-1.7b1}/README.rst +4 -4
- {Shapely-1.7a2 → Shapely-1.7b1/Shapely.egg-info}/PKG-INFO +42 -13
- {Shapely-1.7a2 → Shapely-1.7b1}/Shapely.egg-info/SOURCES.txt +2 -0
- Shapely-1.7b1/VERSION.txt +1 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/docs/manual.rst +44 -15
- {Shapely-1.7a2 → Shapely-1.7b1}/docs/project.rst +1 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/setup.py +31 -24
- Shapely-1.7b1/shapely/__init__.py +1 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/_buildcfg.py +14 -10
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/_geos.pxi +2 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/affinity.py +11 -3
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/ctypes_declarations.py +23 -1
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/geometry/base.py +52 -23
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/geometry/polygon.py +6 -3
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/geos.py +8 -1
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/impl.py +3 -1
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/ops.py +11 -9
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/speedups/_speedups.c +1066 -989
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/speedups/_speedups.pyx +7 -2
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_affinity.py +59 -0
- Shapely-1.7b1/tests/test_buffer.py +80 -0
- Shapely-1.7b1/tests/test_geometry_base.py +17 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_geos_err_handler.py +1 -1
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_operations.py +1 -2
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_polygon.py +7 -11
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_substring.py +5 -1
- Shapely-1.7a2/VERSION.txt +0 -1
- Shapely-1.7a2/shapely/__init__.py +0 -1
- {Shapely-1.7a2 → Shapely-1.7b1}/LICENSE.txt +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/Shapely.egg-info/dependency_links.txt +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/Shapely.egg-info/requires.txt +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/Shapely.egg-info/top_level.txt +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/_vendor/__init__.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/_vendor/packaging/__about__.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/_vendor/packaging/__init__.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/_vendor/packaging/_compat.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/_vendor/packaging/_structures.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/_vendor/packaging/markers.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/_vendor/packaging/requirements.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/_vendor/packaging/specifiers.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/_vendor/packaging/utils.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/_vendor/packaging/version.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/docs/design.rst +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/docs/index.rst +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/setup.cfg +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/algorithms/__init__.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/algorithms/cga.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/algorithms/polylabel.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/coords.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/errors.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/examples/__init__.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/examples/dissolve.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/examples/geoms.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/examples/intersect.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/geometry/__init__.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/geometry/collection.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/geometry/geo.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/geometry/linestring.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/geometry/multilinestring.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/geometry/multipoint.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/geometry/multipolygon.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/geometry/point.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/geometry/proxy.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/iterops.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/linref.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/predicates.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/prepared.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/speedups/__init__.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/strtree.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/topology.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/validation.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/vectorized/__init__.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/vectorized/_vectorized.c +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/vectorized/_vectorized.pyx +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/wkb.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/shapely/wkt.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/__init__.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/binascii_hex.txt +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/conftest.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_box.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_cga.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_clip_by_rect.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_collection.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_coords.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_default_impl.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_delaunay.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_delegated.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_dlls.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_doctests.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_emptiness.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_empty_polygons.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_equality.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_geointerface.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_geomseq.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_getitem.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_hash.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_invalid_geometries.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_iterops.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_linear_referencing.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_linemerge.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_linestring.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_locale.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_mapping.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_minimum_rotated_rectangle.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_multi.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_multilinestring.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_multipoint.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_multipolygon.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_ndarrays.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_nearest.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_operators.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_orient.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_parallel_offset.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_persist.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_pickle.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_point.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_polygonize.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_polylabel.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_predicates.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_prepared.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_products_z.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_shared_paths.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_singularity.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_snap.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_split.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_strtree.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_strtree_nearest.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_styles.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_svg.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_transform.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_union.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_validation.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_vectorized.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_wkb.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_wkt.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/test_xy.py +0 -0
- {Shapely-1.7a2 → Shapely-1.7b1}/tests/threading_test.py +0 -0
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
Changes
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
+
1.7b1 (2019-01-13)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
First beta release.
|
|
8
|
+
|
|
9
|
+
1.7a3 (2019-12-31)
|
|
10
|
+
------------------
|
|
11
|
+
|
|
12
|
+
New features:
|
|
13
|
+
|
|
14
|
+
- The buffer operation can now be single-sides (#806, #727).
|
|
15
|
+
|
|
16
|
+
Bug fixes:
|
|
17
|
+
|
|
18
|
+
- Add /usr/local/lib to the list of directories to be searched for the GEOS
|
|
19
|
+
shared library (#795).
|
|
20
|
+
- ops.substring now returns a line with coords in end-to-front order when given
|
|
21
|
+
a start position that is greater than the end position (#628).
|
|
22
|
+
- Implement ``__bool__()`` for geometry base classes so that ``bool(geom)``
|
|
23
|
+
returns the logical complement of ``geom.is_empty`` (#754).
|
|
24
|
+
- Remove assertion on the number of version-like strings found in the GEOS
|
|
25
|
+
version string. It could be 2 or 3.
|
|
26
|
+
|
|
4
27
|
1.7a2 (2019-06-21)
|
|
5
28
|
------------------
|
|
6
29
|
|
|
@@ -6,12 +6,12 @@ Shapely is written by:
|
|
|
6
6
|
* Sean Gillies <sean.gillies@gmail.com>
|
|
7
7
|
* Oliver Tonnhofer <olt@bogosoft.com>
|
|
8
8
|
* Joshua Arnott <josh@snorfalorpagus.net>
|
|
9
|
-
* Mike
|
|
9
|
+
* Mike Taves <mwtoews@gmail.com>
|
|
10
10
|
* Jacob Wasserman <jwasserman@gmail.com>
|
|
11
11
|
* Aron Bierbaum <aronbierbaum@gmail.com>
|
|
12
12
|
* Allan Adair <allan@rfspot.com>
|
|
13
13
|
* Johannes Schönberger <jschoenberger@demuc.de>
|
|
14
|
-
*
|
|
14
|
+
* George Ouzounoudis <geothrock@gmail.com>
|
|
15
15
|
* Phil Elson <pelson.pub@gmail.com>
|
|
16
16
|
* Howard Butler <hobu.inc@gmail.com>
|
|
17
17
|
* Kelsey Jordahl <kjordahl@enthought.com>
|
|
@@ -20,7 +20,7 @@ Shapely is written by:
|
|
|
20
20
|
* Gabi Davar <grizzly.nyo@gmail.com>
|
|
21
21
|
* Thibault Deutsch <thibault.deutsch@gmail.com>
|
|
22
22
|
* Dave Collins <dave@hopest.net>
|
|
23
|
-
*
|
|
23
|
+
* Frédéric Junod <frederic.junod@camptocamp.com>
|
|
24
24
|
* Brad Hards <bradh@frogmouth.net>
|
|
25
25
|
* David Baumgold <david@davidbaumgold.com>
|
|
26
26
|
* Henry Walshaw <henry.walshaw@gmail.com>
|
|
@@ -49,10 +49,15 @@ Shapely is written by:
|
|
|
49
49
|
* giumas <gmasetti@ccom.unh.edu>
|
|
50
50
|
* Leandro Lima <leandro@limaesilva.com.br>
|
|
51
51
|
* Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
|
|
52
|
-
*
|
|
52
|
+
* Joel Ostblom <joelostblom@users.noreply.github.com>
|
|
53
53
|
* Marco De Nadai <me@marcodena.it>
|
|
54
54
|
* Johan Euphrosine <proppy@aminche.com>
|
|
55
55
|
* James Gaboardi <jgaboardi@gmail.com>
|
|
56
|
+
* Denis Rykov <rykovd@gmail.com>
|
|
57
|
+
* Zachary Ware <zachary.ware@gmail.com>
|
|
58
|
+
* Pierre PACI <villerupt@gmail.com>
|
|
59
|
+
* Hugo van Kemenade (@hugovk)
|
|
60
|
+
* Juan Luis Cano Rodríguez <juanlu@satellogic.com>
|
|
56
61
|
|
|
57
62
|
See also: https://github.com/Toblerity/Shapely/graphs/contributors.
|
|
58
63
|
|
|
@@ -63,6 +68,6 @@ Additional help from:
|
|
|
63
68
|
* Sandro Santilli, Mateusz Loskot, Paul Ramsey, et al (GEOS Project)
|
|
64
69
|
|
|
65
70
|
Major portions of this work were supported by a grant (for Pleiades_) from the
|
|
66
|
-
U.S. National Endowment for the Humanities (
|
|
71
|
+
U.S. National Endowment for the Humanities (https://www.neh.gov).
|
|
67
72
|
|
|
68
|
-
.. _Pleiades:
|
|
73
|
+
.. _Pleiades: https://pleiades.stoa.org
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.7b1
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -26,7 +26,7 @@ Description: =======
|
|
|
26
26
|
|
|
27
27
|
Shapely is a BSD-licensed Python package for manipulation and analysis of
|
|
28
28
|
planar geometric objects. It is based on the widely deployed `GEOS
|
|
29
|
-
<
|
|
29
|
+
<https://trac.osgeo.org/geos/>`__ (the engine of `PostGIS
|
|
30
30
|
<http://postgis.org>`__) and `JTS
|
|
31
31
|
<https://locationtech.github.io/jts/>`__ (from which GEOS is ported)
|
|
32
32
|
libraries. Shapely is not concerned with data formats or coordinate systems,
|
|
@@ -53,8 +53,8 @@ Description: =======
|
|
|
53
53
|
-------------------
|
|
54
54
|
|
|
55
55
|
Windows users have two good installation options: the wheels at
|
|
56
|
-
|
|
57
|
-
Anaconda platform's `conda-forge <https://conda-forge.
|
|
56
|
+
https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
|
|
57
|
+
Anaconda platform's `conda-forge <https://conda-forge.org/>`__
|
|
58
58
|
channel.
|
|
59
59
|
|
|
60
60
|
OS X and Linux users can get Shapely wheels with GEOS included from the
|
|
@@ -165,7 +165,7 @@ Description: =======
|
|
|
165
165
|
=======
|
|
166
166
|
|
|
167
167
|
Questions about using Shapely may be asked on the `GIS StackExchange
|
|
168
|
-
<
|
|
168
|
+
<https://gis.stackexchange.com/questions/tagged/shapely>`__ using the "shapely"
|
|
169
169
|
tag.
|
|
170
170
|
|
|
171
171
|
Bugs may be reported at https://github.com/Toblerity/Shapely/issues.
|
|
@@ -179,12 +179,12 @@ Description: =======
|
|
|
179
179
|
* Sean Gillies <sean.gillies@gmail.com>
|
|
180
180
|
* Oliver Tonnhofer <olt@bogosoft.com>
|
|
181
181
|
* Joshua Arnott <josh@snorfalorpagus.net>
|
|
182
|
-
* Mike
|
|
182
|
+
* Mike Taves <mwtoews@gmail.com>
|
|
183
183
|
* Jacob Wasserman <jwasserman@gmail.com>
|
|
184
184
|
* Aron Bierbaum <aronbierbaum@gmail.com>
|
|
185
185
|
* Allan Adair <allan@rfspot.com>
|
|
186
186
|
* Johannes Schönberger <jschoenberger@demuc.de>
|
|
187
|
-
*
|
|
187
|
+
* George Ouzounoudis <geothrock@gmail.com>
|
|
188
188
|
* Phil Elson <pelson.pub@gmail.com>
|
|
189
189
|
* Howard Butler <hobu.inc@gmail.com>
|
|
190
190
|
* Kelsey Jordahl <kjordahl@enthought.com>
|
|
@@ -193,7 +193,7 @@ Description: =======
|
|
|
193
193
|
* Gabi Davar <grizzly.nyo@gmail.com>
|
|
194
194
|
* Thibault Deutsch <thibault.deutsch@gmail.com>
|
|
195
195
|
* Dave Collins <dave@hopest.net>
|
|
196
|
-
*
|
|
196
|
+
* Frédéric Junod <frederic.junod@camptocamp.com>
|
|
197
197
|
* Brad Hards <bradh@frogmouth.net>
|
|
198
198
|
* David Baumgold <david@davidbaumgold.com>
|
|
199
199
|
* Henry Walshaw <henry.walshaw@gmail.com>
|
|
@@ -222,10 +222,15 @@ Description: =======
|
|
|
222
222
|
* giumas <gmasetti@ccom.unh.edu>
|
|
223
223
|
* Leandro Lima <leandro@limaesilva.com.br>
|
|
224
224
|
* Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
|
|
225
|
-
*
|
|
225
|
+
* Joel Ostblom <joelostblom@users.noreply.github.com>
|
|
226
226
|
* Marco De Nadai <me@marcodena.it>
|
|
227
227
|
* Johan Euphrosine <proppy@aminche.com>
|
|
228
228
|
* James Gaboardi <jgaboardi@gmail.com>
|
|
229
|
+
* Denis Rykov <rykovd@gmail.com>
|
|
230
|
+
* Zachary Ware <zachary.ware@gmail.com>
|
|
231
|
+
* Pierre PACI <villerupt@gmail.com>
|
|
232
|
+
* Hugo van Kemenade (@hugovk)
|
|
233
|
+
* Juan Luis Cano Rodríguez <juanlu@satellogic.com>
|
|
229
234
|
|
|
230
235
|
See also: https://github.com/Toblerity/Shapely/graphs/contributors.
|
|
231
236
|
|
|
@@ -236,14 +241,37 @@ Description: =======
|
|
|
236
241
|
* Sandro Santilli, Mateusz Loskot, Paul Ramsey, et al (GEOS Project)
|
|
237
242
|
|
|
238
243
|
Major portions of this work were supported by a grant (for Pleiades_) from the
|
|
239
|
-
U.S. National Endowment for the Humanities (
|
|
244
|
+
U.S. National Endowment for the Humanities (https://www.neh.gov).
|
|
240
245
|
|
|
241
|
-
.. _Pleiades:
|
|
246
|
+
.. _Pleiades: https://pleiades.stoa.org
|
|
242
247
|
|
|
243
248
|
|
|
244
249
|
Changes
|
|
245
250
|
=======
|
|
246
251
|
|
|
252
|
+
1.7b1 (2019-01-13)
|
|
253
|
+
------------------
|
|
254
|
+
|
|
255
|
+
First beta release.
|
|
256
|
+
|
|
257
|
+
1.7a3 (2019-12-31)
|
|
258
|
+
------------------
|
|
259
|
+
|
|
260
|
+
New features:
|
|
261
|
+
|
|
262
|
+
- The buffer operation can now be single-sides (#806, #727).
|
|
263
|
+
|
|
264
|
+
Bug fixes:
|
|
265
|
+
|
|
266
|
+
- Add /usr/local/lib to the list of directories to be searched for the GEOS
|
|
267
|
+
shared library (#795).
|
|
268
|
+
- ops.substring now returns a line with coords in end-to-front order when given
|
|
269
|
+
a start position that is greater than the end position (#628).
|
|
270
|
+
- Implement ``__bool__()`` for geometry base classes so that ``bool(geom)``
|
|
271
|
+
returns the logical complement of ``geom.is_empty`` (#754).
|
|
272
|
+
- Remove assertion on the number of version-like strings found in the GEOS
|
|
273
|
+
version string. It could be 2 or 3.
|
|
274
|
+
|
|
247
275
|
1.7a2 (2019-06-21)
|
|
248
276
|
------------------
|
|
249
277
|
|
|
@@ -918,12 +946,13 @@ Classifier: Operating System :: OS Independent
|
|
|
918
946
|
Classifier: Programming Language :: Python :: 2
|
|
919
947
|
Classifier: Programming Language :: Python :: 2.7
|
|
920
948
|
Classifier: Programming Language :: Python :: 3
|
|
921
|
-
Classifier: Programming Language :: Python :: 3.4
|
|
922
949
|
Classifier: Programming Language :: Python :: 3.5
|
|
923
950
|
Classifier: Programming Language :: Python :: 3.6
|
|
951
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
952
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
924
953
|
Classifier: Topic :: Scientific/Engineering :: GIS
|
|
925
954
|
Requires: Python (>=2.6)
|
|
926
955
|
Requires: libgeos_c (>=3.3)
|
|
927
|
-
Provides-Extra: test
|
|
928
956
|
Provides-Extra: vectorized
|
|
957
|
+
Provides-Extra: test
|
|
929
958
|
Provides-Extra: all
|
|
@@ -16,7 +16,7 @@ Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
|
16
16
|
|
|
17
17
|
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
|
+
<https://trac.osgeo.org/geos/>`__ (the engine of `PostGIS
|
|
20
20
|
<http://postgis.org>`__) and `JTS
|
|
21
21
|
<https://locationtech.github.io/jts/>`__ (from which GEOS is ported)
|
|
22
22
|
libraries. Shapely is not concerned with data formats or coordinate systems,
|
|
@@ -43,8 +43,8 @@ Built distributions
|
|
|
43
43
|
-------------------
|
|
44
44
|
|
|
45
45
|
Windows users have two good installation options: the wheels at
|
|
46
|
-
|
|
47
|
-
Anaconda platform's `conda-forge <https://conda-forge.
|
|
46
|
+
https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
|
|
47
|
+
Anaconda platform's `conda-forge <https://conda-forge.org/>`__
|
|
48
48
|
channel.
|
|
49
49
|
|
|
50
50
|
OS X and Linux users can get Shapely wheels with GEOS included from the
|
|
@@ -155,7 +155,7 @@ Support
|
|
|
155
155
|
=======
|
|
156
156
|
|
|
157
157
|
Questions about using Shapely may be asked on the `GIS StackExchange
|
|
158
|
-
<
|
|
158
|
+
<https://gis.stackexchange.com/questions/tagged/shapely>`__ using the "shapely"
|
|
159
159
|
tag.
|
|
160
160
|
|
|
161
161
|
Bugs may be reported at https://github.com/Toblerity/Shapely/issues.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.7b1
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -26,7 +26,7 @@ Description: =======
|
|
|
26
26
|
|
|
27
27
|
Shapely is a BSD-licensed Python package for manipulation and analysis of
|
|
28
28
|
planar geometric objects. It is based on the widely deployed `GEOS
|
|
29
|
-
<
|
|
29
|
+
<https://trac.osgeo.org/geos/>`__ (the engine of `PostGIS
|
|
30
30
|
<http://postgis.org>`__) and `JTS
|
|
31
31
|
<https://locationtech.github.io/jts/>`__ (from which GEOS is ported)
|
|
32
32
|
libraries. Shapely is not concerned with data formats or coordinate systems,
|
|
@@ -53,8 +53,8 @@ Description: =======
|
|
|
53
53
|
-------------------
|
|
54
54
|
|
|
55
55
|
Windows users have two good installation options: the wheels at
|
|
56
|
-
|
|
57
|
-
Anaconda platform's `conda-forge <https://conda-forge.
|
|
56
|
+
https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
|
|
57
|
+
Anaconda platform's `conda-forge <https://conda-forge.org/>`__
|
|
58
58
|
channel.
|
|
59
59
|
|
|
60
60
|
OS X and Linux users can get Shapely wheels with GEOS included from the
|
|
@@ -165,7 +165,7 @@ Description: =======
|
|
|
165
165
|
=======
|
|
166
166
|
|
|
167
167
|
Questions about using Shapely may be asked on the `GIS StackExchange
|
|
168
|
-
<
|
|
168
|
+
<https://gis.stackexchange.com/questions/tagged/shapely>`__ using the "shapely"
|
|
169
169
|
tag.
|
|
170
170
|
|
|
171
171
|
Bugs may be reported at https://github.com/Toblerity/Shapely/issues.
|
|
@@ -179,12 +179,12 @@ Description: =======
|
|
|
179
179
|
* Sean Gillies <sean.gillies@gmail.com>
|
|
180
180
|
* Oliver Tonnhofer <olt@bogosoft.com>
|
|
181
181
|
* Joshua Arnott <josh@snorfalorpagus.net>
|
|
182
|
-
* Mike
|
|
182
|
+
* Mike Taves <mwtoews@gmail.com>
|
|
183
183
|
* Jacob Wasserman <jwasserman@gmail.com>
|
|
184
184
|
* Aron Bierbaum <aronbierbaum@gmail.com>
|
|
185
185
|
* Allan Adair <allan@rfspot.com>
|
|
186
186
|
* Johannes Schönberger <jschoenberger@demuc.de>
|
|
187
|
-
*
|
|
187
|
+
* George Ouzounoudis <geothrock@gmail.com>
|
|
188
188
|
* Phil Elson <pelson.pub@gmail.com>
|
|
189
189
|
* Howard Butler <hobu.inc@gmail.com>
|
|
190
190
|
* Kelsey Jordahl <kjordahl@enthought.com>
|
|
@@ -193,7 +193,7 @@ Description: =======
|
|
|
193
193
|
* Gabi Davar <grizzly.nyo@gmail.com>
|
|
194
194
|
* Thibault Deutsch <thibault.deutsch@gmail.com>
|
|
195
195
|
* Dave Collins <dave@hopest.net>
|
|
196
|
-
*
|
|
196
|
+
* Frédéric Junod <frederic.junod@camptocamp.com>
|
|
197
197
|
* Brad Hards <bradh@frogmouth.net>
|
|
198
198
|
* David Baumgold <david@davidbaumgold.com>
|
|
199
199
|
* Henry Walshaw <henry.walshaw@gmail.com>
|
|
@@ -222,10 +222,15 @@ Description: =======
|
|
|
222
222
|
* giumas <gmasetti@ccom.unh.edu>
|
|
223
223
|
* Leandro Lima <leandro@limaesilva.com.br>
|
|
224
224
|
* Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
|
|
225
|
-
*
|
|
225
|
+
* Joel Ostblom <joelostblom@users.noreply.github.com>
|
|
226
226
|
* Marco De Nadai <me@marcodena.it>
|
|
227
227
|
* Johan Euphrosine <proppy@aminche.com>
|
|
228
228
|
* James Gaboardi <jgaboardi@gmail.com>
|
|
229
|
+
* Denis Rykov <rykovd@gmail.com>
|
|
230
|
+
* Zachary Ware <zachary.ware@gmail.com>
|
|
231
|
+
* Pierre PACI <villerupt@gmail.com>
|
|
232
|
+
* Hugo van Kemenade (@hugovk)
|
|
233
|
+
* Juan Luis Cano Rodríguez <juanlu@satellogic.com>
|
|
229
234
|
|
|
230
235
|
See also: https://github.com/Toblerity/Shapely/graphs/contributors.
|
|
231
236
|
|
|
@@ -236,14 +241,37 @@ Description: =======
|
|
|
236
241
|
* Sandro Santilli, Mateusz Loskot, Paul Ramsey, et al (GEOS Project)
|
|
237
242
|
|
|
238
243
|
Major portions of this work were supported by a grant (for Pleiades_) from the
|
|
239
|
-
U.S. National Endowment for the Humanities (
|
|
244
|
+
U.S. National Endowment for the Humanities (https://www.neh.gov).
|
|
240
245
|
|
|
241
|
-
.. _Pleiades:
|
|
246
|
+
.. _Pleiades: https://pleiades.stoa.org
|
|
242
247
|
|
|
243
248
|
|
|
244
249
|
Changes
|
|
245
250
|
=======
|
|
246
251
|
|
|
252
|
+
1.7b1 (2019-01-13)
|
|
253
|
+
------------------
|
|
254
|
+
|
|
255
|
+
First beta release.
|
|
256
|
+
|
|
257
|
+
1.7a3 (2019-12-31)
|
|
258
|
+
------------------
|
|
259
|
+
|
|
260
|
+
New features:
|
|
261
|
+
|
|
262
|
+
- The buffer operation can now be single-sides (#806, #727).
|
|
263
|
+
|
|
264
|
+
Bug fixes:
|
|
265
|
+
|
|
266
|
+
- Add /usr/local/lib to the list of directories to be searched for the GEOS
|
|
267
|
+
shared library (#795).
|
|
268
|
+
- ops.substring now returns a line with coords in end-to-front order when given
|
|
269
|
+
a start position that is greater than the end position (#628).
|
|
270
|
+
- Implement ``__bool__()`` for geometry base classes so that ``bool(geom)``
|
|
271
|
+
returns the logical complement of ``geom.is_empty`` (#754).
|
|
272
|
+
- Remove assertion on the number of version-like strings found in the GEOS
|
|
273
|
+
version string. It could be 2 or 3.
|
|
274
|
+
|
|
247
275
|
1.7a2 (2019-06-21)
|
|
248
276
|
------------------
|
|
249
277
|
|
|
@@ -918,12 +946,13 @@ Classifier: Operating System :: OS Independent
|
|
|
918
946
|
Classifier: Programming Language :: Python :: 2
|
|
919
947
|
Classifier: Programming Language :: Python :: 2.7
|
|
920
948
|
Classifier: Programming Language :: Python :: 3
|
|
921
|
-
Classifier: Programming Language :: Python :: 3.4
|
|
922
949
|
Classifier: Programming Language :: Python :: 3.5
|
|
923
950
|
Classifier: Programming Language :: Python :: 3.6
|
|
951
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
952
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
924
953
|
Classifier: Topic :: Scientific/Engineering :: GIS
|
|
925
954
|
Requires: Python (>=2.6)
|
|
926
955
|
Requires: libgeos_c (>=3.3)
|
|
927
|
-
Provides-Extra: test
|
|
928
956
|
Provides-Extra: vectorized
|
|
957
|
+
Provides-Extra: test
|
|
929
958
|
Provides-Extra: all
|
|
@@ -72,6 +72,7 @@ tests/binascii_hex.txt
|
|
|
72
72
|
tests/conftest.py
|
|
73
73
|
tests/test_affinity.py
|
|
74
74
|
tests/test_box.py
|
|
75
|
+
tests/test_buffer.py
|
|
75
76
|
tests/test_cga.py
|
|
76
77
|
tests/test_clip_by_rect.py
|
|
77
78
|
tests/test_collection.py
|
|
@@ -85,6 +86,7 @@ tests/test_emptiness.py
|
|
|
85
86
|
tests/test_empty_polygons.py
|
|
86
87
|
tests/test_equality.py
|
|
87
88
|
tests/test_geointerface.py
|
|
89
|
+
tests/test_geometry_base.py
|
|
88
90
|
tests/test_geomseq.py
|
|
89
91
|
tests/test_geos_err_handler.py
|
|
90
92
|
tests/test_getitem.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.7b1
|
|
@@ -118,7 +118,7 @@ Relationships
|
|
|
118
118
|
The spatial data model is accompanied by a group of natural language
|
|
119
119
|
relationships between geometric objects – `contains`, `intersects`, `overlaps`,
|
|
120
120
|
`touches`, etc. – and a theoretical framework for understanding them using the
|
|
121
|
-
3x3 matrix of the mutual intersections of their component point sets [
|
|
121
|
+
3x3 matrix of the mutual intersections of their component point sets [3]_: the
|
|
122
122
|
DE-9IM. A comprehensive review of the relationships in terms of the DE-9IM is
|
|
123
123
|
found in [4]_ and will not be reiterated in this manual.
|
|
124
124
|
|
|
@@ -207,8 +207,8 @@ General Attributes and Methods
|
|
|
207
207
|
|
|
208
208
|
.. code-block:: pycon
|
|
209
209
|
|
|
210
|
-
>>>
|
|
211
|
-
Point
|
|
210
|
+
>>> Point(0, 0).geom_type
|
|
211
|
+
'Point'
|
|
212
212
|
|
|
213
213
|
.. method:: object.distance(other)
|
|
214
214
|
|
|
@@ -1988,13 +1988,22 @@ for `func`.
|
|
|
1988
1988
|
from functools import partial
|
|
1989
1989
|
import pyproj
|
|
1990
1990
|
|
|
1991
|
+
proj_in = pyproj.Proj(init='epsg:4326')
|
|
1992
|
+
proj_out = pyproj.Proj(init='epsg:26913')
|
|
1993
|
+
|
|
1991
1994
|
project = partial(
|
|
1992
1995
|
pyproj.transform,
|
|
1993
|
-
|
|
1994
|
-
|
|
1996
|
+
proj_in,
|
|
1997
|
+
proj_out)
|
|
1995
1998
|
|
|
1996
1999
|
g2 = transform(project, g1)
|
|
1997
2000
|
|
|
2001
|
+
If using `pyproj>=2.1.0` a more performant method would be
|
|
2002
|
+
|
|
2003
|
+
.. code-block:: python
|
|
2004
|
+
|
|
2005
|
+
project = pyproj.Transformer.from_proj(proj_in, proj_out).transform
|
|
2006
|
+
|
|
1998
2007
|
Lambda expressions such as the one in
|
|
1999
2008
|
|
|
2000
2009
|
.. code-block:: python
|
|
@@ -2371,6 +2380,29 @@ accessible via :attr:`shapely.__version__`,
|
|
|
2371
2380
|
>>> shapely.geos.geos_version_string
|
|
2372
2381
|
'3.3.0-CAPI-1.7.0'
|
|
2373
2382
|
|
|
2383
|
+
Polylabel
|
|
2384
|
+
---------
|
|
2385
|
+
|
|
2386
|
+
.. function:: shapely.ops.polylabel(polygon, tolerance)
|
|
2387
|
+
|
|
2388
|
+
Finds the approximate location of the pole of inaccessibility for a given
|
|
2389
|
+
polygon. Based on Vladimir Agafonkin's polylabel_.
|
|
2390
|
+
|
|
2391
|
+
`New in version 1.6.0`
|
|
2392
|
+
|
|
2393
|
+
.. note::
|
|
2394
|
+
|
|
2395
|
+
Prior to 1.7 `polylabel` must be imported from `shapely.algorithms.polylabel`
|
|
2396
|
+
instead of `shapely.ops`.
|
|
2397
|
+
|
|
2398
|
+
.. code-block:: pycon
|
|
2399
|
+
|
|
2400
|
+
>>> from shapely.ops import polylabel
|
|
2401
|
+
>>> polygon = LineString([(0, 0), (50, 200), (100, 100), (20, 50),
|
|
2402
|
+
... (-100, -20), (-150, -200)]).buffer(100)
|
|
2403
|
+
>>> label = polylabel(polygon, tolerance=10)
|
|
2404
|
+
>>> label.wkt
|
|
2405
|
+
'POINT (59.35615556364569 121.8391962974644)'
|
|
2374
2406
|
|
|
2375
2407
|
STR-packed R-tree
|
|
2376
2408
|
=================
|
|
@@ -2447,8 +2479,8 @@ appropriate type, use ``loads()``.
|
|
|
2447
2479
|
|
|
2448
2480
|
>> from shapely.wkb import dumps, loads
|
|
2449
2481
|
>>> wkb = dumps(Point(0, 0))
|
|
2450
|
-
>>>
|
|
2451
|
-
010100000000000000000000000000000000000000
|
|
2482
|
+
>>> wkb.encode('hex')
|
|
2483
|
+
'010100000000000000000000000000000000000000'
|
|
2452
2484
|
>>> loads(wkb).wkt
|
|
2453
2485
|
'POINT (0.0000000000000000 0.0000000000000000)'
|
|
2454
2486
|
|
|
@@ -2466,10 +2498,10 @@ All of Shapely's geometry types are supported by these functions.
|
|
|
2466
2498
|
|
|
2467
2499
|
>> from shapely.wkt import dumps, loads
|
|
2468
2500
|
>> wkt = dumps(Point(0, 0))
|
|
2469
|
-
>>>
|
|
2470
|
-
POINT (0.0000000000000000 0.0000000000000000)
|
|
2471
|
-
>>> loads(wkt).wkt
|
|
2501
|
+
>>> wkt
|
|
2472
2502
|
'POINT (0.0000000000000000 0.0000000000000000)'
|
|
2503
|
+
>>> loads(wkt).wkt
|
|
2504
|
+
'POINT (0 0)'
|
|
2473
2505
|
|
|
2474
2506
|
Numpy and Python Arrays
|
|
2475
2507
|
-----------------------
|
|
@@ -2680,12 +2712,8 @@ References
|
|
|
2680
2712
|
|
|
2681
2713
|
.. _GEOS: https://trac.osgeo.org/geos/
|
|
2682
2714
|
.. _Java Topology Suite: https://projects.eclipse.org/projects/locationtech.jts
|
|
2683
|
-
.. _JTS: https://projects.eclipse.org/projects/locationtech.jts
|
|
2684
2715
|
.. _PostGIS: http://postgis.refractions.net
|
|
2685
|
-
..
|
|
2686
|
-
.. _Open Geospatial Consortium: http://www.opengeospatial.org/
|
|
2687
|
-
.. _Davis: https://lin-ear-th-inking.blogspot.com/2007/06/subtleties-of-ogc-covers-spatial.html
|
|
2688
|
-
.. _Understanding spatial relations: http://edndoc.esri.com/arcsde/9.1/general_topics/understand_spatial_relations.htm
|
|
2716
|
+
.. _Open Geospatial Consortium: https://www.opengeospatial.org/
|
|
2689
2717
|
.. _Strobl-PDF: https://giswiki.hsr.ch/images/3/3d/9dem_springer.pdf
|
|
2690
2718
|
.. |Strobl-PDF| replace:: PDF
|
|
2691
2719
|
.. _JTS-PDF: https://github.com/locationtech/jts/raw/master/doc/JTS%20Technical%20Specs.pdf
|
|
@@ -2693,3 +2721,4 @@ References
|
|
|
2693
2721
|
.. _frozenset: https://docs.python.org/library/stdtypes.html#frozenset
|
|
2694
2722
|
.. _Sorting HowTo: https://wiki.python.org/moin/HowTo/Sorting/
|
|
2695
2723
|
.. _Python geo interface: https://gist.github.com/2217756
|
|
2724
|
+
.. _polylabel: https://github.com/mapbox/polylabel
|
|
@@ -158,7 +158,7 @@ if geos_config and not os.environ.get('NO_GEOS_CHECK') or sys.platform == 'win32
|
|
|
158
158
|
"Install GEOS 3.3+ and reinstall Shapely.")
|
|
159
159
|
sys.exit(1)
|
|
160
160
|
except OSError as exc:
|
|
161
|
-
log.
|
|
161
|
+
log.warning(
|
|
162
162
|
"Failed to determine system's GEOS version: %s. "
|
|
163
163
|
"Installation continuing. GEOS version will be "
|
|
164
164
|
"checked on import of shapely.", exc)
|
|
@@ -220,9 +220,10 @@ setup_args = dict(
|
|
|
220
220
|
'Programming Language :: Python :: 2',
|
|
221
221
|
'Programming Language :: Python :: 2.7',
|
|
222
222
|
'Programming Language :: Python :: 3',
|
|
223
|
-
'Programming Language :: Python :: 3.4',
|
|
224
223
|
'Programming Language :: Python :: 3.5',
|
|
225
224
|
'Programming Language :: Python :: 3.6',
|
|
225
|
+
'Programming Language :: Python :: 3.7',
|
|
226
|
+
'Programming Language :: Python :: 3.8',
|
|
226
227
|
'Topic :: Scientific/Engineering :: GIS',
|
|
227
228
|
],
|
|
228
229
|
cmdclass = {},
|
|
@@ -315,25 +316,18 @@ if (platform.python_implementation() == 'PyPy'):
|
|
|
315
316
|
ext_modules = []
|
|
316
317
|
libraries = []
|
|
317
318
|
|
|
318
|
-
if os.path.exists("MANIFEST.in"):
|
|
319
|
-
pyx_file = "shapely/speedups/_speedups.pyx"
|
|
320
|
-
c_file = "shapely/speedups/_speedups.c"
|
|
321
319
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
force_cython = True
|
|
320
|
+
pyx_file = "shapely/speedups/_speedups.pyx"
|
|
321
|
+
c_file = "shapely/speedups/_speedups.c"
|
|
325
322
|
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
raise
|
|
335
|
-
if not os.path.exists(c_file):
|
|
336
|
-
log.warn("speedup extension not found")
|
|
323
|
+
force_cython = False
|
|
324
|
+
# Always regenerate for sdist or absent c file
|
|
325
|
+
if 'sdist' in sys.argv or not os.path.exists(c_file):
|
|
326
|
+
force_cython = True
|
|
327
|
+
# Also regenerate if pyx_file is outdated.
|
|
328
|
+
elif os.path.exists(c_file):
|
|
329
|
+
if os.path.getmtime(pyx_file) > os.path.getmtime(c_file):
|
|
330
|
+
force_cython = True
|
|
337
331
|
|
|
338
332
|
ext_modules = [
|
|
339
333
|
Extension("shapely.speedups._speedups", ["shapely/speedups/_speedups.c"],
|
|
@@ -366,6 +360,19 @@ try:
|
|
|
366
360
|
except ImportError:
|
|
367
361
|
log.info("Numpy or Cython not available, shapely.vectorized submodule "
|
|
368
362
|
"not being built.")
|
|
363
|
+
force_cython = False
|
|
364
|
+
|
|
365
|
+
try:
|
|
366
|
+
if force_cython:
|
|
367
|
+
log.info("Updating C extension with Cython.")
|
|
368
|
+
subprocess.check_call(["cython", "shapely/speedups/_speedups.pyx"])
|
|
369
|
+
except (subprocess.CalledProcessError, OSError):
|
|
370
|
+
log.warning("Could not (re)create C extension with Cython.")
|
|
371
|
+
if force_cython:
|
|
372
|
+
raise
|
|
373
|
+
|
|
374
|
+
if not os.path.exists(c_file):
|
|
375
|
+
log.warning("speedup extension not found")
|
|
369
376
|
|
|
370
377
|
try:
|
|
371
378
|
# try building with speedups
|
|
@@ -377,10 +384,10 @@ try:
|
|
|
377
384
|
except BuildFailed as ex:
|
|
378
385
|
BUILD_EXT_WARNING = "The C extension could not be compiled, " \
|
|
379
386
|
"speedups are not enabled."
|
|
380
|
-
log.
|
|
381
|
-
log.
|
|
382
|
-
log.
|
|
383
|
-
log.
|
|
387
|
+
log.warning(ex)
|
|
388
|
+
log.warning(BUILD_EXT_WARNING)
|
|
389
|
+
log.warning("Failure information, if any, is above.")
|
|
390
|
+
log.warning("I'm retrying the build without the C extension now.")
|
|
384
391
|
|
|
385
392
|
# Remove any previously defined build_ext command class.
|
|
386
393
|
if 'build_ext' in setup_args['cmdclass']:
|
|
@@ -391,5 +398,5 @@ except BuildFailed as ex:
|
|
|
391
398
|
|
|
392
399
|
setup(**setup_args)
|
|
393
400
|
|
|
394
|
-
log.
|
|
401
|
+
log.warning(BUILD_EXT_WARNING)
|
|
395
402
|
log.info("Plain-Python installation succeeded.")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.7b1"
|