Preparing the migration of Python GUIs from Qt5 to Qt6 at CERN

The use of Python in CERN's particle accelerator domain has grown steadily over the last decade. For non-software developers, it integrates well into the reality of a physics laboratory, where people who develop hardware or design operational workflows often author associated software, including Graphical User Interfaces (GUIs). While the general strategy is to standardise GUIs using no-/low-code solutions, complex use cases require more customised GUIs. For this, Python and Qt are combined through PyQt bindings. Qt5 has been used for several years but with its end-of-life already reached, migration to Qt6 is a priority. At the same time, GUI applications in the CERN Controls ecosystem require long-term stability that exceeds the software industry average. Therefore, the migration requires a lot of care, taking into account both maintenance costs and long-term risks associated with reliance on a 3rd-party technology. To plan the upgrades, alternatives to the current PyQt approach have been reviewed. In the past, PyQt5 was an obvious choice, but investment into the PySide library by the Qt Company now presents more options. We outline the criteria considered in our comparison of PyQt, PySide, and QML, and present the resulting decisions and rationale behind them. Finally, we discuss long-term risks associated with Qt bindings for Python and describe how we will manage the migration to future versions of the Qt framework, such as Qt7.

Publication Details

Journal
JACOW
Published
2025-12-05
DOI
https://doi.org/10.18429/jacow-icalepcs2025-thpd078
Primary Topic
Computational Physics and Python Applications
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Preparing the migration of Python GUIs from Qt5 to Qt6 at CERN

JACOW
Computational Physics and Python Applications
article

Preparing the migration of Python GUIs from Qt5 to Qt6 at CERN

article en

Abstract

The use of Python in CERN's particle accelerator domain has grown steadily over the last decade. For non-software developers, it integrates well into the reality of a physics laboratory, where people who develop hardware or design operational workflows often author associated software, including Graphical User Interfaces (GUIs). While the general strategy is to standardise GUIs using no-/low-code solutions, complex use cases require more customised GUIs. For this, Python and Qt are combined through PyQt bindings. Qt5 has been used for several years but with its end-of-life already reached, migration to Qt6 is a priority. At the same time, GUI applications in the CERN Controls ecosystem require long-term stability that exceeds the software industry average. Therefore, the migration requires a lot of care, taking into account both maintenance costs and long-term risks associated with reliance on a 3rd-party technology. To plan the upgrades, alternatives to the current PyQt approach have been reviewed. In the past, PyQt5 was an obvious choice, but investment into the PySide library by the Qt Company now presents more options. We outline the criteria considered in our comparison of PyQt, PySide, and QML, and present the resulting decisions and rationale behind them. Finally, we discuss long-term risks associated with Qt bindings for Python and describe how we will manage the migration to future versions of the Qt framework, such as Qt7.

JACOW
Openalex Percentile: Top 21%
Computational Physics and Python Applications
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Preparing the migration of Python GUIs from Qt5 to Qt6 at CERN · JACOW (2025) | TGRS Research Map | TGRS