Install & Compatibility
Where this runs
tested against v0.11.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.040s · 18.3MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 1.6s · import 0.034s · 19MB
16MB installed
● package 16MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Task
✓ from asyncgui import Task
✗ from asyncgui.task import Task
Task is exported from top-level package.
Event
✓ from asyncgui import Event
✗ from asyncgui.event import Event
Event is exported from asyncgui directly.
ExclusiveEvent
✓ from asyncgui import ExclusiveEvent
✗ from asyncgui.exclusive_event import ExclusiveEvent
ExclusiveEvent is top-level.
StatefulEvent
✓ from asyncgui import StatefulEvent
wait_all
✓ from asyncgui import wait_all
wait_any
✓ from asyncgui import wait_any
run
✓ from asyncgui import run
✗ from asyncgui.runner import run
run is top-level since 0.10.0.
Minimal example showing task creation, event firing, and running with asyncgui's run().
import asyncio
from asyncgui import run, Task, Event, wait_all
async def worker(event):
print("Worker started, waiting for event...")
await event.wait()
print("Worker got event")
async def main():
event = Event()
task = Task(worker(event))
task.start()
await asyncio.sleep(0.1)
print("Firing event")
event.fire()
await task.join()
print("Done")
run(main())
Errors
Common errors & fixes
AttributeError: module 'asyncgui' has no attribute 'run_as_main'
`run_as_main` was removed in v0.10.0.
fixUse `asyncgui.run()` instead.
TypeError: Task.__init__() got an unexpected keyword argument 'cancel_scope'
Cancellation API changed in v0.9.0; `open_cancel_scope` removed.
fixUse the new cancellation pattern as shown in docs.
AttributeError: 'Event' object has no attribute 'wait'
In v0.7.0, `Event` was reworked. Old code using `.wait()` on Event now fails; you may need `StatefulEvent` or `ExclusiveEvent`.
fixIf you need stateful event, use `StatefulEvent`. Use `ExclusiveEvent` for one-shot.
Upgrade
Version history
0.11.1latest on PyPI · released Apr 30, 2026
Audit
Dependencies
No dependency data recorded yet.