[Import-SIG] PEP 489: Redesigning extension module loading

Antoine Pitrou solipsis at pitrou.net
Thu Mar 19 15:17:55 CET 2015

On Thu, 19 Mar 2015 14:37:36 +0100
Petr Viktorin <encukou at gmail.com> wrote:
> On 03/19/2015 11:31 AM, Stefan Behnel wrote:
> > Hi Petr,
> >
> > thanks for working on this. I added my comments inline.
> Thanks for your comments, they're a nice reality check.
> I'm feeling a bit like I and Nick misunderstood Cython requirements 
> somewhat, and concentrated on unimportant points (loading into 
> pre-created modules) while ignoring important ones (fast access to 
> module state).

Fast access is not only important for Cython, but for various stdlib
modules as well (e.g. the _decimal module).

By the way, another nice thing would be for access to always succeed;
that simplifies extension module code quite a bit.

> One of the PEP's stated goals is that the behavior of extension modules 
> should be be closer to Python modules. But if the solution (Exec-only 
> modules) does't work for Cython, then the goal is pretty much 
> irrelevant. I believe PyCapsule is the cleanest way of putting C state 
> onto arbitrary objects, and by this time I can say it's not working.

Note that while *behaviour* may get closer to Python modules,
implementation doesn't have to. For example, I don't think it's a
problem if an extension module object has to be of a specific type;
supporting duck-typing isn't important here.



More information about the Import-SIG mailing list