G'day,
So, plugins are in effect singletons.
Yes - plugins are singletons, but one of the fundemental ideas of Envisage is that the plugins themselves are not the interesting parts of the application. The objects that do *real* work are called services and can be published and looked up in any number of ways - the plugins themselves are just the delivery mechanism.
When you use MyPlugin.foos as in your example above, you get a list of stuff conforming to the IFoo interface. Is this resolved during the call to that method, or is it resolved only once upon plugin load? I mean: can you add plugins later?
You can add plugin's later (and start and stop them at will), but like I said they are just delivery vehicles...
I've looked at enthought before, and the barrier to entry for me has always been the build process and the large number of dependencies. I see that you guys now distribute Python 2.5 modules, so that's good, but prior to that I was stuck on windows and didn't want to downgrade to python 2.3 to support enthought so I tried compiling under cygwin. Don't need to tell you how that turned out. :)
Yep - the build has always been an issue!! 8^( Just recently the guys at Enthought (I don't work there - I just work on Envisage) have been trying to get this sorted out and move to a Python eggs based deployment...
I actually like all the tools offered (numpy, scipy, etc) but some may not. It would be cool if there were more separable versions that didn't require, say, VTK. The wiki seems to indicate that you can build only parts of the toolkit, so maybe my point isn't valid any more. Can you just use envisage and traits?
Yep - it is possible(!) - you just have to get the eggs that Envisage relies on... The Envisage core is in a separate egg to the GUI workbench plugin so if you just want the plugin framework etc you don't have to have mush at all (you will need traits of course).... I'll see if I can whip up a minimal list of eggs required to get Envisage + Traits minus the GUI stuff... Martin
