skillfed

aiomultiprocess

AsyncIO version of the standard multiprocessing module

aiomultiprocess v0.9.1 4.8M downloads/30d#2,226 on PyPI1,925
Permissive license DORMANT released

What it is and what it does

aiomultiprocess bridges AsyncIO and multiprocessing by spawning child processes, each running its own AsyncIO event loop. This lets you execute multiple async coroutines in parallel across CPU cores, avoiding the Global Interpreter Lock that limits pure AsyncIO to a single thread. The API mirrors Python's standard multiprocessing module, so it feels familiar: you create a Pool, map async functions over data, and iterate results as they complete.

The package is designed for workloads that benefit from both concurrency (many I/O operations) and parallelism (multiple CPU cores). Each worker process can handle multiple coroutines simultaneously, making it useful for tasks like gathering thousands of network requests or running CPU-intensive async operations. It requires Python 3.8+ and has no external runtime dependencies.

Use it for:

  • Fetching thousands of URLs concurrently across multiple processes to maximize throughput.
  • Running CPU-bound async tasks (e.g., data processing) in parallel without GIL contention.
  • Scaling async database queries across worker processes for high-concurrency workloads.
  • Combining async I/O (aiohttp, asyncpg) with multiprocessing for hybrid I/O and CPU parallelism.
  • Building async task queues that distribute work across multiple event loops.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Combines AsyncIO and multiprocessing to run concurrent async tasks across multiple worker processes, bypassing Python's GIL to achieve true parallelism for I/O-bound and CPU-bound workloads.

Yes, if you need true parallelism for async workloads and can tolerate dormant maintenance. The package is stable (no known vulnerabilities, clean install, permissive license), but the 843-day gap since last release means you should verify compatibility with your Python version and async libraries before committing. Best suited for production use when the performance gain justifies the added process overhead.

Install

aiomultiprocess on PyPI

pip

pip install aiomultiprocess

uv

uv add aiomultiprocess

poetry

poetry add aiomultiprocess

Installing aiomultiprocess

Before you install

Installs cleanly with no runtime dependencies. Maintenance is dormant—last release was 843 days ago—but the repository remains active with recent commits and no archived status, suggesting the package is stable rather than abandoned.

License in practice

Licensed under MIT (permissive), so you can use, modify, and distribute the package freely in commercial or private projects without restriction.

Quickstart

pip install aiomultiprocess

import asyncio
from aiomultiprocess import Pool

async def task(item):
    return item * 2

async def main():
    async with Pool() as pool:
        async for result in pool.map(task, [1, 2, 3]):
            print(result)

asyncio.run(main())

Requires Python 3.8 or newer.

Verify before relying

  • Whether the package works with modern Python versions (3.11+) given the dormant maintenance status.
  • Performance gains in real-world scenarios compared to pure asyncio or multiprocessing alone.
  • Compatibility with async libraries beyond aiohttp (e.g., httpx, asyncpg).

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance dormant — 843 days since the last release
Last repo commit
First released
Downloads 4,799,965/month — #2,226 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: aiomultiprocess-0.9.1-py3-none-any.whl

Development Status :: 4 - BetaFramework :: AsyncIOIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseTopic :: Software Development :: Libraries

Tags

async multiprocessing poolasyncio with multiprocessingconcurrent async tasks multiple processesbypass GIL asyncioparallel async workerspool.map async coroutinesasyncio event loop per process
asynciomultiprocessingconcurrency

More Libraries packages