You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.7 KiB
Plaintext

2 years ago
Metadata-Version: 2.1
Name: nest-asyncio
Version: 1.5.6
Summary: Patch asyncio to allow nested event loops
Home-page: https://github.com/erdewit/nest_asyncio
Author: Ewald R. de Wit
Author-email: ewald.de.wit@gmail.com
License: BSD
Keywords: asyncio,nested,eventloop
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Framework :: AsyncIO
Requires-Python: >=3.5
Description-Content-Type: text/x-rst
License-File: LICENSE
|Build| |Status| |PyPiVersion| |License| |Downloads|
Introduction
------------
By design asyncio `does not allow <https://bugs.python.org/issue22239>`_
its event loop to be nested. This presents a practical problem:
When in an environment where the event loop is
already running it's impossible to run tasks and wait
for the result. Trying to do so will give the error
"``RuntimeError: This event loop is already running``".
The issue pops up in various environments, such as web servers,
GUI applications and in Jupyter notebooks.
This module patches asyncio to allow nested use of ``asyncio.run`` and
``loop.run_until_complete``.
Installation
------------
.. code-block::
pip3 install nest_asyncio
Python 3.5 or higher is required.
Usage
-----
.. code-block:: python
import nest_asyncio
nest_asyncio.apply()
Optionally the specific loop that needs patching can be given
as argument to ``apply``, otherwise the current event loop is used.
An event loop can be patched whether it is already running
or not. Only event loops from asyncio can be patched;
Loops from other projects, such as uvloop or quamash,
generally can't be patched.
.. |Build| image:: https://github.com/erdewit/nest_asyncio/workflows/Test/badge.svg?branche=master
:alt: Build
:target: https://github.com/erdewit/nest_asyncio/actions
.. |PyPiVersion| image:: https://img.shields.io/pypi/v/nest_asyncio.svg
:alt: PyPi
:target: https://pypi.python.org/pypi/nest_asyncio
.. |Status| image:: https://img.shields.io/badge/status-stable-green.svg
:alt:
.. |License| image:: https://img.shields.io/badge/license-BSD-blue.svg
:alt:
.. |Downloads| image:: https://pepy.tech/badge/nest-asyncio/month
:alt: Number of downloads
:target: https://pepy.tech/project/nest-asyncio