[Python-Dev] [PEP 576/580] Reserve one type slot for Cython

Jeroen Demeyer J.Demeyer at UGent.be
Mon Jul 30 10:40:00 EDT 2018

On 2018-07-30 15:35, INADA Naoki wrote:
> As repeatedly said, PEP 580 is very complicated protocol
> when just implementing callable object.

Can you be more concrete what you find complicated? Maybe I can improve 
the PEP to explain it more. Also, I'm open to suggestions to make it 
less complicated.

> It is optimized for implementing custom method object, although
> almost only Cython want the custom method type.

For the record, Numba also seems interested in the PEP:

> I'm not sure adding such complicated protocol almost only for Cython.
> If CyFunction can be implemented behind PEP 576, it may be better.

I recall my post 
explaining the main difference between PEP 576 and PEP 580.

I would like to stress that PEP 580 was designed for maximum 
performance, both today and for future extensions (such as calling with 
native C types).

> * PEP 576 and 580 are not strictly mutually exclusive; PEP 576 may be
>    accepted in addition to PEP 580

I don't think that this is a good idea: you will mostly end up with the 
disadvantages of both approaches.


More information about the Python-Dev mailing list