-
Notifications
You must be signed in to change notification settings - Fork 801
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
How to keep users safe regarding alpha Pythons? #3555
Comments
#3555 - user built an extremely old PyO3 version against PyPy 3.10. This kind of stuff is definitely not good, so I will aim to push a PR soon to add a Python version ceiling. |
From @adamreichold in #3674 (comment)
I'm sympathetic to this perspective too, but the problem IMO is that we hardcode version-specific FFI structure layouts into That's sort of fine on alpha Pythons but I feel quite strongly that this is not ok in production. I see two possible mitigations:
|
This feels useful to me as a targeted measure to actually make the use case I am thinking work reliably instead of "fixing" it by disallowing it! This would ideally be accompanied by a warning in the build logs. |
In e.g. pydantic/pydantic#7942 we have a downstream user who tried to compile and run
pydantic-core
using Python 3.13 alpha. Unsurprisingly it didn't work (though the failure wasn't clearly due to unsoundness).Well there's a good argument to be made that if you're using an alpha Python that you should expect stuff to be broken, however I think we could do a better job at preventing users blowing their own feet off.
Some ideas:
abi3
feature is enabled.)In fact, I wonder if we should already be running 3.13 alphas in CI, but just the abi3 feature for now? That might be an interesting initial signal to 3.13 compatibility, but without us having to deal with churn of version-specific C API until later down the road.
The text was updated successfully, but these errors were encountered: