- Make asyncio work with all GUI frameworks, sample code be implemented in tornado, pygame, tkinter, gtk, qt5, win32, pyside6
- Make webview_python library support call async python from javascript a. https://github.com/congzhangzh/webview_python b. congzhangzh/webview_python#1
Design: ./design_en.md
- guest mode implemented here: https://github.com/congzhangzh/asyncio-guest/blob/master/asyncio_guest/asyncio_guest_run.py
- python stdlib patch here: https://github.com/congzhangzh/asyncio-guest/blob/master/asyncio_guest/patches/base_events.diff
Framework | Windows | Linux | Mac |
---|---|---|---|
Tkinter | ✅ | ✅ | ❓ |
Win32 | ✅ | ➖ | ➖ |
GTK | ❓ | ✅ | ❓ |
QT | ✅ | ✅ | ❓ |
PySide6 | ✅ | ✅ | ❓ |
Pygame | ✅ | ✅ | ❓ |
Tornado | ✅ | ✅ | ❓ |
- Tkinter: https://github.com/congzhangzh/asyncio-guest/blob/master/asyncio_guest/asyncio_guest_tkinter.py
- Win32: https://github.com/congzhangzh/asyncio-guest/blob/master/asyncio_guest/asyncio_guest_win32.py
- GTK: https://github.com/congzhangzh/asyncio-guest/blob/master/asyncio_guest/asyncio_guest_gtk.py
- QT: https://github.com/congzhangzh/asyncio-guest/blob/master/asyncio_guest/asyncio_guest_qt5.py
- PySide6: https://github.com/congzhangzh/asyncio-guest/blob/master/asyncio_guest/asyncio_guest_pyside6.py
- Pygame: https://github.com/congzhangzh/asyncio-guest/blob/master/asyncio_guest/asyncio_guest_pygame.py
- Tornado: https://github.com/congzhangzh/asyncio-guest/blob/master/asyncio_guest/asyncio_guest_tornado.py
- https://www.electronjs.org/blog/electron-internals-node-integration
- https://trio.readthedocs.io/en/stable/reference-lowlevel.html#using-guest-mode-to-run-trio-on-top-of-other-event-loops
- https://github.com/sunoru/Webviews.jl/blob/main/src/platforms/windows/Impl.jl#L59
- https://discuss.python.org/t/connecting-asyncio-and-tkinter-event-loops/14722/33
- congzhangzh/webview_python#1
- webview/webview_deno#185
- https://github.com/congzhangzh/python_gui_with_asyncio
- Where all important iteration happend: https://github.com/congzhangzh/asyncio_guest_run/tree/main/v2