Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ci/docker/linux-apt-python-313-freethreading.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Python 3.14 is going to be released around the next Arrow release (2025-10-07), we might want to add wheels for Arrow 22.
Can you add a comment here to revisit for Python 3.14? We will probably have to make this conditional

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or just open an issue for 3.14.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I planned to open an issue for 3.14 - forgot to add in the comments!
Will do asap.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done: #47437

# 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
6 changes: 6 additions & 0 deletions python/requirements-test-3.13t.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
hypothesis
packaging
pandas
pytest
pytz
pyuwsgi; sys.platform != 'win32' and python_version < '3.13'
19 changes: 19 additions & 0 deletions python/requirements-wheel-test-3.13t.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
cython
hypothesis
packaging
pytest
pytz
pyuwsgi; sys.platform != 'win32' and python_version < '3.13'
requests; sys_platform == 'win32'
tzdata; sys_platform == 'win32'

# We generally test with the oldest numpy version that supports a given Python
# version. However, there is no need to make this strictly the oldest version,
# so it can be broadened to have a single version specification across platforms.
# (`~=x.y.z` specifies a compatible release as `>=x.y.z, == x.y.*`)
numpy~=1.21.3; python_version < "3.11"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this file is for 3.13, these lines can be simplified :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh yes! Will do.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done: 430f26b

numpy~=1.23.2; python_version == "3.11"
numpy~=1.26.0; python_version == "3.12"
numpy~=2.1.0; python_version >= "3.13"

pandas
Loading