Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pygeos for openSUSE:Factory 
checked in at 2023-09-04 22:53:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pygeos (Old)
 and      /work/SRC/openSUSE:Factory/.python-pygeos.new.1766 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pygeos"

Mon Sep  4 22:53:28 2023 rev:2 rq:1108823 version:0.14

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pygeos/python-pygeos.changes      
2022-10-12 18:27:12.822022990 +0200
+++ /work/SRC/openSUSE:Factory/.python-pygeos.new.1766/python-pygeos.changes    
2023-09-04 22:54:01.364701820 +0200
@@ -1,0 +2,9 @@
+Tue Aug 29 12:54:10 UTC 2023 - Ben Greiner <[email protected]>
+
+- Update to 0.14
+  * Dropped support for Python 3.6 (#458).
+  * Fixed unittests for GEOS 3.11 (#458).
+- Limit to Cython 0.X
+- Use PEP517 macros instead of deprecated setup.py
+
+-------------------------------------------------------------------

Old:
----
  pygeos-0.13.tar.gz

New:
----
  pygeos-0.14.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pygeos.spec ++++++
--- /var/tmp/diff_new_pack.E0Zd00/_old  2023-09-04 22:54:02.572744522 +0200
+++ /var/tmp/diff_new_pack.E0Zd00/_new  2023-09-04 22:54:02.580744805 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pygeos
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,25 +16,26 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python2 1
+%{?sle15_python_module_pythons}
 Name:           python-pygeos
-Version:        0.13
+Version:        0.14
 Release:        0
 Summary:        GEOS wrapped in numpy ufuncs
 License:        BSD-3-Clause
 URL:            https://github.com/pygeos/pygeos
 Source:         
https://files.pythonhosted.org/packages/source/p/pygeos/pygeos-%{version}.tar.gz
-BuildRequires:  %{python_module Cython}
-BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module Cython with %python-Cython < 3}
+BuildRequires:  %{python_module devel >= 3.7}
 BuildRequires:  %{python_module numpy-devel}
-BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module setuptools >= 61}
+BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  libgeos-devel
 BuildRequires:  python-rpm-macros
 Requires:       python-numpy >= 1.13
 # SECTION test requirements
-BuildRequires:  %{python_module numpy >= 1.13}
+BuildRequires:  %{python_module numpy}
 BuildRequires:  %{python_module pytest}
 # /SECTION
 %python_subpackages
@@ -51,10 +52,10 @@
 
 %build
 export CFLAGS="%{optflags}"
-%python_build
+%pyproject_wheel
 
 %install
-%python_install
+%pyproject_install
 %python_expand rm %{buildroot}%{$python_sitearch}/pygeos/_{geometry,geos}.c
 %python_expand %fdupes %{buildroot}%{$python_sitearch}
 
@@ -66,6 +67,7 @@
 %files %{python_files}
 %doc README.rst
 %license LICENSE
-%{python_sitearch}/pygeos*/
+%{python_sitearch}/pygeos
+%{python_sitearch}/pygeos-%{version}.dist-info
 
 %changelog

++++++ pygeos-0.13.tar.gz -> pygeos-0.14.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygeos-0.13/PKG-INFO new/pygeos-0.14/PKG-INFO
--- old/pygeos-0.13/PKG-INFO    2022-08-25 18:30:16.988193000 +0200
+++ new/pygeos-0.14/PKG-INFO    2022-12-12 09:21:35.196032500 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pygeos
-Version: 0.13
+Version: 0.14
 Summary: GEOS wrapped in numpy ufuncs
 Home-page: https://github.com/pygeos/pygeos
 Author: Casper van der Wel
@@ -15,7 +15,7 @@
 Classifier: Operating System :: Unix
 Classifier: Operating System :: MacOS
 Classifier: Operating System :: Microsoft :: Windows
-Requires-Python: >=3.6
+Requires-Python: >=3.7
 Provides-Extra: test
 Provides-Extra: docs
 License-File: LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygeos-0.13/pygeos/_version.py 
new/pygeos-0.14/pygeos/_version.py
--- old/pygeos-0.13/pygeos/_version.py  2022-08-25 18:30:16.992193000 +0200
+++ new/pygeos-0.14/pygeos/_version.py  2022-12-12 09:21:35.200032500 +0100
@@ -8,11 +8,11 @@
 
 version_json = '''
 {
- "date": "2022-08-25T18:28:12+0200",
+ "date": "2022-12-12T09:18:58+0100",
  "dirty": false,
  "error": null,
- "full-revisionid": "f0e3c789e359770be9806bd39afbb618a0510f1d",
- "version": "0.13"
+ "full-revisionid": "0577df4e94f4f5cf955ca5e729ca4aea4686ad8a",
+ "version": "0.14"
 }
 '''  # END VERSION_JSON
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygeos-0.13/pygeos/io.py new/pygeos-0.14/pygeos/io.py
--- old/pygeos-0.13/pygeos/io.py        2022-08-25 18:29:20.000000000 +0200
+++ new/pygeos-0.14/pygeos/io.py        2022-12-12 09:21:17.000000000 +0100
@@ -1,3 +1,5 @@
+import os
+import sys
 import warnings
 from collections.abc import Sized
 
