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.
Files changed (140) hide show
  1. {Shapely-1.6b2 → Shapely-1.6b3}/CHANGES.txt +9 -0
  2. {Shapely-1.6b2/Shapely.egg-info → Shapely-1.6b3}/PKG-INFO +10 -1
  3. {Shapely-1.6b2 → Shapely-1.6b3/Shapely.egg-info}/PKG-INFO +10 -1
  4. Shapely-1.6b3/VERSION.txt +1 -0
  5. {Shapely-1.6b2 → Shapely-1.6b3}/setup.cfg +1 -1
  6. Shapely-1.6b3/shapely/__init__.py +1 -0
  7. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geos.py +14 -24
  8. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/speedups/__init__.py +14 -7
  9. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/speedups/_speedups.c +1254 -995
  10. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/speedups/_speedups.pyx +14 -2
  11. Shapely-1.6b3/tests/test_geos_err_handler.py +65 -0
  12. Shapely-1.6b2/VERSION.txt +0 -1
  13. Shapely-1.6b2/shapely/__init__.py +0 -1
  14. Shapely-1.6b2/tests/test_geos_err_handler.py +0 -33
  15. {Shapely-1.6b2 → Shapely-1.6b3}/CREDITS.txt +0 -0
  16. {Shapely-1.6b2 → Shapely-1.6b3}/LICENSE.txt +0 -0
  17. {Shapely-1.6b2 → Shapely-1.6b3}/README.rst +0 -0
  18. {Shapely-1.6b2 → Shapely-1.6b3}/Shapely.egg-info/SOURCES.txt +0 -0
  19. {Shapely-1.6b2 → Shapely-1.6b3}/Shapely.egg-info/dependency_links.txt +0 -0
  20. {Shapely-1.6b2 → Shapely-1.6b3}/Shapely.egg-info/requires.txt +1 -1
  21. {Shapely-1.6b2 → Shapely-1.6b3}/Shapely.egg-info/top_level.txt +0 -0
  22. {Shapely-1.6b2 → Shapely-1.6b3}/docs/design.rst +0 -0
  23. {Shapely-1.6b2 → Shapely-1.6b3}/docs/index.rst +0 -0
  24. {Shapely-1.6b2 → Shapely-1.6b3}/docs/manual.rst +0 -0
  25. {Shapely-1.6b2 → Shapely-1.6b3}/docs/project.rst +0 -0
  26. {Shapely-1.6b2 → Shapely-1.6b3}/packaging/__about__.py +0 -0
  27. {Shapely-1.6b2 → Shapely-1.6b3}/packaging/__init__.py +0 -0
  28. {Shapely-1.6b2 → Shapely-1.6b3}/packaging/_compat.py +0 -0
  29. {Shapely-1.6b2 → Shapely-1.6b3}/packaging/_structures.py +0 -0
  30. {Shapely-1.6b2 → Shapely-1.6b3}/packaging/markers.py +0 -0
  31. {Shapely-1.6b2 → Shapely-1.6b3}/packaging/requirements.py +0 -0
  32. {Shapely-1.6b2 → Shapely-1.6b3}/packaging/specifiers.py +0 -0
  33. {Shapely-1.6b2 → Shapely-1.6b3}/packaging/utils.py +0 -0
  34. {Shapely-1.6b2 → Shapely-1.6b3}/packaging/version.py +0 -0
  35. {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/DESCRIPTION.rst +0 -0
  36. {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/METADATA +0 -0
  37. {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/RECORD +0 -0
  38. {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/WHEEL +0 -0
  39. {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/metadata.json +0 -0
  40. {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/pbr.json +0 -0
  41. {Shapely-1.6b2 → Shapely-1.6b3}/packaging-15.3.dist-info/top_level.txt +0 -0
  42. {Shapely-1.6b2 → Shapely-1.6b3}/setup.py +0 -0
  43. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/_buildcfg.py +0 -0
  44. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/_geos.pxi +0 -0
  45. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/affinity.py +0 -0
  46. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/algorithms/__init__.py +0 -0
  47. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/algorithms/cga.py +0 -0
  48. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/algorithms/polylabel.py +0 -0
  49. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/coords.py +0 -0
  50. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/ctypes_declarations.py +0 -0
  51. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/errors.py +0 -0
  52. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/examples/__init__.py +0 -0
  53. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/examples/dissolve.py +0 -0
  54. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/examples/geoms.py +0 -0
  55. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/examples/intersect.py +0 -0
  56. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/ftools.py +0 -0
  57. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/__init__.py +0 -0
  58. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/base.py +0 -0
  59. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/collection.py +0 -0
  60. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/geo.py +0 -0
  61. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/linestring.py +0 -0
  62. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/multilinestring.py +0 -0
  63. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/multipoint.py +0 -0
  64. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/multipolygon.py +0 -0
  65. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/point.py +0 -0
  66. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/polygon.py +0 -0
  67. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/geometry/proxy.py +0 -0
  68. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/impl.py +0 -0
  69. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/iterops.py +0 -0
  70. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/linref.py +0 -0
  71. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/ops.py +0 -0
  72. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/predicates.py +0 -0
  73. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/prepared.py +0 -0
  74. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/strtree.py +0 -0
  75. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/topology.py +0 -0
  76. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/validation.py +0 -0
  77. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/vectorized/__init__.py +0 -0
  78. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/vectorized/_vectorized.pyx +0 -0
  79. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/wkb.py +0 -0
  80. {Shapely-1.6b2 → Shapely-1.6b3}/shapely/wkt.py +0 -0
  81. {Shapely-1.6b2 → Shapely-1.6b3}/tests/__init__.py +0 -0
  82. {Shapely-1.6b2 → Shapely-1.6b3}/tests/binascii_hex.txt +0 -0
  83. {Shapely-1.6b2 → Shapely-1.6b3}/tests/conftest.py +0 -0
  84. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_affinity.py +0 -0
  85. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_box.py +0 -0
  86. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_cga.py +0 -0
  87. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_collection.py +0 -0
  88. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_coords.py +0 -0
  89. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_default_impl.py +0 -0
  90. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_delaunay.py +0 -0
  91. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_delegated.py +0 -0
  92. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_dlls.py +0 -0
  93. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_doctests.py +0 -0
  94. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_emptiness.py +0 -0
  95. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_empty_polygons.py +0 -0
  96. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_equality.py +0 -0
  97. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_geointerface.py +0 -0
  98. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_geomseq.py +0 -0
  99. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_getitem.py +0 -0
  100. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_hash.py +0 -0
  101. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_invalid_geometries.py +0 -0
  102. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_iterops.py +0 -0
  103. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_linear_referencing.py +0 -0
  104. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_linemerge.py +0 -0
  105. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_linestring.py +0 -0
  106. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_locale.py +0 -0
  107. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_mapping.py +0 -0
  108. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_minimum_rotated_rectangle.py +0 -0
  109. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_multi.py +0 -0
  110. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_multilinestring.py +0 -0
  111. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_multipoint.py +0 -0
  112. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_multipolygon.py +0 -0
  113. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_ndarrays.py +0 -0
  114. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_nearest.py +0 -0
  115. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_operations.py +0 -0
  116. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_operators.py +0 -0
  117. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_parallel_offset.py +0 -0
  118. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_persist.py +0 -0
  119. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_pickle.py +0 -0
  120. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_point.py +0 -0
  121. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_polygon.py +0 -0
  122. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_polygonize.py +0 -0
  123. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_polylabel.py +0 -0
  124. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_predicates.py +0 -0
  125. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_prepared.py +0 -0
  126. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_products_z.py +0 -0
  127. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_shared_paths.py +0 -0
  128. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_singularity.py +0 -0
  129. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_snap.py +0 -0
  130. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_split.py +0 -0
  131. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_strtree.py +0 -0
  132. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_styles.py +0 -0
  133. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_svg.py +0 -0
  134. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_transform.py +0 -0
  135. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_union.py +0 -0
  136. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_validation.py +0 -0
  137. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_vectorized.py +0 -0
  138. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_wkt.py +0 -0
  139. {Shapely-1.6b2 → Shapely-1.6b3}/tests/test_xy.py +0 -0
  140. {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.6b2
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.6b2
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
@@ -1,4 +1,4 @@
1
- [pytest]
1
+ [tool:pytest]
2
2
  testpaths = tests
3
3
 
4
4
  [egg_info]
@@ -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 handler(level):
207
- """Error handler
208
-
209
- While this function can take any number of positional arguments when
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, *args):
211
+ def callback(fmt, *fmt_args):
220
212
  fmt = fmt.decode('ascii')
221
213
  conversions = re.findall(r'%.', fmt)
222
- log_vals = []
223
- for spec, arg in zip(conversions, args):
224
- if spec == '%s' and arg is not None:
225
- log_vals.append(string_at(arg).decode('ascii'))
226
- else:
227
- LOG.error("An error occurred, but the format string "
228
- "'%s' could not be converted.", fmt)
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 = handler('error')
234
- notice_handler = handler('warning')
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
- from ..ftools import wraps
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(_speedups.coordseq_iter)
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'] = polygon.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
  """