This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients erlendaasland, petr.viktorin, vstinner
Date 2021-04-16.17:23:35
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1618593815.46.0.649510723858.issue43795@roundup.psfhosted.org>
In-reply-to
Content
> PyThreadState_DeleteCurrent

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.

> Py_GetArgcArgv

No.

Python 3.10 now provides sys.orig_argv which can be read in C.
https://docs.python.org/dev/library/sys.html#sys.orig_argv

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
2021-02-18/stem-1.8.0.tar.gz
2021-02-18/sphinx-gallery-0.8.2.tar.gz
2021-02-18/setproctitle-1.2.2.tar.gz
2021-02-18/pyuwsgi-2.0.19.1.post0.tar.gz
2021-02-18/mercurial-5.7.tar.gz
2021-02-18/httpretty-1.0.5.tar.gz
2021-02-18/CherryPy-18.6.0.tar.gz
2021-02-18/aws-encryption-sdk-cli-2.1.0.tar.gz

> PyInterpreterState_GetID

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.
History
Date User Action Args
2021-04-16 17:23:35vstinnersetrecipients: + vstinner, petr.viktorin, erlendaasland
2021-04-16 17:23:35vstinnersetmessageid: <1618593815.46.0.649510723858.issue43795@roundup.psfhosted.org>
2021-04-16 17:23:35vstinnerlinkissue43795 messages
2021-04-16 17:23:35vstinnercreate