diff --git a/.github/workflows/build-baseten-performance-client.yml b/.github/workflows/build-baseten-performance-client.yml index 3a320536597..93ba9ecf653 100644 --- a/.github/workflows/build-baseten-performance-client.yml +++ b/.github/workflows/build-baseten-performance-client.yml @@ -36,10 +36,11 @@ env: # basetenlabs/truss is a monorepo; each package release is a plain commit, # never a git tag (baseten-performance-client's own release workflow only # tags on request). This is the commit whose python_bindings/pyproject.toml - # reads 0.1.13, 15 minutes before the PyPI upload timestamp, and its - # Cargo.lock/python_bindings/src/lib.rs are byte-identical to the released - # sdist. Move it together with BASETEN_PERFORMANCE_CLIENT_VERSION. - BASETEN_PERFORMANCE_CLIENT_REF: a53b7a2a891d8df8fe12d5b35c2ea92c4497b171 + # reads 0.1.14 ("Bump performance clients to 0.1.14", #2657), and every + # Rust source file and Cargo.lock in the released sdist is byte-identical + # to it (only maturin's Cargo.toml/README rewrites differ). Move it together + # with BASETEN_PERFORMANCE_CLIENT_VERSION. + BASETEN_PERFORMANCE_CLIENT_REF: 6a5f24a2fd07c35206d7e76adc90a68c84473136 MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: diff --git a/docs/packages/baseten-performance-client.yaml b/docs/packages/baseten-performance-client.yaml index 68ca944fb41..92f768e6519 100644 --- a/docs/packages/baseten-performance-client.yaml +++ b/docs/packages/baseten-performance-client.yaml @@ -9,3 +9,4 @@ versions: - filename: baseten_performance_client-0.1.13-cp39-abi3-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl sha256: 16295d5abfac5653c5197f7a6897c55323f3605ef204f25671d897cab79d0fae requires-python: '>=3.8' +- version: 0.1.14 diff --git a/patches/baseten-performance-client/0.1.14/0001-python_bindings-bump-abi3-floor-to-py39.patch b/patches/baseten-performance-client/0.1.14/0001-python_bindings-bump-abi3-floor-to-py39.patch new file mode 100644 index 00000000000..9b9c5c97837 --- /dev/null +++ b/patches/baseten-performance-client/0.1.14/0001-python_bindings-bump-abi3-floor-to-py39.patch @@ -0,0 +1,35 @@ +From a3716030fe826f7a9ad0f79a8a2b745c2a80febf Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Thu, 24 Sep 2026 01:08:06 +0000 +Subject: [PATCH] python_bindings: bump abi3 floor to py39 + +Upstream-Status: Inappropriate [manylinux_2_39_riscv64 ships no cp38 interpreter] + +The riscv64 manylinux image's oldest available CPython is cp39 (no cp38), +so a wheel built here and tagged cp38-abi3 (this crate's abi3-py38 +feature) would never actually be compiled or tested against its own +declared floor -- gotcha 96. Bump the pyo3 abi3 feature to abi3-py39 to +make the riscv64 wheel's tag match the oldest interpreter this repo can +build and test it on; every other platform's wheel is unaffected. + +Signed-off-by: Ludovic Henry +--- + baseten-performance-client/python_bindings/Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/baseten-performance-client/python_bindings/Cargo.toml b/baseten-performance-client/python_bindings/Cargo.toml +index 0aac17da..3cc4e98d 100644 +--- a/baseten-performance-client/python_bindings/Cargo.toml ++++ b/baseten-performance-client/python_bindings/Cargo.toml +@@ -5,7 +5,7 @@ edition = "2021" + + [dependencies] + baseten_performance_client_core = { path = "../core", features = ["native-tls"] } +-pyo3 = { version = "0.24", features = ["extension-module", "abi3-py38"] } ++pyo3 = { version = "0.24", features = ["extension-module", "abi3-py39"] } + numpy = "0.24.0" + ndarray = "0.16" + pythonize = "*" +-- +2.43.0 +