Python asyncio
Shares rank 6 of 11 concurrency libraries by recommenders
Ships with Python, so it is free and stable; people praise its API quality and performance. Critics most often say it makes code hard to navigate and untangle.
Ships with Python, so it is free and stable; people praise its API quality and performance. Critics most often say it makes code hard to navigate and untangle.
24 people gave an opinion
- recommend it
- 7
- criticize it
- 17
- approval share
- 29%
Recommended in 4 of 13 months
- November 2025: not recommended
- December 2025: recommended
- January 2026: not recommended
- February 2026: not recommended
- March 2026: not recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: not recommended
- July 2026: not recommended
- August 2026: recommended
- September 2026: not recommended
- October 2026: not recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 7 people recommend itNeeds 10 or more, not met.
- 0.4 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 4 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Stable, mature, well documented
“It's been a stable (and documented) behavior of the Python standard library for almost a decade now.”
Comment from 3 Apr 2026 in “Async Python Is Secretly Deterministic” “I'm deeply satisfied and surprised by the maturity, quality of APIs and performance in general”
Comment from 29 Aug 2026 in “EVE Online moves to Python 3” Simpler code than thread pools
“design the application from the start with asyncio in mind, it makes things much simpler”
Comment from 26 Apr 2026 in “What Async Promised and What It Delivered” “asyncio.gather is a lot less code than having to manage a thread pool”
Comment from 26 May 2026 in “What Color is Your Function? (2015)”
What people warn about
Each mark is one comment
Buggy, broken design with shared state
“the first time I tried to use asyncio I ran into a bug that nobody knew how to solve”
Comment from 29 Aug 2026 in “EVE Online moves to Python 3” “you essentially combine an asynchronous model with mutable shared state”
Comment from 26 Jul 2026 in “Some more things about Django I've been enjoying” “"Python + Asyncio" is a buggy code as well”
Comment from 12 Sep 2026 in “A Design Space Exploration of Async/Await” - Comment from 1 Aug 2026 in “Some more things about Django I've been enjoying”
Hard to untangle and navigate
“Now that there's also asyncio, it feels like a nightmare trying to untangle old code”
Comment from 8 Jun 2026 in “Learn PHP in 2026 (Yes, Really)” “I feel there's just too much to navigate to quickly get up and running”
Comment from 26 Nov 2025 in “Await Is Not a Context Switch: Understanding Python's Coroutines vs. Tasks” “I still can't believe what a mess async python is.”
Comment from 3 Nov 2025 in “Why we migrated from Python to Node.js” Painful and confusing to use
“it used decorators and wrapping my head around how it was a crazy abuse of generators”
Comment from 26 May 2026 in “What Color is Your Function? (2015)” “it was very much "painful" (to borrow the article's verbage) to use”
Comment from 26 May 2026 in “What Color is Your Function? (2015)” Surprising semantics, not truly async
“And in the end, async is not even really async, just cooperative execution.”
Comment from 30 Aug 2026 on Hacker News “calling an async function doesn't even schedule it (by default)”
Comment from 5 Mar 2026 in “What Python's asyncio primitives get wrong about shared state”
Other concurrency libraries people recommend
The four most recommended other concurrency libraries, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| Tokio | 57 | 45 | 56% | 12 | — | — |
| Akka | 12 | 9 | 57% | 7 | — | — |
| ZIO | 11 | 2 | 85% | 9 | — | Approved |
| Trio Python library | 10 | 0 | 100% | 8 | — | Approved |
| Python asyncioThis page | 7 | 17 | 29% | 4 | — | — |
What people said
25 of the 27 comments that mention it, newest first. Each links to the original comment.
“"Python + Asyncio" is a buggy code as well”
“whose main advantage appears to simply be inertia and stdlib privilege”
“And in the end, async is not even really async, just cooperative execution.”
“I see async thing in Python as a step backwards.”
“the first time I tried to use asyncio I ran into a bug that nobody knew how to solve”
“it's great for the uses case it was built for”
“I'm deeply satisfied and surprised by the maturity, quality of APIs and performance in general”
“anyone starting a new project should not use it”
“I think the main things that cripple the Python stdlib/asyncio design and the ecosystem that arose around it are”
“the design itself is broken”
“you essentially combine an asynchronous model with mutable shared state”
“Now that there's also asyncio, it feels like a nightmare trying to untangle old code”
“it used decorators and wrapping my head around how it was a crazy abuse of generators”
“it was very much "painful" (to borrow the article's verbage) to use”
“asyncio.gather is a lot less code than having to manage a thread pool”
“design the application from the start with asyncio in mind, it makes things much simpler”
“It's been a stable (and documented) behavior of the Python standard library for almost a decade now.”
“that's an implementation detail and I would not rely on it for anything critical”
“the vast majority of cases async code in python is bad code”
“There were a couple of cases where some engineer built the system by implicitly relying on the assumption”
“calling an async function doesn't even schedule it (by default)”
“I feel there's just too much to navigate to quickly get up and running”
“treats it (asyncio) as a bastard edge case undeserving of first-class support”
“Agree Python async sucks.”
“I still can't believe what a mess async python is.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.