When running: examples/eeg_demo.py
In both circumstances, package versions are:
ezmsg 3.6.1
panel 1.6.2
With Python 3.12.9:
- System runs as expected, panel dashboard works well.
With Python 3.13.2:
- Many asyncio primitives in ezmsg.State classes throughout the system do not have assigned event loops.
- Commenting out
APP.panels =... in eeg_demo.py results in a functional system (but without the hosted panels).
This leads me to the conclusion that there's some change in the way Python 3.13 assigns asyncio loops. I'm not sure what panel.serve does under the hood, but in Python 3.13 it affects the event loop that ezmsg is attempting to use for its own asyncio objects.
For now, I've specified an upper limit for Python in ezmsg-panel (<3.13). Unclear if this affects panel directly or not.
When running:
examples/eeg_demo.pyIn both circumstances, package versions are:
ezmsg 3.6.1
panel 1.6.2
With Python 3.12.9:
With Python 3.13.2:
APP.panels =...ineeg_demo.pyresults in a functional system (but without the hosted panels).This leads me to the conclusion that there's some change in the way Python 3.13 assigns asyncio loops. I'm not sure what
panel.servedoes under the hood, but in Python 3.13 it affects the event loop that ezmsg is attempting to use for its own asyncio objects.For now, I've specified an upper limit for Python in ezmsg-panel (<3.13). Unclear if this affects panel directly or not.