Add vector call functions to the limited API

wjakob · GitHub

Feature or enhancement

Starting in Python 3.12, it is possible to receive vector calls in the limited API. However, it is not possible to issue them from a binary extension module compiled for the limited API.

Pitch

Since the

PEP-590

is presumably stable at this point, I propose exposing more of it through the limited API. This would entail the functions

PyObject_Vectorcall

PyObject_VectorcallMethod

PyObject_VectorcallDict

PY_VECTORCALL_ARGUMENTS_OFFSET (a macro constant that is needed to use these effectively)

Previous discussion

Some related discussion took place here:

https://discuss.python.org/t/ideas-for-forward-compatible-and-fast-extension-libraries-in-python-3-12

. This PR Is specifically about item

#5

from the list in the first post.

PR:

gh-98586: add whatsnew entry covering limited-API outgoing vector calls, related documentation fix #99056