John, To achieve this, your application must define an API that third party coders can use to extend your application.
How you define your API is upto you; there are no general "guidelines", AFAIK. But if you want seamless extensibility, it entirely depends on how elegantly you design the API for you application. My approach has been to study other applications (python or otherwise) that allow plug-ins to be written and get ideas. You can may be look at SPE, Stani's Python Editor, as it allows extending the app using plug-ins and there are some sample plug-ins. I have also read some plugin-related articles at codeproject.com (VB and C++). The good thing about Python is its introspection that you can use to detect the presence of certain functions in order to qualify as a plug-in for your application. And you can use pycheck (pycheck.sf.net) to check the plugin's python code before you load it into your application's namespace. Cheers! --Kartic -- http://mail.python.org/mailman/listinfo/python-list