From 21829c9f7ef98fb2d0b1617833e4538679d2c756 Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Thu, 22 Jan 2026 11:37:19 +0100 Subject: [PATCH] pick-ui: update for python 3.14 support ``` Traceback (most recent call last): File "bin/pick-ui.py", line 31, in loop = urwid.MainLoop(u.render(), PALETTE, event_loop=evl, handle_mouse=False) ~~~~~~~~^^ File "bin/pick/ui.py", line 196, in render asyncio.ensure_future(self.update()) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "/usr/lib64/python3.14/asyncio/tasks.py", line 730, in ensure_future loop = events.get_event_loop() File "/usr/lib64/python3.14/asyncio/events.py", line 715, in get_event_loop raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) RuntimeError: There is no current event loop in thread 'MainThread'. ``` Of the 3 dependencies, only urwid actually needs to be updated, but while at it let's pick the latest of each. Cc: mesa-stable Part-of: --- bin/pick-ui.py | 4 +++- bin/pick/requirements.txt | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/bin/pick-ui.py b/bin/pick-ui.py index 24613880b90..12288114257 100755 --- a/bin/pick-ui.py +++ b/bin/pick-ui.py @@ -27,7 +27,9 @@ from pick.ui import UI, PALETTE if __name__ == "__main__": u = UI() - evl = urwid.AsyncioEventLoop(loop=asyncio.new_event_loop()) + asyncio_loop = asyncio.new_event_loop() + asyncio.set_event_loop(asyncio_loop) + evl = urwid.AsyncioEventLoop(loop=asyncio_loop) loop = urwid.MainLoop(u.render(), PALETTE, event_loop=evl, handle_mouse=False) u.mainloop = loop loop.run() diff --git a/bin/pick/requirements.txt b/bin/pick/requirements.txt index 75754a50e89..c520cae7d45 100644 --- a/bin/pick/requirements.txt +++ b/bin/pick/requirements.txt @@ -1,3 +1,3 @@ -attrs==23.1.0 -packaging==25.0 -urwid==2.1.2 +attrs==25.4.0 +packaging==26.0 +urwid==3.0.3