Title: dev doc for adding builtin modules is not enough.
Type: Severity: minor
Components: Documentation Versions:
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: fwierzbicki, juneau001, pjenvey, yyamano
Priority: normal Keywords:

Created on 2011-03-16.05:07:22 by yyamano, last changed 2013-02-26.17:51:00 by fwierzbicki.

msg6439 (view) Author: Yuji Yamano (yyamano) Date: 2011-03-16.05:07:21
We don't have developers doc for adding builtin modules.

Here is the incomplete instructions to add a builtin module.
Looking at org.python.modules.zipimport might be help.

- Add the mpodule to src/org/python/modules/
- Create a module directory as a org.python.modules.YOUR_PACKAGE
- Create a Module as a class. It implements ClassDictInit and add a static
  method classDictInit(PyObject dict).
- Add name of exposed classes in the module to the dict in classDictInit().
- Add @ExposedType to the classes
- Add TYPE field to the classes
- Add a constructor with single PyType argument.
- Add super() to constructors
- Add src/templates/EXPOSED_CLASS_NAME.derived
- Add new entry for EXPOSED_CLASS_NAME.derived to mappings file in the same directory.
- Move src/templates/ and run the following command.
  % python EXPOSED_CLASS_NAME.derived
msg6441 (view) Author: Yuji Yamano (yyamano) Date: 2011-03-17.13:44:43
Fixes and one more tip.

> - Add TYPE field to the classes

- Add TYPE field to the classes and set PyType.fromClass(YOUR_CLASS.class)

> - Add super() to constructors

- Call super() or super(TYPE) in all constructors

- Add the exposed classes to CoreExposed.includes in the roor directory
msg6444 (view) Author: Philip Jenvey (pjenvey) Date: 2011-03-21.05:44:01
Thanks for this Yuji

Another thing we need to concentrate on for 2.6 is improving our docs. It might be a good idea to update the wiki with these additions (some of it would go in, some of it would probably be better elsewhere)

Eventually we should take some of those wiki entries and maintain them as more formal docs, in rST format. I think we could even extend CPython's new devguide ( to cover jython development
Date User Action Args
2013-02-26 17:51:00fwierzbickisetpriority: normal
nosy: + fwierzbicki
2011-03-21 05:44:01pjenveysetnosy: + pjenvey, juneau001
messages: + msg6444
2011-03-17 13:44:44yyamanosetmessages: + msg6441
2011-03-16 05:07:22yyamanocreate