-
Notifications
You must be signed in to change notification settings - Fork 2.2k
[BUG]: Python 3.12 support #4115
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
Comments
https://github.com/tacaswell/pybindbug has reproduction code + bisect script + bisect log. |
and specifically it breaks https://github.com/contourpy/contourpy which breaks Matplotlib |
Python 3.12 now supports global interpreter locks per interpreter (PEP 684). This, as far as I understand, requires more fine grained control over module initialization & cleanup (PEP 489, #2548). Is this something pybind is eventually able to do, or is this a topic for a pybind reboot like nanobind? |
I don't think creating more clones of pybind11 is environmentally friendly for the world at large. (Unless we have a clean interop story, to avoid excessive copy-pasting from one namespace to another.) Upshot: I think it'll be best to fit new features into pybind11, even though it obviously requires more thought than another reboot. |
Required prerequisites
Problem description
@tacaswell reported that python/cpython#23205 from Python 3.12 breaks pybind11, which in turn breaks matplotlib. We should probably both fix this and see if we can reenable the
dev
tag for 3.12 testing (Might also be good to start playing with usingPyType_FromMetaclass
too).Reproducible example code
No response
The text was updated successfully, but these errors were encountered: