[Python-ideas] PEP: Hide implementation details in the C API

Victor Stinner victor.stinner at gmail.com
Thu Jul 13 11:35:18 EDT 2017


2017-07-13 15:21 GMT+02:00 Nick Coghlan <ncoghlan at gmail.com>:
> As far as I know, this isn't really why folks find the stable ABI hard
> to switch to. Rather, I believe it's because switching to the stable
> ABI means completely changing how you define classes to be closer to
> the way you define them from Python code.
>
> That's why I like the idea of defining a "portable" API that *doesn't*
> adhere to the "no public structs" rule - if we can restore support for
> static class declarations (which requires exposing all the static
> method structs as well as the object header structs, although perhaps
> with obfuscated field names to avoid any dependency on the details of
> CPython's reference counting model), I think such an API would have
> dramatically lower barriers to adoption than the stable ABI does.

I am not aware of this issue. Can you give an example of missing
feature in the stable ABI? Or maybe an example of a class definition
in C which cannot be implemented with the stable ABI?

Victor


More information about the Python-ideas mailing list