Dev tools · alternatives · 2026
24 alternatives to Bringing multithreading to Python's async event loop
This project explores the integration of multithreading into the asyncio event loop in Python. While this was initially built with enhancing CPU utilization for FastAPI servers in mind, the approach can be used with more general async programs too. If you’re interested in diving deeper into the details, I’ve written a blog post about it here: https://www.neilbotelho.com/blog/multithreaded-async.html
This project integrates multithreading into Python's asyncio event loop to improve CPU utilization in async programs. Originally designed to enhance FastAPI server performance, the approach applies broadly to general… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes. Bringing multithreading to Python's async event loop launched in 2024; newer entries below may have overtaken it.
- 1

Utility function to parallelise pipelines of Python asyncio iterators/generators - michalc/asyncio-buffered-pipeline
2020 · github.com · its alternatives →
- 2

Hi HN ! Alex here. I'm excited to show you Asyncpal (https://github.com/pyrustic/asyncpal), a Python library for parallelism [1] and preemptive concurrency [2] tailored for sporadic workloads [3]. I've been working on a private project where it would be convenient to have asynchronous versions of some operations without using `async/await` [4]. Besides `async/await`, which represents cooperative concurrency via the `asyncio` package, Python also provides preemptive concurrency through its `threading` package. Additionally, the `concurrent.futures` package builds…
2024 · github.com · its alternatives →
- 3

WebRTC and ORTC implementation for Python using asyncio - jlaine/aiortc
2018 · github.com · its alternatives →
- 4

2018 · gitlab.com · its alternatives →
- 5

Tasks are a primitive for asynchronous programming and an alternative to working with threads directly. Instead of creating a thread, performing work, then waiting on it using synchronization primitives, you only define a unit of work and let a scheduler decide when and where to execute it. The threads that the scheduler uses are created once and reused for many tasks throughout the program's lifetime. In most cases, creating and executing a task requires not even a single syscall and is a significantly faster operation than creating a thread, resulting in lower latency. Furthermore, tasks…
2024 · github.com · its alternatives →
- 6

A few months ago, I benchmarked FastAPI on an i9 MacBook Pro. I couldn't believe my eyes. A primary REST endpoint to `sum` two integers took 6 milliseconds to evaluate. It is okay if you are targeting a server in another city, but it should be less when your client and server apps are running on the same machine. FastAPI would have bottleneck-ed the inference of our lightweight UForm neural networks recently trending on HN under the title "Beating OpenAI CLIP with 100x less data and compute". (Thank you all for the kind words!) So I wrote another library. It has been a while since I have…
2023 · github.com · its alternatives →
- 7

Micro event loop library to teach the basic concepts of python coroutines and how event loop libraries might be implemented - micro_events.py
2025 · gist.github.com · its alternatives →
- 8

Dead easy interface for executing many HTTP requests asynchronously. Also provides helper functions for executing embarrassingly parallel async coroutines. - joshlk/many_requests
2020 · github.com · its alternatives →
- 9

