Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(python): support 3.13 #2046

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all 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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@
name: Rust CI
strategy:
matrix:
os: [ubuntu-latest, macos-13, macos-14] # macos-13: x86, macos-14: arm64

Check warning on line 188 in .github/workflows/ci.yml

View workflow job for this annotation

GitHub Actions / 🍏 YAML

188:49 [comments] too few spaces before comment
runs-on: ${{ matrix.os }}
timeout-minutes: 45
steps:
Expand All @@ -201,7 +201,7 @@
name: C++ CI
strategy:
matrix:
os: [ubuntu-latest, macos-13, macos-14, windows-2022] # macos-13: x86, macos-14: arm64

Check warning on line 204 in .github/workflows/ci.yml

View workflow job for this annotation

GitHub Actions / 🍏 YAML

204:63 [comments] too few spaces before comment
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
Expand All @@ -218,7 +218,7 @@
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.8, 3.12]
python-version: [3.8, 3.12, 3.13]
Copy link
Collaborator

Choose a reason for hiding this comment

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

Could we also update release.yml to release wheel for python3.13 too?

os: [ubuntu-20.04, macos-13, macos-14, windows-2022]
steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.8, 3.9, "3.10", 3.11, 3.12]
python-version: [3.8, 3.9, "3.10", 3.11, 3.12, 3.13]
os: [ubuntu-latest, macos-13, macos-14, windows-2022] # macos-13: x86, macos-14: arm64

Check warning on line 32 in .github/workflows/release.yaml

View workflow job for this annotation

GitHub Actions / 🍏 YAML

32:63 [comments] too few spaces before comment

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion bazel/arrow/pyarrow_configure.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def _execute(
The result of repository_ctx.execute(cmdline).
"""
result = repository_ctx.execute(cmdline)
if result.stderr or not (empty_stdout_fine or result.stdout):
if (result.return_code != 0) or not (empty_stdout_fine or result.stdout):
_fail("\n".join([
error_msg.strip() if error_msg else "Repository command failed",
result.stderr.strip(),
Expand Down
4 changes: 2 additions & 2 deletions bazel/fury_deps_setup.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,8 @@ def setup_deps():
auto_http_archive(
name = "cython",
build_file = "@com_github_grpc_grpc//third_party:cython.BUILD",
url = "https://github.com/cython/cython/releases/download/3.0.0/Cython-3.0.0.tar.gz",
sha256 = "350b18f9673e63101dbbfcf774ee2f57c20ac4636d255741d76ca79016b1bd82",
url = "https://github.com/cython/cython/releases/download/3.1.0a1/cython-3.1.0a1.tar.gz",
sha256 = "35b53f6947c3133452b84f0f9703f222deb9b02874861427a45e63c891379440",
)
auto_http_archive(
name = "com_google_googletest",
Expand Down
14 changes: 11 additions & 3 deletions ci/deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,16 @@ PYTHONS=("cp37-cp37m"
"cp39-cp39"
"cp310-cp310"
"cp310-cp311"
"cp312-cp312")
"cp312-cp312"
"cp313-cp313")

VERSIONS=("3.7"
"3.8"
"3.9"
"3.10"
"3.11"
"3.12")
"3.12"
"3.13")

create_py_envs() {
source $(conda info --base)/etc/profile.d/conda.sh
Expand Down Expand Up @@ -157,7 +159,13 @@ deploy_python() {
}

install_pyarrow() {
pip install pyarrow==14.0.0
pyversion=$(python -V | cut -d' ' -f2)
if [[ $pyversion == 3.13* ]]; then
pyarrow_version=18.0.0
else
pyarrow_version=14.0.0
fi
pip install pyarrow==$pyarrow_version
}

deploy_scala() {
Expand Down
2 changes: 1 addition & 1 deletion python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
except FileExistsError:
pass

pyarrow_version = "14.0.0"
pyarrow_version = "14.0.0" if sys.version_info.minor < 13 else "18.0.0"
# Check if we're running 64-bit Python
if not sys.maxsize > 2**32:
raise RuntimeError("Not supported on 32-bit")
Expand Down
Loading