shapely 1.6.4.post1__tar.gz → 1.7.0__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 (143) hide show
  1. {Shapely-1.6.4.post1 → Shapely-1.7.0}/CHANGES.txt +88 -3
  2. {Shapely-1.6.4.post1 → Shapely-1.7.0}/CREDITS.txt +80 -37
  3. {Shapely-1.6.4.post1/Shapely.egg-info → Shapely-1.7.0}/PKG-INFO +233 -97
  4. {Shapely-1.6.4.post1 → Shapely-1.7.0}/README.rst +52 -52
  5. {Shapely-1.6.4.post1 → Shapely-1.7.0/Shapely.egg-info}/PKG-INFO +233 -97
  6. {Shapely-1.6.4.post1 → Shapely-1.7.0}/Shapely.egg-info/SOURCES.txt +8 -1
  7. Shapely-1.7.0/VERSION.txt +1 -0
  8. {Shapely-1.6.4.post1 → Shapely-1.7.0}/_vendor/packaging/markers.py +1 -1
  9. {Shapely-1.6.4.post1 → Shapely-1.7.0}/_vendor/packaging/requirements.py +3 -3
  10. {Shapely-1.6.4.post1 → Shapely-1.7.0}/_vendor/packaging/specifiers.py +3 -3
  11. {Shapely-1.6.4.post1 → Shapely-1.7.0}/_vendor/packaging/version.py +8 -8
  12. {Shapely-1.6.4.post1 → Shapely-1.7.0}/docs/manual.rst +232 -79
  13. {Shapely-1.6.4.post1 → Shapely-1.7.0}/docs/project.rst +1 -0
  14. {Shapely-1.6.4.post1 → Shapely-1.7.0}/setup.py +45 -35
  15. Shapely-1.7.0/shapely/__init__.py +1 -0
  16. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/_buildcfg.py +15 -11
  17. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/_geos.pxi +2 -0
  18. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/affinity.py +23 -15
  19. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/algorithms/cga.py +2 -2
  20. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/algorithms/polylabel.py +8 -1
  21. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/ctypes_declarations.py +33 -0
  22. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/examples/dissolve.py +3 -3
  23. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/examples/intersect.py +2 -2
  24. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/geometry/base.py +66 -30
  25. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/geometry/geo.py +4 -1
  26. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/geometry/linestring.py +10 -3
  27. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/geometry/multilinestring.py +1 -1
  28. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/geometry/multipoint.py +2 -3
  29. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/geometry/multipolygon.py +17 -5
  30. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/geometry/point.py +7 -2
  31. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/geometry/polygon.py +31 -16
  32. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/geometry/proxy.py +1 -1
  33. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/geos.py +81 -37
  34. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/impl.py +4 -2
  35. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/iterops.py +0 -1
  36. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/ops.py +128 -18
  37. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/predicates.py +1 -1
  38. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/prepared.py +15 -9
  39. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/speedups/__init__.py +1 -2
  40. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/speedups/_speedups.c +3196 -2428
  41. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/speedups/_speedups.pyx +49 -16
  42. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/strtree.py +22 -0
  43. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/topology.py +1 -1
  44. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/validation.py +0 -2
  45. Shapely-1.7.0/shapely/vectorized/_vectorized.c +22895 -0
  46. Shapely-1.7.0/shapely/wkb.py +55 -0
  47. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/__init__.py +1 -5
  48. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/conftest.py +10 -0
  49. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_affinity.py +59 -0
  50. Shapely-1.7.0/tests/test_buffer.py +80 -0
  51. Shapely-1.7.0/tests/test_clip_by_rect.py +109 -0
  52. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_delaunay.py +3 -6
  53. Shapely-1.7.0/tests/test_geometry_base.py +17 -0
  54. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_geos_err_handler.py +13 -1
  55. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_linear_referencing.py +3 -0
  56. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_linestring.py +12 -4
  57. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_mapping.py +5 -2
  58. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_multipolygon.py +13 -2
  59. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_operations.py +16 -3
  60. Shapely-1.7.0/tests/test_orient.py +82 -0
  61. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_point.py +10 -0
  62. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_polygon.py +23 -0
  63. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_polylabel.py +12 -0
  64. Shapely-1.7.0/tests/test_prepared.py +67 -0
  65. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_split.py +24 -0
  66. Shapely-1.7.0/tests/test_strtree_nearest.py +27 -0
  67. Shapely-1.7.0/tests/test_substring.py +81 -0
  68. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_union.py +1 -1
  69. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_vectorized.py +5 -5
  70. Shapely-1.7.0/tests/test_wkb.py +51 -0
  71. Shapely-1.6.4.post1/VERSION.txt +0 -1
  72. Shapely-1.6.4.post1/shapely/__init__.py +0 -1
  73. Shapely-1.6.4.post1/shapely/ftools.py +0 -78
  74. Shapely-1.6.4.post1/shapely/wkb.py +0 -37
  75. Shapely-1.6.4.post1/tests/test_prepared.py +0 -51
  76. {Shapely-1.6.4.post1 → Shapely-1.7.0}/LICENSE.txt +0 -0
  77. {Shapely-1.6.4.post1 → Shapely-1.7.0}/Shapely.egg-info/dependency_links.txt +0 -0
  78. {Shapely-1.6.4.post1 → Shapely-1.7.0}/Shapely.egg-info/requires.txt +1 -1
  79. {Shapely-1.6.4.post1 → Shapely-1.7.0}/Shapely.egg-info/top_level.txt +0 -0
  80. {Shapely-1.6.4.post1 → Shapely-1.7.0}/_vendor/__init__.py +0 -0
  81. {Shapely-1.6.4.post1 → Shapely-1.7.0}/_vendor/packaging/__about__.py +0 -0
  82. {Shapely-1.6.4.post1 → Shapely-1.7.0}/_vendor/packaging/__init__.py +0 -0
  83. {Shapely-1.6.4.post1 → Shapely-1.7.0}/_vendor/packaging/_compat.py +0 -0
  84. {Shapely-1.6.4.post1 → Shapely-1.7.0}/_vendor/packaging/_structures.py +0 -0
  85. {Shapely-1.6.4.post1 → Shapely-1.7.0}/_vendor/packaging/utils.py +0 -0
  86. {Shapely-1.6.4.post1 → Shapely-1.7.0}/docs/design.rst +0 -0
  87. {Shapely-1.6.4.post1 → Shapely-1.7.0}/docs/index.rst +0 -0
  88. {Shapely-1.6.4.post1 → Shapely-1.7.0}/setup.cfg +0 -0
  89. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/algorithms/__init__.py +0 -0
  90. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/coords.py +0 -0
  91. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/errors.py +0 -0
  92. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/examples/__init__.py +0 -0
  93. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/examples/geoms.py +0 -0
  94. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/geometry/__init__.py +0 -0
  95. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/geometry/collection.py +0 -0
  96. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/linref.py +0 -0
  97. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/vectorized/__init__.py +0 -0
  98. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/vectorized/_vectorized.pyx +0 -0
  99. {Shapely-1.6.4.post1 → Shapely-1.7.0}/shapely/wkt.py +0 -0
  100. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/binascii_hex.txt +0 -0
  101. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_box.py +0 -0
  102. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_cga.py +0 -0
  103. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_collection.py +0 -0
  104. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_coords.py +0 -0
  105. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_default_impl.py +0 -0
  106. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_delegated.py +0 -0
  107. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_dlls.py +0 -0
  108. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_doctests.py +0 -0
  109. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_emptiness.py +0 -0
  110. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_empty_polygons.py +0 -0
  111. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_equality.py +0 -0
  112. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_geointerface.py +0 -0
  113. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_geomseq.py +0 -0
  114. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_getitem.py +0 -0
  115. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_hash.py +0 -0
  116. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_invalid_geometries.py +0 -0
  117. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_iterops.py +0 -0
  118. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_linemerge.py +0 -0
  119. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_locale.py +0 -0
  120. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_minimum_rotated_rectangle.py +0 -0
  121. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_multi.py +0 -0
  122. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_multilinestring.py +0 -0
  123. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_multipoint.py +0 -0
  124. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_ndarrays.py +0 -0
  125. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_nearest.py +0 -0
  126. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_operators.py +0 -0
  127. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_parallel_offset.py +0 -0
  128. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_persist.py +0 -0
  129. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_pickle.py +0 -0
  130. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_polygonize.py +0 -0
  131. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_predicates.py +0 -0
  132. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_products_z.py +0 -0
  133. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_shared_paths.py +0 -0
  134. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_singularity.py +0 -0
  135. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_snap.py +0 -0
  136. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_strtree.py +0 -0
  137. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_styles.py +0 -0
  138. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_svg.py +0 -0
  139. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_transform.py +0 -0
  140. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_validation.py +0 -0
  141. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_wkt.py +0 -0
  142. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/test_xy.py +0 -0
  143. {Shapely-1.6.4.post1 → Shapely-1.7.0}/tests/threading_test.py +0 -0
