classification
Title: Document C API that is not part of the limited API
Type: enhancement Stage: resolved
Components: C API, Documentation Versions: Python 3.7, Python 3.6, Python 3.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: docs@python Nosy List: docs@python, georg.brandl, nw0, petr.viktorin, python-dev, serhiy.storchaka
Priority: normal Keywords: patch

Created on 2016-12-27 19:01 by serhiy.storchaka, last changed 2021-06-01 14:49 by petr.viktorin. This issue is now closed.

Files
File name Uploaded Description Edit
unicode-not-part-of-the-limited-api.patch serhiy.storchaka, 2016-12-27 19:01 review
Pull Requests
URL Status Linked Edit
PR 23185 closed python-dev, 2020-11-06 22:17
Messages (5)
msg284125 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2016-12-27 19:01
From the documentation:

https://docs.python.org/3/c-api/stable.html

    In the C API documentation, API elements that are not part of the limited API are marked as "Not part of the limited API."

But they don't.

Following sample patch adds the notes to Unicode Objects and Codecs C API. I'm going to add them to all C API.

What are your though about formatting the note? Should it be before the description, after the description, but before the "deprecated" directive (as in the patch), or after the first paragraph of the description? Should it be on the separate line or be appended at the end of the previous paragraph, or starts the first paragraph (if before the description)? May be introduce a special directive for it?
msg309546 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2018-01-06 11:12
I have found that there is an option :stableabi: for C API elements. But it is not used in the documentation. Shouldn't we start to use it?
msg386173 - (view) Author: Petr Viktorin (petr.viktorin) * (Python committer) Date: 2021-02-02 21:41
The bigger problem is that currently, it's not clear what is limited API and what is not.

I am working to propose a PEP to fix this. It will also cover documentation: https://discuss.python.org/t/pre-pep-maintaining-the-stable-abi/6986
msg387229 - (view) Author: Petr Viktorin (petr.viktorin) * (Python committer) Date: 2021-02-18 13:48
PEP 652 is currently draft & it's discussed at https://discuss.python.org/t/pep-652-maintaining-the-stable-abi/6986
msg394860 - (view) Author: Petr Viktorin (petr.viktorin) * (Python committer) Date: 2021-06-01 14:49
PEP 652 is now in, and with it a list of everything that *is* in the stable ABI: https://docs.python.org/3.10/c-api/stable.html#contents-of-limited-api

I'm closing the issue.
History
Date User Action Args
2021-06-01 14:49:53petr.viktorinsetstatus: open -> closed
resolution: fixed
messages: + msg394860

stage: patch review -> resolved
2021-02-18 13:48:06petr.viktorinsetmessages: + msg387229
2021-02-18 13:19:19nw0setnosy: + nw0
2021-02-02 21:41:29petr.viktorinsetnosy: + petr.viktorin
messages: + msg386173
2020-11-06 22:17:46python-devsetnosy: + python-dev

pull_requests: + pull_request22089
stage: patch review
2020-06-25 09:47:45vstinnersetcomponents: + C API
2018-01-06 11:12:28serhiy.storchakasetmessages: + msg309546
2016-12-27 19:01:59serhiy.storchakacreate