Skip to content

Commit d4b8041

Browse files
authored
Py3.14 Wheels (confluentinc#2105)
* Build experiment with tag checks skipped to validate p314 * Dropped python 3.7 as tool chain no longer supports * Fixed typo in build-wheels.sh * More build fix attempts * Fixed 3.13+ osx artifact push * Added missing version for windows and arm linux * Fixed misplaced sem ver call * Add python install for windows * Add SPECIFIC python install for windows * Updated windows tools target CIBW * Removed tag checks * Removed tag checks
1 parent 756f39d commit d4b8041

12 files changed

+28
-24
lines changed

.semaphore/semaphore.yml

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ global_job_config:
1414
- checkout
1515
- mkdir artifacts
1616
blocks:
17-
- name: "Wheels: OSX x64 - Python 3.7-3.12"
17+
- name: "Wheels: OSX x64 - Python 3.8-3.12"
1818
run:
1919
when: "tag =~ '.*'"
2020
dependencies: []
@@ -34,7 +34,7 @@ blocks:
3434
- PIP_INSTALL_OPTIONS="--user" tools/wheels/build-wheels.sh "${LIBRDKAFKA_VERSION#v}" wheelhouse 2.16.2
3535
- tar -czf wheelhouse-macOS-${ARCH}.tgz wheelhouse
3636
- artifact push workflow wheelhouse-macOS-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/
37-
- name: "Wheels: OSX x64 - Python 3.13"
37+
- name: "Wheels: OSX x64 - Python 3.13-3.14"
3838
run:
3939
when: "tag =~ '.*'"
4040
dependencies: []
@@ -54,10 +54,10 @@ blocks:
5454
jobs:
5555
- name: Build
5656
commands:
57-
- sem-version python 3.11
57+
- sem-version python 3.13
5858
- PIP_INSTALL_OPTIONS="--user" tools/wheels/build-wheels.sh "${LIBRDKAFKA_VERSION#v}" wheelhouse
59-
- tar -czf wheelhouse-macOS-${ARCH}-py313.tgz wheelhouse
60-
- artifact push workflow wheelhouse-macOS-${ARCH}-py313.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}-py313.tgz/
59+
- tar -czf wheelhouse-macOS-${ARCH}-py313-plus.tgz wheelhouse
60+
- artifact push workflow wheelhouse-macOS-${ARCH}-py313-plus.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}-py313-plus.tgz/
6161
- name: "Wheels: OSX arm64 - Python 3.8-3.12"
6262
run:
6363
when: "tag =~ '.*'"
@@ -80,7 +80,7 @@ blocks:
8080
- PIP_INSTALL_OPTIONS="--user" tools/wheels/build-wheels.sh "${LIBRDKAFKA_VERSION#v}" wheelhouse 2.16.2
8181
- tar -czf wheelhouse-macOS-${ARCH}.tgz wheelhouse
8282
- artifact push workflow wheelhouse-macOS-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/
83-
- name: "Wheels: OSX arm64 - Python 3.13"
83+
- name: "Wheels: OSX arm64 - Python 3.13-3.14"
8484
run:
8585
when: "tag =~ '.*'"
8686
dependencies: []
@@ -102,10 +102,10 @@ blocks:
102102
jobs:
103103
- name: Build
104104
commands:
105-
- sem-version python 3.11
105+
- sem-version python 3.13
106106
- PIP_INSTALL_OPTIONS="--user" tools/wheels/build-wheels.sh "${LIBRDKAFKA_VERSION#v}" wheelhouse
107-
- tar -czf wheelhouse-macOS-${ARCH}-py313.tgz wheelhouse
108-
- artifact push workflow wheelhouse-macOS-${ARCH}-py313.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}-py313.tgz/
107+
- tar -czf wheelhouse-macOS-${ARCH}-py313-plus.tgz wheelhouse
108+
- artifact push workflow wheelhouse-macOS-${ARCH}-py313-plus.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}-py313-plus.tgz/
109109
- name: "Wheels: Linux arm64"
110110
run:
111111
when: "tag =~ '.*'"
@@ -122,6 +122,7 @@ blocks:
122122
jobs:
123123
- name: Build
124124
commands:
125+
- sem-version python 3.13
125126
- ./tools/wheels/build-wheels.sh "${LIBRDKAFKA_VERSION#v}" wheelhouse
126127
- tar -czf wheelhouse-linux-${ARCH}.tgz wheelhouse
127128
- artifact push workflow wheelhouse-linux-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/
@@ -141,6 +142,7 @@ blocks:
141142
jobs:
142143
- name: Build
143144
commands:
145+
- sem-version python 3.11
144146
- ./tools/wheels/build-wheels.sh "${LIBRDKAFKA_VERSION#v}" wheelhouse
145147
- tar -czf wheelhouse-linux-${ARCH}.tgz wheelhouse
146148
- artifact push workflow wheelhouse-linux-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/
@@ -170,6 +172,8 @@ blocks:
170172
- name: MSYSTEM
171173
value: UCRT64
172174
commands:
175+
- pyenv install 3.11.9
176+
- pyenv global 3.11.9
173177
- bash tools/mingw-w64/semaphore_commands.sh
174178
- bash tools/wheels/install-librdkafka.sh $env:LIBRDKAFKA_VERSION.TrimStart("v") dest
175179
- tools/wheels/build-wheels.bat x64 win_amd64 dest wheelhouse
@@ -379,10 +383,10 @@ blocks:
379383
run:
380384
when: "tag =~ '.*'"
381385
dependencies:
382-
- "Wheels: OSX x64 - Python 3.7-3.12"
383-
- "Wheels: OSX x64 - Python 3.13"
386+
- "Wheels: OSX x64 - Python 3.8-3.12"
387+
- "Wheels: OSX x64 - Python 3.13-3.14"
384388
- "Wheels: OSX arm64 - Python 3.8-3.12"
385-
- "Wheels: OSX arm64 - Python 3.13"
389+
- "Wheels: OSX arm64 - Python 3.13-3.14"
386390
- "Wheels: Linux arm64"
387391
- "Wheels: Linux x64"
388392
- "Wheels: Windows"

