<steve_s>
Do we have some story re METH_FASTCALL(with METH_KEYWORDS)? Numpy uses it and it has its own npy_parse_arguments for parsing the arguments. Cursory look at the popular packages shows that it is not used a lot at least in the snapshot we currently have: Cython, gevent, multiprocess, pickle5. From those gevent, multiprocess use argument clinic presumably pulled from CPython.
<mattip>
I think HPy should support it, but if it is difficult perhaps we could put it off a bit.
<mattip>
It is relatively new, from Python3.7 and part of the stable ABI from 3.10
<mattip>
I see it in cython as part of 0.25 from 2016
<steve_s>
Actually both. METH_FASTCALL w/o keywords: we could probably support that already? HPyFunc_VARARGS already takes array of handles so the trampolines for it could just use METH_FASTCALL? I assume people don't use it that often, because there is PyArg_ParseTuple but no PyArg_ParseArray, but HPy does have HPyArg_Parse for arrays
<steve_s>
Ah, there is PyArg_Parse too in CPython
<steve_s>
But nothing like that for METH_FASTCALL | METH_KEYWORDS. If CPython is thinking of putting effort into providing arg clinic to extensions, it may be as well HPy providing that or something similar to extensions that would allow to leverage METH_FASTCALL | METH_KEYWORDS better.