TAURUS Workshop

Europe/Paris
Batiment Principal (SOLEIL)

Batiment Principal

SOLEIL

Synchrotron SOLEIL L'Orme des Merisiers Départementale 128 91190 Saint-Aubin FRANCE
Description

TAURUS has become a widely adopted framework for developing control and data acquisition interfaces, both graphical (GUIs) and command-line tools (CLIs), in scientific and industrial environments. As an open-source project initially developed at ALBA Synchrotron (Spain), TAURUS is now used across many large-scale facilities for daily operations, thanks to its flexibility, extensibility, and ease of use for both non-programmers and developers.

This workshop builds on the previous TAURUS workshop held at ESRF three years ago (https://indico.esrf.fr/event/76/). Since then, several facilities, including SOLEIL, have been actively adopting and integrating TAURUS into their infrastructures. In this context, SOLEIL aims to use this workshop to share feedback on operational use of TAURUS, particularly in accelerators and beamlines. Contributions from operators and beamline staff using TAURUS in their daily work are especially encouraged.

The proposed 2-day event will be dedicated to user feedback and future strategy, as well as demonstrations of TAURUS for newcomers to the community.

Regarding the organisation details, this hybrid TAURUS workshop will be hosted by SOLEIL and held on May 12th & 13th, 2026. Speakers and attendees are welcome on site, and sessions will also be accessible remotely.

Important information : Registration  will be closed the 23rd of April 

Registration
Registration
Registration [Remote]
    • 08:30 09:00
      Registration 30m Amphiteater (Synchrotron SOLEIL)

      Amphiteater

      Synchrotron SOLEIL

    • 09:00 10:30
      Taurus Framework: Introduction Amphiteater (Synchrotron SOLEIL)

      Amphiteater

      Synchrotron SOLEIL

      • 09:00
        Welcome 10m
        Speaker: Yves-Marie ABIVEN (SOLEIL)
      • 09:10
        Taurus Introduction 50m

        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, showing how Taurus can adapt to different data sources, including Tango for seamless integration with existing control systems.

        The session will also include a brief overview of installation options, project structure, and community resources.

        By the end of the session, participants will understand the main advantages of Taurus and how to get started developing their own applications.

        Speaker: Oriol Vallcorba (ALBA Synchrotron)
      • 10:00
        Taurus plotting 30m

        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 visualize historical data.

        Speaker: Jose Antonio Ramos Andrades (ALBA Synchrotron)
    • 10:30 11:00
      Break 30m Amphiteater (Synchrotron SOLEIL)

      Amphiteater

      Synchrotron SOLEIL

    • 11:00 12:30
      Taurus Framework: Recent features & current developments Amphiteater (Synchrotron SOLEIL)

      Amphiteater

      Synchrotron SOLEIL

      • 11:00
        Qt6 support and platform compatibility 15m

        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), which enables binding-independent development.

        In addition, we will explore how Taurus applications behave in modern Linux environments, including Wayland-based systems, reduced X11 support, and remote access solutions such as RDP and Waypipe.

        Speaker: Arturo Alejandro Hoffstadt Urrutia (ESO)
      • 11:15
        Color schemes in Taurus 15m

        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 mechanisms.

        The goal is to gather feedback and share ideas on how to evolve Taurus towards a more consistent and configurable visual experience across applications.

      • 11:30
        Taurus Performance Optimization (TPO) 20m

        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 strategies, and the adoption of more efficient event subscription modes with asynchronous behavior. These changes significantly reduce startup times and improve application responsiveness.

        Finally, we will outline ideas for a potential next phase, exploring optimizations applied after application startup, such as dynamic loading of components and incremental data handling.

        Speakers: Emilio Morales (ALBA Synchrotron), Oriol Vallcorba (ALBA Synchrotron)
      • 11:50
        2D Widgets 10m

        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.

      • 12:00
        SVG synoptic library 15m

        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.

        Speaker: Johan Forsberg (MAX IV)
    • 12:30 13:30
      Lunch break 1h Restaurant (Synchrotron SOLEIL)

      Restaurant

      Synchrotron SOLEIL

    • 13:30 15:30
      User Feedback & Use Cases Amphiteater (Synchrotron SOLEIL)

      Amphiteater

      Synchrotron SOLEIL

      • 13:30
        ALBA: Control Room GUIs 20m

        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 and insights that can be useful for developing robust and user-friendly control system interfaces

        Speaker: David Yepez (ALBA Synchrotron)
      • 13:50
        ESO: Schema Plugin Development 20m

        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 approach and share guidelines for developing custom schema integrations in Taurus.

        Speaker: Arturo Alejandro Hoffstadt Urrutia (ESO)
      • 14:10
        MAXIV: BALDER Beamline GUIs 20m

        Use of Taurus GUIs and Synoptics in the BALDER beamline at MAX-IV

        Speaker: Konstantin Klementiev (MAX IV)
    • 15:30 16:00
      Break 30m Amphiteater (Synchrotron SOLEIL)

      Amphiteater

      Synchrotron SOLEIL

    • 16:00 16:30
      User Feedback & Use Cases Amphiteater (Synchrotron SOLEIL)

      Amphiteater

      Synchrotron SOLEIL

    • 16:30 17:15
      Invited talk: Qt for Python (tbd) 45m Amphiteater (Synchrotron SOLEIL)

      Amphiteater

      Synchrotron SOLEIL

      Title and content to be determined

      Speaker: Cristián Maureira-Fredes (Qt)
    • 17:15 17:45
      Steering Committee Meeting

      Session with representation from the facilities and institutions using Taurus to discuss project governance, including how decisions are made, how the roadmap is defined, and how responsibilities and contributions are shared across participating organizations.

      The meeting will also provide a space to align expectations, identify priorities, and discuss the resources that each facility can contribute to the project.

    • 19:30 22:00
      Workshop dinner 2h 30m Restaurant

      Restaurant

  • Wednesday 13 May
    • 09:00 10:30
      Session for Taurus Developers: Introduction Synchrotron SOLEIL

      Synchrotron SOLEIL

      • 09:00
        Taurus Developer Introduction 1h

        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 for different areas (e.g. plotting, widgets, core).

        The session will also explain how to pick issues, understand their scope, and contribute effectively using the available documentation, tools, and guidelines.

        The goal is to prepare participants for the hands-on sessions by giving them the necessary context and guidance to start working on real issues.

        Speaker: Oriol Vallcorba (ALBA Synchrotron)
      • 10:00
        Practical Session: Contributing to Taurus 30m

        This session will be a hands-on, collaborative working session where participants will contribute to Taurus by working on real issues.

        Participants will be encouraged to pick small, well-defined tasks with a clear scope and existing design, and work in pairs (ideally pairing experienced and new contributors). Work will be organized by areas such as plotting (e.g. usability improvements in taurus_pyqtgraph), widgets (Taurus Form, Device, etc.), Designer, Wizards/TaurusGUI, and core components.

        In parallel, participants less focused on development can join guided groups to learn how to use Taurus with existing materials, with the possibility to interact with experts and ask questions.

        The goal is to foster collaboration, lower the barrier to contribution, and make tangible progress on the project.

    • 10:30 11:00
      Break 30m Synchrotron SOLEIL

      Synchrotron SOLEIL

    • 11:00 12:30
      Session for Taurus Developers: Practical Session Synchrotron SOLEIL

      Synchrotron SOLEIL

      • 11:00
        Practical Session: Contributing to Taurus 1h 30m

        This session will be a hands-on, collaborative working session where participants will contribute to Taurus by working on real issues.

        Participants will be encouraged to pick small, well-defined tasks with a clear scope and existing design, and work in pairs (ideally pairing experienced and new contributors). Work will be organized by areas such as plotting (e.g. usability improvements in taurus_pyqtgraph), widgets (Taurus Form, Device, etc.), Designer, Wizards/TaurusGUI, and core components.

        In parallel, participants less focused on development can join guided groups to learn how to use Taurus with existing materials, with the possibility to interact with experts and ask questions.

        The goal is to foster collaboration, lower the barrier to contribution, and make tangible progress on the project.

    • 12:30 13:30
      Lunch break 1h Restaurant (Synchrotron SOLEIL)

      Restaurant

      Synchrotron SOLEIL

    • 13:30 15:00
      Session for Taurus Developers: Practical Session Synchrotron SOLEIL

      Synchrotron SOLEIL

      • 13:30
        Practical Session: Contributing to Taurus 1h 30m

        This session will be a hands-on, collaborative working session where participants will contribute to Taurus by working on real issues.

        Participants will be encouraged to pick small, well-defined tasks with a clear scope and existing design, and work in pairs (ideally pairing experienced and new contributors). Work will be organized by areas such as plotting (e.g. usability improvements in taurus_pyqtgraph), widgets (Taurus Form, Device, etc.), Designer, Wizards/TaurusGUI, and core components.

        In parallel, participants less focused on development can join guided groups to learn how to use Taurus with existing materials, with the possibility to interact with experts and ask questions.

        The goal is to foster collaboration, lower the barrier to contribution, and make tangible progress on the project.

    • 15:00 15:30
      Workshop feedback and closure Batiment Principal

      Batiment Principal

      SOLEIL

      Synchrotron SOLEIL L'Orme des Merisiers Départementale 128 91190 Saint-Aubin FRANCE