@@ -78,9 +80,12 @@
 
             # shapely has something like: "3.6.2-CAPI-1.10.2 4d2925d6"
             # pygeos has something like: "3.6.2-CAPI-1.10.2"
-            shapely_compatible = True
-            if not geos_version_string.startswith(geos_capi_version_string):
-                shapely_compatible = False
+            shapely_compatible = False
+            if os.path.exists(os.path.join(sys.prefix, "conda-meta")):
+                if geos_version_string.startswith(geos_capi_version_string):
+                    # only if using conda and having the same GEOS version
+                    shapely_compatible = True
+            if not shapely_compatible:
                 warnings.warn(
                     "The shapely GEOS version ({}) is incompatible "
                     "with the PyGEOS GEOS version ({}). "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygeos-0.13/pygeos/tests/test_constructive.py 
new/pygeos-0.14/pygeos/tests/test_constructive.py
--- old/pygeos-0.13/pygeos/tests/test_constructive.py   2022-08-25 
18:29:20.000000000 +0200
+++ new/pygeos-0.14/pygeos/tests/test_constructive.py   2022-12-12 
09:21:17.000000000 +0100
@@ -48,7 +48,11 @@
 @pytest.mark.parametrize("geometry", all_types)
 @pytest.mark.parametrize("func", CONSTRUCTIVE_FLOAT_ARG)
 def test_float_arg_array(geometry, func):
-    if func is pygeos.offset_curve and pygeos.get_type_id(geometry) not in [1, 
2]:
+    if (
+        func is pygeos.offset_curve
+        and pygeos.get_type_id(geometry) not in [1, 2]
+        and pygeos.geos_version < (3, 11, 0)
+    ):
         with pytest.raises(GEOSException, match="only accept linestrings"):
             func([geometry, geometry], 0.0)
         return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygeos-0.13/pygeos/tests/test_creation.py 
new/pygeos-0.14/pygeos/tests/test_creation.py
--- old/pygeos-0.13/pygeos/tests/test_creation.py       2022-08-25 
18:29:20.000000000 +0200
+++ new/pygeos-0.14/pygeos/tests/test_creation.py       2022-12-12 
09:21:17.000000000 +0100
@@ -44,9 +44,12 @@
 
 
 def test_points_invalid_ndim():
-    with pytest.raises(pygeos.GEOSException):
+    with pytest.raises(ValueError, match="dimension should be 2 or 3, got 4"):
         pygeos.points([0, 1, 2, 3])
 
+    with pytest.raises(ValueError, match="dimension should be 2 or 3, got 1"):
+        pygeos.points([0])
+
 
 @pytest.mark.skipif(pygeos.geos_version < (3, 10, 0), reason="GEOS < 3.10")
 def test_points_nan_becomes_empty():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygeos-0.13/pygeos/tests/test_io.py 
new/pygeos-0.14/pygeos/tests/test_io.py
--- old/pygeos-0.13/pygeos/tests/test_io.py     2022-08-25 18:29:20.000000000 
+0200
+++ new/pygeos-0.14/pygeos/tests/test_io.py     2022-12-12 09:21:17.000000000 
+0100
@@ -224,16 +224,14 @@
         pygeos.from_wkb(1)
 
     # invalid WKB
-    with pytest.raises(pygeos.GEOSException, match="Unexpected EOF parsing 
WKB"):
-        result = pygeos.from_wkb(b"\x01\x01\x00\x00\x00\x00")
-        assert result is None
-
-    # invalid ring in WKB
     with pytest.raises(
         pygeos.GEOSException,
-        match="Points of LinearRing do not form a closed linestring",
+        match=(
+            "Unexpected EOF parsing WKB|"
+            "ParseException: Input buffer is smaller than requested object 
size"
+        ),
     ):
-        result = pygeos.from_wkb(INVALID_WKB)
+        result = pygeos.from_wkb(b"\x01\x01\x00\x00\x00\x00")
         assert result is None
 
 
@@ -327,7 +325,7 @@
         pygeos.to_wkt(1)
 
     with pytest.raises(pygeos.GEOSException):
-        pygeos.to_wkt(point, output_dimension=4)
+        pygeos.to_wkt(point, output_dimension=5)
 
 
 def test_to_wkt_point_empty():
@@ -443,7 +441,7 @@
         pygeos.to_wkb(1)
 
     with pytest.raises(pygeos.GEOSException):
-        pygeos.to_wkb(point, output_dimension=4)
+        pygeos.to_wkb(point, output_dimension=5)
 
 
 def test_to_wkb_byte_order():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygeos-0.13/pygeos.egg-info/PKG-INFO 
new/pygeos-0.14/pygeos.egg-info/PKG-INFO
--- old/pygeos-0.13/pygeos.egg-info/PKG-INFO    2022-08-25 18:30:16.000000000 
+0200
+++ new/pygeos-0.14/pygeos.egg-info/PKG-INFO    2022-12-12 09:21:35.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pygeos
-Version: 0.13
+Version: 0.14
 Summary: GEOS wrapped in numpy ufuncs
 Home-page: https://github.com/pygeos/pygeos
 Author: Casper van der Wel
@@ -15,7 +15,7 @@
 Classifier: Operating System :: Unix
 Classifier: Operating System :: MacOS
 Classifier: Operating System :: Microsoft :: Windows
-Requires-Python: >=3.6
+Requires-Python: >=3.7
 Provides-Extra: test
 Provides-Extra: docs
 License-File: LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygeos-0.13/pyproject.toml 
new/pygeos-0.14/pyproject.toml
--- old/pygeos-0.13/pyproject.toml      2022-08-25 18:29:20.000000000 +0200
+++ new/pygeos-0.14/pyproject.toml      2022-12-12 09:21:17.000000000 +0100
@@ -1,19 +1,8 @@
 [build-system]
 # numpy and Cython are required to execute setup.py to build Cython extensions
 requires = [
-    "setuptools",
-    "wheel",
-    "numpy==1.13.3; python_version=='3.6' and platform_machine != 'aarch64'",
-    "numpy==1.19.3; python_version=='3.6' and platform_machine == 'aarch64'",
-    "numpy==1.14.5; python_version=='3.7' and platform_machine != 'aarch64'",
-    "numpy==1.19.3; python_version=='3.7' and platform_machine == 'aarch64'",
-    "numpy==1.17.3; python_version=='3.8' and platform_machine != 'aarch64' 
and platform_machine != 'arm64'",
-    "numpy==1.19.3; python_version=='3.8' and platform_machine == 'aarch64'",
-    "numpy==1.21.3; python_version=='3.8' and platform_machine == 'arm64'",
-    "numpy==1.19.3; python_version=='3.9' and platform_machine != 'arm64'",
-    "numpy==1.21.3; python_version=='3.9' and platform_machine == 'arm64'",
-    "numpy==1.21.3; python_version=='3.10'",
-    # do not pin numpy on future versions of python to avoid incompatible 
numpy and python versions
-    "numpy; python_version>='3.11'",
-    "Cython>=0.29",
+    "Cython~=0.29",
+    "oldest-supported-numpy",
+    "setuptools>=61.0.0",
 ]
+build-backend = "setuptools.build_meta"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygeos-0.13/setup.py new/pygeos-0.14/setup.py
--- old/pygeos-0.13/setup.py    2022-08-25 18:29:20.000000000 +0200
+++ new/pygeos-0.14/setup.py    2022-12-12 09:21:17.000000000 +0100
@@ -9,6 +9,11 @@
 from setuptools import Extension, find_packages, setup
 from setuptools.command.build_ext import build_ext as _build_ext
 
+
+# ensure the current directory is on sys.path so versioneer can be imported
+# when pip uses PEP 517/518 build rules.
+# https://github.com/python-versioneer/python-versioneer/issues/193
+sys.path.append(os.path.dirname(__file__))
 import versioneer
 
 # Skip Cython build if not available
@@ -226,7 +231,7 @@
         "test": ["pytest"],
         "docs": ["sphinx", "numpydoc"],
     },
-    python_requires=">=3.6",
+    python_requires=">=3.7",
     include_package_data=True,
     ext_modules=ext_modules,
     classifiers=[
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygeos-0.13/src/ufuncs.c new/pygeos-0.14/src/ufuncs.c
--- old/pygeos-0.13/src/ufuncs.c        2022-08-25 18:29:20.000000000 +0200
+++ new/pygeos-0.14/src/ufuncs.c        2022-12-12 09:21:17.000000000 +0100
@@ -2144,6 +2144,14 @@
   GEOSCoordSequence* coord_seq = NULL;
   GEOSGeometry** geom_arr;
 
+  // check the ordinate dimension before calling GEOSCoordSeq_create_r
+  if (dimensions[1] < 2 || dimensions[1] > 3) {
+    PyErr_Format(PyExc_ValueError,
+                 "The ordinate (last) dimension should be 2 or 3, got %ld",
+                 dimensions[1]);
+    return;
+  }
+
   // allocate a temporary array to store output GEOSGeometry objects
   geom_arr = malloc(sizeof(void*) * dimensions[0]);
   CHECK_ALLOC(geom_arr);
@@ -2261,7 +2269,8 @@
       goto finish;
     }
     /* fill the coordinate sequence */
-    coord_seq = coordseq_from_buffer(ctx, (double*)ip1, n_c1, n_c2, 
ring_closure, cs1, cs2);
+    coord_seq =
+        coordseq_from_buffer(ctx, (double*)ip1, n_c1, n_c2, ring_closure, cs1, 
cs2);
     if (coord_seq == NULL) {
       errstate = PGERR_GEOS_EXCEPTION;
       destroy_geom_arr(ctx, geom_arr, i - 1);

Reply via email to