shapely 1.5.0__tar.gz → 1.5.2__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 (107) hide show
  1. {Shapely-1.5.0 → Shapely-1.5.2}/CHANGES.txt +9 -0
  2. {Shapely-1.5.0/Shapely.egg-info → Shapely-1.5.2}/PKG-INFO +36 -7
  3. {Shapely-1.5.0 → Shapely-1.5.2}/README.rst +26 -6
  4. {Shapely-1.5.0 → Shapely-1.5.2/Shapely.egg-info}/PKG-INFO +36 -7
  5. {Shapely-1.5.0 → Shapely-1.5.2}/Shapely.egg-info/SOURCES.txt +1 -0
  6. Shapely-1.5.2/VERSION.txt +1 -0
  7. {Shapely-1.5.0 → Shapely-1.5.2}/setup.py +75 -2
  8. Shapely-1.5.2/shapely/__init__.py +1 -0
  9. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/geometry/base.py +4 -0
  10. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/geometry/polygon.py +2 -0
  11. Shapely-1.5.2/tests/test_hash.py +21 -0
  12. Shapely-1.5.0/VERSION.txt +0 -1
  13. Shapely-1.5.0/shapely/__init__.py +0 -1
  14. {Shapely-1.5.0 → Shapely-1.5.2}/CREDITS.txt +0 -0
  15. {Shapely-1.5.0 → Shapely-1.5.2}/LICENSE.txt +0 -0
  16. {Shapely-1.5.0 → Shapely-1.5.2}/Shapely.egg-info/dependency_links.txt +0 -0
  17. {Shapely-1.5.0 → Shapely-1.5.2}/Shapely.egg-info/top_level.txt +0 -0
  18. {Shapely-1.5.0 → Shapely-1.5.2}/docs/design.rst +0 -0
  19. {Shapely-1.5.0 → Shapely-1.5.2}/docs/index.rst +0 -0
  20. {Shapely-1.5.0 → Shapely-1.5.2}/docs/manual.rst +0 -0
  21. {Shapely-1.5.0 → Shapely-1.5.2}/docs/project.rst +0 -0
  22. {Shapely-1.5.0 → Shapely-1.5.2}/setup.cfg +0 -0
  23. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/_geos.pxi +0 -0
  24. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/affinity.py +0 -0
  25. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/algorithms/__init__.py +0 -0
  26. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/algorithms/cga.py +0 -0
  27. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/coords.py +0 -0
  28. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/ctypes_declarations.py +0 -0
  29. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/examples/__init__.py +0 -0
  30. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/examples/dissolve.py +0 -0
  31. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/examples/geoms.py +0 -0
  32. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/examples/intersect.py +0 -0
  33. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/ftools.py +0 -0
  34. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/geometry/__init__.py +0 -0
  35. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/geometry/collection.py +0 -0
  36. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/geometry/geo.py +0 -0
  37. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/geometry/linestring.py +0 -0
  38. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/geometry/multilinestring.py +0 -0
  39. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/geometry/multipoint.py +0 -0
  40. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/geometry/multipolygon.py +0 -0
  41. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/geometry/point.py +0 -0
  42. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/geometry/proxy.py +0 -0
  43. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/geos.py +0 -0
  44. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/impl.py +0 -0
  45. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/iterops.py +0 -0
  46. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/linref.py +0 -0
  47. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/ops.py +0 -0
  48. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/predicates.py +0 -0
  49. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/prepared.py +0 -0
  50. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/speedups/__init__.py +0 -0
  51. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/speedups/_speedups.c +0 -0
  52. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/strtree.py +0 -0
  53. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/topology.py +0 -0
  54. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/validation.py +0 -0
  55. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/vectorized/__init__.py +0 -0
  56. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/vectorized/_vectorized.pyx +0 -0
  57. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/wkb.py +0 -0
  58. {Shapely-1.5.0 → Shapely-1.5.2}/shapely/wkt.py +0 -0
  59. {Shapely-1.5.0 → Shapely-1.5.2}/tests/__init__.py +0 -0
  60. {Shapely-1.5.0 → Shapely-1.5.2}/tests/binascii_hex.txt +0 -0
  61. {Shapely-1.5.0 → Shapely-1.5.2}/tests/conftest.py +0 -0
  62. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_affinity.py +0 -0
  63. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_box.py +0 -0
  64. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_cga.py +0 -0
  65. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_collection.py +0 -0
  66. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_coords.py +0 -0
  67. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_delaunay.py +0 -0
  68. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_delegated.py +0 -0
  69. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_dlls.py +0 -0
  70. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_doctests.py +0 -0
  71. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_emptiness.py +0 -0
  72. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_equality.py +0 -0
  73. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_geointerface.py +0 -0
  74. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_geomseq.py +0 -0
  75. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_getitem.py +0 -0
  76. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_invalid_geometries.py +0 -0
  77. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_iterops.py +0 -0
  78. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_linear_referencing.py +0 -0
  79. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_linemerge.py +0 -0
  80. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_linestring.py +0 -0
  81. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_locale.py +0 -0
  82. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_mapping.py +0 -0
  83. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_multilinestring.py +0 -0
  84. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_multipoint.py +0 -0
  85. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_multipolygon.py +0 -0
  86. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_ndarrays.py +0 -0
  87. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_nearest.py +0 -0
  88. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_operations.py +0 -0
  89. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_operators.py +0 -0
  90. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_persist.py +0 -0
  91. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_pickle.py +0 -0
  92. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_point.py +0 -0
  93. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_polygon.py +0 -0
  94. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_polygonize.py +0 -0
  95. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_predicates.py +0 -0
  96. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_prepared.py +0 -0
  97. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_products_z.py +0 -0
  98. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_singularity.py +0 -0
  99. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_snap.py +0 -0
  100. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_strtree.py +0 -0
  101. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_styles.py +0 -0
  102. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_transform.py +0 -0
  103. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_union.py +0 -0
  104. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_validation.py +0 -0
  105. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_vectorized.py +0 -0
  106. {Shapely-1.5.0 → Shapely-1.5.2}/tests/test_xy.py +0 -0
  107. {Shapely-1.5.0 → Shapely-1.5.2}/tests/threading_test.py +0 -0
