Cargando…

New Timing Sequencer Application in Python with Qt - Development Workflow and Lessons Learnt

PyQt is a Python binding for the popular Qt framework for the development of desktop applications. By using PyQt one can leverage Qt’s aspects to implement modern, intuitive, and cross-platform applications while benefiting from Python’s flexibility. Recently, we successfully used PyQt 5 to renovate...

Descripción completa

Detalles Bibliográficos
Autores principales: Kovari, Zsolt, Kruk, Grzegorz
Lenguaje:eng
Publicado: 2022
Materias:
Acceso en línea:https://dx.doi.org/10.18429/JACoW-ICALEPCS2021-THPV015
http://cds.cern.ch/record/2809472
_version_ 1780973152546848768
author Kovari, Zsolt
Kruk, Grzegorz
author_facet Kovari, Zsolt
Kruk, Grzegorz
author_sort Kovari, Zsolt
collection CERN
description PyQt is a Python binding for the popular Qt framework for the development of desktop applications. By using PyQt one can leverage Qt’s aspects to implement modern, intuitive, and cross-platform applications while benefiting from Python’s flexibility. Recently, we successfully used PyQt 5 to renovate the Graphical User Interface (GUI) used to control the CERN accelerator timing system. The GUI application interfaces with a Java-based service behind the scenes. In this paper we introduce the generic architecture used for this project, our development workflow as well as the challenges and lessons we learned from using Python with Qt. We present our approach to delivering an operational application with a particular focus on testing, quality assurance, and continuous integration.
id cern-2809472
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2022
record_format invenio
spelling cern-28094722022-08-10T13:11:11Zdoi:10.18429/JACoW-ICALEPCS2021-THPV015http://cds.cern.ch/record/2809472engKovari, ZsoltKruk, GrzegorzNew Timing Sequencer Application in Python with Qt - Development Workflow and Lessons LearntAccelerators and Storage RingsPyQt is a Python binding for the popular Qt framework for the development of desktop applications. By using PyQt one can leverage Qt’s aspects to implement modern, intuitive, and cross-platform applications while benefiting from Python’s flexibility. Recently, we successfully used PyQt 5 to renovate the Graphical User Interface (GUI) used to control the CERN accelerator timing system. The GUI application interfaces with a Java-based service behind the scenes. In this paper we introduce the generic architecture used for this project, our development workflow as well as the challenges and lessons we learned from using Python with Qt. We present our approach to delivering an operational application with a particular focus on testing, quality assurance, and continuous integration.oai:cds.cern.ch:28094722022
spellingShingle Accelerators and Storage Rings
Kovari, Zsolt
Kruk, Grzegorz
New Timing Sequencer Application in Python with Qt - Development Workflow and Lessons Learnt
title New Timing Sequencer Application in Python with Qt - Development Workflow and Lessons Learnt
title_full New Timing Sequencer Application in Python with Qt - Development Workflow and Lessons Learnt
title_fullStr New Timing Sequencer Application in Python with Qt - Development Workflow and Lessons Learnt
title_full_unstemmed New Timing Sequencer Application in Python with Qt - Development Workflow and Lessons Learnt
title_short New Timing Sequencer Application in Python with Qt - Development Workflow and Lessons Learnt
title_sort new timing sequencer application in python with qt - development workflow and lessons learnt
topic Accelerators and Storage Rings
url https://dx.doi.org/10.18429/JACoW-ICALEPCS2021-THPV015
http://cds.cern.ch/record/2809472
work_keys_str_mv AT kovarizsolt newtimingsequencerapplicationinpythonwithqtdevelopmentworkflowandlessonslearnt
AT krukgrzegorz newtimingsequencerapplicationinpythonwithqtdevelopmentworkflowandlessonslearnt