[Python-Dev] PEP 376 proposed changes for basic plugins support

P.J. Eby pje at telecommunity.com
Mon Aug 2 03:06:20 CEST 2010


At 02:03 AM 8/2/2010 +0200, Tarek Ziadé wrote:
>but then we would be back to the problem mentioned about entry points:
>installing projects can implicitly add a plugin and activate it, and break
>existing applications that iterate over entry points without further
>configuration. So being able to disable plugins from the beginning seems
>important to me

So which are these apps that don't allow configuration, and which are 
the plugins that break them?  Have the issues been reported so that 
the authors can fix them?

ISTM that the issue can only arise in cases where you are installing 
plugins to a *global* environment, rather than to an environment 
specific to the application.

In the case of setuptools, for example, it's expected that a project 
will use 'setup_requires' to identify the plugins it wishes to use, 
apart from any that were intentionally installed globally.  (The 
requested plugins are then added to sys.path only for the duration of 
the setup script execution.)

Other applications have plugin directories where their plugins are to 
be installed, and still others have explicit configuration to enable 
named plugins.

Even in the worst-case scenario, where an app has no plugin 
configuration and no private plugin directory, you can still control 
plugin availability by installing plugins to the directory where the 
application's main script is located, or point PYTHONPATH to point to 
a directory you've chosen to hold the plugins of your choice.

So without specific examples of why this is a problem, it's hard to 
see why a special Python-specific set of configuration files is 
needed to resolve it, vs. say, encouraging application authors to use 
the available alternatives for doing plugin directories, config files, etc.



More information about the Python-Dev mailing list