Skip to main content

asyncio version of the standard multiprocessing module

Project description


Multiprocessing, but AsyncIO.

build status version license code style


aiomultiprocess requires Python 3.6 or newer. You can install it from PyPI:

$ pip3 install aiomultiprocess


Most of aiomultiprocess mimics the standard multiprocessing module whenever possible, while accounting for places that benefit from async functionality.

Executing a coroutine on a child process is as simple as:

from aiomultiprocess import Process

async def foo(...):

p = Process(target=foo, args=..., kwargs=...)
await p.join()

If you want to get results back from that coroutine, then use Worker instead:

from aiomultiprocess import Worker

async def foo(...):

p = Worker(target=foo, args=..., kwargs=...)
await p.join()


If you want a managed pool of worker processes, then use Pool:

from aiomultiprocess import Pool

async def foo(value):
    return value * 2

async with Pool() as pool:
    result = await, range(10))


aiomultiprocess is copyright John Reese, and licensed under the MIT license. I am providing code in this repository to you under an open source license. This is my personal repository; the license you receive to my code is from me and not from my employer. See the LICENSE file for details.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for aiomultiprocess, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size aiomultiprocess-0.2.0.tar.gz (5.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page