Skip to content

Commit 8fcc9ba

Browse files
authored
INTPYTHON-391 Add support for pyarrow 18.0.0 and Python 3.13 (#247)
1 parent acb19b5 commit 8fcc9ba

File tree

6 files changed

+18
-13
lines changed

6 files changed

+18
-13
lines changed

.github/workflows/release-python.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- [ubuntu-20.04, manylinux_aarch64]
3333
- [macos-14, macosx_*]
3434
- [windows-2019, win_amd64]
35-
python: ["cp39", "cp310", "cp311", "cp312"]
35+
python: ["cp39", "cp310", "cp311", "cp312", "cp313"]
3636
exclude:
3737
- buildplat: [macos-14, macosx_*]
3838
python: "cp39"
@@ -83,7 +83,7 @@ jobs:
8383
if: ${{ matrix.buildplat[0] != 'macos-11' }}
8484
env:
8585
CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }}
86-
MACOSX_DEPLOYMENT_TARGET: "10.14"
86+
MACOSX_DEPLOYMENT_TARGET: "12.0"
8787
run: python -m cibuildwheel --output-dir wheelhouse
8888

8989
- uses: actions/upload-artifact@v4

.github/workflows/test-python.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
strategy:
3434
matrix:
3535
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
36-
python-version: ["3.9", "3.10", "3.11", "3.12"]
36+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
3737
fail-fast: false
3838
name: CPython ${{ matrix.python-version }}-${{ matrix.os }}
3939
steps:

bindings/python/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
# Changes in Version 1.6.0
77

8+
- Add support for PyArrow 18.0 and Python 3.13.
89
- Drop support for Python 3.8.
910

1011
# Changes in Version 1.5.2

bindings/python/addtags.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Dependencies:
2-
# - auditwheel>=5,<6
2+
# - auditwheel>=6,<7
33
# Requires AUDITWHEEL_PLAT to be set (e.g. manylinux2014_x86_64)
44
# Usage:
55
# $ python addtags.py WHEEL_PATH WHEEL_DIR
@@ -8,7 +8,7 @@
88
from os.path import join as pjoin
99
from sys import argv
1010

11-
from auditwheel.policy import get_priority_by_name, get_replace_platforms
11+
from auditwheel.policy import WheelPolicies, get_replace_platforms
1212
from auditwheel.wheel_abi import analyze_wheel_abi
1313
from auditwheel.wheeltools import InWheelCtx, add_platforms
1414

@@ -29,12 +29,13 @@ def main(wheel_path, abi, wheel_dir):
2929
if not exists(wheel_dir):
3030
os.makedirs(wheel_dir)
3131

32-
reqd_tag = get_priority_by_name(abi)
32+
policies = WheelPolicies()
33+
reqd_tag = policies.get_priority_by_name(abi)
3334
out_wheel = repair_wheel(wheel_path, abi, wheel_dir)
3435

3536
if out_wheel is not None:
36-
analyzed_tag = analyze_wheel_abi(out_wheel).overall_tag
37-
if reqd_tag < get_priority_by_name(analyzed_tag):
37+
analyzed_tag = analyze_wheel_abi(policies, out_wheel, frozenset()).overall_tag
38+
if reqd_tag < policies.get_priority_by_name(analyzed_tag):
3839
print(
3940
"Wheel is eligible for a higher priority tag. "
4041
f"You requested {abi} but I have found this wheel is "

bindings/python/cibw_before_build.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ if [[ "$CIBW_BUILD" == *"macosx_"* ]]
1111
then
1212
if [[ "$ARCHFLAGS" == *"arm64"* ]]
1313
then
14-
platform="macosx_11_0_arm64"
14+
platform="macosx_12_0_arm64"
1515
export CMAKE_OSX_ARCHITECTURES="arm64"
1616
else
17-
platform="macosx_10_14_x86_64"
17+
platform="macosx_12_0_x86_64"
1818
export CMAKE_OSX_ARCHITECTURES="x86_64"
1919
fi
2020

bindings/python/pyproject.toml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ requires = [
33
# ARROW-248, pin to less than 72.2.
44
"setuptools>=70,<72.2",
55
"cython>=3.0",
6+
# Needed for numpy headers.
7+
"numpy>=2.0",
68
# Must be kept in sync with "project.dependencies" below.
7-
"pyarrow>=17.0,<17.1.0",
9+
"pyarrow>=18.0,<18.1.0",
810
]
911

1012
[project]
@@ -27,14 +29,15 @@ classifiers = [
2729
"Programming Language :: Python :: 3.10",
2830
"Programming Language :: Python :: 3.11",
2931
"Programming Language :: Python :: 3.12",
32+
"Programming Language :: Python :: 3.13",
3033
"Programming Language :: Python :: Implementation :: CPython",
3134
"Topic :: Database",
3235
]
3336
readme = "README.md"
3437
requires-python = ">=3.9"
3538
dependencies = [
3639
# Must be kept in sync with "build_sytem.requires" above.
37-
"pyarrow >=17.0,<17.1",
40+
"pyarrow >=18.0,<18.1",
3841
"pymongo >=4.4,<5",
3942
"pandas >=1.3.5,<3",
4043
"packaging >=23.2",
@@ -84,7 +87,7 @@ archs = "x86_64 aarch64"
8487
manylinux-x86_64-image = "manylinux_2_28"
8588
manylinux-aarch64-image = "manylinux_2_28"
8689
repair-wheel-command = [
87-
"pip install \"auditwheel>=5,<6\"",
90+
"pip install \"auditwheel>=6,<7\"",
8891
"python addtags.py {wheel} {dest_dir}"
8992
]
9093

0 commit comments

Comments
 (0)