From a4a468d617ed600f0dde8d0989fececc6367aa26 Mon Sep 17 00:00:00 2001 From: Kyle Stanley Date: Mon, 30 Sep 2019 20:12:21 -0400 Subject: [PATCH] Fix and improve `asyncio.run()` docs (GH-16403) (cherry picked from commit e407013089259e4c0b271703e1975bbcd578a2d5) Co-authored-by: Kyle Stanley --- Doc/glossary.rst | 2 +- Doc/library/asyncio-task.rst | 6 ++---- Lib/asyncio/runners.py | 6 +----- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/Doc/glossary.rst b/Doc/glossary.rst index e601e8b36984104..9ce0357f1cb4241 100644 --- a/Doc/glossary.rst +++ b/Doc/glossary.rst @@ -247,7 +247,7 @@ Glossary Fortran contiguous arrays, the first index varies the fastest. coroutine - Coroutines is a more generalized form of subroutines. Subroutines are + Coroutines are a more generalized form of subroutines. Subroutines are entered at one point and exited at another point. Coroutines can be entered, exited, and resumed at many different points. They can be implemented with the :keyword:`async def` statement. See also diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst index 321b4f4576592ec..68292337939167c 100644 --- a/Doc/library/asyncio-task.rst +++ b/Doc/library/asyncio-task.rst @@ -212,6 +212,8 @@ Running an asyncio Program .. function:: run(coro, \*, debug=False) + Execute the :term:`coroutine` *coro* and return the result. + This function runs the passed coroutine, taking care of managing the asyncio event loop and *finalizing asynchronous generators*. @@ -225,10 +227,6 @@ Running an asyncio Program the end. It should be used as a main entry point for asyncio programs, and should ideally only be called once. - Return a result of *coro* execution, or raise a :exc:`RuntimeError` - if ``asyncio.run()`` is called from a running event loop, or a - :exc:`ValueError` if *coro* is not a courutine. - Example:: async def main(): diff --git a/Lib/asyncio/runners.py b/Lib/asyncio/runners.py index df686386b8fd4ee..2e37e18b45fc150 100644 --- a/Lib/asyncio/runners.py +++ b/Lib/asyncio/runners.py @@ -6,7 +6,7 @@ def run(main, *, debug=False): - """Run a coroutine. + """Execute the coroutine and return the result. This function runs the passed coroutine, taking care of managing the asyncio event loop and finalizing asynchronous @@ -21,10 +21,6 @@ def run(main, *, debug=False): It should be used as a main entry point for asyncio programs, and should ideally only be called once. - Return a result of *coro* execution, or raise a RuntimeError - if `asyncio.run()`is called from a running event loop, or a ValueError - if `main` is not a courutine. - Example: async def main():