On 11 August 2013 06:33, Antoine Pitrou <solip...@pitrou.net> wrote: > So code can be written like: > > PyObject *dialects = PyState_GetModuleAttr( > &_csvmodule, "dialects", &PyDict_Type); > if (dialects == NULL) > return NULL;
This sounds like a good near term solution to me. Longer term, I think there may be value in providing a richer extension module initialisation API that lets extension modules be represented as module *subclasses* in sys.modules, since that would get us to a position where it is possible to have *multiple* instances of an extension module in the *same* subinterpreter by holding on to external references after removing them from sys.modules (which is what we do in the test suite for pure Python modules). Enabling that also ties into the question of passing info to the extension module about how it is being loaded (e.g. as a submodule of a larger package), as well as allowing extension modules to cleanly handle reload(). However, that's dependent on the ModuleSpec idea we're currently thrashing out on import-sig (and should be able to bring to python-dev soon), and I think getting that integrated at all will be ambitious enough for 3.4 - using it to improve extension module handling would then be a project for 3.5. Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ 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