@@ -1,13 +1,99 @@
1
1
  Changes
2
2
  =======
3
3
 
4
- 1.6.4.post1 (2017-01-24)
4
+ 1.7.0 (2019-01-28)
5
+ ------------------
6
+
7
+ This is the final 1.7.0 release. There have been no changes since 1.7b1.
8
+
9
+ 1.7b1 (2019-01-13)
10
+ ------------------
11
+
12
+ First beta release.
13
+
14
+ 1.7a3 (2019-12-31)
15
+ ------------------
16
+
17
+ New features:
18
+
19
+ - The buffer operation can now be single-sides (#806, #727).
20
+
21
+ Bug fixes:
22
+
23
+ - Add /usr/local/lib to the list of directories to be searched for the GEOS
24
+ shared library (#795).
25
+ - ops.substring now returns a line with coords in end-to-front order when given
26
+ a start position that is greater than the end position (#628).
27
+ - Implement ``__bool__()`` for geometry base classes so that ``bool(geom)``
28
+ returns the logical complement of ``geom.is_empty`` (#754).
29
+ - Remove assertion on the number of version-like strings found in the GEOS
30
+ version string. It could be 2 or 3.
31
+
32
+ 1.7a2 (2019-06-21)
33
+ ------------------
34
+
35
+ - Nearest neighbor search has been added to STRtree (#668).
36
+ - Disallow sequences of MultiPolygons as arguments to the MultiPolygon
37
+ constructor, resolving #588.
38
+ - Removed vendorized `functools` functions previously used to support
39
+ Python 2.5.
40
+
41
+ Bug fixes:
42
+
43
+ - Avoid reloading the GEOS shared library when using an installed binary wheel
44
+ on OS X (#735), resolving issue #553.
45
+ - The shapely.ops.orient function can now orient multi polygons and geometry
46
+ collections as well as polygons (#733).
47
+ - Polygons can now be constructed from sequences of point objects as well as
48
+ sequences of x, y sequences (#732).
49
+ - The exterior of an empty polygon is now equal to an empty linear ring (#731).
50
+ - The bounds property of an empty point object now returns an empty tuple,
51
+ consistent with other geometry types (#723).
52
+ - Segmentation faults when non-string values are passed to the WKT loader are
53
+ avoided by #700.
54
+ - Failure of ops.substring when the sub linestring coincides with the beginning
55
+ of the linestring has been fixed (#658).
56
+ - Segmentation faults from interpolating on an empty linestring are prevented
57
+ by #655.
58
+ - A missing special case for rectangular polygons has been added to the
59
+ polylabel algorithm (#644).
60
+ - LinearRing can be created from a LineString (#638).
61
+ - The prepared geoemtry validation condition has been tightened in #632 to fix
62
+ the bug reported in #631.
63
+ - Attempting to interpolate an empty geometry no longer results in a
64
+ segmentation fault, raising `ValueError` instead (#653).
65
+
66
+ 1.7a1 (2018-07-29)
67
+ ------------------
68
+
69
+ New features:
70
+
71
+ - A Python version check is made by the package setup script. Shapely 1.7
72
+ supports only Python versions 2.7 and 3.4+ (#610).
73
+ - Added a new `EmptyGeometry` class to support GeoPandas (#514).
74
+ - Added new `shapely.ops.substring` function (#459).
75
+ - Added new `shapely.ops.clip_by_rect` function (#583).
76
+ - Use DLLs indicated in sys._MEIPASS' to support PyInstaller frozen apps
77
+ (#523).
78
+ - `shapely.wkb.dumps` now accepts an `srid` integer keyword argument to write
79
+ WKB data including a spatial reference ID in the output data (#593).
80
+
81
+ Bug fixes:
82
+
83
+ - `shapely.geometry.shape` can now marshal empty GeoJSON representations
84
+ (#573).
85
+ - An exception is raised when an attempt is made to `prepare`
86
+ a `PreparedGeometry` (#577, #595).
87
+ - Keyword arguments have been removed from a geometry object's `wkt` property
88
+ getter (#581, #594).
89
+
90
+ 1.6.4.post1 (2018-01-24)
5
91
  ------------------------
6
92
 
7
93
  - Fix broken markup in this change log, which restores our nicely formatted
8
94
  readme on PyPI.
9
95
 
10
- 1.6.4 (2017-01-24)
96
+ 1.6.4 (2018-01-24)
11
97
  ------------------
12
98
 
13
99
  - Handle a ``TypeError`` that can occur when geometries are torn down (#473,
@@ -606,4 +692,3 @@ TODO: fill gap here
606
692
  1.0 RC1 (2008-01-14)
607
693
  --------------------
608
694
  - First release candidate
609
-
@@ -3,55 +3,98 @@ Credits
3
3
 
4
4
  Shapely is written by:
5
5
 
6
- * Sean Gillies <sean.gillies@gmail.com>
7
- * Oliver Tonnhofer <olt@bogosoft.com>
8
- * Joshua Arnott <josh@snorfalorpagus.net>
9
- * Mike Toews <mwtoews@gmail.com>
10
- * Jacob Wasserman <jwasserman@gmail.com>
6
+ * Allan Adair <allan.m.adair@gmail.com>
7
+ * Andrew Blakey <ablakey@gmail.com>
8
+ * Andy Freeland <andy@andyfreeland.net>
9
+ * Ariel Kadouri <ariel@arielsartistry.com>
11
10
  * Aron Bierbaum <aronbierbaum@gmail.com>
12
- * Allan Adair <allan@rfspot.com>
13
- * Johannes Schönberger <jschoenberger@demuc.de>
14
- * georgeouzou <geothrock@gmail.com>
15
- * Phil Elson <pelson.pub@gmail.com>
16
- * Howard Butler <hobu.inc@gmail.com>
17
- * Kelsey Jordahl <kjordahl@enthought.com>
18
- * dokai <dokai@b426a367-1105-0410-b9ff-cdf4ab011145>
19
- * Kevin Wurster <kevin@skytruth.org>
20
- * Gabi Davar <grizzly.nyo@gmail.com>
21
- * Thibault Deutsch <thibault.deutsch@gmail.com>
22
- * Dave Collins <dave@hopest.net>
23
- * fredj <frederic.junod@camptocamp.com>
11
+ * Bas Couwenberg <sebastic@xs4all.nl>
12
+ * Benjamin Root <ben.v.root@gmail.com>
13
+ * BertrandGervais <bertrand.gervais.pro@gmail.com>
24
14
  * Brad Hards <bradh@frogmouth.net>
15
+ * Brandon Wood <btwood@geometeor.com>
16
+ * Chad Hawkins <cwh@chadwhawkins.com>
17
+ * Christian Prior <cprior@gmail.com>
18
+ * Christian Quest <github@cquest.org>
19
+ * Daniele Esposti <expobrain@users.noreply.github.com>
20
+ * Dave Collins <dave@hopest.net>
25
21
  * David Baumgold <david@davidbaumgold.com>
22
+ * David Swinkels <davidswinkelss@gmail.com>
23
+ * Denis Rykov <rykovd@gmail.com>
24
+ * Erwin Sterrenburg <e.w.sterrenburg@gmail.com>
25
+ * Felix Yan <felixonmars@archlinux.org>
26
+ * Filipe Fernandes <ocefpaf@gmail.com>
27
+ * Gabi Davar <grizzly.nyo@gmail.com>
28
+ * Gerrit Holl <gerrit.holl@dwd.de>
29
+ * Hannes <kannes@users.noreply.github.com>
30
+ * Hao Zheng <Furioushaozheng@gmail.com>
26
31
  * Henry Walshaw <henry.walshaw@gmail.com>
32
+ * Howard Butler <hobu.inc@gmail.com>
33
+ * Hugo <hugovk@users.noreply.github.com>
34
+ * Jacob Wasserman <jwasserman@gmail.com>
35
+ * James Douglass <jamesdouglassusa@gmail.com>
36
+ * James Gaboardi <jgaboardi@gmail.com>
37
+ * James Lamb <jaylamb20@gmail.com>
38
+ * James McBride <jdmcbr@gmail.com>
39
+ * James Spencer <james.s.spencer@gmail.com>
40
+ * Jamie Hall <jamie1212@gmail.com>
41
+ * Jason Sanford <jason.sanford@mapmyfitness.com>
42
+ * Jeethu Rao <jeethu@jeethurao.com>
27
43
  * Jinkun Wang <mejkunw@gmail.com>
44
+ * Johan Euphrosine <proppy@aminche.com>
45
+ * Johannes Schönberger <jschoenberger@demuc.de>
46
+ * Jonathan Schoonhoven <jschoonhoven@lyft.com>
47
+ * Joris Van den Bossche <jorisvandenbossche@gmail.com>
48
+ * Joshua Arnott <josh@snorfalorpagus.net>
49
+ * Juan Luis Cano Rodríguez <juanlu@satellogic.com>
50
+ * Kelsey Jordahl <kjordahl@enthought.com>
51
+ * Kevin Wurster <wursterk@gmail.com>
52
+ * Kristian Evers <kristianevers@gmail.com>
53
+ * Leandro Lima <leandro@limaesilva.com.br>
54
+ * Lukasz <uhho@users.noreply.github.com>
55
+ * Luke Lee <durdenmisc@gmail.com>
56
+ * Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
28
57
  * Marc Jansen <jansen@terrestris.de>
29
- * Sampo Syrjanen <sampo.syrjanen@here.com>
30
- * Steve M. Kim <steve@climate.com>
31
- * Thomas Kluyver <takowl@gmail.com>
58
+ * Marco De Nadai <me@marcodena.it>
59
+ * Matt Amos <matt.amos@mapzen.com>
60
+ * Michel Blancard <michel.blancard@data.gouv.fr>
61
+ * Mike Taves <mwtoews@gmail.com>
32
62
  * Morris Tweed <tweed.morris@gmail.com>
33
63
  * Naveen Michaud-Agrawal <naveen.michaudagrawal@gmail.com>
34
- * Jeethu Rao <jeethu@jeethurao.com>
64
+ * Oliver Tonnhofer <olt@bogosoft.com>
65
+ * Paveł Tyślacki <tbicr@users.noreply.github.com>
35
66
  * Peter Sagerson <psagers.github@ignorare.net>
36
- * Jason Sanford <jason.sanford@mapmyfitness.com>
37
- * mindw <grizzly.nyo@gmail.com>
38
- * Jamie Hall <jamie1212@gmail.com>
39
- * James Spencer <james.s.spencer@gmail.com>
67
+ * Phil Elson <pelson.pub@gmail.com>
68
+ * Pierre PACI <villerupt@gmail.com>
69
+ * Ricardo Zilleruelo <51384295+zetaatlyft@users.noreply.github.com>
70
+ * Sampo Syrjanen <sampo.syrjanen@here.com>
71
+ * Samuel Chin <samuelchin91@gmail.com>
72
+ * Sean Gillies <sean.gillies@gmail.com>
73
+ * Sobolev Nikita <mail@sobolevn.me>
40
74
  * Stephan Hügel <urschrei@gmail.com>
41
- * Bas Couwenberg <sebastic@xs4all.nl>
42
- * James Douglass <jamesdouglassusa@gmail.com>
75
+ * Steve M. Kim <steve@climate.com>
76
+ * Taro Matsuzawa aka. btm <btm@tech.email.ne.jp>
77
+ * Thibault Deutsch <thibault.deutsch@gmail.com>
78
+ * Thomas Kluyver <takowl@gmail.com>
43
79
  * Tobias Sauerwein <tobias.sauerwein@camptocamp.com>
80
+ * Tom Clancy <17627475+clncy@users.noreply.github.com>
44
81
  * WANG Aiyong <gepcelway@gmail.com>
45
- * Brandon Wood <btwood@geometeor.com>
46
- * BertrandGervais <bertrand.gervais.pro@gmail.com>
47
- * Andy Freeland <andy@andyfreeland.net>
48
- * Benjamin Root <ben.v.root@gmail.com>
82
+ * Will May <williamcmay@live.com>
83
+ * Zachary Ware <zachary.ware@gmail.com>
84
+ * cclauss <cclauss@me.com>
85
+ * clefrks <33859587+clefrks@users.noreply.github.com>
86
+ * davidh-ssec <david.hoese@ssec.wisc.edu>
87
+ * dokai <dokai@b426a367-1105-0410-b9ff-cdf4ab011145>
88
+ * fredj <frederic.junod@camptocamp.com>
89
+ * georgeouzou <geothrock@gmail.com>
49
90
  * giumas <gmasetti@ccom.unh.edu>
50
- * Leandro Lima <leandro@limaesilva.com.br>
51
- * Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
52
91
  * joelostblom <joelostblom@users.noreply.github.com>
53
- * Marco De Nadai <me@marcodena.it>
54
- * Johan Euphrosine <proppy@aminche.com>
92
+ * ljwolf <levi.john.wolf@gmail.com>
93
+ * mindw <grizzly.nyo@gmail.com>
94
+ * rsmb <rsmb@users.noreply.github.com>
95
+ * shongololo <garethsimons@me.com>
96
+ * solarjoe <walterwhite666@googlemail.com>
97
+ * stephenworsley <49274989+stephenworsley@users.noreply.github.com>
55
98
 
56
99
  See also: https://github.com/Toblerity/Shapely/graphs/contributors.
57
100
 
@@ -62,6 +105,6 @@ Additional help from:
62
105
  * Sandro Santilli, Mateusz Loskot, Paul Ramsey, et al (GEOS Project)
63
106
 
64
107
  Major portions of this work were supported by a grant (for Pleiades_) from the
65
- U.S. National Endowment for the Humanities (http://www.neh.gov).
108
+ U.S. National Endowment for the Humanities (https://www.neh.gov).
66
109
 
67
- .. _Pleiades: http://pleiades.stoa.org
110
+ .. _Pleiades: https://pleiades.stoa.org