Skip to content

Commit

Permalink
apacheGH-43519: [Python][CI][Packaging] Use released versions to buil…
Browse files Browse the repository at this point in the history
…d and test wheels on Python 3.13 (apache#44193)

### Rationale for this change

Now that numpy, cython and pandas all have releases that support Python 3.13, we can remove the extra index and ensure that we are building our wheels with the released version instead of nightly dev version.

* GitHub Issue: apache#43519

Authored-by: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
  • Loading branch information
jorisvandenbossche authored Oct 10, 2024
1 parent 8be5f9c commit 6fe0ff0
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 12 deletions.
5 changes: 5 additions & 0 deletions ci/docker/python-wheel-manylinux.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -114,5 +114,10 @@ RUN PYTHON_ROOT=$(find /opt/python -name cp${PYTHON_VERSION/./}-${PYTHON_ABI_TAG
SHELL ["/bin/bash", "-i", "-c"]
ENTRYPOINT ["/bin/bash", "-i", "-c"]

# Remove once there are released Cython wheels for 3.13 free-threaded available
RUN if [ "${python_abi_tag}" = "cp313t" ]; then \
pip install cython --pre --extra-index-url "https://pypi.anaconda.org/scientific-python-nightly-wheels/simple" --prefer-binary ; \
fi

COPY python/requirements-wheel-build.txt /arrow/python/
RUN pip install -r /arrow/python/requirements-wheel-build.txt
9 changes: 8 additions & 1 deletion ci/scripts/python_wheel_macos_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,15 @@ fi
echo "=== (${PYTHON_VERSION}) Install Python build dependencies ==="
export PIP_SITE_PACKAGES=$(python -c 'import site; print(site.getsitepackages()[0])')

# Remove once there are released Cython wheels for 3.13 free-threaded available
FREE_THREADED_BUILD="$(python -c"import sysconfig; print(bool(sysconfig.get_config_var('Py_GIL_DISABLED')))")"
if [[ $FREE_THREADED_BUILD == "True" ]]; then
pip install cython --pre --extra-index-url "https://pypi.anaconda.org/scientific-python-nightly-wheels/simple" --prefer-binary
fi
# With Python 3.9, the `--upgrade` flag is required to force full replacement of setuptools' distutils patching
pip install --upgrade --target $PIP_SITE_PACKAGES "setuptools>=58"

pip install \
--upgrade \
--only-binary=:all: \
--target $PIP_SITE_PACKAGES \
-r ${source_dir}/python/requirements-wheel-build.txt
Expand Down
5 changes: 0 additions & 5 deletions python/requirements-wheel-build.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
# Remove pre and extra index url once there's NumPy and Cython wheels for 3.13
# on PyPI
--pre
--extra-index-url "https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"

cython>=0.29.31
oldest-supported-numpy>=0.14; python_version<'3.9'
numpy>=2.0.0; python_version>='3.9'
Expand Down
6 changes: 0 additions & 6 deletions python/requirements-wheel-test.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
# Remove pre and extra index url once there's NumPy and Cython wheels for 3.13
# on PyPI
--pre
--prefer-binary
--extra-index-url "https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"

cffi
cython
hypothesis
Expand Down

0 comments on commit 6fe0ff0

Please sign in to comment.