Skip to content

[Python] Free-threaded wheels for 3.13 have started failing with cffi 2.0.0b1 #47256

Description

@raulcd

Describe the bug, including details regarding any error messages, version, and platform.

The test-ubuntu-22.04-python-313-freethreading has started failing because cffi 2.0.0b1 does not support free-threaded for Python 3.13:

 #12 [6/6] RUN /arrow-dev/bin/python -m pip install --pre --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
#12 0.610 Looking in indexes: https://pypi.org/simple, https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
#12 0.611 Ignoring oldest-supported-numpy: markers 'python_version < "3.9"' don't match your environment
#12 0.611 Ignoring pyuwsgi: markers 'sys_platform != "win32" and python_version < "3.13"' don't match your environment
#12 1.195 Collecting cython>=3 (from -r arrow/python/requirements-build.txt (line 1))
#12 1.642 Downloading https://pypi.anaconda.org/scientific-python-nightly-wheels/simple/cython/3.2.0a0/cython-3.2.0a0-py3-none-any.whl (1.2 MB)
#12 1.936 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 8.0 MB/s 0:00:00
#12 2.605 Collecting numpy>=1.25 (from -r arrow/python/requirements-build.txt (line 3))
#12 2.955 Downloading https://pypi.anaconda.org/scientific-python-nightly-wheels/simple/numpy/2.4.0.dev0/numpy-2.4.0.dev0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.7 MB)
#12 3.281 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.7/16.7 MB 51.1 MB/s 0:00:00
#12 3.485 Collecting setuptools_scm>=8 (from -r arrow/python/requirements-build.txt (line 4))
#12 3.520 Downloading setuptools_scm-8.3.1-py3-none-any.whl.metadata (7.0 kB)
#12 3.531 Requirement already satisfied: setuptools>=64 in /arrow-dev/lib/python3.13t/site-packages (from -r arrow/python/requirements-build.txt (line 5)) (80.9.0)
#12 3.818 Collecting cffi (from -r arrow/python/requirements-test.txt (line 1))
#12 3.830 Downloading cffi-2.0.0b1.tar.gz (521 kB)
#12 3.959 Installing build dependencies: started
#12 5.297 Installing build dependencies: finished with status 'done'
#12 5.298 Getting requirements to build wheel: started
#12 5.624 Getting requirements to build wheel: finished with status 'error'
#12 5.630 error: subprocess-exited-with-error
#12 5.630 #12 5.630 × Getting requirements to build wheel did not run successfully.
#12 5.630 │ exit code: 1
#12 5.630 ╰─> [20 lines of output]
#12 5.630 Traceback (most recent call last):
#12 5.630 File "/arrow-dev/lib/python3.13t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
#12 5.630 main()
#12 5.630 ~~~~^^
#12 5.630 File "/arrow-dev/lib/python3.13t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
#12 5.630 json_out["return_val"] = hook(**hook_input["kwargs"])
#12 5.630 ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
#12 5.630 File "/arrow-dev/lib/python3.13t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel
#12 5.630 return hook(config_settings)
#12 5.630 File "/tmp/pip-build-env-s4d82846/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 331, in get_requires_for_build_wheel
#12 5.630 return self._get_build_requires(config_settings, requirements=[])
#12 5.630 ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#12 5.630 File "/tmp/pip-build-env-s4d82846/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
#12 5.630 self.run_setup()
#12 5.630 ~~~~~~~~~~~~~~^^
#12 5.630 File "/tmp/pip-build-env-s4d82846/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 317, in run_setup
#12 5.630 exec(code, locals())
#12 5.630 ~~~~^^^^^^^^^^^^^^^^
#12 5.630 File "<string>", line 22, in <module>
#12 5.630 RuntimeError: CFFI does not support the free-threaded build of CPython 3.13. Upgrade to free-threaded 3.14 or newer to use CFFI with the free-threaded build.
#12 5.630 [end of output]

This was previously working so we shouldpotentially pin cffi for free-threaded py13:
cffi 2.0.0b1 was released on the 29th of July

Component(s)

Python

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions