Old C API¶
The “current” or “old” C API is the Python 3.7 API which “leaks” implementation
details like PyObject.ob_refcnt
through Py_INCREF() macro.
With the new C API, the old C API will remain available thanks to the regular runtime, for CPython internals, for specific use cases like Cython (for best performances) and debugging tools, but also for the long tail of C extensions on PyPI.
See also Calling conventions.
What is the Python C API?¶
Python objects
Protocol, Abstract
Types, Classes
Memory Allocators
Python initialization and configuration
Control flow
Generator
Exception:
PyErr_SetString()
,PyErr_Clear()
Current Python C API¶
CPython: headers of the Include/ directory
PyPy cpyext: pypy/module/cpyext/ (cpyext/stubs.py)