]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] gh-104254: Document the optional keyword-only "context" argument to Task const...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sun, 7 May 2023 04:22:23 +0000 (21:22 -0700)
committerGitHub <noreply@github.com>
Sun, 7 May 2023 04:22:23 +0000 (09:52 +0530)
gh-104254: Document the optional keyword-only "context" argument to Task constructor (GH-104251)

(This was added in 3.11. It was already documented for `create_task()`, but not for `Task()`.)
(cherry picked from commit 4ee2068c34bd45eddba7f6a8ee83f62d5b6932fc)

Co-authored-by: Itamar Ostricher <itamarost@gmail.com>
Doc/library/asyncio-task.rst

index bfefe8e3815b8536e16d108649f742bb3a559ea9..550a84ebae39ee542b516638fe2a56f5f8dac3bc 100644 (file)
@@ -967,7 +967,7 @@ Introspection
 Task Object
 ===========
 
-.. class:: Task(coro, *, loop=None, name=None)
+.. class:: Task(coro, *, loop=None, name=None, context=None)
 
    A :class:`Future-like <Future>` object that runs a Python
    :ref:`coroutine <coroutine>`.  Not thread-safe.
@@ -1002,9 +1002,10 @@ Task Object
    APIs except :meth:`Future.set_result` and
    :meth:`Future.set_exception`.
 
-   Tasks support the :mod:`contextvars` module.  When a Task
-   is created it copies the current context and later runs its
-   coroutine in the copied context.
+   An optional keyword-only *context* argument allows specifying a
+   custom :class:`contextvars.Context` for the *coro* to run in.
+   If no *context* is provided, the Task copies the current context
+   and later runs its coroutine in the copied context.
 
    .. versionchanged:: 3.7
       Added support for the :mod:`contextvars` module.
@@ -1016,6 +1017,9 @@ Task Object
       Deprecation warning is emitted if *loop* is not specified
       and there is no running event loop.
 
+   .. versionchanged:: 3.11
+      Added the *context* parameter.
+
    .. method:: done()
 
       Return ``True`` if the Task is *done*.