shapely 1.6b2__tar.gz → 1.6b3__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.6b2 → Shapely-1.6b3}/CHANGES.txt +9 -0
- {Shapely-1.6b2/Shapely.egg-info → Shapely-1.6b3}/PKG-INFO +10 -1
- {Shapely-1.6b2 → Shapely-1.6b3/Shapely.egg-info}/PKG-INFO +10 -1
- Shapely-1.6b3/VERSION.txt +1 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/setup.cfg +1 -1
- Shapely-1.6b3/shapely/__init__.py +1 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geos.py +14 -24
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/speedups/__init__.py +14 -7
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/speedups/_speedups.c +1254 -995
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/speedups/_speedups.pyx +14 -2
- Shapely-1.6b3/tests/test_geos_err_handler.py +65 -0
- Shapely-1.6b2/VERSION.txt +0 -1
- Shapely-1.6b2/shapely/__init__.py +0 -1
- Shapely-1.6b2/tests/test_geos_err_handler.py +0 -33
- {Shapely-1.6b2 → Shapely-1.6b3}/CREDITS.txt +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/LICENSE.txt +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/README.rst +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/Shapely.egg-info/SOURCES.txt +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/Shapely.egg-info/dependency_links.txt +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/Shapely.egg-info/requires.txt +1 -1
- {Shapely-1.6b2 → Shapely-1.6b3}/Shapely.egg-info/top_level.txt +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/docs/design.rst +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/docs/index.rst +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/docs/manual.rst +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/docs/project.rst +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging/__about__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging/__init__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging/_compat.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging/_structures.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging/markers.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging/requirements.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging/specifiers.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging/utils.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging/version.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/DESCRIPTION.rst +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/METADATA +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/RECORD +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/WHEEL +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/metadata.json +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/pbr.json +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/top_level.txt +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/setup.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/_buildcfg.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/_geos.pxi +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/affinity.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/algorithms/__init__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/algorithms/cga.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/algorithms/polylabel.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/coords.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/ctypes_declarations.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/errors.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/examples/__init__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/examples/dissolve.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/examples/geoms.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/examples/intersect.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/ftools.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/__init__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/base.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/collection.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/geo.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/linestring.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/multilinestring.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/multipoint.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/multipolygon.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/point.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/polygon.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/proxy.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/impl.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/iterops.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/linref.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/ops.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/predicates.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/prepared.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/strtree.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/topology.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/validation.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/vectorized/__init__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/vectorized/_vectorized.pyx +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/wkb.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/shapely/wkt.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/__init__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/binascii_hex.txt +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/conftest.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_affinity.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_box.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_cga.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_collection.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_coords.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_default_impl.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_delaunay.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_delegated.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_dlls.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_doctests.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_emptiness.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_empty_polygons.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_equality.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_geointerface.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_geomseq.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_getitem.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_hash.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_invalid_geometries.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_iterops.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_linear_referencing.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_linemerge.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_linestring.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_locale.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_mapping.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_minimum_rotated_rectangle.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_multi.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_multilinestring.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_multipoint.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_multipolygon.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_ndarrays.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_nearest.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_operations.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_operators.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_parallel_offset.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_persist.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_pickle.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_point.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_polygon.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_polygonize.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_polylabel.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_predicates.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_prepared.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_products_z.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_shared_paths.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_singularity.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_snap.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_split.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_strtree.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_styles.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_svg.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_transform.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_union.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_validation.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_vectorized.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_wkt.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_xy.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b3}/tests/threading_test.py +0 -0
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
Changes
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
+
1.6b3 (2016-12-31)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
Bug fixes:
|
|
8
|
+
|
|
9
|
+
- Level for log messages originating from the GEOS notice handler reduced from
|
|
10
|
+
WARNING to INFO (#447).
|
|
11
|
+
- Permit speedups to be imported again without Numpy (#444).
|
|
12
|
+
|
|
4
13
|
1.6b2 (2016-12-12)
|
|
5
14
|
------------------
|
|
6
15
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6b3
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -239,6 +239,15 @@ Description: =======
|
|
|
239
239
|
Changes
|
|
240
240
|
=======
|
|
241
241
|
|
|
242
|
+
1.6b3 (2016-12-31)
|
|
243
|
+
------------------
|
|
244
|
+
|
|
245
|
+
Bug fixes:
|
|
246
|
+
|
|
247
|
+
- Level for log messages originating from the GEOS notice handler reduced from
|
|
248
|
+
WARNING to INFO (#447).
|
|
249
|
+
- Permit speedups to be imported again without Numpy (#444).
|
|
250
|
+
|
|
242
251
|
1.6b2 (2016-12-12)
|
|
243
252
|
------------------
|
|
244
253
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6b3
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -239,6 +239,15 @@ Description: =======
|
|
|
239
239
|
Changes
|
|
240
240
|
=======
|
|
241
241
|
|
|
242
|
+
1.6b3 (2016-12-31)
|
|
243
|
+
------------------
|
|
244
|
+
|
|
245
|
+
Bug fixes:
|
|
246
|
+
|
|
247
|
+
- Level for log messages originating from the GEOS notice handler reduced from
|
|
248
|
+
WARNING to INFO (#447).
|
|
249
|
+
- Permit speedups to be imported again without Numpy (#444).
|
|
250
|
+
|
|
242
251
|
1.6b2 (2016-12-12)
|
|
243
252
|
------------------
|
|
244
253
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.6b3
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.6b3"
|
|
@@ -203,35 +203,25 @@ if geos_version >= (3, 1, 0):
|
|
|
203
203
|
_lgeos.finishGEOS_r.argtypes = [c_void_p]
|
|
204
204
|
|
|
205
205
|
|
|
206
|
-
def
|
|
207
|
-
"""Error handler
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
called from Python and GEOS expects its error handler to accept any
|
|
211
|
-
number of arguments (like printf), I'm unable to get ctypes to make
|
|
212
|
-
a callback object from this function that will accept any number of
|
|
213
|
-
arguments.
|
|
214
|
-
|
|
215
|
-
At the moment, functions in the GEOS C API only pass 0 or
|
|
216
|
-
1 arguments to the error handler. We can deal with this, but when if
|
|
217
|
-
that changes, Shapely may break.
|
|
206
|
+
def make_logging_callback(func):
|
|
207
|
+
"""Error or notice handler callback producr
|
|
208
|
+
|
|
209
|
+
Wraps a logger method, func, as a GEOS callback.
|
|
218
210
|
"""
|
|
219
|
-
def callback(fmt, *
|
|
211
|
+
def callback(fmt, *fmt_args):
|
|
220
212
|
fmt = fmt.decode('ascii')
|
|
221
213
|
conversions = re.findall(r'%.', fmt)
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
return
|
|
230
|
-
getattr(LOG, level)(fmt, *log_vals)
|
|
214
|
+
args = [
|
|
215
|
+
string_at(arg).decode('ascii')
|
|
216
|
+
for spec, arg in zip(conversions, fmt_args)
|
|
217
|
+
if spec == '%s' and arg is not None]
|
|
218
|
+
|
|
219
|
+
func(fmt, *args)
|
|
220
|
+
|
|
231
221
|
return callback
|
|
232
222
|
|
|
233
|
-
error_handler =
|
|
234
|
-
notice_handler =
|
|
223
|
+
error_handler = make_logging_callback(LOG.error)
|
|
224
|
+
notice_handler = make_logging_callback(LOG.info)
|
|
235
225
|
|
|
236
226
|
error_h = EXCEPTION_HANDLER_FUNCTYPE(error_handler)
|
|
237
227
|
notice_h = EXCEPTION_HANDLER_FUNCTYPE(notice_handler)
|
|
@@ -4,6 +4,9 @@ from shapely.geometry import linestring, polygon
|
|
|
4
4
|
from shapely import coords
|
|
5
5
|
import shapely.affinity
|
|
6
6
|
|
|
7
|
+
from ..ftools import wraps
|
|
8
|
+
|
|
9
|
+
|
|
7
10
|
try:
|
|
8
11
|
from shapely.speedups import _speedups
|
|
9
12
|
available = True
|
|
@@ -14,7 +17,7 @@ except ImportError:
|
|
|
14
17
|
# TODO: This does not appear to do anything useful
|
|
15
18
|
import_error_msg = sys.exc_info()[1]
|
|
16
19
|
|
|
17
|
-
|
|
20
|
+
|
|
18
21
|
def method_wrapper(f):
|
|
19
22
|
def wrapper(*args, **kwargs):
|
|
20
23
|
return f(*args, **kwargs)
|
|
@@ -26,6 +29,7 @@ _orig = {}
|
|
|
26
29
|
# keep track of whether speedups are enabled
|
|
27
30
|
enabled = False
|
|
28
31
|
|
|
32
|
+
|
|
29
33
|
def enable():
|
|
30
34
|
"""Enable Cython speedups
|
|
31
35
|
|
|
@@ -46,23 +50,25 @@ def enable():
|
|
|
46
50
|
if not available:
|
|
47
51
|
warnings.warn("shapely.speedups not available", RuntimeWarning)
|
|
48
52
|
return
|
|
49
|
-
|
|
53
|
+
|
|
50
54
|
if _orig:
|
|
51
55
|
return
|
|
52
|
-
|
|
56
|
+
|
|
53
57
|
_orig['CoordinateSequence.ctypes'] = coords.CoordinateSequence.ctypes
|
|
54
58
|
coords.CoordinateSequence.ctypes = property(_speedups.coordseq_ctypes)
|
|
55
|
-
|
|
59
|
+
|
|
56
60
|
_orig['CoordinateSequence.__iter__'] = coords.CoordinateSequence.__iter__
|
|
57
|
-
coords.CoordinateSequence.__iter__ = method_wrapper(
|
|
61
|
+
coords.CoordinateSequence.__iter__ = method_wrapper(
|
|
62
|
+
_speedups.coordseq_iter)
|
|
58
63
|
|
|
59
64
|
_orig['geos_linestring_from_py'] = linestring.geos_linestring_from_py
|
|
60
65
|
linestring.geos_linestring_from_py = _speedups.geos_linestring_from_py
|
|
61
66
|
|
|
62
|
-
_orig['geos_linearring_from_py']
|
|
67
|
+
_orig['geos_linearring_from_py'] = polygon.geos_linearring_from_py
|
|
63
68
|
polygon.geos_linearring_from_py = _speedups.geos_linearring_from_py
|
|
64
|
-
|
|
69
|
+
|
|
65
70
|
_orig['affine_transform'] = shapely.affinity.affine_transform
|
|
71
|
+
|
|
66
72
|
# copy docstring from original function
|
|
67
73
|
def affine_transform(geom, matrix):
|
|
68
74
|
return _speedups.affine_transform(geom, matrix)
|
|
@@ -72,6 +78,7 @@ def enable():
|
|
|
72
78
|
global enabled
|
|
73
79
|
enabled = True
|
|
74
80
|
|
|
81
|
+
|
|
75
82
|
def disable():
|
|
76
83
|
"""Disable Cython speedups
|
|
77
84
|
"""
|