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
Implement PEP 652 -- Maintaining the Stable ABI #87961
Comments
New changeset 92eebf6 by Petr Viktorin in branch 'master': |
Opened as a separate issue: bpo-43868, Remove PyOS_ReadlineFunctionPointer from the stable ABI list |
I unsure about the following symbols.
|
No. bpo-37878 explicitly excluded it from the limited C API. IMO it's too close to the CPython implementation and so must not be added to the stable ABI.
No. Python 3.10 now provides sys.orig_argv which can be read in C. Py_GetArgcArgv() is part of the "legacy" C API to initialize Python. The "new" PyConfig API provides PyConfig.orig_argv. FYI in the PyPI top 4000 projects, the function seems to be called by the following projects: 2021-02-18/uWSGI-2.0.19.1.tar.gz
Yes. It's part of the limited C API. IMO technically, it's ok to add to the stable ABI. I added it to PC/python3dll.c on purpose. Sadly, it's not available on PyPy, but I don't think that the stable ABI must care about PyPy which is a different use case. |
Thanks! I'll send PRs later. |
Thanks for linking to the issues/documentation! I see that Py_GetArgcArgv it was exported in python3.def (i.e. stable ABI) in bpo-40910, which got backported to 3.9. And the removal of PyThreadState_DeleteCurrent was reverted: bpo-38266 While we would like to deprecate/remove them in the future, they are now part of the stable ABI. |
Should we mention PEP-652 in Include/README.rst, now that the PEP is accepted? |
No, we should link to the documentation (when it's written). The PEP is a design document; it'll become outdated. |
Right now, running "make regen-limited-abi" adds again functions which were removed from Doc/data/stable_abi.dat: diff --git a/Doc/data/stable_abi.dat b/Doc/data/stable_abi.dat
index cdc7160250..6fe61743d6 100644
--- a/Doc/data/stable_abi.dat
+++ b/Doc/data/stable_abi.dat
@@ -351,11 +351,17 @@ PyMapping_Length
PyMapping_SetItemString
PyMapping_Size
PyMapping_Values
+PyMarshal_ReadObjectFromString
+PyMarshal_WriteLongToFile
+PyMarshal_WriteObjectToFile
+PyMarshal_WriteObjectToString
PyMem_Calloc
PyMem_Free
PyMem_Malloc
PyMem_Realloc
PyMemberDescr_Type
+PyMember_GetOne
+PyMember_SetOne
PyMemoryView_FromMemory
PyMemoryView_FromObject
PyMemoryView_GetContiguous I guess that you should not be added until this issue is solved. |
I hope the PR fixes that. I plan to merge tomorrow if there ar no objections to it. On April 28, 2021 5:15:19 PM GMT+02:00, STINNER Victor <report@bugs.python.org> wrote:
|
Unfortunately commit b05955d has broken all refleak buildbots: https://buildbot.python.org/all/#/builders/259/builds/25/steps/5/logs/stdio See example: ---------------------------------------------------------------------- Per our buildbot policy, it will be reverted if is not fixed in 24h to avoid masking other errors. |
Thanks for the note! This is due to |
I opened https://bugs.python.org/issue44116 for the leak when trying to unload _csv. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: