[Git][debian-gis-team/antimeridian][master] 4 commits: New upstream version 0.4.7
Antonio Valentino (@antonio.valentino)
gitlab at salsa.debian.org
Sat Apr 4 11:50:43 BST 2026
Antonio Valentino pushed to branch master at Debian GIS Project / antimeridian
Commits:
a1818a6c by Antonio Valentino at 2026-04-04T10:43:54+00:00
New upstream version 0.4.7
- - - - -
2aabbce0 by Antonio Valentino at 2026-04-04T10:44:06+00:00
Update upstream source from tag 'upstream/0.4.7'
Update to upstream version '0.4.7'
with Debian dir 83004e930e28ec05b4d983d865bc92e1cc68b378
- - - - -
316620c4 by Antonio Valentino at 2026-04-04T10:44:38+00:00
New upstream release
- - - - -
2141821d by Antonio Valentino at 2026-04-04T10:50:11+00:00
Set distribution to unstable
- - - - -
9 changed files:
- .github/workflows/release-please.yaml
- .release-please-manifest.json
- CHANGELOG.md
- debian/changelog
- pyproject.toml
- src/antimeridian/_cli.py
- src/antimeridian/_implementation.py
- tests/test_polygon.py
- uv.lock
Changes:
=====================================
.github/workflows/release-please.yaml
=====================================
@@ -16,7 +16,7 @@ jobs:
release_created: ${{ steps.release.outputs.release_created }}
tag_name: ${{ steps.release.outputs.tag_name }}
steps:
- - uses: actions/create-github-app-token at v2.2.1
+ - uses: actions/create-github-app-token at v3.0.0
id: app-token
with:
app-id: ${{ vars.ORCA_BRO_ID }}
=====================================
.release-please-manifest.json
=====================================
@@ -1,3 +1,3 @@
{
- ".": "0.4.6"
+ ".": "0.4.7"
}
=====================================
CHANGELOG.md
=====================================
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [0.4.7](https://github.com/gadomski/antimeridian/compare/v0.4.6...v0.4.7) (2026-04-03)
+
+
+### Bug Fixes
+
+* don't warn if user sets fix_winding ([#213](https://github.com/gadomski/antimeridian/issues/213)) ([291df23](https://github.com/gadomski/antimeridian/commit/291df233654265228698a552021f2c1d2492e83e))
+
## [0.4.6](https://github.com/gadomski/antimeridian/compare/v0.4.5...v0.4.6) (2026-03-03)
=====================================
debian/changelog
=====================================
@@ -1,9 +1,12 @@
-antimeridian (0.4.6-2) UNRELEASED; urgency=medium
+antimeridian (0.4.7-1) unstable; urgency=medium
- * Team upload.
+ [ Bas Couwenberg ]
* Bump Standards-Version to 4.7.4, no changes.
- -- Bas Couwenberg <sebastic at debian.org> Sat, 04 Apr 2026 10:09:07 +0200
+ [ Antonio Valentino ]
+ * New upstream release.
+
+ -- Antonio Valentino <antonio.valentino at tiscali.it> Sat, 04 Apr 2026 10:50:03 +0000
antimeridian (0.4.6-1) unstable; urgency=medium
=====================================
pyproject.toml
=====================================
@@ -1,6 +1,6 @@
[project]
name = "antimeridian"
-version = "0.4.6"
+version = "0.4.7"
authors = [{ name = "Pete Gadomski", email = "pete.gadomski at gmail.com" }]
description = "Correct GeoJSON geometries that cross the 180th meridian"
readme = "README.md"
=====================================
src/antimeridian/_cli.py
=====================================
@@ -46,10 +46,10 @@ def cli() -> None:
@click.option(
"--fix-winding/--no-fix-winding",
show_default=True,
- default=True,
+ default=None,
help=(
"Automatically fix clockwise polygons to be the correct counterclockwise "
- "winding order"
+ "winding order. If not provided, defaults to fixing with a warning."
),
)
@click.option(
@@ -69,7 +69,7 @@ def fix(
infile: File,
force_north_pole: bool,
force_south_pole: bool,
- fix_winding: bool,
+ fix_winding: bool | None,
great_circle: bool,
reverse: bool,
) -> None:
=====================================
src/antimeridian/_implementation.py
=====================================
@@ -48,7 +48,8 @@ class FixWindingWarning(AntimeridianWarning):
"geometries, this package is reversing the exterior coordinates of the "
"input shape before running its algorithm. If you know that your input "
"shape is correct (i.e. if your data encompasses both poles), pass "
- "`fix_winding=False`."
+ "`fix_winding=False`. To silence this warning while keeping the fix, "
+ "pass `fix_winding=True`."
)
@classmethod
@@ -74,7 +75,7 @@ def fix_geojson(
*,
force_north_pole: bool = False,
force_south_pole: bool = False,
- fix_winding: bool = True,
+ fix_winding: bool | None = None,
great_circle: bool = True,
reverse: bool = False,
) -> dict[str, Any]:
@@ -97,7 +98,10 @@ def fix_geojson(
force_south_pole: If the polygon crosses the antimeridian, force the
joined segments to enclose the south pole.
fix_winding: If the polygon is wound clockwise, reverse its
- coordinates before applying the algorithm.
+ coordinates before applying the algorithm. Defaults to `None`,
+ which behaves like `True` but emits a warning when winding is
+ corrected. Pass `True` to fix winding silently, or `False` to
+ disable winding correction entirely.
great_circle: Compute meridian crossings on the sphere rather than
using 2D geometry.
reverse: Reverse the coordinates before fixing.
@@ -186,7 +190,7 @@ def fix_shape(
*,
force_north_pole: bool = False,
force_south_pole: bool = False,
- fix_winding: bool = True,
+ fix_winding: bool | None = None,
great_circle: bool = True,
reverse: bool = False,
) -> dict[str, Any]:
@@ -209,7 +213,10 @@ def fix_shape(
force_south_pole: If the polygon crosses the antimeridian, force the
joined segments to enclose the south pole.
fix_winding: If the polygon is wound clockwise, reverse its
- coordinates before applying the algorithm.
+ coordinates before applying the algorithm. Defaults to `None`,
+ which behaves like `True` but emits a warning when winding is
+ corrected. Pass `True` to fix winding silently, or `False` to
+ disable winding correction entirely.
great_circle: Compute meridian crossings on the sphere rather than
using 2D geometry.
reverse: Reverse the coordinates before fixing.
@@ -280,7 +287,7 @@ def fix_multi_polygon(
*,
force_north_pole: bool = False,
force_south_pole: bool = False,
- fix_winding: bool = True,
+ fix_winding: bool | None = None,
great_circle: bool = True,
) -> MultiPolygon:
"""Fixes a [shapely.MultiPolygon][].
@@ -295,7 +302,10 @@ def fix_multi_polygon(
force_south_pole: If the polygon crosses the antimeridian, force the
joined segments to enclose the south pole.
fix_winding: If the polygon is wound clockwise, reverse its
- coordinates before applying the algorithm.
+ coordinates before applying the algorithm. Defaults to `None`,
+ which behaves like `True` but emits a warning when winding is
+ corrected. Pass `True` to fix winding silently, or `False` to
+ disable winding correction entirely.
great_circle: Compute meridian crossings on the sphere rather than
using 2D geometry.
@@ -319,7 +329,7 @@ def fix_polygon(
*,
force_north_pole: bool = False,
force_south_pole: bool = False,
- fix_winding: bool = True,
+ fix_winding: bool | None = None,
great_circle: bool = True,
) -> Polygon | MultiPolygon:
"""Fixes a [shapely.Polygon][].
@@ -346,7 +356,10 @@ def fix_polygon(
force_south_pole: If the polygon crosses the antimeridian, force the
joined segments to enclose the south pole.
fix_winding: If the polygon is wound clockwise, reverse its
- coordinates before applying the algorithm.
+ coordinates before applying the algorithm. Defaults to `None`,
+ which behaves like `True` but emits a warning when winding is
+ corrected. Pass `True` to fix winding silently, or `False` to
+ disable winding correction entirely.
great_circle: Compute meridian crossings on the sphere rather than
using 2D geometry.
@@ -447,18 +460,19 @@ def fix_polygon_to_list(
*,
force_north_pole: bool,
force_south_pole: bool,
- fix_winding: bool,
+ fix_winding: bool | None,
great_circle: bool,
) -> list[Polygon]:
exterior = remove_consecutive_duplicates(normalize(list(polygon.exterior.coords)))
segments = segment(exterior, great_circle)
if not segments:
polygon = Polygon(shell=exterior, holes=polygon.interiors)
- if fix_winding and (
+ if fix_winding is not False and (
not shapely.is_ccw(polygon.exterior)
or any(shapely.is_ccw(interior) for interior in polygon.interiors)
):
- FixWindingWarning.warn()
+ if fix_winding is None:
+ FixWindingWarning.warn()
return [shapely.geometry.polygon.orient(polygon)]
else:
return [polygon]
@@ -467,12 +481,13 @@ def fix_polygon_to_list(
for interior in polygon.interiors:
interior_segments = segment(list(interior.coords), great_circle)
if interior_segments:
- if fix_winding:
+ if fix_winding is not False:
unwrapped_linearring = LinearRing(
list((x % 360, y) for x, y in interior.coords)
)
if shapely.is_ccw(unwrapped_linearring):
- FixWindingWarning.warn()
+ if fix_winding is None:
+ FixWindingWarning.warn()
interior_segments = segment(
list(reversed(interior.coords)), great_circle
)
@@ -644,7 +659,7 @@ def extend_over_poles(
*,
force_north_pole: bool,
force_south_pole: bool,
- fix_winding: bool,
+ fix_winding: bool | None,
) -> list[list[XY]]:
left_start = None
right_start = None
@@ -705,7 +720,7 @@ def extend_over_poles(
):
is_over_north_pole = True
segments[right_end.index] += [(180, 90), (-180, 90)]
- if fix_winding and is_over_north_pole and is_over_south_pole:
+ if fix_winding is not False and is_over_north_pole and is_over_south_pole:
# These assertions are here because we're assuming that we set
# `fix_winding` to `False` up in `fix_polygon` if either of the
# `force_*` variables are set.
@@ -715,7 +730,8 @@ def extend_over_poles(
# If we're over both poles and we haven't explicitly disabled the
# fix behavior, reverse all segments, effectively reversing the
# winding order.
- FixWindingWarning.warn()
+ if fix_winding is None:
+ FixWindingWarning.warn()
for segment in original_segments:
segment.reverse()
return original_segments
=====================================
tests/test_polygon.py
=====================================
@@ -196,6 +196,24 @@ def test_fix_winding_interior_segments(read_input: Reader, read_output: Reader)
assert fixed.normalize() == output.normalize()
+ at pytest.mark.parametrize("name", ("cw-only", "cw-split", "issues-174", "issues-201"))
+ at pytest.mark.parametrize(
+ "subdirectory,great_circle",
+ [("flat", False), ("spherical", True)],
+)
+def test_fix_winding_no_warning_when_explicit(
+ read_input: Reader,
+ read_output: Reader,
+ name: str,
+ subdirectory: str,
+ great_circle: bool,
+) -> None:
+ input = read_input(name)
+ output = read_output(name, subdirectory)
+ fixed = antimeridian.fix_polygon(input, fix_winding=True, great_circle=great_circle)
+ assert fixed.normalize() == output.normalize()
+
+
def test_centroid_simple(read_input: Reader) -> None:
input = read_input("simple")
centroid = cast(Point, antimeridian.centroid(input))
=====================================
uv.lock
=====================================
@@ -8,7 +8,7 @@ resolution-markers = [
[[package]]
name = "antimeridian"
-version = "0.4.5"
+version = "0.4.6"
source = { editable = "." }
dependencies = [
{ name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
@@ -162,7 +162,7 @@ wheels = [
[[package]]
name = "cairosvg"
-version = "2.8.2"
+version = "2.9.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "cairocffi" },
@@ -171,9 +171,9 @@ dependencies = [
{ name = "pillow" },
{ name = "tinycss2" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/ab/b9/5106168bd43d7cd8b7cc2a2ee465b385f14b63f4c092bb89eee2d48c8e67/cairosvg-2.8.2.tar.gz", hash = "sha256:07cbf4e86317b27a92318a4cac2a4bb37a5e9c1b8a27355d06874b22f85bef9f", size = 8398590, upload-time = "2025-05-15T06:56:32.653Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/38/07/e8412a13019b3f737972dea23a2c61ca42becafc16c9338f4ca7a0caa993/cairosvg-2.9.0.tar.gz", hash = "sha256:1debb00cd2da11350d8b6f5ceb739f1b539196d71d5cf5eb7363dbd1bfbc8dc5", size = 40877, upload-time = "2026-03-13T15:42:00.564Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/67/48/816bd4aaae93dbf9e408c58598bc32f4a8c65f4b86ab560864cb3ee60adb/cairosvg-2.8.2-py3-none-any.whl", hash = "sha256:eab46dad4674f33267a671dce39b64be245911c901c70d65d2b7b0821e852bf5", size = 45773, upload-time = "2025-05-15T06:56:28.552Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/e0/5011747466414c12cac8a8df77aa235068669a6a5a5df301a96209db6054/cairosvg-2.9.0-py3-none-any.whl", hash = "sha256:4b82d07d145377dffdfc19d9791bd5fb65539bb4da0adecf0bdbd9cd4ffd7c68", size = 45962, upload-time = "2026-03-14T13:56:33.512Z" },
]
[[package]]
@@ -2073,11 +2073,11 @@ wheels = [
[[package]]
name = "pygments"
-version = "2.19.2"
+version = "2.20.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", size = 4955991, upload-time = "2026-03-29T13:29:33.898Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" },
]
[[package]]
@@ -2432,7 +2432,7 @@ wheels = [
[[package]]
name = "requests"
-version = "2.32.5"
+version = "2.33.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "certifi" },
@@ -2440,9 +2440,9 @@ dependencies = [
{ name = "idna" },
{ name = "urllib3" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/34/64/8860370b167a9721e8956ae116825caff829224fbca0ca6e7bf8ddef8430/requests-2.33.0.tar.gz", hash = "sha256:c7ebc5e8b0f21837386ad0e1c8fe8b829fa5f544d8df3b2253bff14ef29d7652", size = 134232, upload-time = "2026-03-25T15:10:41.586Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" },
+ { url = "https://files.pythonhosted.org/packages/56/5d/c814546c2333ceea4ba42262d8c4d55763003e767fa169adc693bd524478/requests-2.33.0-py3-none-any.whl", hash = "sha256:3324635456fa185245e24865e810cecec7b4caf933d7eb133dcde67d48cee69b", size = 65017, upload-time = "2026-03-25T15:10:40.382Z" },
]
[[package]]
@@ -2889,21 +2889,19 @@ wheels = [
[[package]]
name = "tornado"
-version = "6.5.2"
-source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/09/ce/1eb500eae19f4648281bb2186927bb062d2438c2e5093d1360391afd2f90/tornado-6.5.2.tar.gz", hash = "sha256:ab53c8f9a0fa351e2c0741284e06c7a45da86afb544133201c5cc8578eb076a0", size = 510821, upload-time = "2025-08-08T18:27:00.78Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/f6/48/6a7529df2c9cc12efd2e8f5dd219516184d703b34c06786809670df5b3bd/tornado-6.5.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:2436822940d37cde62771cff8774f4f00b3c8024fe482e16ca8387b8a2724db6", size = 442563, upload-time = "2025-08-08T18:26:42.945Z" },
- { url = "https://files.pythonhosted.org/packages/f2/b5/9b575a0ed3e50b00c40b08cbce82eb618229091d09f6d14bce80fc01cb0b/tornado-6.5.2-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:583a52c7aa94ee046854ba81d9ebb6c81ec0fd30386d96f7640c96dad45a03ef", size = 440729, upload-time = "2025-08-08T18:26:44.473Z" },
- { url = "https://files.pythonhosted.org/packages/1b/4e/619174f52b120efcf23633c817fd3fed867c30bff785e2cd5a53a70e483c/tornado-6.5.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0fe179f28d597deab2842b86ed4060deec7388f1fd9c1b4a41adf8af058907e", size = 444295, upload-time = "2025-08-08T18:26:46.021Z" },
- { url = "https://files.pythonhosted.org/packages/95/fa/87b41709552bbd393c85dd18e4e3499dcd8983f66e7972926db8d96aa065/tornado-6.5.2-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b186e85d1e3536d69583d2298423744740986018e393d0321df7340e71898882", size = 443644, upload-time = "2025-08-08T18:26:47.625Z" },
- { url = "https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108", size = 443878, upload-time = "2025-08-08T18:26:50.599Z" },
- { url = "https://files.pythonhosted.org/packages/11/92/fe6d57da897776ad2e01e279170ea8ae726755b045fe5ac73b75357a5a3f/tornado-6.5.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:06ceb1300fd70cb20e43b1ad8aaee0266e69e7ced38fa910ad2e03285009ce7c", size = 444549, upload-time = "2025-08-08T18:26:51.864Z" },
- { url = "https://files.pythonhosted.org/packages/9b/02/c8f4f6c9204526daf3d760f4aa555a7a33ad0e60843eac025ccfd6ff4a93/tornado-6.5.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:74db443e0f5251be86cbf37929f84d8c20c27a355dd452a5cfa2aada0d001ec4", size = 443973, upload-time = "2025-08-08T18:26:53.625Z" },
- { url = "https://files.pythonhosted.org/packages/ae/2d/f5f5707b655ce2317190183868cd0f6822a1121b4baeae509ceb9590d0bd/tornado-6.5.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b5e735ab2889d7ed33b32a459cac490eda71a1ba6857b0118de476ab6c366c04", size = 443954, upload-time = "2025-08-08T18:26:55.072Z" },
- { url = "https://files.pythonhosted.org/packages/e8/59/593bd0f40f7355806bf6573b47b8c22f8e1374c9b6fd03114bd6b7a3dcfd/tornado-6.5.2-cp39-abi3-win32.whl", hash = "sha256:c6f29e94d9b37a95013bb669616352ddb82e3bfe8326fccee50583caebc8a5f0", size = 445023, upload-time = "2025-08-08T18:26:56.677Z" },
- { url = "https://files.pythonhosted.org/packages/c7/2a/f609b420c2f564a748a2d80ebfb2ee02a73ca80223af712fca591386cafb/tornado-6.5.2-cp39-abi3-win_amd64.whl", hash = "sha256:e56a5af51cc30dd2cae649429af65ca2f6571da29504a07995175df14c18f35f", size = 445427, upload-time = "2025-08-08T18:26:57.91Z" },
- { url = "https://files.pythonhosted.org/packages/5e/4f/e1f65e8f8c76d73658b33d33b81eed4322fb5085350e4328d5c956f0c8f9/tornado-6.5.2-cp39-abi3-win_arm64.whl", hash = "sha256:d6c33dc3672e3a1f3618eb63b7ef4683a7688e7b9e6e8f0d9aa5726360a004af", size = 444456, upload-time = "2025-08-08T18:26:59.207Z" },
+version = "6.5.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f8/f1/3173dfa4a18db4a9b03e5d55325559dab51ee653763bb8745a75af491286/tornado-6.5.5.tar.gz", hash = "sha256:192b8f3ea91bd7f1f50c06955416ed76c6b72f96779b962f07f911b91e8d30e9", size = 516006, upload-time = "2026-03-10T21:31:02.067Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/59/8c/77f5097695f4dd8255ecbd08b2a1ed8ba8b953d337804dd7080f199e12bf/tornado-6.5.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:487dc9cc380e29f58c7ab88f9e27cdeef04b2140862e5076a66fb6bb68bb1bfa", size = 445983, upload-time = "2026-03-10T21:30:44.28Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/5e/7625b76cd10f98f1516c36ce0346de62061156352353ef2da44e5c21523c/tornado-6.5.5-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:65a7f1d46d4bb41df1ac99f5fcb685fb25c7e61613742d5108b010975a9a6521", size = 444246, upload-time = "2026-03-10T21:30:46.571Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/04/7b5705d5b3c0fab088f434f9c83edac1573830ca49ccf29fb83bf7178eec/tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e74c92e8e65086b338fd56333fb9a68b9f6f2fe7ad532645a290a464bcf46be5", size = 447229, upload-time = "2026-03-10T21:30:48.273Z" },
+ { url = "https://files.pythonhosted.org/packages/34/01/74e034a30ef59afb4097ef8659515e96a39d910b712a89af76f5e4e1f93c/tornado-6.5.5-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:435319e9e340276428bbdb4e7fa732c2d399386d1de5686cb331ec8eee754f07", size = 448192, upload-time = "2026-03-10T21:30:51.22Z" },
+ { url = "https://files.pythonhosted.org/packages/be/00/fe9e02c5a96429fce1a1d15a517f5d8444f9c412e0bb9eadfbe3b0fc55bf/tornado-6.5.5-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3f54aa540bdbfee7b9eb268ead60e7d199de5021facd276819c193c0fb28ea4e", size = 448039, upload-time = "2026-03-10T21:30:53.52Z" },
+ { url = "https://files.pythonhosted.org/packages/82/9e/656ee4cec0398b1d18d0f1eb6372c41c6b889722641d84948351ae19556d/tornado-6.5.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:36abed1754faeb80fbd6e64db2758091e1320f6bba74a4cf8c09cd18ccce8aca", size = 447445, upload-time = "2026-03-10T21:30:55.541Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/76/4921c00511f88af86a33de770d64141170f1cfd9c00311aea689949e274e/tornado-6.5.5-cp39-abi3-win32.whl", hash = "sha256:dd3eafaaeec1c7f2f8fdcd5f964e8907ad788fe8a5a32c4426fbbdda621223b7", size = 448582, upload-time = "2026-03-10T21:30:57.142Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/23/f6c6112a04d28eed765e374435fb1a9198f73e1ec4b4024184f21faeb1ad/tornado-6.5.5-cp39-abi3-win_amd64.whl", hash = "sha256:6443a794ba961a9f619b1ae926a2e900ac20c34483eea67be4ed8f1e58d3ef7b", size = 448990, upload-time = "2026-03-10T21:30:58.857Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/c8/876602cbc96469911f0939f703453c1157b0c826ecb05bdd32e023397d4e/tornado-6.5.5-cp39-abi3-win_arm64.whl", hash = "sha256:2c9a876e094109333f888539ddb2de4361743e5d21eece20688e3e351e4990a6", size = 448016, upload-time = "2026-03-10T21:31:00.43Z" },
]
[[package]]
View it on GitLab: https://salsa.debian.org/debian-gis-team/antimeridian/-/compare/c99e73eed4e2ddc7c18dbf71325c1222f867afbe...2141821dac8a5211106d09b11c42ae782b0e387d
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/antimeridian/-/compare/c99e73eed4e2ddc7c18dbf71325c1222f867afbe...2141821dac8a5211106d09b11c42ae782b0e387d
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/20260404/8414fcdd/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list