Hacker ApprovedDepartments

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%
Each figure is one person. RecommendsCriticizes

Recommended in 4 of 13 months

  1. November 2025: not recommended
  2. December 2025: recommended
  3. January 2026: not recommended
  4. February 2026: not recommended
  5. March 2026: not recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: not recommended
  9. July 2026: not recommended
  10. August 2026: recommended
  11. September 2026: not recommended
  12. October 2026: not recommended
  13. 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”
  • 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.

Python asyncio compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Tokio574556%12——
Akka12957%7——
ZIO11285%9—Approved
Trio Python library100100%8—Approved
Python asyncioThis page71729%4——
See all 11 concurrency libraries, ranked

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”

CriticizesComment from 12 Sep 2026 in “A Design Space Exploration of Async/Await”

“whose main advantage appears to simply be inertia and stdlib privilege”

CriticizesComment from 12 Sep 2026 in “A Design Space Exploration of Async/Await”

“And in the end, async is not even really async, just cooperative execution.”

CriticizesComment from 30 Aug 2026 on Hacker News

“I see async thing in Python as a step backwards.”

CriticizesComment from 30 Aug 2026 in “EVE Online moves to Python 3”

“the first time I tried to use asyncio I ran into a bug that nobody knew how to solve”

CriticizesComment from 29 Aug 2026 in “EVE Online moves to Python 3”

“it's great for the uses case it was built for”

MixedComment from 29 Aug 2026 in “EVE Online moves to Python 3”

“I'm deeply satisfied and surprised by the maturity, quality of APIs and performance in general”

RecommendsComment from 29 Aug 2026 in “EVE Online moves to Python 3”

“anyone starting a new project should not use it”

CriticizesComment from 2 Aug 2026 in “Some more things about Django I've been enjoying”

“I think the main things that cripple the Python stdlib/asyncio design and the ecosystem that arose around it are”

CriticizesComment from 2 Aug 2026 in “Some more things about Django I've been enjoying”

“the design itself is broken”

CriticizesComment from 1 Aug 2026 in “Some more things about Django I've been enjoying”

“you essentially combine an asynchronous model with mutable shared state”

CriticizesComment from 26 Jul 2026 in “Some more things about Django I've been enjoying”

“Now that there's also asyncio, it feels like a nightmare trying to untangle old code”

CriticizesComment from 8 Jun 2026 in “Learn PHP in 2026 (Yes, Really)”

“it used decorators and wrapping my head around how it was a crazy abuse of generators”

CriticizesComment from 26 May 2026 in “What Color is Your Function? (2015)”

“it was very much "painful" (to borrow the article's verbage) to use”

CriticizesComment from 26 May 2026 in “What Color is Your Function? (2015)”

“asyncio.gather is a lot less code than having to manage a thread pool”

RecommendsComment from 26 May 2026 in “What Color is Your Function? (2015)”

“design the application from the start with asyncio in mind, it makes things much simpler”

RecommendsComment from 26 Apr 2026 in “What Async Promised and What It Delivered”

“It's been a stable (and documented) behavior of the Python standard library for almost a decade now.”

RecommendsComment from 3 Apr 2026 in “Async Python Is Secretly Deterministic”

“that's an implementation detail and I would not rely on it for anything critical”

MixedComment from 3 Apr 2026 in “Async Python Is Secretly Deterministic”

“the vast majority of cases async code in python is bad code”

CriticizesComment from 6 Mar 2026 in “What Python's asyncio primitives get wrong about shared state”

“There were a couple of cases where some engineer built the system by implicitly relying on the assumption”

CriticizesComment from 5 Mar 2026 in “What Python's asyncio primitives get wrong about shared state”

“calling an async function doesn't even schedule it (by default)”

CriticizesComment from 5 Mar 2026 in “What Python's asyncio primitives get wrong about shared state”

“I feel there's just too much to navigate to quickly get up and running”

CriticizesComment from 26 Nov 2025 in “Await Is Not a Context Switch: Understanding Python's Coroutines vs. Tasks”

“treats it (asyncio) as a bastard edge case undeserving of first-class support”

CriticizesComment from 14 Nov 2025 in “Adk-go: code-first Go toolkit for building, evaluating, and deploying AI agents”

“Agree Python async sucks.”

CriticizesComment from 4 Nov 2025 in “Why we migrated from Python to Node.js”

“I still can't believe what a mess async python is.”

CriticizesComment from 3 Nov 2025 in “Why we migrated from Python to Node.js”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.