Message388280
* Include/internal/ with extern: C API which must not and can not be used outside CPython code base, only stdlib extensions built as built-in extensions can use it.
* Include/internal/ with PyAPI_FUNC/PyAPI_DATA: API which should be be used outside CPython, but exposed for specific use cases like debuggers and profilers. Structures are exposed for debuggers and profilers which don't want to execute code to avoid the risk of any unwanted side effect.
* Include/cpython/: Public C API excluded from the limited C API (Py_LIMITED_API macro) and the stable ABI (PEP 384).
* Include/: Public limited C API and the stable ABI (PEP 384).
In case of doubt, new C API must be added to the internal C API using extern.
I would suggest a public discussion before adding any new C API to Include/cpython/ or Include/
No new functions stealing references or returning borrowed references must be added to public C API (limited or not). A strong reference must be returned. |
|
Date |
User |
Action |
Args |
2021-03-08 18:41:01 | vstinner | set | recipients:
+ vstinner, docs@python, serhiy.storchaka |
2021-03-08 18:41:00 | vstinner | set | messageid: <1615228860.98.0.384496840856.issue43416@roundup.psfhosted.org> |
2021-03-08 18:41:00 | vstinner | link | issue43416 messages |
2021-03-08 18:41:00 | vstinner | create | |
|