Enthought Home home  |  www.enthought.com  |  www.scipy.org  |  installation
Enthought Projects

Envisage

Extensible Application Framework

Envisage is a Python-based framework for building extensible applications, that is, applications whose functionality can be extended by adding "plug-ins". Envisage provides a standard mechanism for features to be added to an application, whether by the original developer or by someone else. In fact, when you build an application using Envisage, the entire application consists primarily of plug-ins. In this respect, it is similar to the Eclipse and Netbeans frameworks for Java applications.

Workbench Screenshot

Each plug-in is able to:

  • Advertise where and how it can be extended (its "extension points").
  • Contribute extensions to the extension points offered by other plug-ins.
  • Create and share the objects that perform the real work of the application ("services").

The Envisage project provides the basic machinery of the plug-in framework as well as GUI building tools (envisage.ui). The workbench is the older way to build GUIs from Envisage. It is now recommended to use the Task framework.

In version 3.0, this project contains no plug-ins (version 2.0 does contain plug-ins for historical reasons). You are free to use:

  • plug-ins from other ETS projects that expose their functionality as plug-ins
  • plug-ins that you create yourself

Documentation