-
-
Notifications
You must be signed in to change notification settings - Fork 32.3k
gh-133644: Remove PySys_SetArgv*
for 3.15
#136277
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
base: main
Are you sure you want to change the base?
Conversation
PySys_SetArgv*
for 3.15PySys_SetArgv*
for 3.15
Misc/stable_abi.toml
Outdated
[function.PySys_SetArgv] | ||
added = '3.2' | ||
[function.PySys_SetArgvEx] | ||
added = '3.2' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We shouldn't remove the entry here, we should just mark them as abi_only = true
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which will preserve them in python3dll.c
, which is the actual breaking change (or at least the one that can be easily seen in a source diff).
Arguably they should stay in the header files as well, possibly only when Py_LIMITED_API
is set. The functionality can change if it needs to, though ideally wouldn't break every existing user.
Misc/NEWS.d/next/C_API/2025-07-04-15-44-49.gh-issue-133644.Oao-7A.rst
Outdated
Show resolved
Hide resolved
Please check if there are projects in the wild that use this. See for instance the case of PyWeakRef_GetObject where we delayed the removal for now until less projects are using it. And also, we should coordinate with the compat project. Finally, add a section for this removal in What's New as well as possible fallbacks. |
I have some rough and preliminary search in GitHub and find some projects like:
still use these C functions. I can have a more detail exploration for popular PyPI packages later. |
Well cython is a major project that we don't want to break. orjson is, iirc, simd-accelerated JSON so we don't want to break it either. They should first upgrade their code and then we'll remove the functions on our side I think. |
Remove
PySys_SetArgv
andPySys_SetArgvEx
.📚 Documentation preview 📚: https://cpython-previews--136277.org.readthedocs.build/