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

  • taurus.plot.alts

  • taurus.trend.alts

  • taurus.trend2d.alts

  • taurus.image.alts

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()