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

Zsolt Kovari, Grzegorz Kruk, Schaa, Volker R. W. (Ed.)
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
more » ... ic 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.
doi:10.18429/jacow-icalepcs2021-thpv015 fatcat:yalfki72s5hr7bwqnezfjjfgnu