This session provides a comprehensive introduction to Taurus as a framework for building control system user interfaces.
We will cover the core concepts of Taurus, including its data model, widget philosophy, and event-driven architecture, and explain how it simplifies the development of graphical applications compared to using Qt directly. The concept of schemes will be introduced,...
This session introduces the plotting and archiving capabilities available in Taurus for building data visualization tools.
We will present the current plotting solutions, with a focus on taurus_pyqtgraph as the main library for real-time visualization. We will show how it can be used to display live data efficiently, as well as how Taurus integrates with archiving systems to access and...
This session will present the current status of Qt6 support in Taurus and discuss its implications for application development and deployment.
We will review the main changes introduced to support Qt6, highlighting compatibility considerations and practical experience using different Python bindings (PyQt and PySide). The session will also cover the Taurus Qt abstraction layer (Qt shim),...
This session will present the current support in Taurus for color schemes and theming in graphical applications.
We will review the existing basic implementations, including how visual elements such as status indicators (e.g. LEDs) can be customized. The session will also discuss current limitations and outline possible directions towards more flexible and user-configurable theming...
Taurus Performance Optimization (TPO)
This session will present the results of the Taurus Performance Optimization (TPO) initiative, aimed at reducing startup times and improving overall performance in applications handling large numbers of attributes.
We will review the main optimizations introduced, including improvements in polling mechanisms, reduction of unnecessary threads, caching...
This session will present the ongoing work on Taurus 2D visualization widgets and their recent migration from guiqwt to PlotPy.
We will also discuss the possibility to include new plugins for 2D data handling, based on pyqtgraph (as for 1D data).
The goal is to share the current direction of development and gather feedback from users and developers interested in 2D visualization tools in Taurus.
This session will introduce the use of SVG-based synoptic views in Taurus using the svgsyniptic library for building interactive and customizable control system interfaces.
We will present the current capabilities for integrating SVG graphics with Taurus, enabling the creation of rich visual synoptics where graphical elements are dynamically linked to control system data.
This session will present the design and development of control room GUIs at ALBA using Taurus.
We will showcase real-world applications, highlighting design choices, usability considerations, and integration with control system components. The session will also discuss challenges encountered in production environments and the solutions adopted.
The goal is to share practical experience...
This session will present the development of schema-based plugins in Taurus, with a focus on use cases from ESO.
We will introduce how custom schema plugins can be implemented to support specific data sources and integration needs. The session will describe the design and development of several schema plugins developed at ESO.
The goal is to provide a practical overview of the plugin...
Use of Taurus GUIs and Synoptics in the BALDER beamline at MAX-IV
(Remote)
Lukas Wittenbecher(1), Hanno Perrey(2), Lin Zhu(1), Benjamin Folsom(1)
(1) MAX IV Laboratory, Lund, Sweden
(2) European Spallation Source, Lund, Sweden
BioSAXS - small angle X-ray scattering (SAXS) from biological samples in solution - provides valuable structural information about biological macromolecules such as proteins, DNA or viruses. Using modern synchrotron light sources, dozens...
We will present the current status of Taurus usage at Synchrotron SOLEIL:
Arnaud Hemmerle (beamline scientist): status of Taurus deployment at SOLEIL, tests carried out on control systems, in-house documentation in progress, and examples of GUIs on a beamline.
Alexandre Moutardier (machine operator): development of Taurus and PyQt-Tango GUIs for machine control.
Raphaël Girardot (IT...
Python has become the lingua franca of scientific computing, and Qt, through PySide6 and PyQt6, remains one of the most powerful frameworks for building the desktop and control-system UIs that researchers depend on daily. Yet navigating the Qt for Python ecosystem can be surprisingly tricky: licensing implications, competing UI paradigms, tooling choices, and performance pitfalls are rarely...
This session will provide a hands-on introduction to the Taurus codebase and development workflow, aimed at participants interested in contributing to the project.
We will walk through the structure of the codebase, identify key components, and show how to set up a working development environment. Participants will learn how to run Taurus locally, explore the code, and locate relevant parts...