shapely 1.7.1__tar.gz → 1.8a1__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.7.1 → Shapely-1.8a1}/CHANGES.txt +51 -0
- {Shapely-1.7.1/Shapely.egg-info → Shapely-1.8a1}/PKG-INFO +62 -13
- {Shapely-1.7.1 → Shapely-1.8a1}/README.rst +7 -7
- {Shapely-1.7.1 → Shapely-1.8a1/Shapely.egg-info}/PKG-INFO +62 -13
- {Shapely-1.7.1 → Shapely-1.8a1}/Shapely.egg-info/SOURCES.txt +4 -2
- Shapely-1.8a1/VERSION.txt +1 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/_compat.py +0 -12
- {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/markers.py +2 -3
- {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/specifiers.py +6 -6
- {Shapely-1.7.1 → Shapely-1.8a1}/docs/manual.rst +164 -42
- {Shapely-1.7.1 → Shapely-1.8a1}/setup.cfg +1 -1
- {Shapely-1.7.1 → Shapely-1.8a1}/setup.py +10 -31
- Shapely-1.8a1/shapely/__init__.py +1 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/_buildcfg.py +2 -7
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/coords.py +16 -8
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/ctypes_declarations.py +99 -112
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/errors.py +6 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/base.py +97 -83
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/collection.py +9 -14
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/geo.py +18 -1
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/linestring.py +40 -13
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/multilinestring.py +12 -17
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/multipoint.py +41 -13
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/multipolygon.py +21 -23
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/point.py +48 -11
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/polygon.py +36 -17
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geos.py +159 -276
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/impl.py +12 -29
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/iterops.py +6 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/ops.py +180 -44
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/speedups/__init__.py +3 -3
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/speedups/_speedups.c +2354 -2459
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/speedups/_speedups.pyx +42 -35
- Shapely-1.8a1/shapely/strtree.py +236 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/topology.py +1 -0
- Shapely-1.8a1/shapely/validation.py +55 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/vectorized/_vectorized.pyx +3 -1
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/wkt.py +4 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/__init__.py +7 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/conftest.py +1 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_affinity.py +0 -7
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_box.py +0 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_buffer.py +0 -3
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_cga.py +0 -7
- Shapely-1.8a1/tests/test_collection.py +116 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_coords.py +12 -3
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_create_inconsistent_dimensionality.py +12 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_delaunay.py +0 -7
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_delegated.py +0 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_dlls.py +0 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_emptiness.py +16 -9
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_empty_polygons.py +1 -1
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_equality.py +0 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_geointerface.py +65 -11
- Shapely-1.8a1/tests/test_geometry_geo.py +16 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_geomseq.py +4 -5
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_geos_err_handler.py +0 -2
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_getitem.py +4 -9
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_invalid_geometries.py +0 -6
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_iterops.py +14 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_linear_referencing.py +0 -15
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_linemerge.py +0 -4
- Shapely-1.8a1/tests/test_linestring.py +307 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_locale.py +0 -4
- Shapely-1.8a1/tests/test_make_valid.py +20 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_mapping.py +0 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_minimum_rotated_rectangle.py +0 -3
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_multilinestring.py +32 -7
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_multipoint.py +67 -5
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_multipolygon.py +28 -5
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_ndarrays.py +38 -11
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_nearest.py +0 -7
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_operations.py +12 -7
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_operators.py +0 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_parallel_offset.py +1 -3
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_persist.py +2 -14
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_pickle.py +1 -5
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_point.py +138 -20
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_polygon.py +223 -61
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_polygonize.py +2 -8
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_polylabel.py +0 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_predicates.py +4 -3
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_prepared.py +0 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_products_z.py +0 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_shared_paths.py +9 -17
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_singularity.py +0 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_snap.py +1 -8
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_split.py +13 -8
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_strtree.py +18 -9
- Shapely-1.8a1/tests/test_strtree_nearest.py +29 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_styles.py +0 -5
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_substring.py +61 -41
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_svg.py +2 -5
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_transform.py +0 -7
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_union.py +5 -8
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_validation.py +0 -4
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_vectorized.py +0 -4
- Shapely-1.8a1/tests/test_voronoi_diagram.py +135 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_wkb.py +24 -1
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_wkt.py +2 -2
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_xy.py +0 -4
- Shapely-1.7.1/VERSION.txt +0 -1
- Shapely-1.7.1/shapely/__init__.py +0 -1
- Shapely-1.7.1/shapely/strtree.py +0 -110
- Shapely-1.7.1/shapely/validation.py +0 -6
- Shapely-1.7.1/shapely/vectorized/_vectorized.c +0 -26736
- Shapely-1.7.1/tests/test_collection.py +0 -81
- Shapely-1.7.1/tests/test_linestring.py +0 -172
- Shapely-1.7.1/tests/test_strtree_nearest.py +0 -27
- {Shapely-1.7.1 → Shapely-1.8a1}/CREDITS.txt +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/LICENSE.txt +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/Shapely.egg-info/dependency_links.txt +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/Shapely.egg-info/requires.txt +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/Shapely.egg-info/top_level.txt +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/__init__.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/__about__.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/__init__.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/_structures.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/requirements.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/utils.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/_vendor/packaging/version.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/docs/design.rst +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/docs/index.rst +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/docs/project.rst +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/_geos.pxi +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/affinity.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/algorithms/__init__.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/algorithms/cga.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/algorithms/polylabel.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/examples/__init__.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/examples/dissolve.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/examples/geoms.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/examples/intersect.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/__init__.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/geometry/proxy.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/linref.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/predicates.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/prepared.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/vectorized/__init__.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/shapely/wkb.py +0 -0
- /Shapely-1.7.1/tests/binascii_hex.txt → /Shapely-1.8a1/tests/test_binascii_hex.txt +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_clip_by_rect.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_default_impl.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_doctests.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_geometry_base.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_hash.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_minimum_clearance.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_multi.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_orient.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/test_shape.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/threading_test.py +0 -0
- {Shapely-1.7.1 → Shapely-1.8a1}/tests/unpickle-strtree.py +0 -0
|
@@ -1,6 +1,57 @@
|
|
|
1
1
|
Changes
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
+
1.8a1 (2021-03-03)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
Shapely 1.8.0 will be a transitional version. There are a few bug fixes and new
|
|
8
|
+
features, but it is mainly about warning of the upcoming changes in 2.0.0.
|
|
9
|
+
Several more pre-releases before 1.8.0 are expected.
|
|
10
|
+
|
|
11
|
+
Deprecations:
|
|
12
|
+
|
|
13
|
+
The following functions and geometry attributes and methods will be removed in
|
|
14
|
+
version 2.0.0.
|
|
15
|
+
|
|
16
|
+
- ops.cascaded_union
|
|
17
|
+
- geometry .empty()
|
|
18
|
+
- geometry .to_wkb() and .to_wkt()
|
|
19
|
+
- geometry .ctypes and .__array_interface__
|
|
20
|
+
- multi-part geometry .__len__
|
|
21
|
+
|
|
22
|
+
Geometry objects will become immutable in version 2.0.0.
|
|
23
|
+
|
|
24
|
+
The STRtree class will be entirely changed in 2.0.0. The exact future API is
|
|
25
|
+
not yet decided, but will be decided before 1.8.0 is released.
|
|
26
|
+
|
|
27
|
+
Deprecation warnings will be emitted in 1.8a1 when any of these features are
|
|
28
|
+
used.
|
|
29
|
+
|
|
30
|
+
New features:
|
|
31
|
+
|
|
32
|
+
- Add a normalize() method to geometry classes, exposing the GEOSNormalize
|
|
33
|
+
algorithm (#1090).
|
|
34
|
+
- Initialize STRtree with a capacity of 10 items per node (#1070).
|
|
35
|
+
- Load libraries relocated to shapely/.libs by auditwheel versions < 3.1 or
|
|
36
|
+
relocated to Shapely.libs by auditwheel versions >= 3.1.
|
|
37
|
+
- shapely.ops.voronoi_diagram() computes the Voronoi Diagram of a geometry or
|
|
38
|
+
geometry collection (#833, #851).
|
|
39
|
+
- shapely.validation.make_valid() fixes invalid geometries (#883)
|
|
40
|
+
|
|
41
|
+
Bug fixes:
|
|
42
|
+
|
|
43
|
+
- For pyinstaller we now handle the case of more than one GEOS library in the
|
|
44
|
+
environment, such as when fiona and rasterio wheels are co-installed with
|
|
45
|
+
shapely (#1071).
|
|
46
|
+
- The ops.split function now splits on touch to eliminate confusing
|
|
47
|
+
discrepancies between results using multi and single part splitters (#1034).
|
|
48
|
+
- Several issues with duplication and order of vertices in ops.substring have
|
|
49
|
+
been fixed (#1008).
|
|
50
|
+
|
|
51
|
+
Packaging:
|
|
52
|
+
|
|
53
|
+
- The wheels uploaded to PyPI will include GEOS 3.9.1.
|
|
54
|
+
|
|
4
55
|
1.7.1 (2020-08-20)
|
|
5
56
|
------------------
|
|
6
57
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.8a1
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -12,16 +12,16 @@ Description: =======
|
|
|
12
12
|
Shapely
|
|
13
13
|
=======
|
|
14
14
|
|
|
15
|
-
|
|
|
15
|
+
|github-actions| |appveyor| |coveralls|
|
|
16
16
|
|
|
17
|
-
.. |
|
|
18
|
-
:target: https://
|
|
17
|
+
.. |github-actions| image:: https://github.com/Toblerity/Shapely/workflows/Tests%20(Linux)/badge.svg
|
|
18
|
+
:target: https://github.com/Toblerity/Shapely/actions
|
|
19
19
|
|
|
20
|
-
.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Shapely?branch=
|
|
21
|
-
:target: https://ci.appveyor.com/project/frsci/shapely?branch=
|
|
20
|
+
.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Shapely?branch=master&svg=true
|
|
21
|
+
:target: https://ci.appveyor.com/project/frsci/shapely?branch=master
|
|
22
22
|
|
|
23
|
-
.. |coveralls| image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=
|
|
24
|
-
:target: https://coveralls.io/github/Toblerity/Shapely?branch=
|
|
23
|
+
.. |coveralls| image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
|
|
24
|
+
:target: https://coveralls.io/github/Toblerity/Shapely?branch=master
|
|
25
25
|
|
|
26
26
|
Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
27
27
|
|
|
@@ -295,6 +295,57 @@ Description: =======
|
|
|
295
295
|
Changes
|
|
296
296
|
=======
|
|
297
297
|
|
|
298
|
+
1.8a1 (2021-03-03)
|
|
299
|
+
------------------
|
|
300
|
+
|
|
301
|
+
Shapely 1.8.0 will be a transitional version. There are a few bug fixes and new
|
|
302
|
+
features, but it is mainly about warning of the upcoming changes in 2.0.0.
|
|
303
|
+
Several more pre-releases before 1.8.0 are expected.
|
|
304
|
+
|
|
305
|
+
Deprecations:
|
|
306
|
+
|
|
307
|
+
The following functions and geometry attributes and methods will be removed in
|
|
308
|
+
version 2.0.0.
|
|
309
|
+
|
|
310
|
+
- ops.cascaded_union
|
|
311
|
+
- geometry .empty()
|
|
312
|
+
- geometry .to_wkb() and .to_wkt()
|
|
313
|
+
- geometry .ctypes and .__array_interface__
|
|
314
|
+
- multi-part geometry .__len__
|
|
315
|
+
|
|
316
|
+
Geometry objects will become immutable in version 2.0.0.
|
|
317
|
+
|
|
318
|
+
The STRtree class will be entirely changed in 2.0.0. The exact future API is
|
|
319
|
+
not yet decided, but will be decided before 1.8.0 is released.
|
|
320
|
+
|
|
321
|
+
Deprecation warnings will be emitted in 1.8a1 when any of these features are
|
|
322
|
+
used.
|
|
323
|
+
|
|
324
|
+
New features:
|
|
325
|
+
|
|
326
|
+
- Add a normalize() method to geometry classes, exposing the GEOSNormalize
|
|
327
|
+
algorithm (#1090).
|
|
328
|
+
- Initialize STRtree with a capacity of 10 items per node (#1070).
|
|
329
|
+
- Load libraries relocated to shapely/.libs by auditwheel versions < 3.1 or
|
|
330
|
+
relocated to Shapely.libs by auditwheel versions >= 3.1.
|
|
331
|
+
- shapely.ops.voronoi_diagram() computes the Voronoi Diagram of a geometry or
|
|
332
|
+
geometry collection (#833, #851).
|
|
333
|
+
- shapely.validation.make_valid() fixes invalid geometries (#883)
|
|
334
|
+
|
|
335
|
+
Bug fixes:
|
|
336
|
+
|
|
337
|
+
- For pyinstaller we now handle the case of more than one GEOS library in the
|
|
338
|
+
environment, such as when fiona and rasterio wheels are co-installed with
|
|
339
|
+
shapely (#1071).
|
|
340
|
+
- The ops.split function now splits on touch to eliminate confusing
|
|
341
|
+
discrepancies between results using multi and single part splitters (#1034).
|
|
342
|
+
- Several issues with duplication and order of vertices in ops.substring have
|
|
343
|
+
been fixed (#1008).
|
|
344
|
+
|
|
345
|
+
Packaging:
|
|
346
|
+
|
|
347
|
+
- The wheels uploaded to PyPI will include GEOS 3.9.1.
|
|
348
|
+
|
|
298
349
|
1.7.1 (2020-08-20)
|
|
299
350
|
------------------
|
|
300
351
|
|
|
@@ -1016,16 +1067,14 @@ Classifier: Intended Audience :: Developers
|
|
|
1016
1067
|
Classifier: Intended Audience :: Science/Research
|
|
1017
1068
|
Classifier: License :: OSI Approved :: BSD License
|
|
1018
1069
|
Classifier: Operating System :: OS Independent
|
|
1019
|
-
Classifier: Programming Language :: Python :: 2
|
|
1020
|
-
Classifier: Programming Language :: Python :: 2.7
|
|
1021
1070
|
Classifier: Programming Language :: Python :: 3
|
|
1022
1071
|
Classifier: Programming Language :: Python :: 3.5
|
|
1023
1072
|
Classifier: Programming Language :: Python :: 3.6
|
|
1024
1073
|
Classifier: Programming Language :: Python :: 3.7
|
|
1025
1074
|
Classifier: Programming Language :: Python :: 3.8
|
|
1075
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
1026
1076
|
Classifier: Topic :: Scientific/Engineering :: GIS
|
|
1027
|
-
Requires:
|
|
1028
|
-
|
|
1077
|
+
Requires-Python: >=3.5
|
|
1078
|
+
Provides-Extra: vectorized
|
|
1029
1079
|
Provides-Extra: test
|
|
1030
1080
|
Provides-Extra: all
|
|
1031
|
-
Provides-Extra: vectorized
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
Shapely
|
|
3
3
|
=======
|
|
4
4
|
|
|
5
|
-
|
|
|
5
|
+
|github-actions| |appveyor| |coveralls|
|
|
6
6
|
|
|
7
|
-
.. |
|
|
8
|
-
:target: https://
|
|
7
|
+
.. |github-actions| image:: https://github.com/Toblerity/Shapely/workflows/Tests%20(Linux)/badge.svg
|
|
8
|
+
:target: https://github.com/Toblerity/Shapely/actions
|
|
9
9
|
|
|
10
|
-
.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Shapely?branch=
|
|
11
|
-
:target: https://ci.appveyor.com/project/frsci/shapely?branch=
|
|
10
|
+
.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Shapely?branch=master&svg=true
|
|
11
|
+
:target: https://ci.appveyor.com/project/frsci/shapely?branch=master
|
|
12
12
|
|
|
13
|
-
.. |coveralls| image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=
|
|
14
|
-
:target: https://coveralls.io/github/Toblerity/Shapely?branch=
|
|
13
|
+
.. |coveralls| image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
|
|
14
|
+
:target: https://coveralls.io/github/Toblerity/Shapely?branch=master
|
|
15
15
|
|
|
16
16
|
Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
17
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.8a1
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -12,16 +12,16 @@ Description: =======
|
|
|
12
12
|
Shapely
|
|
13
13
|
=======
|
|
14
14
|
|
|
15
|
-
|
|
|
15
|
+
|github-actions| |appveyor| |coveralls|
|
|
16
16
|
|
|
17
|
-
.. |
|
|
18
|
-
:target: https://
|
|
17
|
+
.. |github-actions| image:: https://github.com/Toblerity/Shapely/workflows/Tests%20(Linux)/badge.svg
|
|
18
|
+
:target: https://github.com/Toblerity/Shapely/actions
|
|
19
19
|
|
|
20
|
-
.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Shapely?branch=
|
|
21
|
-
:target: https://ci.appveyor.com/project/frsci/shapely?branch=
|
|
20
|
+
.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Shapely?branch=master&svg=true
|
|
21
|
+
:target: https://ci.appveyor.com/project/frsci/shapely?branch=master
|
|
22
22
|
|
|
23
|
-
.. |coveralls| image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=
|
|
24
|
-
:target: https://coveralls.io/github/Toblerity/Shapely?branch=
|
|
23
|
+
.. |coveralls| image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
|
|
24
|
+
:target: https://coveralls.io/github/Toblerity/Shapely?branch=master
|
|
25
25
|
|
|
26
26
|
Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
27
27
|
|
|
@@ -295,6 +295,57 @@ Description: =======
|
|
|
295
295
|
Changes
|
|
296
296
|
=======
|
|
297
297
|
|
|
298
|
+
1.8a1 (2021-03-03)
|
|
299
|
+
------------------
|
|
300
|
+
|
|
301
|
+
Shapely 1.8.0 will be a transitional version. There are a few bug fixes and new
|
|
302
|
+
features, but it is mainly about warning of the upcoming changes in 2.0.0.
|
|
303
|
+
Several more pre-releases before 1.8.0 are expected.
|
|
304
|
+
|
|
305
|
+
Deprecations:
|
|
306
|
+
|
|
307
|
+
The following functions and geometry attributes and methods will be removed in
|
|
308
|
+
version 2.0.0.
|
|
309
|
+
|
|
310
|
+
- ops.cascaded_union
|
|
311
|
+
- geometry .empty()
|
|
312
|
+
- geometry .to_wkb() and .to_wkt()
|
|
313
|
+
- geometry .ctypes and .__array_interface__
|
|
314
|
+
- multi-part geometry .__len__
|
|
315
|
+
|
|
316
|
+
Geometry objects will become immutable in version 2.0.0.
|
|
317
|
+
|
|
318
|
+
The STRtree class will be entirely changed in 2.0.0. The exact future API is
|
|
319
|
+
not yet decided, but will be decided before 1.8.0 is released.
|
|
320
|
+
|
|
321
|
+
Deprecation warnings will be emitted in 1.8a1 when any of these features are
|
|
322
|
+
used.
|
|
323
|
+
|
|
324
|
+
New features:
|
|
325
|
+
|
|
326
|
+
- Add a normalize() method to geometry classes, exposing the GEOSNormalize
|
|
327
|
+
algorithm (#1090).
|
|
328
|
+
- Initialize STRtree with a capacity of 10 items per node (#1070).
|
|
329
|
+
- Load libraries relocated to shapely/.libs by auditwheel versions < 3.1 or
|
|
330
|
+
relocated to Shapely.libs by auditwheel versions >= 3.1.
|
|
331
|
+
- shapely.ops.voronoi_diagram() computes the Voronoi Diagram of a geometry or
|
|
332
|
+
geometry collection (#833, #851).
|
|
333
|
+
- shapely.validation.make_valid() fixes invalid geometries (#883)
|
|
334
|
+
|
|
335
|
+
Bug fixes:
|
|
336
|
+
|
|
337
|
+
- For pyinstaller we now handle the case of more than one GEOS library in the
|
|
338
|
+
environment, such as when fiona and rasterio wheels are co-installed with
|
|
339
|
+
shapely (#1071).
|
|
340
|
+
- The ops.split function now splits on touch to eliminate confusing
|
|
341
|
+
discrepancies between results using multi and single part splitters (#1034).
|
|
342
|
+
- Several issues with duplication and order of vertices in ops.substring have
|
|
343
|
+
been fixed (#1008).
|
|
344
|
+
|
|
345
|
+
Packaging:
|
|
346
|
+
|
|
347
|
+
- The wheels uploaded to PyPI will include GEOS 3.9.1.
|
|
348
|
+
|
|
298
349
|
1.7.1 (2020-08-20)
|
|
299
350
|
------------------
|
|
300
351
|
|
|
@@ -1016,16 +1067,14 @@ Classifier: Intended Audience :: Developers
|
|
|
1016
1067
|
Classifier: Intended Audience :: Science/Research
|
|
1017
1068
|
Classifier: License :: OSI Approved :: BSD License
|
|
1018
1069
|
Classifier: Operating System :: OS Independent
|
|
1019
|
-
Classifier: Programming Language :: Python :: 2
|
|
1020
|
-
Classifier: Programming Language :: Python :: 2.7
|
|
1021
1070
|
Classifier: Programming Language :: Python :: 3
|
|
1022
1071
|
Classifier: Programming Language :: Python :: 3.5
|
|
1023
1072
|
Classifier: Programming Language :: Python :: 3.6
|
|
1024
1073
|
Classifier: Programming Language :: Python :: 3.7
|
|
1025
1074
|
Classifier: Programming Language :: Python :: 3.8
|
|
1075
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
1026
1076
|
Classifier: Topic :: Scientific/Engineering :: GIS
|
|
1027
|
-
Requires:
|
|
1028
|
-
|
|
1077
|
+
Requires-Python: >=3.5
|
|
1078
|
+
Provides-Extra: vectorized
|
|
1029
1079
|
Provides-Extra: test
|
|
1030
1080
|
Provides-Extra: all
|
|
1031
|
-
Provides-Extra: vectorized
|
|
@@ -65,12 +65,11 @@ shapely/speedups/__init__.py
|
|
|
65
65
|
shapely/speedups/_speedups.c
|
|
66
66
|
shapely/speedups/_speedups.pyx
|
|
67
67
|
shapely/vectorized/__init__.py
|
|
68
|
-
shapely/vectorized/_vectorized.c
|
|
69
68
|
shapely/vectorized/_vectorized.pyx
|
|
70
69
|
tests/__init__.py
|
|
71
|
-
tests/binascii_hex.txt
|
|
72
70
|
tests/conftest.py
|
|
73
71
|
tests/test_affinity.py
|
|
72
|
+
tests/test_binascii_hex.txt
|
|
74
73
|
tests/test_box.py
|
|
75
74
|
tests/test_buffer.py
|
|
76
75
|
tests/test_cga.py
|
|
@@ -88,6 +87,7 @@ tests/test_empty_polygons.py
|
|
|
88
87
|
tests/test_equality.py
|
|
89
88
|
tests/test_geointerface.py
|
|
90
89
|
tests/test_geometry_base.py
|
|
90
|
+
tests/test_geometry_geo.py
|
|
91
91
|
tests/test_geomseq.py
|
|
92
92
|
tests/test_geos_err_handler.py
|
|
93
93
|
tests/test_getitem.py
|
|
@@ -98,6 +98,7 @@ tests/test_linear_referencing.py
|
|
|
98
98
|
tests/test_linemerge.py
|
|
99
99
|
tests/test_linestring.py
|
|
100
100
|
tests/test_locale.py
|
|
101
|
+
tests/test_make_valid.py
|
|
101
102
|
tests/test_mapping.py
|
|
102
103
|
tests/test_minimum_clearance.py
|
|
103
104
|
tests/test_minimum_rotated_rectangle.py
|
|
@@ -134,6 +135,7 @@ tests/test_transform.py
|
|
|
134
135
|
tests/test_union.py
|
|
135
136
|
tests/test_validation.py
|
|
136
137
|
tests/test_vectorized.py
|
|
138
|
+
tests/test_voronoi_diagram.py
|
|
137
139
|
tests/test_wkb.py
|
|
138
140
|
tests/test_wkt.py
|
|
139
141
|
tests/test_xy.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.8a1
|
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
# This file is dual licensed under the terms of the Apache License, Version
|
|
2
2
|
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
|
|
3
3
|
# for complete details.
|
|
4
|
-
from __future__ import absolute_import, division, print_function
|
|
5
|
-
|
|
6
|
-
import sys
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
PY2 = sys.version_info[0] == 2
|
|
10
|
-
PY3 = sys.version_info[0] == 3
|
|
11
4
|
|
|
12
5
|
# flake8: noqa
|
|
13
6
|
|
|
14
|
-
if PY3:
|
|
15
|
-
string_types = str,
|
|
16
|
-
else:
|
|
17
|
-
string_types = basestring,
|
|
18
|
-
|
|
19
7
|
|
|
20
8
|
def with_metaclass(meta, *bases):
|
|
21
9
|
"""
|
|
@@ -12,7 +12,6 @@ from pyparsing import ParseException, ParseResults, stringStart, stringEnd
|
|
|
12
12
|
from pyparsing import ZeroOrMore, Group, Forward, QuotedString
|
|
13
13
|
from pyparsing import Literal as L # noqa
|
|
14
14
|
|
|
15
|
-
from ._compat import string_types
|
|
16
15
|
from .specifiers import Specifier, InvalidSpecifier
|
|
17
16
|
|
|
18
17
|
|
|
@@ -132,7 +131,7 @@ def _coerce_parse_result(results):
|
|
|
132
131
|
|
|
133
132
|
|
|
134
133
|
def _format_marker(marker, first=True):
|
|
135
|
-
assert isinstance(marker, (list, tuple,
|
|
134
|
+
assert isinstance(marker, (list, tuple, str))
|
|
136
135
|
|
|
137
136
|
# Sometimes we have a structure like [[...]] which is a single item list
|
|
138
137
|
# where the single item is itself it's own list. In that case we want skip
|
|
@@ -201,7 +200,7 @@ def _evaluate_markers(markers, environment):
|
|
|
201
200
|
groups = [[]]
|
|
202
201
|
|
|
203
202
|
for marker in markers:
|
|
204
|
-
assert isinstance(marker, (list, tuple,
|
|
203
|
+
assert isinstance(marker, (list, tuple, str))
|
|
205
204
|
|
|
206
205
|
if isinstance(marker, list):
|
|
207
206
|
groups[-1].append(_evaluate_markers(marker, environment))
|
|
@@ -8,7 +8,7 @@ import functools
|
|
|
8
8
|
import itertools
|
|
9
9
|
import re
|
|
10
10
|
|
|
11
|
-
from ._compat import
|
|
11
|
+
from ._compat import with_metaclass
|
|
12
12
|
from .version import Version, LegacyVersion, parse
|
|
13
13
|
|
|
14
14
|
|
|
@@ -112,7 +112,7 @@ class _IndividualSpecifier(BaseSpecifier):
|
|
|
112
112
|
return hash(self._spec)
|
|
113
113
|
|
|
114
114
|
def __eq__(self, other):
|
|
115
|
-
if isinstance(other,
|
|
115
|
+
if isinstance(other, str):
|
|
116
116
|
try:
|
|
117
117
|
other = self.__class__(other)
|
|
118
118
|
except InvalidSpecifier:
|
|
@@ -123,7 +123,7 @@ class _IndividualSpecifier(BaseSpecifier):
|
|
|
123
123
|
return self._spec == other._spec
|
|
124
124
|
|
|
125
125
|
def __ne__(self, other):
|
|
126
|
-
if isinstance(other,
|
|
126
|
+
if isinstance(other, str):
|
|
127
127
|
try:
|
|
128
128
|
other = self.__class__(other)
|
|
129
129
|
except InvalidSpecifier:
|
|
@@ -625,7 +625,7 @@ class SpecifierSet(BaseSpecifier):
|
|
|
625
625
|
return hash(self._specs)
|
|
626
626
|
|
|
627
627
|
def __and__(self, other):
|
|
628
|
-
if isinstance(other,
|
|
628
|
+
if isinstance(other, str):
|
|
629
629
|
other = SpecifierSet(other)
|
|
630
630
|
elif not isinstance(other, SpecifierSet):
|
|
631
631
|
return NotImplemented
|
|
@@ -648,7 +648,7 @@ class SpecifierSet(BaseSpecifier):
|
|
|
648
648
|
return specifier
|
|
649
649
|
|
|
650
650
|
def __eq__(self, other):
|
|
651
|
-
if isinstance(other,
|
|
651
|
+
if isinstance(other, str):
|
|
652
652
|
other = SpecifierSet(other)
|
|
653
653
|
elif isinstance(other, _IndividualSpecifier):
|
|
654
654
|
other = SpecifierSet(str(other))
|
|
@@ -658,7 +658,7 @@ class SpecifierSet(BaseSpecifier):
|
|
|
658
658
|
return self._specs == other._specs
|
|
659
659
|
|
|
660
660
|
def __ne__(self, other):
|
|
661
|
-
if isinstance(other,
|
|
661
|
+
if isinstance(other, str):
|
|
662
662
|
other = SpecifierSet(other)
|
|
663
663
|
elif isinstance(other, _IndividualSpecifier):
|
|
664
664
|
other = SpecifierSet(str(other))
|