Submission: Python, asyncio, libgpiod, and Pointless Blinking ============================================================= Biography --------- * Born in Graz, and bound to die in Graz * Been around as an employee in and around Graz for many years * Self employed as trainer and consultant for even more years * https://www.faschingbauer.me Abstract -------- Python's lovely :doc:`asyncio ` library allows me to write event-driven programs in a style that looks much like multithreaded code but isn't. Combining :doc:`asyncio ` with the equally lovely `Linux GPIO subsystem `__ is just another logical step. In this talk I show what :doc:`asyncio ` is, how `libgpiod `__ works, and how both are used to do pointless projects. Description ----------- Continuing the :doc:`story of pointlessly blinking lights <../glt2023/index>` from my last year's talk, I show * How GPIO interrupts are configured to get notified of hardware button presses, and how this can look like in Python (hint: *generators*, and *iteration*). * How button-events can be used in an ``async`` programming style (hint: *asyncronous generators*, and ``async for``) * How this fits into the pointless project of blinking lights. Additionally, I give an overview of async libraries that are more to the point, like * `Textual `__, a terminal UI framework * `python-sdbus `__, the Python binding for the systemd D-Bus client implementation