Taurus custom settings
Taurus provides a module located at its root directory called tauruscustomsettings which exposes global configuration options.
It can be accessed programmatically at run time for setting options for the current execution.
System and user settings files
If one wants to permanently modify options for all applications, the recommended way is to do it by declaring them in the system-wide or user-specific configuration files (which are loaded automatically when importing tauruscustomsettings).
The default location of the system-wide and user-specific configuration files is set in tauruscustomsettings.SYSTEM_CFG_FILE and tauruscustomsettings.USER_CFG_FILE, respectively. The values are platform-dependent:
on posix systems we follow the xdg standard: /etc/xdg/taurus/taurus.ini for system and ~/.config/taurus/taurus.ini for user.
on windows machines we use %PROGRAMDATA%taurustaurus.ini for system and %APPDATA%taurustaurus.ini for user
In case of conflict, the user settings take precedence over the system settings.
Custom setting file locations
Apart from the default setting file locations, one can use the –settings option when invoking the taurus CLI command to pass additional settings file locations.
One can also programmatically call the tauruscustomsettings.load_configs() function at any point to load other configuration files
In both cases, the values of existing variables in tauruscustomsettings are overwritten in case of conflict).
Format of the settings files
The settings files are plain-text .ini files of the form:
[taurus]
FOO = "bar"
BAR = [1, 2, 3]
baz = False
The keys, which are key-sensitive, are exposed as tauruscustomsettings variables and their values are parsed as python literals (e.g., in the above example, tauruscustomsettings.FOO would be the bar string, tauruscustomsettings.BAR would be a list and tauruscustomsettings.baz would be a boolean).
Note that all key-values must be declared within a [taurus] section.
Default members of tauruscustomsettings
This module exposes global configuration options. It declares the default values of some of these options, but they may be modified when loading custom settings configuration files (e.g., at import time).
- DEFAULT_QT_API = ''
Set preferred API (if one is not already loaded). Accepted values are “pyqt5”, “pyqt”, “pyside2”, “pyside”. Set to an empty string to let taurus choose the first that works from the accepted values.
- DEFAULT_SCHEME = 'tango'
Default scheme (if not defined, “tango” is assumed)
- EXTRA_SCHEME_MODULES = []
Extra Taurus schemes. You can add a list of modules to be loaded for providing support to new schemes (e.g.
EXTRA_SCHEME_MODULES = ['myownschememodule']
- FILTER_OLD_TANGO_EVENTS = True
Filter old tango events: Sometimes
TangoAttribute
can receive an event with an older timestamp than its current one. See https://gitlab.com/taurus-org/taurus/-/issues/216True
discards (Tango) events whose timestamp is older than the cached one.False
(or commented out) for backwards (pre 4.1) compatibility
- IMAGE_ALT = '.*'
Widget alternatives. See
PLOT_ALT
for a full description.
- IMPLICIT_OPTPARSE = False
Implicit optparse legacy support: In taurus < 4.6.5 if
TaurusApplication
did not receive an explicitcmd_line_parser
keyword argument, it implicitly used aoptparse.OptionParser
instance. This was inconvenient because it forced the user to explicitly passcmd_line_parser=None
when using other mechanisms such asclick
orargparse
to parse CLI options. In taurus >=4.6.5 this is no longer the case by default, but the old behaviour can be restored by settingIMPLICIT_OPTPARSE = True
- LIGHTWEIGHT_IMPORTS = False
Lightweight imports:
True
enables delayed imports (may break older code).False
(or commented out) for backwards compatibility
- ORGANIZATION_LOGO = 'logos:taurus.png'
Custom organization logo. Set the absolute path to an image file to be used as your organization logo. Qt registered paths can also be used. If not set, it defaults to “logos:taurus.png” (note that “logos:” is a Qt registered path for “<taurus>/qt/qtgui/icon/logos/”)
- PLOT_ALT = '.*'
Widget alternatives. Some widgets may have alternative implementations. The different implementations are registered in entry point groups (
taurus.plot.alt
,taurus.trend.alt
, …) and they are tried in alphabetical order of their registered entry point names (the first one that works is used). You can restrict the set of available implementation alternatives to be tried (or even just select a given alternative) by setting the corresponding*_ALT
variable with a name regexp pattern that must be matched by the entry point name in order to be tried. For example, to force thetaurus_pyqtgraph
implementation for the plots, setPLOT_ALT = "tpg"
.The following variables control the alternatives:
PLOT_ALT
TREND_ALT
TREND2D_ALT
IMAGE_ALT
Leaving the variable undefined is equivalent to setting it to “.*”
- PLY_OPTIMIZE = 1
PLY (lex/yacc) optimization: 1=Active (default) , 0=disabled. Set
PLY_OPTIMIZE = 0
if you are getting yacc exceptions while loading synoptics
- QT_AUTO_INIT_LOG = True
Auto initialize Qt logging to python logging
- QT_AUTO_REMOVE_INPUTHOOK = True
Remove input hook (only valid for
PyQt
)
- QT_AVOID_ABORT_ON_EXCEPTION = True
Avoid application abort on unhandled python exceptions (which happens since PyQt 5.5). http://pyqt.sf.net/Docs/PyQt5/incompatibilities.html#unhandled-python-exceptions # noqa If
True
(or commented out) an except hook is added to force the old behaviour (exception is just printed) onpyqt5
- QT_DESIGNER_PATH = None
Full Qt designer path (including filename. Default is None, meaning to look for the system designer following
Qt.QLibraryInfo.BinariesPath
If this fails, taurus tries to locate binary manually
- QT_THEME_DIR = ''
Select the theme to be used. The path can be absolute or relative to the dir of
taurus.qt.qtgui.icon
. If not set, the dir oftaurus.qt.qtgui.icon
will be used.
- QT_THEME_FORCE_ON_LINUX = False
In Linux the
QT_THEME_NAME
is not applied (to respect the system theme) settingQT_THEME_FORCE_ON_LINUX = True
overrides this.
- QT_THEME_NAME = 'Tango'
The name of the icon theme (e.g. ‘Tango’, ‘Oxygen’, etc). Default=’Tango’
- SAVE_SETTINGS_ON_CLOSE = None
Default behaviour for
TaurusMainWindow
. On close,TaurusMainWindow
will ask the user if he wants to save. Set toTrue
if you want to save automatically without being warned. Set toFalse
in case you do notwant to be asked and do not want to Save current window.
- STRICT_MODEL_NAMES = False
Strict RFC3986 URI names in models.
True
makes Taurus only use the strict URI namesFalse
False enables a backwards-compatibility mode for pre-sep3 model names
- SYSTEM_CFG_FILE = '/etc/xdg/taurus/taurus.ini'
Path to the system-wide config file
- TANGO_AUTOSUBSCRIBE_CONF = True
Whether
TangoAttribute
is subscribed to configuration events by default.Setting to
True
(or not setting it) makes theTangoAttribute
auto-subscribeSetting to
False
avoids this subscription, which prevents issues such as https://gitlab.com/taurus-org/taurus/-/issues/1118 but it also prevents clients to be notified when configurations (e.g., units, format) change.
- TANGO_FORCE_READ_IF_SUBSCRIPTION_FAILS = 'ONLY_CORE'
Select when taurus will perform a tango read when the subscription to change events fails (the attribute doesn’t send events). Possible values are the options in
FORCE_READ_OPTIONS
fake enum:"NEVER"
: never read when subscription fails."ONLY_CORE"
: (default) force read when using taurus core but avoid the read when running applications (TaurusApplication)."ALWAYS"
: always read when subscription fails.
- TANGO_SERIALIZATION_MODE = 'TangoSerial'
Default serialization mode for the tango scheme. Possible values are: ‘Serial’, ‘Concurrent’, or ‘TangoSerial’ (default)
- TREND2D_ALT = '.*'
Widget alternatives. See
PLOT_ALT
for a full description.
- TREND_ALT = '.*'
Widget alternatives. See
PLOT_ALT
for a full description.
- T_FORM_COMPACT = False
Compact mode for widgets True sets the preferred mode of TaurusForms to use “compact” widgets
- T_FORM_CUSTOM_WIDGET_MAP = {}
DEPRECATED. Use
taurus.form.item_factories
plugin group instead A map for using custom widgets for certain devices in TaurusForms. It is a dictionary with the following structure: device_class_name:(classname_with_full_module_path, args, kwargs) where the args and kwargs will be passed to the constructor of the class
- T_FORM_ITEM_FACTORIES = {'exclude': (), 'include': ('.*',)}
Default include and exclude patterns for
TaurusForm
item factories SeeTaurusForm.setItemFactories
docs. By default, all available factories are enabled (and tried alphabetically)
- USER_CFG_FILE = '/home/mambauser/.config/taurus/taurus.ini'
Path to the user-specific config file