Does this async Python freeze the event loop, lose tasks or swallow cancellation?
Paste or drop the files behind one async service, worker or client - an aiohttp or FastAPI handler, a
queue consumer, a scraper, a polling loop - and its pyproject.toml. Your browser reads every
file and checks its asyncio: time.sleep or requests.get inside a
coroutine, a coroutine called without await, a task created and dropped, gather errors
nobody checks, a CancelledError swallowed, a loop that never awaits, locks an
exception leaves held, sessions never closed, pending tasks left running. Free, before you sign in, and
nothing is uploaded. Then pick a lane: the audit gives exact edits for each finding, or the
fix lane writes the whole fixed file - and the page re-checks both.
The companies, hosts and values in the examples are invented. The first three are audits (the first also carries a saved fix run of its edited code, one click after the audit), the last a fix run; each comes with a saved model reply, so you can see the whole page without signing in or spending a credit.
The audit rates the event loop, tasks, cancellation and resources, confirms or dismisses every flag below, adds what rules cannot see, and gives exact before/after edits for each finding - which the page applies to your paste and re-checks.
What this does, and what it does not
The check is a reading of the text, not Python: nothing is imported or run. Each file is lexed so strings
and comments are never mistaken for code, its blocks are rebuilt from indentation so each coroutine, loop,
try and with has its exact extent, and each flag carries the catalogue id it comes from and the line it
points at. Checks only see what you paste: whether an imported function is a coroutine, or blocks, is
outside the check (it is noted, not assumed), and running your tests with asyncio debug mode on
(PYTHONASYNCIODEBUG=1) remains the ground truth for slow callbacks and never-awaited coroutines.
The paid lanes see your paste and the page's facts. Every quote and edit they return is checked against your paste, every edit and every returned file is put back and re-checked, and a reply that repeats a credential from your paste is called out. A paste stays in this browser unless you run a lane. Derived from the agent skill @wshobson/async-python-patterns by Seth Hobson (wshobson/agents, MIT). Sources are listed in llms.txt.