Nick Coghlan, 12.08.2013 00:41: > On 11 Aug 2013 09:55, "Stefan Behnel" wrote: >>>>> this already suggests a simple module initialisation interface. >>>>> The >>>>> extension module would expose a function that returns a module type, >>>>> and >>>>> the loader/importer would then simply instantiate that. Nothing else >>>>> is needed. >>>> Actually, strike the word "module type" and replace it with "type". >> [...] >> Next, we need to define a signature for the type's __init__() method. > > We need the "ModuleSpec" object to pass here, which is what we're currently > working on in import-sig.
Ok but that's just the very final step. All the rest is C-API specific. And for clarification: you want to let the importer create the ModuleSpec object and the pass it into the module's __init__ method? I guess it could also be passed into the type creation function then, right? Since it wouldn't harm to do that, I think it's a good idea to provide as much information to the extension module as possible, as early as we can, and that's the first time we talk to the shared library. I've started writing up a pre-PEP that describes this protocol. I think it makes sense to keep it separate from the ModuleSpec PEP as the latter can easily be accepted without changing anything at the C-API level, but it shouldn't happen the other way round. Stefan _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com