--- id: aiomultiprocess version: "0.9.1" license: unclear license_treatment: permissive maintenance: dormant --- # aiomultiprocess — AsyncIO version of the standard multiprocessing module License: permissive · Maintenance: dormant · Downloads: 4.8M/mo ## 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 above — 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 pip install aiomultiprocess uv add aiomultiprocess 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_current - Install friction: low - Maintenance: dormant - Downloads: 4.8M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags async multiprocessing pool, asyncio with multiprocessing, concurrent async tasks multiple processes, bypass GIL asyncio, parallel async workers, pool.map async coroutines, asyncio event loop per process, asyncio, multiprocessing, concurrency [View on SkillFed](https://skillfed.io/packages/aiomultiprocess) · [View on PyPI](https://pypi.org/project/aiomultiprocess/)