On Fri, Jul 30, 2010 at 4:04 PM, Barry Warsaw <barry@python.org> wrote: ..
* Registration - How do third party plugins declare themselves to exist, and be enabled? Part of this seems to me to include interface declarations too. Is installation of the plugin enough to register it? How do end users enable and disable plugins that me be registered on their system? How do plugins describe themselves (provide short and log descriptions, declare options, hook into command line interfaces, etc.)?
* Installation - How are plugins installed on the system? Do they have to appear in a special directory on the file system? Do they need special setup.py magic to write extra files? Do they need to live in a pre-defined namespace?
FWIW We are thinking about adding in distutils2 a system quite similar to the entry points setuptools has, but with extra abilities for the end user : - activate / deactivate plugins without having to remove the project that added them - configure globally if plugins are implicitely activated or not -- and maybe allow the distutils2 installer to ask the user when a plugin is detected if he wants it activate or not - provide a tool to browse them This will be done through files added in the dist-info/ dirs, with the new PEP 376 api we are adding to pkgutil The idea is that the end user should be able to have a full control on what's activated in his system, without relying on the developer choices Cheers Tarek -- Tarek Ziadé | http://ziade.org