-
Notifications
You must be signed in to change notification settings - Fork 15
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
Build broken on python 3.13-dev #72
Comments
I don't personally test on 3.13 yet, though I'm of course happy to -- it's possible that PyO3 0.21 works on it / has a fix for this, but the GIL API changes were definitely not trivial for me, I haven't been able to get something working yet. I pushed my partial attempt to main...pyo3-21 -- PRs are welcome to finish that. Otherwise this will happens when it happens. |
Thanks for the heads-up. I have tried with PyO3 0.21 with the same result. Per PyO3/pyo3#4038, it looks like 3.13 support is a nice to have for PyO3 0.22. |
Got it thanks for the pointer. I think the above still will be a blocker then regardless, as presumably they won't backport the 0.22 changes to 0.20 so we'll have to move up. |
See crate-py/rpds#72 Unfortunately, setting PYO3_USE_ABI3_FORWARD_COMPATIBILITY and UNSAFE_PYO3_SKIP_VERSION_CHECK changed nothing, so the tests have been disabled.
Python 3.13 seems to be supported with the new 0.22 release of PyO3 https://github.com/PyO3/pyo3/releases/tag/v0.22.0 Would this be enough to make rpds compatible? Would love to help if possible :) |
@FlickerSoul you might wanna take a look at the failures in #76 |
Yep that PR is definitely what needs help -- I pushed a branch with my own WIP here: https://github.com/crate-py/rpds/tree/pyo3-21 which is the first part of this (updating to 0.21) -- you may or may not find that helpful to start with. (n.b. things are undoubtedly slower at the minute on my end. https://www.linkedin.com/feed/update/urn:li:activity:7213574952485089280/ has the quick/not so quick explanation. Just mentioning as I apologize if responses and/or attention takes longer than usual, and/or if you're wondering when or if I'll get to this myself!) |
Thanks for the information! I'll take a look later this week :) |
Experimentally, this will compile on py3.13 with |
PyO3 removes the I made two branches for each case, one without the main...FlickerSoul:rpds:clone-feature Both versions work on the GIL version of CPython and all tests pass. However, they don't work on free-threaded one: Python crashes during PyO3 making the py model. This seems to be a bug in PyO3. I have filed an issue and I guess I can only wait for their responses. Let me know if I missed anything. :) Thanks! |
Thanks for the work so far! Two immediate notes: I notice @edgarrmondragon also sent a draft PR, so it's likely wise to coordinate between the two of you on what's what and which/when they're ready for review. On the free-threading question: I suspect most Python packages will not explicitly support the free-threading interpreter for the immediate future (as a maintainer I certainly don't plan on it in the short term, only perhaps quite a bit down the line, and certainly not without CI running both interpreters) -- so I'm totally fine sticking to things that work with "Traditional CPython", especially if it gets us more functionality there. So yeah, I wouldn't intentionally break GIL-less, but if there's something which works on standard CPython we should keep it. And yeah thanks again for your work so far it will be very helpful I'm sure in getting this over the line! |
Thanks for the quick reply! We will discuss in the PR thread and will let you know when it's ready. Yes, GitHub doesn't have a GIL-less CPython CI for now (here). I'll keep an eye on it while waiting updates from PyO3 side. Thanks! |
This should be good to go in 0.19. Thanks a ton to @FlickerSoul and @edgarrmondragon. |
And 3.13.0 is out, no longer a dev version: https://www.python.org/downloads/release/python-3130/ |
rpds-py
cannot be built onPython 3.13.0a6+
.Steps to reproduce
The text was updated successfully, but these errors were encountered: