enthought / enthought/pyface

Integration with asyncio?

Open
#663 6 comments 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
115
Forks
54
PR merge metrics
No merged PRs in 30d

Description

From some experimentation last week, integrating `asyncqt` into a TraitsUI GUI works almost seamlessly, making it easy to use other `asyncio`-aware packages like `aiohttp` from a TraitsUI GUI. I think this could be extremely valuable for things like making async requests from a running GUI.

The one sticking point is starting the event loop: currently, the Qt backend for TraitsUI/Pyface starts the Qt event loop directly, via a `qt_app.exec_` call. To integrate with `asyncqt`, we instead need to be able to start the event loop through something like the asyncio `get_event_loop().run_forever()`. (Note that Pyface would _not_ need any awareness of `asyncqt` for this; only awareness of `asyncio`.)

What's the easiest way to make it possible in Pyface to start the event loop through `asyncio` instead of directly through Qt?

[It wasn't clear to me whether this issue belongs in Pyface or TraitsUI; feel free to migrate if necessary]

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.