This is an automated email from the ASF dual-hosted git repository.

alenka pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new 55be8c011c GH-47256: [Python] Do not use cffi in free-threaded 3.13 
builds (#47313)
55be8c011c is described below

commit 55be8c011cd9e82707382d97417b0c3a0aabf822
Author: Alenka Frim <[email protected]>
AuthorDate: Tue Sep 2 09:56:31 2025 +0200

    GH-47256: [Python] Do not use cffi in free-threaded 3.13 builds (#47313)
    
    ### Rationale for this change
    Ubuntu and Windows wheels started failing on free-threaded build of CPython 
3.13 due to cffi not supporting free-threaded CPython 3.13.
    
    ### What changes are included in this PR?
    Free-threaded 3.13 builds use separate requirements with no cffi.
    
    ### Are these changes tested?
    Yes, with the extended builds.
    
    ### Are there any user-facing changes?
    No.
    
    * GitHub Issue: #47256
    
    Authored-by: AlenkaF <[email protected]>
    Signed-off-by: AlenkaF <[email protected]>
---
 ci/docker/linux-apt-python-313-freethreading.dockerfile          | 4 ++--
 .../python-free-threaded-wheel-windows-test-vs2022.dockerfile    | 7 ++-----
 python/requirements-test-3.13t.txt                               | 5 +++++
 python/requirements-wheel-test-3.13t.txt                         | 9 +++++++++
 4 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/ci/docker/linux-apt-python-313-freethreading.dockerfile 
b/ci/docker/linux-apt-python-313-freethreading.dockerfile
index f5505e67f0..ceed5bac7e 100644
--- a/ci/docker/linux-apt-python-313-freethreading.dockerfile
+++ b/ci/docker/linux-apt-python-313-freethreading.dockerfile
@@ -27,7 +27,7 @@ RUN apt-get update -y -q && \
     rm -rf /var/lib/apt/lists*
 
 COPY python/requirements-build.txt \
-     python/requirements-test.txt \
+     python/requirements-test-3.13t.txt \
      /arrow/python/
 
 ENV ARROW_PYTHON_VENV /arrow-dev
@@ -38,7 +38,7 @@ RUN ${ARROW_PYTHON_VENV}/bin/python -m pip install \
       --prefer-binary \
       --extra-index-url 
"https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"; \
       -r arrow/python/requirements-build.txt \
-      -r arrow/python/requirements-test.txt
+      -r arrow/python/requirements-test-3.13t.txt
 
 # We want to run the PyArrow test suite with the GIL disabled, but cffi
 # (more precisely, the `_cffi_backend` module) currently doesn't declare
diff --git 
a/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile 
b/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile
index 4b972999b0..5b27c786ff 100644
--- a/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile
+++ b/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile
@@ -37,16 +37,13 @@ ENV PYTHON_CMD="py -${python}t"
 SHELL ["cmd", "/S", "/C"]
 RUN %PYTHON_CMD% -m pip install -U pip setuptools
 
-COPY python/requirements-wheel-test.txt C:/arrow/python/
+COPY python/requirements-wheel-test-3.13t.txt C:/arrow/python/
 # Cython and Pandas wheels for 3.13 free-threaded are not released yet
 RUN %PYTHON_CMD% -m pip install \
     --extra-index-url 
https://pypi.anaconda.org/scientific-python-nightly-wheels/simple \
     --pre \
     --prefer-binary \
-    -r C:/arrow/python/requirements-wheel-test.txt
-# cffi-based tests would crash when importing cffi.
-# hadolint ignore=DL3059
-RUN %PYTHON_CMD% -m pip uninstall -y cffi
+    -r C:/arrow/python/requirements-wheel-test-3.13t.txt
 
 ENV PYTHON="${python}t"
 ENV PYTHON_GIL=0
diff --git a/python/requirements-test-3.13t.txt 
b/python/requirements-test-3.13t.txt
new file mode 100644
index 0000000000..9c2e8de25e
--- /dev/null
+++ b/python/requirements-test-3.13t.txt
@@ -0,0 +1,5 @@
+hypothesis
+packaging
+pandas
+pytest
+pytz
diff --git a/python/requirements-wheel-test-3.13t.txt 
b/python/requirements-wheel-test-3.13t.txt
new file mode 100644
index 0000000000..009b7d6b31
--- /dev/null
+++ b/python/requirements-wheel-test-3.13t.txt
@@ -0,0 +1,9 @@
+cython
+hypothesis
+numpy~=2.1.0
+packaging
+pandas
+pytest
+pytz
+requests; sys_platform == 'win32'
+tzdata; sys_platform == 'win32'

Reply via email to