Pycumbia: Bridging high-performance control logic and Python simplicity for modern UIs

THPD076
25 Sept 2025, 16:15
1h 30m
Palmer House Hilton Chicago

Palmer House Hilton Chicago

17 East Monroe Street Chicago, IL 60603, United States of America
Poster Presentation MC11: User Interfaces & User Experience THPD Posters

Speaker

Lucio Zambon (Elettra-Sincrotrone Trieste S.C.p.A.)

Description

Pycumbia is a Python binding to the high-performance C++ cumbia framework, designed to simplify the development of control system applications without sacrificing responsiveness or scalability. It offers a user-friendly interface while maintaining the speed, concurrency, and low memory footprint of its C++ backend. By releasing Python’s GIL, pycumbia ensures that GUI applications and data workflows remain smooth and responsive even under heavy load, a key requirement in control system environments.
From a user experience perspective, pycumbia significantly reduces the complexity typically associated with integrating control systems into custom applications. Developers can build advanced data visualization tools and synoptic panels with just a few lines of Python code, without dealing with polling logic, event dispatching, or thread management. Pycumbia also ships with PYI stubs for full IDE code completion.
A key architectural advantage is its flexibility in deployment: pycumbia can run inside an isolated miniconda environment, allowing developers to use up-to-date Qt and Python packages independently of the operating system, or system-wide, provided the base OS supports a recent enough software stack. This enables modern Qt-based graphical applications to be developed and run consistently across platforms, bypassing limitations of outdated system packages.
Pycumbia in real-world control system applications improves both the developer experience and application performance.

Author

Giacomo Strangolino (Elettra-Sincrotrone Trieste S.C.p.A.)

Co-author

Lucio Zambon (Elettra-Sincrotrone Trieste S.C.p.A.)

Presentation materials

There are no materials yet.