[Import-SIG] PEP 489: Multi-phase extension module initialization; version 5

Petr Viktorin encukou at gmail.com
Mon May 18 18:27:50 CEST 2015


On Mon, May 18, 2015 at 5:58 PM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> On Mon, 18 May 2015 17:32:13 +0200
> Petr Viktorin <encukou at gmail.com> wrote:
>>
>> > A fast, easy way to access module "state" without defining global
>> > variables at the C level is required.
>>
>> You can have a custom subclass, or you can use per-module state, or
>> put a capsule in the module dict.
>
> The latter two are cumbersome and inefficient. Only custom subclasses
> can make things easy and fast at the C level.

With per-module state, you need a one-liner macro, and a pointer
dereference at runtime. Is that too cumbersome and inefficient, or am
I missing something?

The PEP still supports custom subclasses, for cases where you need
easy and fast module state.

> Which is why I'm surprised that you seem to be encouraging, or not
> discouraging, the "module state" API.

No, I'm not discouraging it. The PEP makes sure it continues to work.
Should there be another PEP to deprecate it?


More information about the Import-SIG mailing list