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);
