Skip to main content

Python package that makes it easy to run fast asyncio code

Project description

asyncio-anywhere

Python package that makes it easy to run fast asyncio code

PyPI version Release Notes pytest Poetry

Are you trying to run async code in Python and getting the error asyncio.run() cannot be called from a running event loop? This package makes it easy to run asyncio-based async code in tricky execution environments:

  • IPython-based notebooks (JupyterLab, AWS Sagemaker, Databricks, etc)
  • trio applications
  • curio applications

Other Features:

  • Use uvloop for faster i/o - but without permanently changing the asyncio event loop policy
  • Run any code which uses asyncio I/O.
  • Type hints to support type-aware IDEs

Non-Features:

  • asyncio-anywhere does not monkey-patch the asyncio module. This avoids unexpected side-effects and potential future bugs.

Usage

pip install asyncio-anywhere
import asyncio
from asyncio_anywhere import asyncio_run


async def myfunc():
    await asyncio.sleep(0.01)
    return "OK"


result = asyncio_run(myfunc())

print(result)

Use asyncio_run() anywhere where you would normally have run asyncio.run(). Note that it also accepts a boolean debug parameter as the second parameter.

Project details


Download files

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

Source Distribution

asyncio_anywhere-0.2.0.tar.gz (3.6 kB view hashes)

Uploaded Source

Built Distribution

asyncio_anywhere-0.2.0-py3-none-any.whl (4.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page