DEVELOPER.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This document provides information useful to developers working on confluent-kaf
66

77
### Prerequisites
88

9-
- Python 3.7 or higher
9+
- Python 3.8 or higher
1010
- Git
1111
- librdkafka (for Kafka functionality)
1212

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ classifiers = [
1414
"Programming Language :: Python :: 3",
1515
"Topic :: Software Development :: Libraries :: Python Modules"]
1616
readme = "README.md"
17-
requires-python = ">=3.7"
17+
requires-python = ">=3.8"
1818
dynamic = ["dependencies", "optional-dependencies"]
1919

2020
[[project.authors]]

service.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: confluent-kafka-python
22
lang: python
3-
lang_version: 3.7
3+
lang_version: 3.8
44
git:
55
enable: true
66
github:

tools/cibuildwheel-build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ case "$(uname -s)" in
5252
esac
5353

5454
if ! which cibuildwheel 2>/dev/null ; then
55-
pip install cibuildwheel==0.4.1
55+
pip install -r tools/requirements-manylinux.txt
5656
fi
5757

5858
cibuildwheel $_CIBW_ARGS --output-dir "$OUT_DIR"

tools/mingw-w64/semaphore_commands.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ export MAKE=mingw32-make # so that Autotools can find it
88

99
cmd /c mklink /D C:\Python38\python3.exe C:\Python38\python.exe
1010

11-
python -m pip install cibuildwheel==2.21.3
11+
python -m pip install cibuildwheel==3.2.1

tools/mingw-w64/setup-msys2.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Install (if necessary) and set up msys2.
22

33

4-
$url="https://github.com/msys2/msys2-installer/releases/download/2022-10-28/msys2-base-x86_64-20221028.sfx.exe"
4+
$url="https://github.com/msys2/msys2-installer/releases/download/2025-08-30/msys2-base-x86_64-20250830.sfx.exe"
55
$sha256="e365b79b4b30b6f4baf34bd93f3d2a41c0a92801c7a96d79cddbfca1090a0554"
66

77

tools/requirements-manylinux.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
cibuildwheel
1+
cibuildwheel==3.2.1
22
wheel

tools/wheels/build-wheels.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ set WHEELHOUSE=%4
1313
if [%WHEELHOUSE%]==[] goto usage
1414
echo on
1515

16-
set CIBW_BUILD=cp37-%BW_ARCH% cp38-%BW_ARCH% cp39-%BW_ARCH% cp310-%BW_ARCH% cp311-%BW_ARCH% cp312-%BW_ARCH% cp313-%BW_ARCH%
16+
set CIBW_BUILD=cp38-%BW_ARCH% cp39-%BW_ARCH% cp310-%BW_ARCH% cp311-%BW_ARCH% cp312-%BW_ARCH% cp313-%BW_ARCH% cp314-%BW_ARCH%
1717
set CIBW_BEFORE_BUILD=python -m pip install delvewheel==1.1.4
1818
set CIBW_TEST_REQUIRES=pytest
1919
set CIBW_TEST_COMMAND=pytest {project}\tests\test_error.py

tools/wheels/build-wheels.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export CIBW_MANYLINUX_AARCH64_IMAGE="manylinux_2_28"
1616

1717
librdkafka_version=$1
1818
wheeldir=$2
19-
cibuildwheel_version=${3:-"2.21.3"}
19+
cibuildwheel_version=${3:-"3.2.1"}
2020

2121
if [[ -z $wheeldir ]]; then
2222
echo "Usage: $0 <librdkafka-nuget-version> <wheeldir>"

0 commit comments

Comments
 (0)