Repository navigation
Conversation
Upgrade pybind11 to 3.1.0, the first release tested on Python 3.15, and add Python 3.15 to the wheel build and PR validation matrices. The Ubuntu and Windows runners ship CMake 3.31, whose FindPython does not know Python 3.15 and fails with "Could NOT find Python3 (missing: Python3_INCLUDE_DIRS Development.Module)". Instead of installing a newer CMake, those jobs pass the interpreter, include directory and (on Windows) import library to FindPython, taken from the Python that setup-python installed.
merlimat
approved these changes
Nov 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Python 3.15.0 was released on 2026-10-01.
pulsar-clientpublishes no wheels for it and has no sdist, so it can't be installed on 3.15 at all.Modifications
Same shape as #274 for 3.14:
ubuntu-latestandwindows-2022runners ship CMake 3.31.6, whose FindPython does not know Python 3.15 (Could NOT find Python3 (missing: Python3_INCLUDE_DIRS Development.Module)). Rather than install a newer CMake into the build, those jobs passPython3_EXECUTABLE,Python3_INCLUDE_DIRand, on Windows,Python3_LIBRARYto FindPython, all read from the interpreter thatsetup-pythoninstalled. The manylinux, musllinux and macOS builds already have CMake 4.x and are unchanged.pulsar/__init__.py.I built it locally in
python:3.15-trixie(Python 3.15.2, linux/arm64) against the pulsar-client-cpp 4.2.0 debs. The extension compiles and imports, and a produce/consume round trip against anapachepulsar/pulsar:4.0.0standalone broker works. With Debian's CMake 3.31.6, the same version as the runners, the configure step fails without the FindPython hints and succeeds with them. The WindowsPython3_LIBRARYhint has not been tested outside this PR's CI.