https://github.com/python/cpython/commit/fa8bf7df0952e5a1c08707f335f71ed6fe687940
commit: fa8bf7df0952e5a1c08707f335f71ed6fe687940
branch: 3.13
author: Miss Islington (bot) <[email protected]>
committer: vstinner <[email protected]>
date: 2026-06-15T09:30:46Z
summary:

[3.13] gh-139837: Document attributes of objects recorded by 
warnings.catch_warnings (GH-139893) (GH-151473) (#151494)

[3.14] gh-139837: Document attributes of objects recorded by 
warnings.catch_warnings (GH-139893) (GH-151473)

* gh-139837: Document attributes of objects recorded by warnings.catch_warnings 
(GH-139893)
(cherry picked from commit 47b7dc788c9bcf3d5ea69a2ea0aed3d5883647a8)




* Apply suggestions from code review



---------
(cherry picked from commit eb612f4571299d3cc73411574e2f95e299a36198)

Co-authored-by: Aniket <[email protected]>
Co-authored-by: Victor Stinner <[email protected]>
Co-authored-by: Serhiy Storchaka <[email protected]>

files:
M Doc/library/warnings.rst

diff --git a/Doc/library/warnings.rst b/Doc/library/warnings.rst
index 18c4f8977a87e0..93832e8faa37e4 100644
--- a/Doc/library/warnings.rst
+++ b/Doc/library/warnings.rst
@@ -604,9 +604,23 @@ Available Context Managers
     If the *record* argument is :const:`False` (the default) the context 
manager
     returns :class:`None` on entry. If *record* is :const:`True`, a list is
     returned that is progressively populated with objects as seen by a custom
-    :func:`showwarning` function (which also suppresses output to 
``sys.stdout``).
-    Each object in the list has attributes with the same names as the 
arguments to
-    :func:`showwarning`.
+    :func:`showwarning` function (which also suppresses output to 
``sys.stderr``).
+    Each object in the list is guaranteed to have the following attributes:
+
+      - ``message``: the warning message (an instance of :exc:`Warning`)
+      - ``category``: the warning category (a subclass of :exc:`Warning`)
+      - ``filename``: the file name where the warning occurred (:class:`str`)
+      - ``lineno``: the line number in the file (:class:`int`)
+      - ``file``: the file object used for output (if any), or ``None``
+      - ``line``: the line of source code (if available), or ``None``
+      - ``source``: the original object that generated the warning (if
+        available), or ``None``
+
+    .. versionchanged:: 3.6
+      The ``source`` attribute was added.
+
+    The type of these objects is not specified and may change; only the
+    presence of these attributes is guaranteed.
 
     The *module* argument takes a module that will be used instead of the
     module returned when you import :mod:`warnings` whose filter will be

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to