[Chicago] Python Plugins
szybalski at gmail.com
Sun Sep 14 06:20:50 CEST 2008
On Sat, Sep 13, 2008 at 8:16 PM, Jordan Sherer <jordan at widefido.com> wrote:
> Thanks for sending this my way. You've 1) turned me on to a new and
> interesting podcast :) and 2) helped me wrap my head around some things I
> hadn't thought about.
> For those of you without 50 minutes to spare, I've typed up a few of the
> points that I found particularly interesting:
> A plugin architecture has 4 important roles:
> 1. Finding plugins and loading plugins
> 2. Keeping track of loaded plugins and their extension points
> 3. Managing inter-plugin dependencies.
> 4. Providing a communication layer between application to plugin, or plugin
> to plugin
> There are different "flavors" of plugin architectures.
> 1. An application that is useful in and of itself, which defines extension
> points for "add-ons", or additional functionality (An add-on plugin
> 2. An application built entirely of plugins, where plugins can extend
> existing extension points and provide new extension points for other
> plugins. (A pure-plugin system, similar to Eclipse)
> In both cases, an application must not depend on a particular plugin.
> It may not make sense to use a plugin framework for tiny applications. But
> anything with more than a few classes could benefit. And, applications that
> DO use a plugin system, allow for future growth. (In the podcast, they were
> describing cases where DECADES could go by using the same code-base with a
> plugin system...interesting)
> Overall, this was a pretty interesting podcast. Here's a link if anybody
> wants to listen:
> Update on my Python Plugin System:
> After searching, researching, and checking out existing plugin systems for
> Python (Twisted, setuptools, Sprinkltes, etc), I decided that none really
> fit the bill of simplicity that I am looking for. So, I finished writing
> one. With a few tweaks and code refactoring, this could be incredibly useful
> tool for others.
I wonder if you could integrate your code into python paste project or
use it with their system.
More information about the Chicago