Commit Graph

5 Commits

Author SHA1 Message Date
Berker Peksag fef77a92e3 PEP 489 changes
Summary by Petr Viktorin:

- Reuse the PyInit_* hook, instead of adding PyModuleExport_*;
  add the PyModuleDef_Init helper
- Per-module state is allocated at the beginning of the execute step
- Docstrings & methods from the def are added unconditionally
- Rename PEP to better reflect what it ended up doing
- Mention built-in modules, which get the same changes
- Several rewordings and clarifications
2015-05-18 17:27:02 +03:00
Berker Peksag 9891f4843b PEP 489: Updates from Petr Viktorin.
Summary:

- PyModuleExport -> PyModuleDef (which brings us down to two slot types,
  create & exec)
- Removed "singleton modules"
- Stated that PyModule_Create, PyState_FindModule, PyState_AddModule,
  PyState_RemoveModule will not work on slots-based modules.
- Added a section on C-level callbacks
- Clarified that if PyModuleExport_* returns NULL, it's as if it wasn't
  defined (i.e. falls back to PyInit)
- Added API functions: PyModule_FromDefAndSpec, PyModule_ExecDef
- Added PyModule_AddMethods and PyModule_AddDocstring helpers
- Added PyMODEXPORT_FUNC macro for x-platform declarations of the export
  function
- Added summary of API changes
- Added example code for a backwards-compatible module
- Changed modules ported in the initial implementation to "array" and "xx*"
- Changed ImportErrors to SystemErrors in cases where the module is
  badly written (and to mirror what PyInit does now)
- Several typo fixes and clarifications
2015-05-08 04:58:19 +03:00
Berker Peksag d7780468e2 PEP 489: Update from Petr. 2015-04-17 21:05:59 +03:00
Berker Peksag 22807f72c3 PEP 489: Updates from Petr Viktorin. 2015-04-16 18:49:43 +03:00
Brett Cannon 08ec9b2956 Add PEP 489: Redesigning extension module loading 2015-03-13 08:41:41 -04:00