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

raulcd 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 9f0341314ca GH-52522: [CI][Python] Build with released CPython 3.15.0 
(#53264)
9f0341314ca is described below

commit 9f0341314ca96eb58081d4132c77b460d880b2b0
Author: paultiq <[email protected]>
AuthorDate: Fri Oct 16 08:41:48 2026 -0400

    GH-52522: [CI][Python] Build with released CPython 3.15.0 (#53264)
    
    ### Rationale for this change
    
    Python 3.15.0 released 2026-10-09 
(https://www.python.org/downloads/release/python-3150/).
    
    This is a follow-up to https://github.com/apache/arrow/pull/48191, bumping 
the release pins and versions from 3.15.0rc2 to 3.15.0 (released).
    
    ### What changes are included in this PR?
    - Change version reference from 3.15.0rc2 to 3.15.0
    - Update manylinux and musllinux quay.io build dates
    - Update build date for python-build-standalone
    - Bump PYTHON_WHEEL_WINDOWS_IMAGE_REVISION and 
PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION
    
    ### Are these changes tested?
    No
    
    ### Are there any user-facing changes?
    No
    
    ### Was AI used for this PR?
    
    **PR code and description written by:**
    
    - [X] Human
    - [ ] AI
    
    **Reviewed before submission by:**
    
    - [X] Human
    - [X] AI
    - [ ] Not reviewed
    
    * GitHub Issue: #52522
    
    Authored-by: [email protected] <[email protected]>
    Signed-off-by: Raúl Cumplido <[email protected]>
---
 .env                                                              | 4 ++--
 .../python-free-threaded-wheel-musllinux-test-imports.dockerfile  | 2 +-
 ...python-free-threaded-wheel-musllinux-test-unittests.dockerfile | 2 +-
 .../python-free-threaded-wheel-windows-test-vs2022.dockerfile     | 2 +-
 ci/docker/python-wheel-windows-test-vs2022.dockerfile             | 2 +-
 ci/scripts/install_python.sh                                      | 6 +++---
 compose.yaml                                                      | 8 ++++----
 python/requirements-wheel-test.txt                                | 2 +-
 8 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/.env b/.env
index cd30f7aa7c8..4be5d436f2d 100644
--- a/.env
+++ b/.env
@@ -98,6 +98,6 @@ VCPKG="9b965a116838c6cdcd36bca60d1b81b030c8ab8d"    # 
2026.05.27 (not release, u
 # ci/docker/python-*-windows-*.dockerfile or the vcpkg config.
 # This is a workaround for our CI problem that "archery docker build" doesn't
 # use pulled built images in dev/tasks/python-wheels/github.windows.yml.
-PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2026-10-01
-PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2026-09-14
+PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2026-10-11
+PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2026-11-11
 
diff --git 
a/ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile 
b/ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile
index 3f98c13352c..73b9f023e79 100644
--- a/ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile
+++ b/ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile
@@ -36,7 +36,7 @@ RUN apk update && \
 RUN set -e; \
     case "${python_version}" in \
       3.14) python_patch_version="3.14.7";; \
-      3.15) python_patch_version="3.15.0rc2";; \
+      3.15) python_patch_version="3.15.0";; \
     esac && \
     curl -L -o python.tar.zst \
     
https://github.com/astral-sh/python-build-standalone/releases/download/${build_date}/cpython-${python_patch_version}+${build_date}-${arch}-unknown-linux-musl-freethreaded+lto-full.tar.zst
 && \
diff --git 
a/ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile 
b/ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile
index 6adbd50e0dc..8089824864c 100644
--- a/ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile
+++ b/ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile
@@ -38,7 +38,7 @@ RUN apk update && \
 RUN set -e; \
     case "${python_version}" in \
       3.14) python_patch_version="3.14.7";; \
-      3.15) python_patch_version="3.15.0rc2";; \
+      3.15) python_patch_version="3.15.0";; \
     esac && \
     curl -L -o python.tar.zst \
     