@@ -1,6 +1,15 @@
1
1
  Changes
2
2
  =======
3
3
 
4
+ 1.5.2 (2015-01-04)
5
+ ------------------
6
+ - Fail installation if GEOS dependency is not met, preventing update breakage
7
+ (#218, #219).
8
+
9
+ 1.5.1 (2014-12-04)
10
+ ------------------
11
+ - Restore geometry hashing (#209).
12
+
4
13
  1.5.0 (2014-12-02)
5
14
  ------------------
6
15
  - Affine transformation speedups (#197).
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.5.0
3
+ Version: 1.5.2
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -33,24 +33,44 @@ Description: =======
33
33
  Requirements
34
34
  ============
35
35
 
36
- Shapely 1.5 requires
36
+ Shapely 1.5.x requires
37
37
 
38
38
  * Python >=2.6 (including Python 3.x)
39
- * GEOS >=3.3 (Shapely 1.2 requires only GEOS 3.1 but YMMV)
39
+ * GEOS >=3.3 (Shapely 1.2.x requires only GEOS 3.1 but YMMV)
40
40
 
41
- Installing Shapely 1.5.0
42
- ========================
41
+ Installing Shapely
42
+ ==================
43
43
 
44
44
  Windows users should download an executable installer from
45
45
  http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely or PyPI (if available).
46
46
 
47
47
  On other systems, acquire the GEOS by any means (`brew install geos` on OS X or
48
48
  `apt-get install libgeos-dev` on Debian/Ubuntu), make sure that it is on the
49
- system library path, and install Shapely 1.5.0 from the Python package index.
49
+ system library path, and install Shapely from the Python package index.
50
50
 
51
51
  .. code-block:: console
52
52
 
53
- $ pip install -U shapely
53
+ $ pip install shapely
54
+
55
+ If you've installed GEOS to a non-standard location, you can use the
56
+ geos-config program to find compiler and linker options.
57
+
58
+ .. code-block:: console
59
+
60
+ $ CFLAGS=`geos-config --cflags` LDFLAGS=`geos-config --clibs` pip install shapely
61
+
62
+ If your system's GEOS version is < 3.3.0 you cannot use Shapely 1.3+ and must
63
+ stick to 1.2.x as shown below.
64
+
65
+ .. code-block:: console
66
+
67
+ $ pip install shapely<1.3
68
+
69
+ Or, if you're using pip 6+
70
+
71
+ .. code-block:: console
72
+
73
+ $ pip install shapely~=1.2
54
74
 
55
75
  Shapely is also provided by popular Python distributions like Canopy (Enthought)
56
76
  and Anaconda (Continuum Analytics).
@@ -195,6 +215,15 @@ Description: =======
195
215
  Changes
196
216
  =======
197
217
 
218
+ 1.5.2 (2015-01-04)
219
+ ------------------
220
+ - Fail installation if GEOS dependency is not met, preventing update breakage
221
+ (#218, #219).
222
+
223
+ 1.5.1 (2014-12-04)
224
+ ------------------
225
+ - Restore geometry hashing (#209).
226
+
198
227
  1.5.0 (2014-12-02)
199
228
  ------------------
200
229
  - Affine transformation speedups (#197).
@@ -25,24 +25,44 @@ but can be readily integrated with packages that are. For more details, see:
25
25
  Requirements
26
26
  ============
27
27
 
28
- Shapely 1.5 requires
28
+ Shapely 1.5.x requires
29
29
 
30
30
  * Python >=2.6 (including Python 3.x)
31
- * GEOS >=3.3 (Shapely 1.2 requires only GEOS 3.1 but YMMV)
31
+ * GEOS >=3.3 (Shapely 1.2.x requires only GEOS 3.1 but YMMV)
32
32
 
33
- Installing Shapely 1.5.0
34
- ========================
33
+ Installing Shapely
34
+ ==================
35
35
 
36
36
  Windows users should download an executable installer from
37
37
  http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely or PyPI (if available).
38
38
 
39
39
  On other systems, acquire the GEOS by any means (`brew install geos` on OS X or
40
40
  `apt-get install libgeos-dev` on Debian/Ubuntu), make sure that it is on the
41
- system library path, and install Shapely 1.5.0 from the Python package index.
41
+ system library path, and install Shapely from the Python package index.
42
42
 
43
43
  .. code-block:: console
44
44
 
45
- $ pip install -U shapely
45
+ $ pip install shapely
46
+
47
+ If you've installed GEOS to a non-standard location, you can use the
48
+ geos-config program to find compiler and linker options.
49
+
50
+ .. code-block:: console
51
+
52
+ $ CFLAGS=`geos-config --cflags` LDFLAGS=`geos-config --clibs` pip install shapely
53
+
54
+ If your system's GEOS version is < 3.3.0 you cannot use Shapely 1.3+ and must
55
+ stick to 1.2.x as shown below.
56
+
57
+ .. code-block:: console
58
+
59
+ $ pip install shapely<1.3
60
+
61
+ Or, if you're using pip 6+
62
+
63
+ .. code-block:: console
64
+
65
+ $ pip install shapely~=1.2
46
66
 
47
67
  Shapely is also provided by popular Python distributions like Canopy (Enthought)
48
68
  and Anaconda (Continuum Analytics).
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.5.0
3
+ Version: 1.5.2
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -33,24 +33,44 @@ Description: =======
33
33
  Requirements
34
34
  ============
35
35
 
36
- Shapely 1.5 requires
36
+ Shapely 1.5.x requires
37
37
 
38
38
  * Python >=2.6 (including Python 3.x)
39
- * GEOS >=3.3 (Shapely 1.2 requires only GEOS 3.1 but YMMV)
39
+ * GEOS >=3.3 (Shapely 1.2.x requires only GEOS 3.1 but YMMV)
40
40
 
41
- Installing Shapely 1.5.0
42
- ========================
41
+ Installing Shapely
42
+ ==================
43
43
 
44
44
  Windows users should download an executable installer from
45
45
  http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely or PyPI (if available).
46
46
 
47
47
  On other systems, acquire the GEOS by any means (`brew install geos` on OS X or
48
48
  `apt-get install libgeos-dev` on Debian/Ubuntu), make sure that it is on the
49
- system library path, and install Shapely 1.5.0 from the Python package index.
49
+ system library path, and install Shapely from the Python package index.
50
50
 
51
51
  .. code-block:: console
52
52
 
53
- $ pip install -U shapely
53
+ $ pip install shapely
54
+
55
+ If you've installed GEOS to a non-standard location, you can use the
56
+ geos-config program to find compiler and linker options.
57
+
58
+ .. code-block:: console
59
+
60
+ $ CFLAGS=`geos-config --cflags` LDFLAGS=`geos-config --clibs` pip install shapely
61
+
62
+ If your system's GEOS version is < 3.3.0 you cannot use Shapely 1.3+ and must
63
+ stick to 1.2.x as shown below.
64
+
65
+ .. code-block:: console
66
+
67
+ $ pip install shapely<1.3
68
+
69
+ Or, if you're using pip 6+
70
+
71
+ .. code-block:: console
72
+
73
+ $ pip install shapely~=1.2
54
74
 
55
75
  Shapely is also provided by popular Python distributions like Canopy (Enthought)
56
76
  and Anaconda (Continuum Analytics).
@@ -195,6 +215,15 @@ Description: =======
195
215
  Changes
196
216
  =======
197
217
 
218
+ 1.5.2 (2015-01-04)
219
+ ------------------
220
+ - Fail installation if GEOS dependency is not met, preventing update breakage
221
+ (#218, #219).
222
+
223
+ 1.5.1 (2014-12-04)
224
+ ------------------
225
+ - Restore geometry hashing (#209).
226
+
198
227
  1.5.0 (2014-12-02)
199
228
  ------------------
200
229
  - Affine transformation speedups (#197).
@@ -68,6 +68,7 @@ tests/test_equality.py
68
68
  tests/test_geointerface.py
69
69
  tests/test_geomseq.py
70
70
  tests/test_getitem.py
71
+ tests/test_hash.py
71
72
  tests/test_invalid_geometries.py
72
73
  tests/test_iterops.py
73
74
  tests/test_linear_referencing.py
@@ -0,0 +1 @@
1
+ 1.5.2
@@ -2,15 +2,19 @@
2
2
 
3
3
  from __future__ import print_function
4
4
 
5
+ import ctypes
6
+ import ctypes.util
5
7
  try:
6
8
  # If possible, use setuptools
7
9
  from setuptools import setup
8
10
  from setuptools.extension import Extension
9
11
  from setuptools.command.build_ext import build_ext as distutils_build_ext
12
+ from setuptools.command.install import install
10
13
  except ImportError:
11
14
  from distutils.core import setup
12
15
  from distutils.extension import Extension
13
16
  from distutils.command.build_ext import build_ext as distutils_build_ext
17
+ from distutils.command.install import install
14
18
  from distutils.cmd import Command
15
19
  from distutils.errors import CCompilerError, DistutilsExecError, \
16
20
  DistutilsPlatformError
@@ -19,6 +23,7 @@ import errno
19
23
  import glob
20
24
  import os
21
25
  import platform
26
+ import re
22
27
  import shutil
23
28
  import subprocess
24
29
  import sys
@@ -53,6 +58,74 @@ with open('CHANGES.txt', 'r', **open_kwds) as fp:
53
58
 
54
59
  long_description = readme + '\n\n' + credits + '\n\n' + changes
55
60
 
61
+ # Fail installation if we can't find a GEOS shared library with the right
62
+ # version. We ship it with Shapely for Windows, so no need to check on that
63
+ # platform. Code below copied from shapely/geos.py.
64
+ class InstallCommand(install):
65
+
66
+ def run(self):
67
+ def load_dll(libname, fallbacks=None):
68
+ lib = ctypes.util.find_library(libname)
69
+ if lib is not None:
70
+ try:
71
+ return ctypes.CDLL(lib)
72
+ except OSError:
73
+ pass
74
+ if fallbacks is not None:
75
+ for name in fallbacks:
76
+ try:
77
+ return ctypes.CDLL(name)
78
+ except OSError:
79
+ # move on to the next fallback
80
+ pass
81
+ # No shared library was loaded. Raise OSError.
82
+ raise OSError(
83
+ "Could not find library %s or load any of its variants %s" % (
84
+ libname, fallbacks or []))
85
+
86
+ if sys.platform.startswith('linux'):
87
+ _lgeos = load_dll(
88
+ 'geos_c', fallbacks=['libgeos_c.so.1', 'libgeos_c.so'])
89
+ elif sys.platform == 'darwin':
90
+ if hasattr(sys, 'frozen'):
91
+ # .app file from py2app
92
+ alt_paths = [os.path.join(os.environ['RESOURCEPATH'],
93
+ '..', 'Frameworks', 'libgeos_c.dylib')]
94
+ else:
95
+ alt_paths = [
96
+ # The Framework build from Kyng Chaos:
97
+ "/Library/Frameworks/GEOS.framework/Versions/Current/GEOS",
98
+ # macports
99
+ '/opt/local/lib/libgeos_c.dylib',
100
+ ]
101
+ _lgeos = load_dll('geos_c', fallbacks=alt_paths)
102
+ elif sys.platform == 'sunos5':
103
+ _lgeos = load_dll(
104
+ 'geos_c', fallbacks=['libgeos_c.so.1', 'libgeos_c.so'])
105
+ else: # other *nix systems
106
+ _lgeos = load_dll(
107
+ 'geos_c', fallbacks=['libgeos_c.so.1', 'libgeos_c.so'])
108
+
109
+ GEOSversion = _lgeos.GEOSversion
110
+ GEOSversion.restype = ctypes.c_char_p
111
+ GEOSversion.argtypes = []
112
+ geos_version_string = GEOSversion()
113
+ if sys.version_info[0] >= 3:
114
+ geos_version_string = geos_version_string.decode('ascii')
115
+ res = re.findall(r'(\d+)\.(\d+)\.(\d+)', geos_version_string)
116
+ assert len(res) == 2, res
117
+ geos_version = tuple(int(x) for x in res[0])
118
+ shapely_version = tuple(int(x) for x in version.split('.'))
119
+
120
+ if shapely_version >= (1, 3):
121
+ if geos_version >= (3, 3):
122
+ install.run(self)
123
+ else:
124
+ print(
125
+ "Shapely >= 1.3 requires GEOS >= 3.3. "
126
+ "Install GEOS 3.3+ and reinstall Shapely.")
127
+ sys.exit(1)
128
+
56
129
  setup_args = dict(
57
130
  name = 'Shapely',
58
131
  version = version,
@@ -74,7 +147,7 @@ setup_args = dict(
74
147
  'shapely.speedups',
75
148
  'shapely.vectorized',
76
149
  ],
77
- cmdclass = {},
150
+ cmdclass = {'install': InstallCommand},
78
151
  classifiers = [
79
152
  'Development Status :: 5 - Production/Stable',
80
153
  'Intended Audience :: Developers',
@@ -89,7 +162,7 @@ setup_args = dict(
89
162
  data_files = [('shapely', ['shapely/_geos.pxi'])]
90
163
  )
91
164
 
92
- # Add DLLs for Windows
165
+ # Add DLLs to Windows packages.
93
166
  if sys.platform == 'win32':
94
167
  try:
95
168
  os.mkdir('shapely/DLLs')
@@ -0,0 +1 @@
1
+ __version__ = "1.5.2"
@@ -261,6 +261,8 @@ class BaseGeometry(object):
261
261
  def __ne__(self, other):
262
262
  return not self.__eq__(other)
263
263
 
264
+ __hash__ = object.__hash__
265
+
264
266
  # Array and ctypes interfaces
265
267
  # ---------------------------
266
268
 
@@ -740,6 +742,8 @@ class BaseMultipartGeometry(BaseGeometry):
740
742
  def __ne__(self, other):
741
743
  return not self.__eq__(other)
742
744
 
745
+ __hash__ = object.__hash__
746
+
743
747
  def svg(self, scale_factor=1.):
744
748
  """
745
749
  SVG representation of the geometry. Scale factor is multiplied by
@@ -264,6 +264,8 @@ class Polygon(BaseGeometry):
264
264
  def __ne__(self, other):
265
265
  return not self.__eq__(other)
266
266
 
267
+ __hash__ = object.__hash__
268
+
267
269
  @property
268
270
  def ctypes(self):
269
271
  if not self._ctypes_data:
@@ -0,0 +1,21 @@
1
+ from shapely.geometry import Point, MultiPoint, Polygon, GeometryCollection
2
+
3
+
4
+ def test_point():
5
+ g = Point(0, 0)
6
+ assert hash(g)
7
+
8
+
9
+ def test_multipoint():
10
+ g = MultiPoint([(0, 0)])
11
+ assert hash(g)
12
+
13
+
14
+ def test_polygon():
15
+ g = Point(0, 0).buffer(1.0)
16
+ assert hash(g)
17
+
18
+
19
+ def test_collection():
20
+ g = GeometryCollection([Point(0, 0)])
21
+ assert hash(g)
Shapely-1.5.0/VERSION.txt DELETED
@@ -1 +0,0 @@
1
- 1.5.0
@@ -1 +0,0 @@
1
- __version__ = "1.5.0"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes