Plugins in Python

Hans Nowak wurmy at
Fri Jun 28 06:16:15 CEST 2002

Lars Yencken wrote:
> Hello,
> I'm trying to do plugins for a program I'm writing in Python, and I'm not 
> sure how exactly to do it. Basically what I want it to be able to write a 
> module which loads every python file in a directory and stores an instance 
> of each one that loaded successfully.
> I tried using exec() and compile() to run each of the files in the 
> directory from my Plugins module, and had each of the files import my 
> Plugins module and store an instance of themselves there, but at the end of 
> it they weren't stored.
> Any ideas?

One way to do this is making a subdirectory and using it as a package. For 
example, a structure like this:

If you want all the plugin modules imported, you can simply do this in (import foo, import bar, etc). Then all you have to do from a 
program that uses the plugins, is import the package:

   import plugins
   # call baz() function in module bar in plugins directory


Hans (base64.decodestring('d3VybXlAZWFydGhsaW5rLm5ldA=='))
# decode for email address ;-)
The Pythonic Quarter::

More information about the Python-list mailing list