https://github.com/astral-sh/python-build-standalone/releases/download/${build_date}/cpython-${python_patch_version}+${build_date}-${arch}-unknown-linux-musl-freethreaded+lto-full.tar.zst
 && \
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 dad0f33a27b..e67b9650071 100644
--- a/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile
+++ b/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile
@@ -30,7 +30,7 @@ ARG python=3.14
 # final release it leads to, e.g. 3.15.0/python-3.15.0rc2-amd64.exe
 # hadolint ignore=SC1072
 RUN (if "%python%"=="3.14" setx PYTHON_VERSION "3.14.7" && setx PYTHON_RELEASE 
"3.14.7") & \
-    (if "%python%"=="3.15" setx PYTHON_VERSION "3.15.0rc2" && setx 
PYTHON_RELEASE "3.15.0")
+    (if "%python%"=="3.15" setx PYTHON_VERSION "3.15.0" && setx PYTHON_RELEASE 
"3.15.0")
 
 SHELL ["powershell", "-NoProfile", "-Command", "$ErrorActionPreference = 
'Stop'; $ProgressPreference = 'SilentlyContinue';"]
 RUN $version = $env:PYTHON_VERSION; \
diff --git a/ci/docker/python-wheel-windows-test-vs2022.dockerfile 
b/ci/docker/python-wheel-windows-test-vs2022.dockerfile
index 6acb395e653..565b4d96fd8 100644
--- a/ci/docker/python-wheel-windows-test-vs2022.dockerfile
+++ b/ci/docker/python-wheel-windows-test-vs2022.dockerfile
@@ -32,7 +32,7 @@ RUN (if "%python%"=="3.11" setx PYTHON_VERSION "3.11.9" && 
setx PYTHON_CMD "py -
     (if "%python%"=="3.12" setx PYTHON_VERSION "3.12.10" && setx PYTHON_CMD 
"py -3.12") & \
     (if "%python%"=="3.13" setx PYTHON_VERSION "3.13.14" && setx PYTHON_CMD 
"py -3.13") & \
     (if "%python%"=="3.14" setx PYTHON_VERSION "3.14.7" && setx PYTHON_CMD "py 
-3.14") & \
-    (if "%python%"=="3.15" setx PYTHON_VERSION "3.15.0-rc2" && setx PYTHON_CMD 
"py -3.15")
+    (if "%python%"=="3.15" setx PYTHON_VERSION "3.15.0" && setx PYTHON_CMD "py 
-3.15")
 
 
 # hadolint ignore=DL3059
diff --git a/ci/scripts/install_python.sh b/ci/scripts/install_python.sh
index 82cab4d5721..33de190ccb0 100755
--- a/ci/scripts/install_python.sh
+++ b/ci/scripts/install_python.sh
@@ -30,8 +30,8 @@ versions=([3.11]=3.11.9
           [3.13]=3.13.14
           [3.14]=3.14.7
           [3.14t]=3.14.7
-          [3.15]=3.15.0rc2
-          [3.15t]=3.15.0rc2
+          [3.15]=3.15.0
+          [3.15t]=3.15.0
           )
 
 if [ "$#" -ne 2 ]; then
@@ -50,7 +50,7 @@ if [ "$platform" = "macOS" ]; then
     echo "Downloading Python installer..."
 
     # Match python.org directory by truncating any pre-release suffix: 
-    # 3.15.0rc2 is 
https://www.python.org/ftp/python/3.15.0/python-3.15.0rc2-macos11.pkg
+    # 3.15.0 is 
https://www.python.org/ftp/python/3.15.0/python-3.15.0-macos11.pkg
     release_version="${full_version%%[abrc]*}"
     fname="python-${full_version}-macos11.pkg"
     wget "https://www.python.org/ftp/python/${release_version}/${fname}";
diff --git a/compose.yaml b/compose.yaml
index 1741d00db43..512fb8a5396 100644
--- a/compose.yaml
+++ b/compose.yaml
@@ -1179,7 +1179,7 @@ services:
       args:
         arch: ${ARCH}
         arch_short: ${ARCH_SHORT}
-        base: quay.io/pypa/manylinux_2_28_${ARCH_ALIAS}:2026.09.05-1
+        base: quay.io/pypa/manylinux_2_28_${ARCH_ALIAS}:2026.10.10-1
         manylinux: 2_28
         python: ${PYTHON}
         python_abi_tag: ${PYTHON_ABI_TAG}
@@ -1204,7 +1204,7 @@ services:
       args:
         arch: ${ARCH}
         arch_short: ${ARCH_SHORT}
-        base: quay.io/pypa/musllinux_1_2_${ARCH_ALIAS}:2026.09.05-1
+        base: quay.io/pypa/musllinux_1_2_${ARCH_ALIAS}:2026.10.10-1
         musllinux: 1_2
         python: ${PYTHON}
         python_abi_tag: ${PYTHON_ABI_TAG}
@@ -1245,7 +1245,7 @@ services:
       args:
         base: "alpine:${ALPINE_LINUX}"
         python_version: ${PYTHON}
-        build_date: "20260901"  # python-build-standalone release date
+        build_date: "20261009"  # python-build-standalone release date
         arch: ${ARCH_ALIAS}
       context: .
       dockerfile: 
ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile
@@ -1289,7 +1289,7 @@ services:
       args:
         base: "alpine:${ALPINE_LINUX}"
         python_version: ${PYTHON}
-        build_date: "20260901"  # python-build-standalone release date
+        build_date: "20261009"  # python-build-standalone release date
         arch: ${ARCH_ALIAS}
       context: .
       dockerfile: 
ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile
diff --git a/python/requirements-wheel-test.txt 
b/python/requirements-wheel-test.txt
index 591e4a03d41..829cf01f349 100644
--- a/python/requirements-wheel-test.txt
+++ b/python/requirements-wheel-test.txt
@@ -15,6 +15,6 @@ tzdata; sys_platform == 'win32'
 numpy~=2.0.0; python_version <= "3.12"
 numpy~=2.1.0; python_version == "3.13"
 numpy~=2.3.3; python_version == "3.14"
-numpy~=2.5.2; python_version == "3.15"  # TODO: 2.5.2 is for 3.15-rc1, after 
release, update to correct version  
+numpy~=2.5.2; python_version == "3.15"
 
 pandas

Reply via email to