]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-104254: Document the optional keyword-only "context" argument to Task constructor...
authorItamar Ostricher <itamarost@gmail.com>
Sun, 7 May 2023 01:31:53 +0000 (18:31 -0700)
committerGitHub <noreply@github.com>
Sun, 7 May 2023 01:31:53 +0000 (18:31 -0700)
(This was added in 3.11. It was already documented for `create_task()`, but not for `Task()`.)

Doc/library/asyncio-task.rst

index f8727b98066990338cdd2ea11634fcaf0ce8f1bb..a46ebc1c3d25a947c0a69396997f948f3931316f 100644 (file)
@@ -1014,7 +1014,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.
@@ -1049,9 +1049,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.
@@ -1063,6 +1064,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*.