|
SpyderPlugins
Plugin development
Spyder plugin developmentIntroductionSpyder plugins are just importable Python files that use internal APIs to do different stuff in IDE. Spyder goal is to be reusable set of components and widgets, so a lot of stuff inside is made with plugins. For example, code editor and python console are plugins. Object inspector, history browser and so on. You can see them here. There are two type of plugins in Spyder:
Both plugin types should include class that inherits from the same base plugin class.
Plugin discovery[more research is needed - ask techtonik@gmail.com if you feel capable] While many software use directories to distribute and find plugins, Spyder uses Python modules. It's own plugin are located under spyderlib namespace with all Spyder application. It can be used as a library. External plugins are expected to be found in a special importable module named.
The module spyderplugins includes third-party plugins of several kinds. In Spyder v1.1, the only kind of plugin supported were the input/output plugins (modules starting with io_) which provide I/O functions for the variable explorer (Workspace and Globals explorer in v1.1, Variable explorer in v2.0). Spyder natively supports .mat, .npy, .txt, .csv, .jpg, .png and .tiff file formats. These plugins allow users to add their own types, like HDF5 files for example. In Spyder v2.0, any kind of plugin may be created in the module spyderplugins. These third-party plugins may communicate with other Spyder components through the plugin interface (see spyderlib/plugins/__init__.py). I/O Spyder pluginsHow to create your own I/O Spyder plugins:
http://code.google.com/p/spyderlib/source/browse/spyderplugins/io_dicom.py http://code.google.com/p/spyderlib/source/browse/spyderlib/utils/iofuncs.py Other Spyder pluginsSee the example of the pylint third-party plugin in Spyder v2.0. | |||||||||||||||||||












Hello, can one also create plugins that perform other actions such as data analysis or graphing?
Of course, since v2.0 it's possible.