[Python-Dev] Can we make METH_FASTCALL public, from Python 3.7? (ref: PEP 579

Serhiy Storchaka storchaka at gmail.com
Wed Jun 20 12:56:40 EDT 2018

20.06.18 18:42, INADA Naoki пише:
> First of all, thank you Jeroen for writing nice PEPs.
> When I read PEP 579, I think "6. METH_FASTCALL is private and undocumented"
> should be solved first.
> I don't have any idea about changing METH_FASTCALL more.
> If Victor and Serhiy think so, and PyPy maintainers like it too, I want 
> to make it public
> as soon as possible.

I don't have objections against making the METH_FASTCALL method calling 
convention public. But only for positional-only parameters, the protocol 
for keyword parameters is more complex and still can be changed.

We should to provide also APIs for calling functions using this protocol 
(_PyObject_FastCall) and for parsing arguments (_PyArg_ParseStack). We 
may want to bikeshed names and the order of arguments for them.

> It's used widely in Python internals already.  I suppose that making it 
> public
> doesn't make Python 3.7 unstable much.
> If we can't at Python 3.7, I think we should do it at 3.8.

It is too late for 3.7 in any case.

More information about the Python-Dev mailing list