I uploaded a prototype of an "Inspect" plugin to the gimp registry.
Refer to a previous thread about gimp_env_init() and a proposed patch.
If I get encouragement and the proposed patch to GIMP-Python is
approved, I might continue development.
I think this plugin fits the Gimp practice of keeping documentation in
the code.
From the README file:
A Gimp plugin that lets plugin programmers view documentation for PDB
procedures, GIMP-Python modules, plugins and modules written in Python,
and image data. The documentation is live, generated from the code
itself and from the current state of GIMP and the PDB.
Installation:
Copy plugin-inspect.py and the inspector directory to your own, local
plugin directory. Make plugin-inspect.py executable. See a comment in
plugin-inspect.py for Linux commands.
Version:
This is an alpha version, a proof-of-concept, a work in progress. It
works, and shouldn't crash. It is released for comments about the
features and about the GUI.
This alpha version asks:
1) whether Gimp Python plugin programmers need an inspector, a unified
way to browse internals.
2) whether pydoc documentation for Gimp plugins and Gimp-Python is
worthwhile. If so, Gimp needs to be patched to allow plugins to be
reimported by pydoc without aborting with the message "gimp_env_init()
must only be called once." Refer to a discussion on gimp-dev mail list.
You won't see the crash from this version since this version explicitly
only documents a few plugins (itself) that are safe from this crash,
i.e. that guard the call to main() so that it is only called if the
script is imported at the top level.
3) whether to migrate Help>Browse Plugins etc. from C to Python and
Glade.
Discussion:
Uses Glade3 graphical GUI designer and pygtk (requires gtk+ 2.16).
Duplicates the existing Gimp menu items "Help>Browse Plugins" and
"Help>Browse Procedures".
Documents python language plugins and modules (including GIMP-Python)
using the pydoc module (distributed with python, the official way to
produce documentation from python code.)
Its data driven. Other views of the data could be added, for example to
view plugins by directory path.