Hey HN, this is Will and David from Fortress (https://news.ycombinator.com/item?id=41426998). We use a lot of async Rust internally, and created this library out of a need for an async-aware concurrent hashmap since there weren’t many available in the Rust ecosystem. Whirlwind is a sharded HashMap with a fully asynchronous API. Just as dashmap is a replacement for std::sync::RwLock, whirlwind aims to be a replacement for tokio::sync::RwLock. It has a similar design and performance characteristics to dashmap, but seems to perform better in read-heavy workloads with tokio's…
2024 · github.com · its alternatives →
- 10

I started building a couple of years ago because I found no easy existing solution to build Slack bots that can be composed from/organized into plugins. Existing libraries like Bolt make it pretty easy to develop Slack bots, but hard to organize and scale the code base of your bot. I was also missing some crucial features such as scheduling actions for your bot. So I wrote my own framework! I recently rewrote the complete framework to make use of asyncio and the newest Slack SDK Let me know what you think!
2022 · github.com · its alternatives →
- 11

Tornado HTTP/2 Client. Contribute to vladmunteanu/th2c development by creating an account on GitHub.
2018 · github.com · its alternatives →
- 12
Twist 2.0▲291For teams burnt out by real-time chat, work async, not ASAP
2021 · twist.com · its alternatives →
- 13

2022 · wishawa.github.io · its alternatives →
- 14

Python3.5 async crawler example with aiohttp and asyncio - mehmetkose/tangrowth
2016 · github.com · its alternatives →
- 15

Robyn is a Super Fast Async Python Web Framework with a Rust runtime. - sparckles/Robyn
2023 · github.com · its alternatives →
- 16

Hello and happy new year! We're excited to introduce the Pyper package for concurrency & parallelism in Python. Pyper is a flexible framework for concurrent / parallel data processing, following the functional paradigm. Source code can be found on [github](https://github.com/pyper-dev/pyper) Key features: Intuitive API: Easy to learn, easy to think about. Implements clean abstractions to seamlessly unify threaded, multiprocessed, and asynchronous work. Functional Paradigm: Python functions are the building blocks of data pipelines. Let's you write clean, reusable…
2025 · github.com · its alternatives →
- 17

Real Goroutines for Python 3.13t+ free-threaded. Contribute to robertsdotpm/runloom development by creating an account on GitHub.
Jul 2026 · github.com · its alternatives →
- 18

actually, nothing special about this implementation. just another event loop written in rust for educational purposes and joy in tests it shows seamless migration from uvloop for my scraping framework https://github.com/BitingSnakes/silkworm with APIs (fastapi) it shows only one advantage: better p99, uvloop is faster about 10-20% in the synthetic run currently, i am forking on the win branch to give it windows support that uvloop lacks
Mar 2026 · github.com · its alternatives →
- 19

Hi, I’m Mikkel and I’m building Async, an open-sourced developer tool that combines AI coding with task management and code review. What Async does: - Automatically researches coding tasks, asks clarifying questions, then executes code changes in the cloud - Breaks work into reviewable subtasks with stack diffs for easier code review - Handles the full workflow from issue to merged PR without leaving the app Demo here: https://youtu.be/98k42b8GF4s?si=Azf3FIWAbpsXxk3_ I’ve been working as a developer for over a decade now. I’ve tried all sorts of AI tools out there including…
2025 · github.com · its alternatives →
- 20

:zap: Optimizing Python code by implementing a C++ extension - szabolcsdombi/optimization-demo
2023 · github.com · its alternatives →
- 21

- 22

A declarative library to make blocking code play nicely with the tornado ioloop - bobpoekert/tornado-threadpool
2012 · github.com · its alternatives →
- 23

Lightweight Pandas monkey-patch that adds async support to map, apply, applymap, aggregate, and transform, enabling seamless handling of async functions with controlled max_parallel execution. - telekinesis-inc/aiopandas
2025 · github.com · its alternatives →
- 24

Hi! I've built this because I kept reaching for Celery for simple scheduled tasks and it felt like overkill. I just needed "run this function every hour" or "daily at 9am", not distributed workers. So it's decorators for scheduling (@scheduler.every(5).minutes, @scheduler.daily.at("09:00")), state saves to JSON so jobs survive restarts, and there's an optional FastAPI dashboard if you want to see what's running. No Redis, no message broker, runs in-process with your app. Trade-off is it's single process only — if you need distributed workers, stick with Celery.
Jan 2026 · github.com · its alternatives →
Also compare
- Parallelise pipelines of Python async iterables alternatives
- Asyncpal: Preemptive concurrency and parallelism for sporadic workloads alternatives
- WebRTC implementation for Python using Asyncio alternatives
- HTTP/2 Python-Asyncio Web Microframework alternatives
- Async tasks in 350 lines of C alternatives
- Faster FastAPI with simdjson and io_uring on Linux 5.19 alternatives
Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →