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
  • type hints to support type-aware IDEs

Non Features:

  • asyncio-anywhere does not monkey-patch the asyncio module. We want to avoid doing this because it may cause problems in future Python versions

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() anwhere where you would normally have run asyncio.run().

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.1.2.tar.gz (3.5 kB view hashes)

Uploaded Source

Built Distribution

asyncio_anywhere-0.1.2-py3-none-any.whl (4.1 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