Taurus plugins¶
Note
The taurus plugins API is still experimental. Current entry point group names, and expected entry point objects API may be modified or removed in later versions.
Taurus can be extended by third party modules in various ways. For example, a mechanism exists since before v4.0.0 to use add new schemes to the taurus.core module. But these extension mechanisms grew organically and independently of each other, resulting in several non-consistent plugin APIs. This has been long-standing pending issue as can be seen by date of the draft of the TEP13
Since taurus v4.3 we started introducing some experimental pkg_resources- based entry points, in an effort to test their viability for being used as a more generic and standard mechanism for plugins. Here we describe such APIs which, for now and until TEP13 is approved, should be still considered experimental.
Entry point-based plugins:¶
The following table lists the entry-point groups used by taurus, with links to the appropriate docs.
Entry point group |
Description |
Notes |
---|---|---|
taurus.qt.qtgui |
submodules of taurus.qt.qtgui |
1 |
taurus.cli.subcommands |
click subcommands for the taurus command. |
2 |
taurus.model_selector.items |
items for TaurusModelSelector |
3 |
taurus.qt.formatters |
formatter objects for taurus widgets |
4 |
|
Alternative implementations for various basic widgets. To be used in in, e.g. the taurus plot subcommand, etc. |
2 |
taurus.form.item_factories |
Factories for custom “taurus value” widgets to be used in taurus forms |
5 |
taurus.core.schemes |
Schemes in taurus.core |
6 |
Notes:
1. For internal use only (used backwards compatibility when “outsourcing”
submodules).
2. See taurus.cli
3. See taurus.qt.qtgui.panel.TaurusModelSelector
4. See taurus.qt.qtgui.base.TaurusBaseComponent.displayValue()
5. See taurus.qt.qtgui.panel.TaurusForm.setItemFactories()