[Git][debian-gis-team/python-shapely][upstream] New upstream version 2.1.2
Bas Couwenberg (@sebastic)
gitlab at salsa.debian.org
Fri Sep 26 17:28:00 BST 2025
Bas Couwenberg pushed to branch upstream at Debian GIS Project / python-shapely
Commits:
7d895e25 by Bas Couwenberg at 2025-09-26T18:19:41+02:00
New upstream version 2.1.2
- - - - -
11 changed files:
- .github/workflows/pre-commit.yml
- .github/workflows/release.yml
- .github/workflows/tests.yml
- CHANGES.txt
- CITATION.cff
- docs/release/2.x.rst
- pyproject.toml
- shapely/_version.py
- shapely/set_operations.py
- shapely/tests/test_measurement.py
- shapely/tests/test_set_operations.py
Changes:
=====================================
.github/workflows/pre-commit.yml
=====================================
@@ -6,9 +6,9 @@ jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout at v4
+ - uses: actions/checkout at v5
- - uses: actions/setup-python at v5
+ - uses: actions/setup-python at v6
with:
python-version: 3.x
=====================================
.github/workflows/release.yml
=====================================
@@ -28,12 +28,12 @@ jobs:
steps:
- name: Checkout source
- uses: actions/checkout at v4
+ uses: actions/checkout at v5
with:
fetch-depth: 0
- name: Set up Python
- uses: actions/setup-python at v5
+ uses: actions/setup-python at v6
with:
python-version: "3.x"
@@ -75,11 +75,11 @@ jobs:
cibw_build: "*musllinux_aarch64"
arch: aarch64
env:
- basetag: 2024.08.12-1
+ basetag: 2025.08.02-1
steps:
- name: Checkout source
- uses: actions/checkout at v4
+ uses: actions/checkout at v5
with:
fetch-depth: 0
@@ -113,7 +113,7 @@ jobs:
shell: bash
- name: Build wheels
- uses: pypa/cibuildwheel at v2.23.3
+ uses: pypa/cibuildwheel at v3.2.0
env:
CIBW_ARCHS: ${{ matrix.arch }}
# TEMP don't use automated/isolated build environment, but manually
@@ -145,10 +145,10 @@ jobs:
fail-fast: false
matrix:
include:
- - os: windows-2019
+ - os: windows-2022
arch: x86
msvc_arch: x86
- - os: windows-2019
+ - os: windows-2022
arch: AMD64
msvc_arch: x64
- os: macos-13
@@ -160,7 +160,7 @@ jobs:
steps:
- name: Checkout source
- uses: actions/checkout at v4
+ uses: actions/checkout at v5
with:
fetch-depth: 0
@@ -177,7 +177,7 @@ jobs:
- name: Add MSVC LICENSE
run: cp ci/wheelbuilder/LICENSE_win32 .
shell: bash
- if: ${{ matrix.os == 'windows-2019' }}
+ if: ${{ startsWith(matrix.os, 'windows') }}
- name: Activate MSVC
uses: ilammy/msvc-dev-cmd at v1
@@ -186,7 +186,7 @@ jobs:
if: ${{ matrix.msvc_arch }}
- name: Build wheels
- uses: pypa/cibuildwheel at v2.23.3
+ uses: pypa/cibuildwheel at v3.2.0
env:
CIBW_ARCHS: ${{ matrix.arch }}
CIBW_ENVIRONMENT_MACOS:
@@ -230,7 +230,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository == 'shapely/shapely' && github.ref == 'refs/heads/main'
steps:
- - uses: actions/download-artifact at v4
+ - uses: actions/download-artifact at v5
with:
pattern: release-*
merge-multiple: true
@@ -248,7 +248,7 @@ jobs:
# release on every tag
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/')
steps:
- - uses: actions/download-artifact at v4
+ - uses: actions/download-artifact at v5
with:
pattern: release-*
merge-multiple: true
=====================================
.github/workflows/tests.yml
=====================================
@@ -12,9 +12,9 @@ jobs:
strategy:
fail-fast: false
matrix:
- os: [ubuntu-latest, macos-13, windows-2019]
+ os: [ubuntu-latest, macos-13, windows-2022]
architecture: [x64]
- geos: [3.9.6, 3.10.7, 3.11.5, 3.12.3, 3.13.1, main]
+ geos: [3.9.6, 3.10.7, 3.11.5, 3.12.3, 3.13.1, 3.14.0, main]
include:
# 2020
- python: "3.10"
@@ -39,6 +39,10 @@ jobs:
matplotlib: true
doctest: true
extra_pytest_args: "-W error" # error on warnings
+ # 2025
+ - python: "3.14"
+ geos: 3.14.0
+ numpy: 2.3.3
# free threaded Python (no numpy version to indicate installing nightly cython and numpy)
- os: ubuntu-22.04
python: "3.13t"
@@ -53,12 +57,12 @@ jobs:
geos: main
extra_pytest_args: "-W error" # error on warnings
# enable two 32-bit windows builds:
- - os: windows-2019
+ - os: windows-2022
architecture: x86
python: "3.10"
geos: 3.9.6
numpy: 1.21.6
- - os: windows-2019
+ - os: windows-2022
architecture: x86
python: "3.11"
geos: 3.12.3
@@ -80,13 +84,13 @@ jobs:
run: |
echo 'GEOS_INSTALL=${{ github.workspace }}\geosinstall\geos-${{ matrix.geos }}' >> $GITHUB_ENV
echo 'GEOS_BUILD=${{ github.workspace }}\geosbuild' >> $GITHUB_ENV
- if: ${{ matrix.os == 'windows-2019' }}
+ if: ${{ startsWith(matrix.os, 'windows') }}
- name: Checkout Shapely
- uses: actions/checkout at v4
+ uses: actions/checkout at v5
- name: Checkout GEOS (main)
- uses: actions/checkout at v4
+ uses: actions/checkout at v5
with:
repository: libgeos/geos
ref: main
@@ -100,7 +104,7 @@ jobs:
if: ${{ matrix.geos == 'main' }}
- name: Set up Python ${{ matrix.python }}
- uses: Quansight-Labs/setup-python at 869aeafb7eeb9dc48ba68acc0479e6fc3fd7ce5e # v5.4.0
+ uses: actions/setup-python at v6
with:
python-version: ${{ matrix.python }}
architecture: ${{ matrix.architecture }}
@@ -118,7 +122,7 @@ jobs:
uses: ilammy/msvc-dev-cmd at v1
with:
arch: ${{ matrix.architecture }}
- if: ${{ matrix.os == 'windows-2019' }}
+ if: ${{ startsWith(matrix.os, 'windows') }}
- name: Install GEOS
run: |
=====================================
CHANGES.txt
=====================================
@@ -1,6 +1,12 @@
Changes
=======
+2.1.2 (2025-09-24)
+------------------
+
+Wheels are available for Python 3.14 (and still include GEOS 3.13.1).
+
+
2.1.1 (2025-05-19)
------------------
=====================================
CITATION.cff
=====================================
@@ -2,8 +2,8 @@ cff-version: 1.2.0
message: "Please cite this software using these metadata."
type: software
title: Shapely
-version: "2.1.1"
-date-released: "2025-05-19"
+version: "2.1.2"
+date-released: "2025-09-24"
doi: 10.5281/zenodo.5597138
abstract: "Manipulation and analysis of geometric objects in the Cartesian plane."
repository-artifact: https://pypi.org/project/Shapely
=====================================
docs/release/2.x.rst
=====================================
@@ -1,6 +1,13 @@
Version 2.x
===========
+.. _version-2-1-2:
+
+Version 2.1.2 (2025-09-24)
+--------------------------
+
+Wheels are available for Python 3.14 (and still include GEOS 3.13.1).
+
.. _version-2-1-1:
Version 2.1.1 (2025-05-19)
=====================================
pyproject.toml
=====================================
@@ -35,6 +35,7 @@ classifiers = [
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
+ "Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering :: GIS",
]
requires-python = ">=3.10"
@@ -74,7 +75,7 @@ skip = ["pp*", "*_i686", "*_ppc64le", "*_s390x"]
build-verbosity = 1
test-requires = "pytest"
test-command = "pytest --pyargs shapely.tests"
-free-threaded-support = true
+enable = ["cpython-freethreading"]
[tool.coverage.run]
source = ["shapely"]
=====================================
shapely/_version.py
=====================================
@@ -25,9 +25,9 @@ def get_keywords():
# setup.py/versioneer.py will grep for the variable names, so they must
# each be defined on a line of their own. _version.py will just call
# get_keywords().
- git_refnames = " (HEAD -> main, tag: 2.1.1)"
- git_full = "b49155ea7eaec698a0357fb9bc1147533b566916"
- git_date = "2025-05-19 12:40:46 +0200"
+ git_refnames = " (tag: 2.1.2, maint-2.1)"
+ git_full = "5fb639d1056888d135fe56bfaf750c9648addeec"
+ git_date = "2025-09-24 15:22:48 +0200"
keywords = {"refnames": git_refnames, "full": git_full, "date": git_date}
return keywords
=====================================
shapely/set_operations.py
=====================================
@@ -562,6 +562,9 @@ def coverage_union(a, b, **kwargs):
This is an optimized version of union which assumes the polygons to be
non-overlapping.
+ If this assumption is not met, the exact result is not guaranteed
+ (depending on the GEOS version, it may return the input unchanged or raise
+ an error).
Parameters
----------
=====================================
shapely/tests/test_measurement.py
=====================================
@@ -247,7 +247,7 @@ def test_frechet_distance(geom1, geom2, expected):
(
shapely.linestrings([[0, 0], [100, 0]]),
shapely.linestrings([[0, 0], [50, 50], [100, 0]]),
- 0.001,
+ 0.002,
50,
)
],
=====================================
shapely/tests/test_set_operations.py
=====================================
@@ -287,7 +287,11 @@ def test_coverage_union_overlapping_inputs():
polygon = Polygon([(1, 1), (1, 0), (0, 0), (0, 1), (1, 1)])
other = Polygon([(1, 0), (0.9, 1), (2, 1), (2, 0), (1, 0)])
- if shapely.geos_version >= (3, 12, 0):
+ if shapely.geos_version >= (3, 14, 0):
+ # Overlapping polygons raise an error again
+ with pytest.raises(shapely.GEOSException, match="TopologyException"):
+ shapely.coverage_union(polygon, other)
+ elif shapely.geos_version >= (3, 12, 0):
# Return mostly unchanged output
result = shapely.coverage_union(polygon, other)
expected = shapely.multipolygons([polygon, other])
View it on GitLab: https://salsa.debian.org/debian-gis-team/python-shapely/-/commit/7d895e25bdf75d24d035359aa2954f7f52e59e8b
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/python-shapely/-/commit/7d895e25bdf75d24d035359aa2954f7f52e59e8b
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20250926/ccc25926/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list