Using python to extend a python app

David M. Cooke cookedm+news at
Thu Mar 24 23:48:17 CET 2005

dataangel <k04jg02 at> writes:

> I'm writing a python app that works as a replacement for the menu that
> comes with most minimalist wms when you right click the root window.
> It's prettier and written completely in python.
> I'd like to provide hooks or some system so that people can write
> their own extensions to the app, for example adding fluxbox options,
> and then fluxbox users can choose to use that extension. But I'm not
> sure how to implement it.
> Right now the best idea I have is to have all desired extensions in a
> folder, import each .py file in that folder as a module using
> __import__, and then call some predetermined method, say "start", and
> pass it the menu as it exists so far so they can add to it,
> start(menu). This seems kind of hackish.

That looks pretty reasonable, and easy. There have been some recent
threads (in the past month or so) on plugins, so you might want to
search the archives. Most of it's revolved around not using exec :-)

I just had a look at pyblosxom (one program that I know that uses
plugins), and it uses exactly this approach, with some extra frills:
looking in subdirectories, for instance.

|David M. Cooke

More information about the Python-list mailing list