From 1145facb28a3a6c02e4f763dc291d0a44685e0a1 Mon Sep 17 00:00:00 2001 From: Ting Sun Date: Tue, 31 Mar 2026 12:31:37 +0100 Subject: [PATCH] Cap pyarrow<23 to fix QGIS 4 import failure (#1252) pyarrow 23.0.1 removed pyarrow.compute.match_substring_regex, which breaks pandas Series.str.contains() with regex on arrow-backed strings. This causes supy to fail on import in the OSGeo4W/QGIS 4 environment. Co-Authored-By: Claude Opus 4.6 (1M context) --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 644a2a3a8..677bc7c1b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,8 +38,8 @@ dependencies = [ "chardet", "click", "pyarrow>=20,<21; python_version < '3.14' and platform_system == 'Linux'", # Linux needs manylinux2014 wheels on CPython 3.9-3.13 - "pyarrow>=20; python_version < '3.14' and platform_system != 'Linux'", # Non-Linux platforms may use newer pyarrow binaries - "pyarrow>=22; python_version >= '3.14'", # 22.x provides cp314 wheels on manylinux_2_28/macOS/Windows + "pyarrow>=20,<23; python_version < '3.14' and platform_system != 'Linux'", # pyarrow 23 removed match_substring_regex (pandas compat) + "pyarrow>=22,<23; python_version >= '3.14'", # 22.x provides cp314 wheels; 23 breaks pandas str ops # Scientific packages "atmosp",