summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPablo Galindo <pablogsal@gmail.com>2023-10-02 14:26:51 +0100
committerPablo Galindo <pablogsal@gmail.com>2023-10-02 14:29:10 +0100
commit8b6ee5ba3bd08368ba3c763cea28ce1464a88e62 (patch)
treea62adcfb18ab4732775fe41dce006899eda2e925
parent[3.11] Docs: bump Pygments to fix contrast ratios to meet WCAG AA guidelines ... (diff)
downloadcpython-3.11.6.tar.gz
cpython-3.11.6.tar.bz2
cpython-3.11.6.zip
Python 3.11.6v3.11.6
-rw-r--r--Include/patchlevel.h4
-rw-r--r--Lib/pydoc_data/topics.py2037
-rw-r--r--Misc/NEWS.d/3.11.6.rst607
-rw-r--r--Misc/NEWS.d/next/Build/2023-09-01-01-39-26.gh-issue-108740.JHExAQ.rst4
-rw-r--r--Misc/NEWS.d/next/Build/2023-09-02-18-04-15.gh-issue-63760.r8hJ6q.rst3
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2023-08-30-15-41-47.gh-issue-108520.u0ZGP_.rst3
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2023-09-05-20-52-17.gh-issue-108959.6z45Sy.rst2
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2023-09-07-16-05-36.gh-issue-88943.rH_X3W.rst3
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2023-09-09-21-17-18.gh-issue-109179.ZR8qs2.rst1
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2023-09-10-18-53-55.gh-issue-109207.Fei8bY.rst1
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2023-09-12-16-00-42.gh-issue-109351.kznGeR.rst2
-rw-r--r--Misc/NEWS.d/next/Documentation/2023-03-19-09-39-31.gh-issue-102823.OzsOz0.rst2
-rw-r--r--Misc/NEWS.d/next/Documentation/2023-05-29-14-10-24.gh-issue-105052.MGFwbm.rst1
-rw-r--r--Misc/NEWS.d/next/Documentation/2023-09-10-02-39-06.gh-issue-109209.0LBewo.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2022-12-24-12-50-54.gh-issue-84867.OhaLbU.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2023-05-22-18-39-53.gh-issue-104372.7tDRaK.rst5
-rw-r--r--Misc/NEWS.d/next/Library/2023-08-14-11-18-13.gh-issue-107913.4ooY6i.rst3
-rw-r--r--Misc/NEWS.d/next/Library/2023-08-22-22-29-42.gh-issue-64662.jHl_Bt.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2023-08-26-12-35-39.gh-issue-105829.kyYhWI.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2023-08-30-20-10-28.gh-issue-108682.c2gzLQ.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2023-09-06-04-30-05.gh-issue-108843.WJMhsS.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2023-09-08-12-09-55.gh-issue-108987.x5AIG8.rst4
-rw-r--r--Misc/NEWS.d/next/Library/2023-09-09-15-08-37.gh-issue-50644.JUAZOh.rst4
-rw-r--r--Misc/NEWS.d/next/Library/2023-09-11-00-32-18.gh-issue-107219.3zqyFT.rst5
-rw-r--r--Misc/NEWS.d/next/Library/2023-09-13-17-22-44.gh-issue-109375.ijJHZ9.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2023-09-20-17-45-46.gh-issue-109613.P13ogN.rst4
-rw-r--r--Misc/NEWS.d/next/Library/2023-09-22-20-16-44.gh-issue-109593.LboaNM.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2023-09-25-23-00-37.gh-issue-109631.eWSqpO.rst3
-rw-r--r--Misc/NEWS.d/next/Library/2023-09-28-18-50-33.gh-issue-110038.nx_gCu.rst3
-rw-r--r--Misc/NEWS.d/next/Library/2023-09-28-18-53-11.gh-issue-110036.fECxTj.rst5
-rw-r--r--Misc/NEWS.d/next/Tests/2022-06-16-17-50-58.gh-issue-93353.JdpATx.rst2
-rw-r--r--Misc/NEWS.d/next/Tests/2022-10-20-17-49-50.gh-issue-95027.viRpJB.rst4
-rw-r--r--Misc/NEWS.d/next/Tests/2022-10-31-14-47-49.gh-issue-98903.7KinCV.rst2
-rw-r--r--Misc/NEWS.d/next/Tests/2022-12-08-00-03-37.gh-issue-100086.1zYpto.rst3
-rw-r--r--Misc/NEWS.d/next/Tests/2023-06-28-02-51-08.gh-issue-101634.Rayczr.rst3
-rw-r--r--Misc/NEWS.d/next/Tests/2023-08-24-04-23-35.gh-issue-108388.mr0MeE.rst4
-rw-r--r--Misc/NEWS.d/next/Tests/2023-08-24-06-10-36.gh-issue-108388.YCVB0D.rst2
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-02-19-06-52.gh-issue-108822.arTbBI.rst4
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-03-21-18-35.gh-issue-108851.CCuHyI.rst2
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-03-21-41-10.gh-issue-108851.xFTYOE.rst3
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-04-15-18-14.gh-issue-89392.8A4T5p.rst2
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-05-23-00-09.gh-issue-108962.R4NwuU.rst3
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-06-15-36-51.gh-issue-91960.P3nD5v.rst7
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-06-18-27-53.gh-issue-109015.1dS1AQ.rst6
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-10-19-59-57.gh-issue-109230.SRNLFQ.rst5
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-10-22-32-20.gh-issue-109237.SvgKwD.rst4
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-13-05-58-09.gh-issue-104736.lA25Fu.rst4
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-14-22-58-47.gh-issue-109396.J1a4jR.rst3
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-20-02-32-17.gh-issue-103053.AoUJuK.rst4
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-26-00-49-18.gh-issue-109748.nxlT1i.rst3
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-28-14-47-14.gh-issue-109594.DB5KPP.rst4
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-28-18-14-52.gh-issue-110033.2yHMx0.rst5
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-29-12-48-42.gh-issue-110088.qUhRga.rst4
-rw-r--r--Misc/NEWS.d/next/Tests/2023-09-29-14-11-30.gh-issue-110031.fQnFnc.rst2
-rw-r--r--Misc/NEWS.d/next/Tools-Demos/2023-09-27-23-31-54.gh-issue-109991.sUUYY8.rst2
-rw-r--r--Misc/NEWS.d/next/Windows/2023-09-05-10-08-47.gh-issue-107565.CIMftz.rst1
-rw-r--r--Misc/NEWS.d/next/Windows/2023-09-28-17-09-23.gh-issue-109991.CIMftz.rst1
-rw-r--r--Misc/NEWS.d/next/macOS/2023-09-27-22-35-22.gh-issue-109991.-xJzaF.rst1
-rw-r--r--README.rst2
59 files changed, 1640 insertions, 1169 deletions
diff --git a/Include/patchlevel.h b/Include/patchlevel.h
index 59f90803983..70d71c11377 100644
--- a/Include/patchlevel.h
+++ b/Include/patchlevel.h
@@ -18,12 +18,12 @@
/*--start constants--*/
#define PY_MAJOR_VERSION 3
#define PY_MINOR_VERSION 11
-#define PY_MICRO_VERSION 5
+#define PY_MICRO_VERSION 6
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
#define PY_RELEASE_SERIAL 0
/* Version as a string */
-#define PY_VERSION "3.11.5+"
+#define PY_VERSION "3.11.6"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index 1b1251b6909..06422d21c6b 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Thu Aug 24 13:07:17 2023
+# Autogenerated by Sphinx on Mon Oct 2 14:27:48 2023
# as part of the release process.
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
@@ -1076,9 +1076,7 @@ topics = {'assert': 'The "assert" statement\n'
'for each\n'
' instance.\n'
'\n'
- '\n'
- 'Notes on using *__slots__*\n'
- '--------------------------\n'
+ 'Notes on using *__slots__*:\n'
'\n'
'* When inheriting from a class without *__slots__*, the '
'"__dict__" and\n'
@@ -10003,9 +10001,7 @@ topics = {'assert': 'The "assert" statement\n'
'each\n'
' instance.\n'
'\n'
- '\n'
- 'Notes on using *__slots__*\n'
- '~~~~~~~~~~~~~~~~~~~~~~~~~~\n'
+ 'Notes on using *__slots__*:\n'
'\n'
'* When inheriting from a class without *__slots__*, the '
'"__dict__" and\n'
@@ -12374,71 +12370,71 @@ topics = {'assert': 'The "assert" statement\n'
'those\n'
'used by Standard C. The recognized escape sequences are:\n'
'\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| Escape Sequence | Meaning | Notes '
- '|\n'
- '|===================|===================================|=========|\n'
- '| "\\"<newline> | Backslash and newline ignored | '
- '(1) |\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\\\" | Backslash ("\\") '
- '| |\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\\'" | Single quote ("\'") '
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| Escape Sequence | Meaning | '
+ 'Notes |\n'
+ '|===========================|===================================|=========|\n'
+ '| "\\"<newline> | Backslash and newline ignored '
+ '| (1) |\n'
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\\\" | Backslash '
+ '("\\") | |\n'
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\\'" | Single quote '
+ '("\'") | |\n'
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\"" | Double quote (""") '
'| |\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\"" | Double quote (""") '
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\a" | ASCII Bell (BEL) '
'| |\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\a" | ASCII Bell (BEL) '
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\b" | ASCII Backspace (BS) '
'| |\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\b" | ASCII Backspace (BS) '
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\f" | ASCII Formfeed (FF) '
'| |\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\f" | ASCII Formfeed (FF) '
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\n" | ASCII Linefeed (LF) '
'| |\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\n" | ASCII Linefeed (LF) '
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\r" | ASCII Carriage Return (CR) '
'| |\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\r" | ASCII Carriage Return (CR) '
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\t" | ASCII Horizontal Tab (TAB) '
'| |\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\t" | ASCII Horizontal Tab (TAB) '
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\v" | ASCII Vertical Tab (VT) '
'| |\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\v" | ASCII Vertical Tab (VT) '
- '| |\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\ooo" | Character with octal value *ooo* | '
- '(2,4) |\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\xhh" | Character with hex value *hh* | '
- '(3,4) |\n'
- '+-------------------+-----------------------------------+---------+\n'
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\*ooo*" | Character with octal value *ooo* '
+ '| (2,4) |\n'
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\x*hh*" | Character with hex value *hh* '
+ '| (3,4) |\n'
+ '+---------------------------+-----------------------------------+---------+\n'
'\n'
'Escape sequences only recognized in string literals are:\n'
'\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| Escape Sequence | Meaning | Notes '
- '|\n'
- '|===================|===================================|=========|\n'
- '| "\\N{name}" | Character named *name* in the | '
- '(5) |\n'
- '| | Unicode database | '
- '|\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\uxxxx" | Character with 16-bit hex value | '
- '(6) |\n'
- '| | *xxxx* | '
- '|\n'
- '+-------------------+-----------------------------------+---------+\n'
- '| "\\Uxxxxxxxx" | Character with 32-bit hex value | '
- '(7) |\n'
- '| | *xxxxxxxx* | '
- '|\n'
- '+-------------------+-----------------------------------+---------+\n'
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| Escape Sequence | Meaning | '
+ 'Notes |\n'
+ '|===========================|===================================|=========|\n'
+ '| "\\N{*name*}" | Character named *name* in the '
+ '| (5) |\n'
+ '| | Unicode database '
+ '| |\n'
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\u*xxxx*" | Character with 16-bit hex value '
+ '| (6) |\n'
+ '| | *xxxx* '
+ '| |\n'
+ '+---------------------------+-----------------------------------+---------+\n'
+ '| "\\U*xxxxxxxx*" | Character with 32-bit hex value '
+ '| (7) |\n'
+ '| | *xxxxxxxx* '
+ '| |\n'
+ '+---------------------------+-----------------------------------+---------+\n'
'\n'
'Notes:\n'
'\n'
@@ -12896,1145 +12892,1172 @@ topics = {'assert': 'The "assert" statement\n'
'definition\n'
'may change in the future.\n'
'\n'
+ '\n'
'None\n'
- ' This type has a single value. There is a single object with '
- 'this\n'
- ' value. This object is accessed through the built-in name "None". '
- 'It\n'
- ' is used to signify the absence of a value in many situations, '
- 'e.g.,\n'
- ' it is returned from functions that don’t explicitly return\n'
- ' anything. Its truth value is false.\n'
+ '====\n'
+ '\n'
+ 'This type has a single value. There is a single object with this\n'
+ 'value. This object is accessed through the built-in name "None". It '
+ 'is\n'
+ 'used to signify the absence of a value in many situations, e.g., it '
+ 'is\n'
+ 'returned from functions that don’t explicitly return anything. Its\n'
+ 'truth value is false.\n'
+ '\n'
'\n'
'NotImplemented\n'
- ' This type has a single value. There is a single object with '
- 'this\n'
- ' value. This object is accessed through the built-in name\n'
- ' "NotImplemented". Numeric methods and rich comparison methods\n'
- ' should return this value if they do not implement the operation '
- 'for\n'
- ' the operands provided. (The interpreter will then try the\n'
- ' reflected operation, or some other fallback, depending on the\n'
- ' operator.) It should not be evaluated in a boolean context.\n'
+ '==============\n'
+ '\n'
+ 'This type has a single value. There is a single object with this\n'
+ 'value. This object is accessed through the built-in name\n'
+ '"NotImplemented". Numeric methods and rich comparison methods '
+ 'should\n'
+ 'return this value if they do not implement the operation for the\n'
+ 'operands provided. (The interpreter will then try the reflected\n'
+ 'operation, or some other fallback, depending on the operator.) It\n'
+ 'should not be evaluated in a boolean context.\n'
'\n'
- ' See Implementing the arithmetic operations for more details.\n'
+ 'See Implementing the arithmetic operations for more details.\n'
+ '\n'
+ 'Changed in version 3.9: Evaluating "NotImplemented" in a boolean\n'
+ 'context is deprecated. While it currently evaluates as true, it '
+ 'will\n'
+ 'emit a "DeprecationWarning". It will raise a "TypeError" in a '
+ 'future\n'
+ 'version of Python.\n'
'\n'
- ' Changed in version 3.9: Evaluating "NotImplemented" in a '
- 'boolean\n'
- ' context is deprecated. While it currently evaluates as true, it\n'
- ' will emit a "DeprecationWarning". It will raise a "TypeError" in '
- 'a\n'
- ' future version of Python.\n'
'\n'
'Ellipsis\n'
- ' This type has a single value. There is a single object with '
- 'this\n'
- ' value. This object is accessed through the literal "..." or the\n'
- ' built-in name "Ellipsis". Its truth value is true.\n'
+ '========\n'
+ '\n'
+ 'This type has a single value. There is a single object with this\n'
+ 'value. This object is accessed through the literal "..." or the '
+ 'built-\n'
+ 'in name "Ellipsis". Its truth value is true.\n'
+ '\n'
'\n'
'"numbers.Number"\n'
- ' These are created by numeric literals and returned as results '
- 'by\n'
- ' arithmetic operators and arithmetic built-in functions. '
- 'Numeric\n'
- ' objects are immutable; once created their value never changes.\n'
- ' Python numbers are of course strongly related to mathematical\n'
- ' numbers, but subject to the limitations of numerical '
- 'representation\n'
- ' in computers.\n'
- '\n'
- ' The string representations of the numeric classes, computed by\n'
- ' "__repr__()" and "__str__()", have the following properties:\n'
- '\n'
- ' * They are valid numeric literals which, when passed to their '
+ '================\n'
+ '\n'
+ 'These are created by numeric literals and returned as results by\n'
+ 'arithmetic operators and arithmetic built-in functions. Numeric\n'
+ 'objects are immutable; once created their value never changes. '
+ 'Python\n'
+ 'numbers are of course strongly related to mathematical numbers, '
+ 'but\n'
+ 'subject to the limitations of numerical representation in '
+ 'computers.\n'
+ '\n'
+ 'The string representations of the numeric classes, computed by\n'
+ '"__repr__()" and "__str__()", have the following properties:\n'
+ '\n'
+ '* They are valid numeric literals which, when passed to their '
'class\n'
- ' constructor, produce an object having the value of the '
- 'original\n'
- ' numeric.\n'
+ ' constructor, produce an object having the value of the original\n'
+ ' numeric.\n'
'\n'
- ' * The representation is in base 10, when possible.\n'
+ '* The representation is in base 10, when possible.\n'
'\n'
- ' * Leading zeros, possibly excepting a single zero before a '
- 'decimal\n'
- ' point, are not shown.\n'
+ '* Leading zeros, possibly excepting a single zero before a decimal\n'
+ ' point, are not shown.\n'
'\n'
- ' * Trailing zeros, possibly excepting a single zero after a '
- 'decimal\n'
- ' point, are not shown.\n'
+ '* Trailing zeros, possibly excepting a single zero after a decimal\n'
+ ' point, are not shown.\n'
'\n'
- ' * A sign is shown only when the number is negative.\n'
+ '* A sign is shown only when the number is negative.\n'
'\n'
- ' Python distinguishes between integers, floating point numbers, '
- 'and\n'
- ' complex numbers:\n'
+ 'Python distinguishes between integers, floating point numbers, and\n'
+ 'complex numbers:\n'
'\n'
- ' "numbers.Integral"\n'
- ' These represent elements from the mathematical set of '
- 'integers\n'
- ' (positive and negative).\n'
'\n'
- ' There are two types of integers:\n'
+ '"numbers.Integral"\n'
+ '------------------\n'
'\n'
- ' Integers ("int")\n'
- ' These represent numbers in an unlimited range, subject to\n'
- ' available (virtual) memory only. For the purpose of '
- 'shift\n'
- ' and mask operations, a binary representation is assumed, '
- 'and\n'
- ' negative numbers are represented in a variant of 2’s\n'
- ' complement which gives the illusion of an infinite string '
- 'of\n'
- ' sign bits extending to the left.\n'
+ 'These represent elements from the mathematical set of integers\n'
+ '(positive and negative).\n'
'\n'
- ' Booleans ("bool")\n'
- ' These represent the truth values False and True. The two\n'
- ' objects representing the values "False" and "True" are '
- 'the\n'
- ' only Boolean objects. The Boolean type is a subtype of '
+ 'Note:\n'
+ '\n'
+ ' The rules for integer representation are intended to give the '
+ 'most\n'
+ ' meaningful interpretation of shift and mask operations involving\n'
+ ' negative integers.\n'
+ '\n'
+ 'There are two types of integers:\n'
+ '\n'
+ 'Integers ("int")\n'
+ ' These represent numbers in an unlimited range, subject to '
+ 'available\n'
+ ' (virtual) memory only. For the purpose of shift and mask\n'
+ ' operations, a binary representation is assumed, and negative\n'
+ ' numbers are represented in a variant of 2’s complement which '
+ 'gives\n'
+ ' the illusion of an infinite string of sign bits extending to '
'the\n'
- ' integer type, and Boolean values behave like the values 0 '
- 'and\n'
- ' 1, respectively, in almost all contexts, the exception '
- 'being\n'
- ' that when converted to a string, the strings ""False"" or\n'
- ' ""True"" are returned, respectively.\n'
+ ' left.\n'
+ '\n'
+ 'Booleans ("bool")\n'
+ ' These represent the truth values False and True. The two '
+ 'objects\n'
+ ' representing the values "False" and "True" are the only Boolean\n'
+ ' objects. The Boolean type is a subtype of the integer type, and\n'
+ ' Boolean values behave like the values 0 and 1, respectively, in\n'
+ ' almost all contexts, the exception being that when converted to '
+ 'a\n'
+ ' string, the strings ""False"" or ""True"" are returned,\n'
+ ' respectively.\n'
+ '\n'
+ '\n'
+ '"numbers.Real" ("float")\n'
+ '------------------------\n'
'\n'
- ' The rules for integer representation are intended to give '
+ 'These represent machine-level double precision floating point '
+ 'numbers.\n'
+ 'You are at the mercy of the underlying machine architecture (and C '
+ 'or\n'
+ 'Java implementation) for the accepted range and handling of '
+ 'overflow.\n'
+ 'Python does not support single-precision floating point numbers; '
'the\n'
- ' most meaningful interpretation of shift and mask operations\n'
- ' involving negative integers.\n'
- '\n'
- ' "numbers.Real" ("float")\n'
- ' These represent machine-level double precision floating '
- 'point\n'
- ' numbers. You are at the mercy of the underlying machine\n'
- ' architecture (and C or Java implementation) for the accepted\n'
- ' range and handling of overflow. Python does not support '
- 'single-\n'
- ' precision floating point numbers; the savings in processor '
- 'and\n'
- ' memory usage that are usually the reason for using these are\n'
- ' dwarfed by the overhead of using objects in Python, so there '
- 'is\n'
- ' no reason to complicate the language with two kinds of '
- 'floating\n'
- ' point numbers.\n'
- '\n'
- ' "numbers.Complex" ("complex")\n'
- ' These represent complex numbers as a pair of machine-level\n'
- ' double precision floating point numbers. The same caveats '
- 'apply\n'
- ' as for floating point numbers. The real and imaginary parts '
- 'of a\n'
- ' complex number "z" can be retrieved through the read-only\n'
- ' attributes "z.real" and "z.imag".\n'
+ 'savings in processor and memory usage that are usually the reason '
+ 'for\n'
+ 'using these are dwarfed by the overhead of using objects in Python, '
+ 'so\n'
+ 'there is no reason to complicate the language with two kinds of\n'
+ 'floating point numbers.\n'
+ '\n'
+ '\n'
+ '"numbers.Complex" ("complex")\n'
+ '-----------------------------\n'
+ '\n'
+ 'These represent complex numbers as a pair of machine-level double\n'
+ 'precision floating point numbers. The same caveats apply as for\n'
+ 'floating point numbers. The real and imaginary parts of a complex\n'
+ 'number "z" can be retrieved through the read-only attributes '
+ '"z.real"\n'
+ 'and "z.imag".\n'
+ '\n'
'\n'
'Sequences\n'
- ' These represent finite ordered sets indexed by non-negative\n'
- ' numbers. The built-in function "len()" returns the number of '
- 'items\n'
- ' of a sequence. When the length of a sequence is *n*, the index '
+ '=========\n'
+ '\n'
+ 'These represent finite ordered sets indexed by non-negative '
+ 'numbers.\n'
+ 'The built-in function "len()" returns the number of items of a\n'
+ 'sequence. When the length of a sequence is *n*, the index set '
+ 'contains\n'
+ 'the numbers 0, 1, …, *n*-1. Item *i* of sequence *a* is selected '
+ 'by\n'
+ '"a[i]".\n'
+ '\n'
+ 'Sequences also support slicing: "a[i:j]" selects all items with '
+ 'index\n'
+ '*k* such that *i* "<=" *k* "<" *j*. When used as an expression, a\n'
+ 'slice is a sequence of the same type. This implies that the index '
'set\n'
- ' contains the numbers 0, 1, …, *n*-1. Item *i* of sequence *a* '
- 'is\n'
- ' selected by "a[i]".\n'
+ 'is renumbered so that it starts at 0.\n'
'\n'
- ' Sequences also support slicing: "a[i:j]" selects all items with\n'
- ' index *k* such that *i* "<=" *k* "<" *j*. When used as an\n'
- ' expression, a slice is a sequence of the same type. This '
- 'implies\n'
- ' that the index set is renumbered so that it starts at 0.\n'
+ 'Some sequences also support “extended slicing” with a third “step”\n'
+ 'parameter: "a[i:j:k]" selects all items of *a* with index *x* where '
+ '"x\n'
+ '= i + n*k", *n* ">=" "0" and *i* "<=" *x* "<" *j*.\n'
'\n'
- ' Some sequences also support “extended slicing” with a third '
- '“step”\n'
- ' parameter: "a[i:j:k]" selects all items of *a* with index *x* '
- 'where\n'
- ' "x = i + n*k", *n* ">=" "0" and *i* "<=" *x* "<" *j*.\n'
+ 'Sequences are distinguished according to their mutability:\n'
'\n'
- ' Sequences are distinguished according to their mutability:\n'
'\n'
- ' Immutable sequences\n'
- ' An object of an immutable sequence type cannot change once it '
- 'is\n'
- ' created. (If the object contains references to other '
- 'objects,\n'
- ' these other objects may be mutable and may be changed; '
- 'however,\n'
- ' the collection of objects directly referenced by an '
- 'immutable\n'
- ' object cannot change.)\n'
+ 'Immutable sequences\n'
+ '-------------------\n'
'\n'
- ' The following types are immutable sequences:\n'
+ 'An object of an immutable sequence type cannot change once it is\n'
+ 'created. (If the object contains references to other objects, '
+ 'these\n'
+ 'other objects may be mutable and may be changed; however, the\n'
+ 'collection of objects directly referenced by an immutable object\n'
+ 'cannot change.)\n'
'\n'
- ' Strings\n'
- ' A string is a sequence of values that represent Unicode '
- 'code\n'
- ' points. All the code points in the range "U+0000 - '
- 'U+10FFFF"\n'
- ' can be represented in a string. Python doesn’t have a '
- 'char\n'
- ' type; instead, every code point in the string is '
- 'represented\n'
- ' as a string object with length "1". The built-in '
- 'function\n'
- ' "ord()" converts a code point from its string form to an\n'
- ' integer in the range "0 - 10FFFF"; "chr()" converts an\n'
- ' integer in the range "0 - 10FFFF" to the corresponding '
- 'length\n'
- ' "1" string object. "str.encode()" can be used to convert '
- 'a\n'
- ' "str" to "bytes" using the given text encoding, and\n'
- ' "bytes.decode()" can be used to achieve the opposite.\n'
+ 'The following types are immutable sequences:\n'
'\n'
- ' Tuples\n'
- ' The items of a tuple are arbitrary Python objects. Tuples '
- 'of\n'
- ' two or more items are formed by comma-separated lists of\n'
- ' expressions. A tuple of one item (a ‘singleton’) can be\n'
- ' formed by affixing a comma to an expression (an expression '
- 'by\n'
- ' itself does not create a tuple, since parentheses must be\n'
- ' usable for grouping of expressions). An empty tuple can '
+ 'Strings\n'
+ ' A string is a sequence of values that represent Unicode code\n'
+ ' points. All the code points in the range "U+0000 - U+10FFFF" can '
'be\n'
- ' formed by an empty pair of parentheses.\n'
- '\n'
- ' Bytes\n'
- ' A bytes object is an immutable array. The items are '
- '8-bit\n'
- ' bytes, represented by integers in the range 0 <= x < 256.\n'
- ' Bytes literals (like "b\'abc\'") and the built-in '
- '"bytes()"\n'
- ' constructor can be used to create bytes objects. Also, '
- 'bytes\n'
- ' objects can be decoded to strings via the "decode()" '
- 'method.\n'
+ ' represented in a string. Python doesn’t have a char type; '
+ 'instead,\n'
+ ' every code point in the string is represented as a string '
+ 'object\n'
+ ' with length "1". The built-in function "ord()" converts a code\n'
+ ' point from its string form to an integer in the range "0 - '
+ '10FFFF";\n'
+ ' "chr()" converts an integer in the range "0 - 10FFFF" to the\n'
+ ' corresponding length "1" string object. "str.encode()" can be '
+ 'used\n'
+ ' to convert a "str" to "bytes" using the given text encoding, '
+ 'and\n'
+ ' "bytes.decode()" can be used to achieve the opposite.\n'
'\n'
- ' Mutable sequences\n'
- ' Mutable sequences can be changed after they are created. '
- 'The\n'
- ' subscription and slicing notations can be used as the target '
+ 'Tuples\n'
+ ' The items of a tuple are arbitrary Python objects. Tuples of two '
+ 'or\n'
+ ' more items are formed by comma-separated lists of expressions. '
+ 'A\n'
+ ' tuple of one item (a ‘singleton’) can be formed by affixing a '
+ 'comma\n'
+ ' to an expression (an expression by itself does not create a '
+ 'tuple,\n'
+ ' since parentheses must be usable for grouping of expressions). '
+ 'An\n'
+ ' empty tuple can be formed by an empty pair of parentheses.\n'
+ '\n'
+ 'Bytes\n'
+ ' A bytes object is an immutable array. The items are 8-bit '
+ 'bytes,\n'
+ ' represented by integers in the range 0 <= x < 256. Bytes '
+ 'literals\n'
+ ' (like "b\'abc\'") and the built-in "bytes()" constructor can be '
+ 'used\n'
+ ' to create bytes objects. Also, bytes objects can be decoded to\n'
+ ' strings via the "decode()" method.\n'
+ '\n'
+ '\n'
+ 'Mutable sequences\n'
+ '-----------------\n'
+ '\n'
+ 'Mutable sequences can be changed after they are created. The\n'
+ 'subscription and slicing notations can be used as the target of\n'
+ 'assignment and "del" (delete) statements.\n'
+ '\n'
+ 'Note:\n'
+ '\n'
+ ' The "collections" and "array" module provide additional examples '
'of\n'
- ' assignment and "del" (delete) statements.\n'
+ ' mutable sequence types.\n'
'\n'
- ' There are currently two intrinsic mutable sequence types:\n'
+ 'There are currently two intrinsic mutable sequence types:\n'
'\n'
- ' Lists\n'
- ' The items of a list are arbitrary Python objects. Lists '
- 'are\n'
- ' formed by placing a comma-separated list of expressions '
- 'in\n'
- ' square brackets. (Note that there are no special cases '
- 'needed\n'
- ' to form lists of length 0 or 1.)\n'
+ 'Lists\n'
+ ' The items of a list are arbitrary Python objects. Lists are '
+ 'formed\n'
+ ' by placing a comma-separated list of expressions in square\n'
+ ' brackets. (Note that there are no special cases needed to form\n'
+ ' lists of length 0 or 1.)\n'
'\n'
- ' Byte Arrays\n'
- ' A bytearray object is a mutable array. They are created '
- 'by\n'
- ' the built-in "bytearray()" constructor. Aside from being\n'
- ' mutable (and hence unhashable), byte arrays otherwise '
- 'provide\n'
- ' the same interface and functionality as immutable "bytes"\n'
- ' objects.\n'
+ 'Byte Arrays\n'
+ ' A bytearray object is a mutable array. They are created by the\n'
+ ' built-in "bytearray()" constructor. Aside from being mutable '
+ '(and\n'
+ ' hence unhashable), byte arrays otherwise provide the same '
+ 'interface\n'
+ ' and functionality as immutable "bytes" objects.\n'
'\n'
- ' The extension module "array" provides an additional example '
- 'of a\n'
- ' mutable sequence type, as does the "collections" module.\n'
'\n'
'Set types\n'
- ' These represent unordered, finite sets of unique, immutable\n'
- ' objects. As such, they cannot be indexed by any subscript. '
- 'However,\n'
- ' they can be iterated over, and the built-in function "len()"\n'
- ' returns the number of items in a set. Common uses for sets are '
- 'fast\n'
- ' membership testing, removing duplicates from a sequence, and\n'
- ' computing mathematical operations such as intersection, union,\n'
- ' difference, and symmetric difference.\n'
- '\n'
- ' For set elements, the same immutability rules apply as for\n'
- ' dictionary keys. Note that numeric types obey the normal rules '
- 'for\n'
- ' numeric comparison: if two numbers compare equal (e.g., "1" and\n'
- ' "1.0"), only one of them can be contained in a set.\n'
+ '=========\n'
+ '\n'
+ 'These represent unordered, finite sets of unique, immutable '
+ 'objects.\n'
+ 'As such, they cannot be indexed by any subscript. However, they can '
+ 'be\n'
+ 'iterated over, and the built-in function "len()" returns the number '
+ 'of\n'
+ 'items in a set. Common uses for sets are fast membership testing,\n'
+ 'removing duplicates from a sequence, and computing mathematical\n'
+ 'operations such as intersection, union, difference, and symmetric\n'
+ 'difference.\n'
+ '\n'
+ 'For set elements, the same immutability rules apply as for '
+ 'dictionary\n'
+ 'keys. Note that numeric types obey the normal rules for numeric\n'
+ 'comparison: if two numbers compare equal (e.g., "1" and "1.0"), '
+ 'only\n'
+ 'one of them can be contained in a set.\n'
+ '\n'
+ 'There are currently two intrinsic set types:\n'
'\n'
- ' There are currently two intrinsic set types:\n'
+ 'Sets\n'
+ ' These represent a mutable set. They are created by the built-in\n'
+ ' "set()" constructor and can be modified afterwards by several\n'
+ ' methods, such as "add()".\n'
'\n'
- ' Sets\n'
- ' These represent a mutable set. They are created by the '
+ 'Frozen sets\n'
+ ' These represent an immutable set. They are created by the '
'built-in\n'
- ' "set()" constructor and can be modified afterwards by '
- 'several\n'
- ' methods, such as "add()".\n'
- '\n'
- ' Frozen sets\n'
- ' These represent an immutable set. They are created by the\n'
- ' built-in "frozenset()" constructor. As a frozenset is '
- 'immutable\n'
- ' and *hashable*, it can be used again as an element of '
- 'another\n'
- ' set, or as a dictionary key.\n'
+ ' "frozenset()" constructor. As a frozenset is immutable and\n'
+ ' *hashable*, it can be used again as an element of another set, '
+ 'or\n'
+ ' as a dictionary key.\n'
+ '\n'
'\n'
'Mappings\n'
- ' These represent finite sets of objects indexed by arbitrary '
- 'index\n'
- ' sets. The subscript notation "a[k]" selects the item indexed by '
+ '========\n'
+ '\n'
+ 'These represent finite sets of objects indexed by arbitrary index\n'
+ 'sets. The subscript notation "a[k]" selects the item indexed by '
'"k"\n'
- ' from the mapping "a"; this can be used in expressions and as '
- 'the\n'
- ' target of assignments or "del" statements. The built-in '
- 'function\n'
- ' "len()" returns the number of items in a mapping.\n'
+ 'from the mapping "a"; this can be used in expressions and as the\n'
+ 'target of assignments or "del" statements. The built-in function\n'
+ '"len()" returns the number of items in a mapping.\n'
'\n'
- ' There is currently a single intrinsic mapping type:\n'
+ 'There is currently a single intrinsic mapping type:\n'
'\n'
- ' Dictionaries\n'
- ' These represent finite sets of objects indexed by nearly\n'
- ' arbitrary values. The only types of values not acceptable '
- 'as\n'
- ' keys are values containing lists or dictionaries or other\n'
- ' mutable types that are compared by value rather than by '
- 'object\n'
- ' identity, the reason being that the efficient implementation '
- 'of\n'
- ' dictionaries requires a key’s hash value to remain constant.\n'
- ' Numeric types used for keys obey the normal rules for '
- 'numeric\n'
- ' comparison: if two numbers compare equal (e.g., "1" and '
- '"1.0")\n'
- ' then they can be used interchangeably to index the same\n'
- ' dictionary entry.\n'
- '\n'
- ' Dictionaries preserve insertion order, meaning that keys will '
- 'be\n'
- ' produced in the same order they were added sequentially over '
- 'the\n'
- ' dictionary. Replacing an existing key does not change the '
- 'order,\n'
- ' however removing a key and re-inserting it will add it to '
+ '\n'
+ 'Dictionaries\n'
+ '------------\n'
+ '\n'
+ 'These represent finite sets of objects indexed by nearly arbitrary\n'
+ 'values. The only types of values not acceptable as keys are '
+ 'values\n'
+ 'containing lists or dictionaries or other mutable types that are\n'
+ 'compared by value rather than by object identity, the reason being\n'
+ 'that the efficient implementation of dictionaries requires a key’s\n'
+ 'hash value to remain constant. Numeric types used for keys obey '
'the\n'
- ' end instead of keeping its old place.\n'
+ 'normal rules for numeric comparison: if two numbers compare equal\n'
+ '(e.g., "1" and "1.0") then they can be used interchangeably to '
+ 'index\n'
+ 'the same dictionary entry.\n'
'\n'
- ' Dictionaries are mutable; they can be created by the "{...}"\n'
- ' notation (see section Dictionary displays).\n'
+ 'Dictionaries preserve insertion order, meaning that keys will be\n'
+ 'produced in the same order they were added sequentially over the\n'
+ 'dictionary. Replacing an existing key does not change the order,\n'
+ 'however removing a key and re-inserting it will add it to the end\n'
+ 'instead of keeping its old place.\n'
'\n'
- ' The extension modules "dbm.ndbm" and "dbm.gnu" provide\n'
- ' additional examples of mapping types, as does the '
- '"collections"\n'
- ' module.\n'
+ 'Dictionaries are mutable; they can be created by the "{...}" '
+ 'notation\n'
+ '(see section Dictionary displays).\n'
+ '\n'
+ 'The extension modules "dbm.ndbm" and "dbm.gnu" provide additional\n'
+ 'examples of mapping types, as does the "collections" module.\n'
+ '\n'
+ 'Changed in version 3.7: Dictionaries did not preserve insertion '
+ 'order\n'
+ 'in versions of Python before 3.6. In CPython 3.6, insertion order '
+ 'was\n'
+ 'preserved, but it was considered an implementation detail at that '
+ 'time\n'
+ 'rather than a language guarantee.\n'
'\n'
- ' Changed in version 3.7: Dictionaries did not preserve '
- 'insertion\n'
- ' order in versions of Python before 3.6. In CPython 3.6,\n'
- ' insertion order was preserved, but it was considered an\n'
- ' implementation detail at that time rather than a language\n'
- ' guarantee.\n'
'\n'
'Callable types\n'
- ' These are the types to which the function call operation (see\n'
- ' section Calls) can be applied:\n'
+ '==============\n'
'\n'
- ' User-defined functions\n'
- ' A user-defined function object is created by a function\n'
- ' definition (see section Function definitions). It should be\n'
- ' called with an argument list containing the same number of '
- 'items\n'
- ' as the function’s formal parameter list.\n'
+ 'These are the types to which the function call operation (see '
+ 'section\n'
+ 'Calls) can be applied:\n'
'\n'
- ' Special attributes:\n'
'\n'
- ' '
+ 'User-defined functions\n'
+ '----------------------\n'
+ '\n'
+ 'A user-defined function object is created by a function definition\n'
+ '(see section Function definitions). It should be called with an\n'
+ 'argument list containing the same number of items as the '
+ 'function’s\n'
+ 'formal parameter list.\n'
+ '\n'
+ 'Special attributes:\n'
+ '\n'
'+---------------------------+---------------------------------+-------------+\n'
- ' | Attribute | Meaning '
+ '| Attribute | Meaning '
'| |\n'
- ' '
'|===========================|=================================|=============|\n'
- ' | "__doc__" | The function’s documentation '
- '| Writable |\n'
- ' | | string, or "None" if '
+ '| "__doc__" | The function’s documentation | '
+ 'Writable |\n'
+ '| | string, or "None" if '
'| |\n'
- ' | | unavailable; not inherited by '
+ '| | unavailable; not inherited by '
'| |\n'
- ' | | subclasses. '
+ '| | subclasses. '
'| |\n'
- ' '
'+---------------------------+---------------------------------+-------------+\n'
- ' | "__name__" | The function’s name. '
- '| Writable |\n'
- ' '
+ '| "__name__" | The function’s name. | '
+ 'Writable |\n'
'+---------------------------+---------------------------------+-------------+\n'
- ' | "__qualname__" | The function’s *qualified '
- '| Writable |\n'
- ' | | name*. New in version 3.3. '
+ '| "__qualname__" | The function’s *qualified | '
+ 'Writable |\n'
+ '| | name*. New in version 3.3. '
'| |\n'
- ' '
'+---------------------------+---------------------------------+-------------+\n'
- ' | "__module__" | The name of the module the '
- '| Writable |\n'
- ' | | function was defined in, or '
+ '| "__module__" | The name of the module the | '
+ 'Writable |\n'
+ '| | function was defined in, or '
'| |\n'
- ' | | "None" if unavailable. '
+ '| | "None" if unavailable. '
'| |\n'
- ' '
'+---------------------------+---------------------------------+-------------+\n'
- ' | "__defaults__" | A tuple containing default '
- '| Writable |\n'
- ' | | argument values for those '
+ '| "__defaults__" | A tuple containing default | '
+ 'Writable |\n'
+ '| | argument values for those '
'| |\n'
- ' | | arguments that have defaults, '
+ '| | arguments that have defaults, '
'| |\n'
- ' | | or "None" if no arguments have '
+ '| | or "None" if no arguments have '
'| |\n'
- ' | | a default value. '
+ '| | a default value. '
'| |\n'
- ' '
'+---------------------------+---------------------------------+-------------+\n'
- ' | "__code__" | The code object representing '
- '| Writable |\n'
- ' | | the compiled function body. '
+ '| "__code__" | The code object representing | '
+ 'Writable |\n'
+ '| | the compiled function body. '
'| |\n'
- ' '
'+---------------------------+---------------------------------+-------------+\n'
- ' | "__globals__" | A reference to the dictionary '
- '| Read-only |\n'
- ' | | that holds the function’s '
+ '| "__globals__" | A reference to the dictionary | '
+ 'Read-only |\n'
+ '| | that holds the function’s '
'| |\n'
- ' | | global variables — the global '
+ '| | global variables — the global '
'| |\n'
- ' | | namespace of the module in '
+ '| | namespace of the module in '
'| |\n'
- ' | | which the function was defined. '
+ '| | which the function was defined. '
'| |\n'
- ' '
'+---------------------------+---------------------------------+-------------+\n'
- ' | "__dict__" | The namespace supporting '
- '| Writable |\n'
- ' | | arbitrary function attributes. '
+ '| "__dict__" | The namespace supporting | '
+ 'Writable |\n'
+ '| | arbitrary function attributes. '
'| |\n'
- ' '
'+---------------------------+---------------------------------+-------------+\n'
- ' | "__closure__" | "None" or a tuple of cells that '
- '| Read-only |\n'
- ' | | contain bindings for the '
+ '| "__closure__" | "None" or a tuple of cells that | '
+ 'Read-only |\n'
+ '| | contain bindings for the '
'| |\n'
- ' | | function’s free variables. See '
+ '| | function’s free variables. See '
'| |\n'
- ' | | below for information on the '
+ '| | below for information on the '
'| |\n'
- ' | | "cell_contents" attribute. '
+ '| | "cell_contents" attribute. '
'| |\n'
- ' '
'+---------------------------+---------------------------------+-------------+\n'
- ' | "__annotations__" | A dict containing annotations '
- '| Writable |\n'
- ' | | of parameters. The keys of the '
+ '| "__annotations__" | A dict containing annotations | '
+ 'Writable |\n'
+ '| | of parameters. The keys of the '
+ '| |\n'
+ '| | dict are the parameter names, '
'| |\n'
- ' | | dict are the parameter names, '
+ '| | and "\'return\'" for the return '
'| |\n'
- ' | | and "\'return\'" for the '
- 'return | |\n'
- ' | | annotation, if provided. For '
+ '| | annotation, if provided. For '
'| |\n'
- ' | | more information on working '
+ '| | more information on working '
'| |\n'
- ' | | with this attribute, see '
+ '| | with this attribute, see '
'| |\n'
- ' | | Annotations Best Practices. '
+ '| | Annotations Best Practices. '
'| |\n'
- ' '
'+---------------------------+---------------------------------+-------------+\n'
- ' | "__kwdefaults__" | A dict containing defaults for '
- '| Writable |\n'
- ' | | keyword-only parameters. '
+ '| "__kwdefaults__" | A dict containing defaults for | '
+ 'Writable |\n'
+ '| | keyword-only parameters. '
'| |\n'
- ' '
'+---------------------------+---------------------------------+-------------+\n'
'\n'
- ' Most of the attributes labelled “Writable” check the type of '
- 'the\n'
- ' assigned value.\n'
+ 'Most of the attributes labelled “Writable” check the type of the\n'
+ 'assigned value.\n'
'\n'
- ' Function objects also support getting and setting arbitrary\n'
- ' attributes, which can be used, for example, to attach '
- 'metadata\n'
- ' to functions. Regular attribute dot-notation is used to get '
- 'and\n'
- ' set such attributes. *Note that the current implementation '
- 'only\n'
- ' supports function attributes on user-defined functions. '
- 'Function\n'
- ' attributes on built-in functions may be supported in the\n'
- ' future.*\n'
- '\n'
- ' A cell object has the attribute "cell_contents". This can be\n'
- ' used to get the value of the cell, as well as set the value.\n'
- '\n'
- ' Additional information about a function’s definition can be\n'
- ' retrieved from its code object; see the description of '
- 'internal\n'
- ' types below. The "cell" type can be accessed in the "types"\n'
- ' module.\n'
- '\n'
- ' Instance methods\n'
- ' An instance method object combines a class, a class instance '
- 'and\n'
- ' any callable object (normally a user-defined function).\n'
- '\n'
- ' Special read-only attributes: "__self__" is the class '
- 'instance\n'
- ' object, "__func__" is the function object; "__doc__" is the\n'
- ' method’s documentation (same as "__func__.__doc__"); '
- '"__name__"\n'
- ' is the method name (same as "__func__.__name__"); '
- '"__module__"\n'
- ' is the name of the module the method was defined in, or '
- '"None"\n'
- ' if unavailable.\n'
+ 'Function objects also support getting and setting arbitrary\n'
+ 'attributes, which can be used, for example, to attach metadata to\n'
+ 'functions. Regular attribute dot-notation is used to get and set '
+ 'such\n'
+ 'attributes. *Note that the current implementation only supports\n'
+ 'function attributes on user-defined functions. Function attributes '
+ 'on\n'
+ 'built-in functions may be supported in the future.*\n'
'\n'
- ' Methods also support accessing (but not setting) the '
- 'arbitrary\n'
- ' function attributes on the underlying function object.\n'
+ 'A cell object has the attribute "cell_contents". This can be used '
+ 'to\n'
+ 'get the value of the cell, as well as set the value.\n'
'\n'
- ' User-defined method objects may be created when getting an\n'
- ' attribute of a class (perhaps via an instance of that class), '
- 'if\n'
- ' that attribute is a user-defined function object or a class\n'
- ' method object.\n'
- '\n'
- ' When an instance method object is created by retrieving a '
- 'user-\n'
- ' defined function object from a class via one of its '
- 'instances,\n'
- ' its "__self__" attribute is the instance, and the method '
- 'object\n'
- ' is said to be bound. The new method’s "__func__" attribute '
- 'is\n'
- ' the original function object.\n'
+ 'Additional information about a function’s definition can be '
+ 'retrieved\n'
+ 'from its code object; see the description of internal types below. '
+ 'The\n'
+ '"cell" type can be accessed in the "types" module.\n'
'\n'
- ' When an instance method object is created by retrieving a '
- 'class\n'
- ' method object from a class or instance, its "__self__" '
- 'attribute\n'
- ' is the class itself, and its "__func__" attribute is the\n'
- ' function object underlying the class method.\n'
'\n'
- ' When an instance method object is called, the underlying\n'
- ' function ("__func__") is called, inserting the class '
- 'instance\n'
- ' ("__self__") in front of the argument list. For instance, '
- 'when\n'
- ' "C" is a class which contains a definition for a function '
- '"f()",\n'
- ' and "x" is an instance of "C", calling "x.f(1)" is equivalent '
- 'to\n'
- ' calling "C.f(x, 1)".\n'
+ 'Instance methods\n'
+ '----------------\n'
+ '\n'
+ 'An instance method object combines a class, a class instance and '
+ 'any\n'
+ 'callable object (normally a user-defined function).\n'
'\n'
- ' When an instance method object is derived from a class '
+ 'Special read-only attributes: "__self__" is the class instance '
+ 'object,\n'
+ '"__func__" is the function object; "__doc__" is the method’s\n'
+ 'documentation (same as "__func__.__doc__"); "__name__" is the '
'method\n'
- ' object, the “class instance” stored in "__self__" will '
- 'actually\n'
- ' be the class itself, so that calling either "x.f(1)" or '
- '"C.f(1)"\n'
- ' is equivalent to calling "f(C,1)" where "f" is the '
- 'underlying\n'
- ' function.\n'
- '\n'
- ' Note that the transformation from function object to '
- 'instance\n'
- ' method object happens each time the attribute is retrieved '
- 'from\n'
- ' the instance. In some cases, a fruitful optimization is to\n'
- ' assign the attribute to a local variable and call that local\n'
- ' variable. Also notice that this transformation only happens '
- 'for\n'
- ' user-defined functions; other callable objects (and all non-\n'
- ' callable objects) are retrieved without transformation. It '
- 'is\n'
- ' also important to note that user-defined functions which are\n'
- ' attributes of a class instance are not converted to bound\n'
- ' methods; this *only* happens when the function is an '
+ 'name (same as "__func__.__name__"); "__module__" is the name of '
+ 'the\n'
+ 'module the method was defined in, or "None" if unavailable.\n'
+ '\n'
+ 'Methods also support accessing (but not setting) the arbitrary\n'
+ 'function attributes on the underlying function object.\n'
+ '\n'
+ 'User-defined method objects may be created when getting an '
+ 'attribute\n'
+ 'of a class (perhaps via an instance of that class), if that '
'attribute\n'
- ' of the class.\n'
+ 'is a user-defined function object or a class method object.\n'
'\n'
- ' Generator functions\n'
- ' A function or method which uses the "yield" statement (see\n'
- ' section The yield statement) is called a *generator '
- 'function*.\n'
- ' Such a function, when called, always returns an *iterator*\n'
- ' object which can be used to execute the body of the '
- 'function:\n'
- ' calling the iterator’s "iterator.__next__()" method will '
- 'cause\n'
- ' the function to execute until it provides a value using the\n'
- ' "yield" statement. When the function executes a "return"\n'
- ' statement or falls off the end, a "StopIteration" exception '
- 'is\n'
- ' raised and the iterator will have reached the end of the set '
+ 'When an instance method object is created by retrieving a '
+ 'user-defined\n'
+ 'function object from a class via one of its instances, its '
+ '"__self__"\n'
+ 'attribute is the instance, and the method object is said to be '
+ 'bound.\n'
+ 'The new method’s "__func__" attribute is the original function '
+ 'object.\n'
+ '\n'
+ 'When an instance method object is created by retrieving a class '
+ 'method\n'
+ 'object from a class or instance, its "__self__" attribute is the '
+ 'class\n'
+ 'itself, and its "__func__" attribute is the function object '
+ 'underlying\n'
+ 'the class method.\n'
+ '\n'
+ 'When an instance method object is called, the underlying function\n'
+ '("__func__") is called, inserting the class instance ("__self__") '
+ 'in\n'
+ 'front of the argument list. For instance, when "C" is a class '
+ 'which\n'
+ 'contains a definition for a function "f()", and "x" is an instance '
'of\n'
- ' values to be returned.\n'
- '\n'
- ' Coroutine functions\n'
- ' A function or method which is defined using "async def" is\n'
- ' called a *coroutine function*. Such a function, when '
- 'called,\n'
- ' returns a *coroutine* object. It may contain "await"\n'
- ' expressions, as well as "async with" and "async for" '
- 'statements.\n'
- ' See also the Coroutine Objects section.\n'
- '\n'
- ' Asynchronous generator functions\n'
- ' A function or method which is defined using "async def" and\n'
- ' which uses the "yield" statement is called a *asynchronous\n'
- ' generator function*. Such a function, when called, returns '
- 'an\n'
- ' *asynchronous iterator* object which can be used in an '
- '"async\n'
- ' for" statement to execute the body of the function.\n'
+ '"C", calling "x.f(1)" is equivalent to calling "C.f(x, 1)".\n'
'\n'
- ' Calling the asynchronous iterator’s "aiterator.__anext__" '
+ 'When an instance method object is derived from a class method '
+ 'object,\n'
+ 'the “class instance” stored in "__self__" will actually be the '
+ 'class\n'
+ 'itself, so that calling either "x.f(1)" or "C.f(1)" is equivalent '
+ 'to\n'
+ 'calling "f(C,1)" where "f" is the underlying function.\n'
+ '\n'
+ 'Note that the transformation from function object to instance '
'method\n'
- ' will return an *awaitable* which when awaited will execute '
+ 'object happens each time the attribute is retrieved from the '
+ 'instance.\n'
+ 'In some cases, a fruitful optimization is to assign the attribute '
+ 'to a\n'
+ 'local variable and call that local variable. Also notice that this\n'
+ 'transformation only happens for user-defined functions; other '
+ 'callable\n'
+ 'objects (and all non-callable objects) are retrieved without\n'
+ 'transformation. It is also important to note that user-defined\n'
+ 'functions which are attributes of a class instance are not '
+ 'converted\n'
+ 'to bound methods; this *only* happens when the function is an\n'
+ 'attribute of the class.\n'
+ '\n'
+ '\n'
+ 'Generator functions\n'
+ '-------------------\n'
+ '\n'
+ 'A function or method which uses the "yield" statement (see section '
+ 'The\n'
+ 'yield statement) is called a *generator function*. Such a '
+ 'function,\n'
+ 'when called, always returns an *iterator* object which can be used '
+ 'to\n'
+ 'execute the body of the function: calling the iterator’s\n'
+ '"iterator.__next__()" method will cause the function to execute '
'until\n'
- ' it provides a value using the "yield" expression. When the\n'
- ' function executes an empty "return" statement or falls off '
+ 'it provides a value using the "yield" statement. When the '
+ 'function\n'
+ 'executes a "return" statement or falls off the end, a '
+ '"StopIteration"\n'
+ 'exception is raised and the iterator will have reached the end of '
'the\n'
- ' end, a "StopAsyncIteration" exception is raised and the\n'
- ' asynchronous iterator will have reached the end of the set '
- 'of\n'
- ' values to be yielded.\n'
+ 'set of values to be returned.\n'
'\n'
- ' Built-in functions\n'
- ' A built-in function object is a wrapper around a C function.\n'
- ' Examples of built-in functions are "len()" and "math.sin()"\n'
- ' ("math" is a standard built-in module). The number and type '
- 'of\n'
- ' the arguments are determined by the C function. Special '
- 'read-\n'
- ' only attributes: "__doc__" is the function’s documentation\n'
- ' string, or "None" if unavailable; "__name__" is the '
- 'function’s\n'
- ' name; "__self__" is set to "None" (but see the next item);\n'
- ' "__module__" is the name of the module the function was '
- 'defined\n'
- ' in or "None" if unavailable.\n'
'\n'
- ' Built-in methods\n'
- ' This is really a different disguise of a built-in function, '
- 'this\n'
- ' time containing an object passed to the C function as an\n'
- ' implicit extra argument. An example of a built-in method is\n'
- ' "alist.append()", assuming *alist* is a list object. In this\n'
- ' case, the special read-only attribute "__self__" is set to '
+ 'Coroutine functions\n'
+ '-------------------\n'
+ '\n'
+ 'A function or method which is defined using "async def" is called '
+ 'a\n'
+ '*coroutine function*. Such a function, when called, returns a\n'
+ '*coroutine* object. It may contain "await" expressions, as well '
+ 'as\n'
+ '"async with" and "async for" statements. See also the Coroutine\n'
+ 'Objects section.\n'
+ '\n'
+ '\n'
+ 'Asynchronous generator functions\n'
+ '--------------------------------\n'
+ '\n'
+ 'A function or method which is defined using "async def" and which '
+ 'uses\n'
+ 'the "yield" statement is called a *asynchronous generator '
+ 'function*.\n'
+ 'Such a function, when called, returns an *asynchronous iterator*\n'
+ 'object which can be used in an "async for" statement to execute '
'the\n'
- ' object denoted by *alist*.\n'
+ 'body of the function.\n'
+ '\n'
+ 'Calling the asynchronous iterator’s "aiterator.__anext__" method '
+ 'will\n'
+ 'return an *awaitable* which when awaited will execute until it\n'
+ 'provides a value using the "yield" expression. When the function\n'
+ 'executes an empty "return" statement or falls off the end, a\n'
+ '"StopAsyncIteration" exception is raised and the asynchronous '
+ 'iterator\n'
+ 'will have reached the end of the set of values to be yielded.\n'
+ '\n'
+ '\n'
+ 'Built-in functions\n'
+ '------------------\n'
+ '\n'
+ 'A built-in function object is a wrapper around a C function. '
+ 'Examples\n'
+ 'of built-in functions are "len()" and "math.sin()" ("math" is a\n'
+ 'standard built-in module). The number and type of the arguments '
+ 'are\n'
+ 'determined by the C function. Special read-only attributes: '
+ '"__doc__"\n'
+ 'is the function’s documentation string, or "None" if unavailable;\n'
+ '"__name__" is the function’s name; "__self__" is set to "None" '
+ '(but\n'
+ 'see the next item); "__module__" is the name of the module the\n'
+ 'function was defined in or "None" if unavailable.\n'
+ '\n'
+ '\n'
+ 'Built-in methods\n'
+ '----------------\n'
+ '\n'
+ 'This is really a different disguise of a built-in function, this '
+ 'time\n'
+ 'containing an object passed to the C function as an implicit extra\n'
+ 'argument. An example of a built-in method is "alist.append()",\n'
+ 'assuming *alist* is a list object. In this case, the special '
+ 'read-only\n'
+ 'attribute "__self__" is set to the object denoted by *alist*.\n'
+ '\n'
+ '\n'
+ 'Classes\n'
+ '-------\n'
+ '\n'
+ 'Classes are callable. These objects normally act as factories for '
+ 'new\n'
+ 'instances of themselves, but variations are possible for class '
+ 'types\n'
+ 'that override "__new__()". The arguments of the call are passed '
+ 'to\n'
+ '"__new__()" and, in the typical case, to "__init__()" to '
+ 'initialize\n'
+ 'the new instance.\n'
'\n'
- ' Classes\n'
- ' Classes are callable. These objects normally act as '
- 'factories\n'
- ' for new instances of themselves, but variations are possible '
- 'for\n'
- ' class types that override "__new__()". The arguments of the\n'
- ' call are passed to "__new__()" and, in the typical case, to\n'
- ' "__init__()" to initialize the new instance.\n'
'\n'
- ' Class Instances\n'
- ' Instances of arbitrary classes can be made callable by '
- 'defining\n'
- ' a "__call__()" method in their class.\n'
+ 'Class Instances\n'
+ '---------------\n'
+ '\n'
+ 'Instances of arbitrary classes can be made callable by defining a\n'
+ '"__call__()" method in their class.\n'
+ '\n'
'\n'
'Modules\n'
- ' Modules are a basic organizational unit of Python code, and are\n'
- ' created by the import system as invoked either by the "import"\n'
- ' statement, or by calling functions such as\n'
- ' "importlib.import_module()" and built-in "__import__()". A '
- 'module\n'
- ' object has a namespace implemented by a dictionary object (this '
- 'is\n'
- ' the dictionary referenced by the "__globals__" attribute of\n'
- ' functions defined in the module). Attribute references are\n'
- ' translated to lookups in this dictionary, e.g., "m.x" is '
- 'equivalent\n'
- ' to "m.__dict__["x"]". A module object does not contain the code\n'
- ' object used to initialize the module (since it isn’t needed '
- 'once\n'
- ' the initialization is done).\n'
+ '=======\n'
+ '\n'
+ 'Modules are a basic organizational unit of Python code, and are\n'
+ 'created by the import system as invoked either by the "import"\n'
+ 'statement, or by calling functions such as '
+ '"importlib.import_module()"\n'
+ 'and built-in "__import__()". A module object has a namespace\n'
+ 'implemented by a dictionary object (this is the dictionary '
+ 'referenced\n'
+ 'by the "__globals__" attribute of functions defined in the '
+ 'module).\n'
+ 'Attribute references are translated to lookups in this dictionary,\n'
+ 'e.g., "m.x" is equivalent to "m.__dict__["x"]". A module object '
+ 'does\n'
+ 'not contain the code object used to initialize the module (since '
+ 'it\n'
+ 'isn’t needed once the initialization is done).\n'
+ '\n'
+ 'Attribute assignment updates the module’s namespace dictionary, '
+ 'e.g.,\n'
+ '"m.x = 1" is equivalent to "m.__dict__["x"] = 1".\n'
'\n'
- ' Attribute assignment updates the module’s namespace dictionary,\n'
- ' e.g., "m.x = 1" is equivalent to "m.__dict__["x"] = 1".\n'
+ 'Predefined (writable) attributes:\n'
'\n'
- ' Predefined (writable) attributes:\n'
+ ' "__name__"\n'
+ ' The module’s name.\n'
'\n'
- ' "__name__"\n'
- ' The module’s name.\n'
+ ' "__doc__"\n'
+ ' The module’s documentation string, or "None" if unavailable.\n'
'\n'
- ' "__doc__"\n'
- ' The module’s documentation string, or "None" if '
- 'unavailable.\n'
+ ' "__file__"\n'
+ ' The pathname of the file from which the module was loaded, if '
+ 'it\n'
+ ' was loaded from a file. The "__file__" attribute may be '
+ 'missing\n'
+ ' for certain types of modules, such as C modules that are\n'
+ ' statically linked into the interpreter. For extension '
+ 'modules\n'
+ ' loaded dynamically from a shared library, it’s the pathname '
+ 'of\n'
+ ' the shared library file.\n'
'\n'
- ' "__file__"\n'
- ' The pathname of the file from which the module was loaded, '
- 'if\n'
- ' it was loaded from a file. The "__file__" attribute may '
- 'be\n'
- ' missing for certain types of modules, such as C modules '
- 'that\n'
- ' are statically linked into the interpreter. For '
- 'extension\n'
- ' modules loaded dynamically from a shared library, it’s '
- 'the\n'
- ' pathname of the shared library file.\n'
- '\n'
- ' "__annotations__"\n'
- ' A dictionary containing *variable annotations* collected\n'
- ' during module body execution. For best practices on '
- 'working\n'
- ' with "__annotations__", please see Annotations Best\n'
- ' Practices.\n'
- '\n'
- ' Special read-only attribute: "__dict__" is the module’s '
- 'namespace\n'
- ' as a dictionary object.\n'
- '\n'
- ' **CPython implementation detail:** Because of the way CPython\n'
- ' clears module dictionaries, the module dictionary will be '
- 'cleared\n'
- ' when the module falls out of scope even if the dictionary still '
- 'has\n'
- ' live references. To avoid this, copy the dictionary or keep '
+ ' "__annotations__"\n'
+ ' A dictionary containing *variable annotations* collected '
+ 'during\n'
+ ' module body execution. For best practices on working with\n'
+ ' "__annotations__", please see Annotations Best Practices.\n'
+ '\n'
+ 'Special read-only attribute: "__dict__" is the module’s namespace '
+ 'as a\n'
+ 'dictionary object.\n'
+ '\n'
+ '**CPython implementation detail:** Because of the way CPython '
+ 'clears\n'
+ 'module dictionaries, the module dictionary will be cleared when '
'the\n'
- ' module around while using its dictionary directly.\n'
+ 'module falls out of scope even if the dictionary still has live\n'
+ 'references. To avoid this, copy the dictionary or keep the module\n'
+ 'around while using its dictionary directly.\n'
+ '\n'
'\n'
'Custom classes\n'
- ' Custom class types are typically created by class definitions '
- '(see\n'
- ' section Class definitions). A class has a namespace implemented '
- 'by\n'
- ' a dictionary object. Class attribute references are translated '
- 'to\n'
- ' lookups in this dictionary, e.g., "C.x" is translated to\n'
- ' "C.__dict__["x"]" (although there are a number of hooks which '
+ '==============\n'
+ '\n'
+ 'Custom class types are typically created by class definitions (see\n'
+ 'section Class definitions). A class has a namespace implemented by '
+ 'a\n'
+ 'dictionary object. Class attribute references are translated to\n'
+ 'lookups in this dictionary, e.g., "C.x" is translated to\n'
+ '"C.__dict__["x"]" (although there are a number of hooks which '
'allow\n'
- ' for other means of locating attributes). When the attribute name '
+ 'for other means of locating attributes). When the attribute name '
'is\n'
- ' not found there, the attribute search continues in the base\n'
- ' classes. This search of the base classes uses the C3 method\n'
- ' resolution order which behaves correctly even in the presence '
- 'of\n'
- ' ‘diamond’ inheritance structures where there are multiple\n'
- ' inheritance paths leading back to a common ancestor. Additional\n'
- ' details on the C3 MRO used by Python can be found in the\n'
- ' documentation accompanying the 2.3 release at\n'
- ' https://www.python.org/download/releases/2.3/mro/.\n'
- '\n'
- ' When a class attribute reference (for class "C", say) would '
- 'yield a\n'
- ' class method object, it is transformed into an instance method\n'
- ' object whose "__self__" attribute is "C". When it would yield '
+ 'not found there, the attribute search continues in the base '
+ 'classes.\n'
+ 'This search of the base classes uses the C3 method resolution '
+ 'order\n'
+ 'which behaves correctly even in the presence of ‘diamond’ '
+ 'inheritance\n'
+ 'structures where there are multiple inheritance paths leading back '
+ 'to\n'
+ 'a common ancestor. Additional details on the C3 MRO used by Python '
+ 'can\n'
+ 'be found in the documentation accompanying the 2.3 release at\n'
+ 'https://www.python.org/download/releases/2.3/mro/.\n'
+ '\n'
+ 'When a class attribute reference (for class "C", say) would yield '
'a\n'
- ' static method object, it is transformed into the object wrapped '
- 'by\n'
- ' the static method object. See section Implementing Descriptors '
- 'for\n'
- ' another way in which attributes retrieved from a class may '
- 'differ\n'
- ' from those actually contained in its "__dict__".\n'
+ 'class method object, it is transformed into an instance method '
+ 'object\n'
+ 'whose "__self__" attribute is "C". When it would yield a static\n'
+ 'method object, it is transformed into the object wrapped by the '
+ 'static\n'
+ 'method object. See section Implementing Descriptors for another way '
+ 'in\n'
+ 'which attributes retrieved from a class may differ from those '
+ 'actually\n'
+ 'contained in its "__dict__".\n'
'\n'
- ' Class attribute assignments update the class’s dictionary, '
- 'never\n'
- ' the dictionary of a base class.\n'
+ 'Class attribute assignments update the class’s dictionary, never '
+ 'the\n'
+ 'dictionary of a base class.\n'
+ '\n'
+ 'A class object can be called (see above) to yield a class instance\n'
+ '(see below).\n'
'\n'
- ' A class object can be called (see above) to yield a class '
- 'instance\n'
- ' (see below).\n'
+ 'Special attributes:\n'
'\n'
- ' Special attributes:\n'
+ ' "__name__"\n'
+ ' The class name.\n'
'\n'
- ' "__name__"\n'
- ' The class name.\n'
+ ' "__module__"\n'
+ ' The name of the module in which the class was defined.\n'
'\n'
- ' "__module__"\n'
- ' The name of the module in which the class was defined.\n'
+ ' "__dict__"\n'
+ ' The dictionary containing the class’s namespace.\n'
'\n'
- ' "__dict__"\n'
- ' The dictionary containing the class’s namespace.\n'
+ ' "__bases__"\n'
+ ' A tuple containing the base classes, in the order of their\n'
+ ' occurrence in the base class list.\n'
'\n'
- ' "__bases__"\n'
- ' A tuple containing the base classes, in the order of '
- 'their\n'
- ' occurrence in the base class list.\n'
+ ' "__doc__"\n'
+ ' The class’s documentation string, or "None" if undefined.\n'
'\n'
- ' "__doc__"\n'
- ' The class’s documentation string, or "None" if undefined.\n'
+ ' "__annotations__"\n'
+ ' A dictionary containing *variable annotations* collected '
+ 'during\n'
+ ' class body execution. For best practices on working with\n'
+ ' "__annotations__", please see Annotations Best Practices.\n'
'\n'
- ' "__annotations__"\n'
- ' A dictionary containing *variable annotations* collected\n'
- ' during class body execution. For best practices on '
- 'working\n'
- ' with "__annotations__", please see Annotations Best\n'
- ' Practices.\n'
'\n'
'Class instances\n'
- ' A class instance is created by calling a class object (see '
- 'above).\n'
- ' A class instance has a namespace implemented as a dictionary '
- 'which\n'
- ' is the first place in which attribute references are searched.\n'
- ' When an attribute is not found there, and the instance’s class '
- 'has\n'
- ' an attribute by that name, the search continues with the class\n'
- ' attributes. If a class attribute is found that is a '
- 'user-defined\n'
- ' function object, it is transformed into an instance method '
- 'object\n'
- ' whose "__self__" attribute is the instance. Static method and\n'
- ' class method objects are also transformed; see above under\n'
- ' “Classes”. See section Implementing Descriptors for another way '
- 'in\n'
- ' which attributes of a class retrieved via its instances may '
- 'differ\n'
- ' from the objects actually stored in the class’s "__dict__". If '
- 'no\n'
- ' class attribute is found, and the object’s class has a\n'
- ' "__getattr__()" method, that is called to satisfy the lookup.\n'
+ '===============\n'
'\n'
- ' Attribute assignments and deletions update the instance’s\n'
- ' dictionary, never a class’s dictionary. If the class has a\n'
- ' "__setattr__()" or "__delattr__()" method, this is called '
- 'instead\n'
- ' of updating the instance dictionary directly.\n'
+ 'A class instance is created by calling a class object (see above). '
+ 'A\n'
+ 'class instance has a namespace implemented as a dictionary which '
+ 'is\n'
+ 'the first place in which attribute references are searched. When '
+ 'an\n'
+ 'attribute is not found there, and the instance’s class has an\n'
+ 'attribute by that name, the search continues with the class\n'
+ 'attributes. If a class attribute is found that is a user-defined\n'
+ 'function object, it is transformed into an instance method object\n'
+ 'whose "__self__" attribute is the instance. Static method and '
+ 'class\n'
+ 'method objects are also transformed; see above under “Classes”. '
+ 'See\n'
+ 'section Implementing Descriptors for another way in which '
+ 'attributes\n'
+ 'of a class retrieved via its instances may differ from the objects\n'
+ 'actually stored in the class’s "__dict__". If no class attribute '
+ 'is\n'
+ 'found, and the object’s class has a "__getattr__()" method, that '
+ 'is\n'
+ 'called to satisfy the lookup.\n'
'\n'
- ' Class instances can pretend to be numbers, sequences, or '
- 'mappings\n'
- ' if they have methods with certain special names. See section\n'
- ' Special method names.\n'
+ 'Attribute assignments and deletions update the instance’s '
+ 'dictionary,\n'
+ 'never a class’s dictionary. If the class has a "__setattr__()" or\n'
+ '"__delattr__()" method, this is called instead of updating the\n'
+ 'instance dictionary directly.\n'
+ '\n'
+ 'Class instances can pretend to be numbers, sequences, or mappings '
+ 'if\n'
+ 'they have methods with certain special names. See section Special\n'
+ 'method names.\n'
+ '\n'
+ 'Special attributes: "__dict__" is the attribute dictionary;\n'
+ '"__class__" is the instance’s class.\n'
'\n'
- ' Special attributes: "__dict__" is the attribute dictionary;\n'
- ' "__class__" is the instance’s class.\n'
'\n'
'I/O objects (also known as file objects)\n'
- ' A *file object* represents an open file. Various shortcuts are\n'
- ' available to create file objects: the "open()" built-in '
- 'function,\n'
- ' and also "os.popen()", "os.fdopen()", and the "makefile()" '
- 'method\n'
- ' of socket objects (and perhaps by other functions or methods\n'
- ' provided by extension modules).\n'
+ '========================================\n'
+ '\n'
+ 'A *file object* represents an open file. Various shortcuts are\n'
+ 'available to create file objects: the "open()" built-in function, '
+ 'and\n'
+ 'also "os.popen()", "os.fdopen()", and the "makefile()" method of\n'
+ 'socket objects (and perhaps by other functions or methods provided '
+ 'by\n'
+ 'extension modules).\n'
+ '\n'
+ 'The objects "sys.stdin", "sys.stdout" and "sys.stderr" are '
+ 'initialized\n'
+ 'to file objects corresponding to the interpreter’s standard input,\n'
+ 'output and error streams; they are all open in text mode and '
+ 'therefore\n'
+ 'follow the interface defined by the "io.TextIOBase" abstract '
+ 'class.\n'
'\n'
- ' The objects "sys.stdin", "sys.stdout" and "sys.stderr" are\n'
- ' initialized to file objects corresponding to the interpreter’s\n'
- ' standard input, output and error streams; they are all open in '
- 'text\n'
- ' mode and therefore follow the interface defined by the\n'
- ' "io.TextIOBase" abstract class.\n'
'\n'
'Internal types\n'
- ' A few types used internally by the interpreter are exposed to '
- 'the\n'
- ' user. Their definitions may change with future versions of the\n'
- ' interpreter, but they are mentioned here for completeness.\n'
- '\n'
- ' Code objects\n'
- ' Code objects represent *byte-compiled* executable Python '
- 'code,\n'
- ' or *bytecode*. The difference between a code object and a\n'
- ' function object is that the function object contains an '
- 'explicit\n'
- ' reference to the function’s globals (the module in which it '
- 'was\n'
- ' defined), while a code object contains no context; also the\n'
- ' default argument values are stored in the function object, '
- 'not\n'
- ' in the code object (because they represent values calculated '
- 'at\n'
- ' run-time). Unlike function objects, code objects are '
- 'immutable\n'
- ' and contain no references (directly or indirectly) to '
- 'mutable\n'
- ' objects.\n'
- '\n'
- ' Special read-only attributes: "co_name" gives the function '
- 'name;\n'
- ' "co_qualname" gives the fully qualified function name;\n'
- ' "co_argcount" is the total number of positional arguments\n'
- ' (including positional-only arguments and arguments with '
- 'default\n'
- ' values); "co_posonlyargcount" is the number of '
- 'positional-only\n'
- ' arguments (including arguments with default values);\n'
- ' "co_kwonlyargcount" is the number of keyword-only arguments\n'
- ' (including arguments with default values); "co_nlocals" is '
- 'the\n'
- ' number of local variables used by the function (including\n'
- ' arguments); "co_varnames" is a tuple containing the names of '
- 'the\n'
- ' local variables (starting with the argument names);\n'
- ' "co_cellvars" is a tuple containing the names of local '
- 'variables\n'
- ' that are referenced by nested functions; "co_freevars" is a\n'
- ' tuple containing the names of free variables; "co_code" is a\n'
- ' string representing the sequence of bytecode instructions;\n'
- ' "co_consts" is a tuple containing the literals used by the\n'
- ' bytecode; "co_names" is a tuple containing the names used by '
- 'the\n'
- ' bytecode; "co_filename" is the filename from which the code '
- 'was\n'
- ' compiled; "co_firstlineno" is the first line number of the\n'
- ' function; "co_lnotab" is a string encoding the mapping from\n'
- ' bytecode offsets to line numbers (for details see the source\n'
- ' code of the interpreter); "co_stacksize" is the required '
- 'stack\n'
- ' size; "co_flags" is an integer encoding a number of flags '
- 'for\n'
- ' the interpreter.\n'
+ '==============\n'
+ '\n'
+ 'A few types used internally by the interpreter are exposed to the\n'
+ 'user. Their definitions may change with future versions of the\n'
+ 'interpreter, but they are mentioned here for completeness.\n'
'\n'
- ' The following flag bits are defined for "co_flags": bit '
- '"0x04"\n'
- ' is set if the function uses the "*arguments" syntax to accept '
- 'an\n'
- ' arbitrary number of positional arguments; bit "0x08" is set '
- 'if\n'
- ' the function uses the "**keywords" syntax to accept '
- 'arbitrary\n'
- ' keyword arguments; bit "0x20" is set if the function is a\n'
- ' generator.\n'
'\n'
- ' Future feature declarations ("from __future__ import '
- 'division")\n'
- ' also use bits in "co_flags" to indicate whether a code '
+ 'Code objects\n'
+ '------------\n'
+ '\n'
+ 'Code objects represent *byte-compiled* executable Python code, or\n'
+ '*bytecode*. The difference between a code object and a function '
'object\n'
- ' was compiled with a particular feature enabled: bit "0x2000" '
+ 'is that the function object contains an explicit reference to the\n'
+ 'function’s globals (the module in which it was defined), while a '
+ 'code\n'
+ 'object contains no context; also the default argument values are\n'
+ 'stored in the function object, not in the code object (because '
+ 'they\n'
+ 'represent values calculated at run-time). Unlike function '
+ 'objects,\n'
+ 'code objects are immutable and contain no references (directly or\n'
+ 'indirectly) to mutable objects.\n'
+ '\n'
+ 'Special read-only attributes: "co_name" gives the function name;\n'
+ '"co_qualname" gives the fully qualified function name; '
+ '"co_argcount"\n'
+ 'is the total number of positional arguments (including '
+ 'positional-only\n'
+ 'arguments and arguments with default values); "co_posonlyargcount" '
'is\n'
- ' set if the function was compiled with future division '
- 'enabled;\n'
- ' bits "0x10" and "0x1000" were used in earlier versions of\n'
- ' Python.\n'
+ 'the number of positional-only arguments (including arguments with\n'
+ 'default values); "co_kwonlyargcount" is the number of keyword-only\n'
+ 'arguments (including arguments with default values); "co_nlocals" '
+ 'is\n'
+ 'the number of local variables used by the function (including\n'
+ 'arguments); "co_varnames" is a tuple containing the names of the '
+ 'local\n'
+ 'variables (starting with the argument names); "co_cellvars" is a '
+ 'tuple\n'
+ 'containing the names of local variables that are referenced by '
+ 'nested\n'
+ 'functions; "co_freevars" is a tuple containing the names of free\n'
+ 'variables; "co_code" is a string representing the sequence of '
+ 'bytecode\n'
+ 'instructions; "co_consts" is a tuple containing the literals used '
+ 'by\n'
+ 'the bytecode; "co_names" is a tuple containing the names used by '
+ 'the\n'
+ 'bytecode; "co_filename" is the filename from which the code was\n'
+ 'compiled; "co_firstlineno" is the first line number of the '
+ 'function;\n'
+ '"co_lnotab" is a string encoding the mapping from bytecode offsets '
+ 'to\n'
+ 'line numbers (for details see the source code of the interpreter);\n'
+ '"co_stacksize" is the required stack size; "co_flags" is an '
+ 'integer\n'
+ 'encoding a number of flags for the interpreter.\n'
'\n'
- ' Other bits in "co_flags" are reserved for internal use.\n'
+ 'The following flag bits are defined for "co_flags": bit "0x04" is '
+ 'set\n'
+ 'if the function uses the "*arguments" syntax to accept an '
+ 'arbitrary\n'
+ 'number of positional arguments; bit "0x08" is set if the function '
+ 'uses\n'
+ 'the "**keywords" syntax to accept arbitrary keyword arguments; bit\n'
+ '"0x20" is set if the function is a generator.\n'
+ '\n'
+ 'Future feature declarations ("from __future__ import division") '
+ 'also\n'
+ 'use bits in "co_flags" to indicate whether a code object was '
+ 'compiled\n'
+ 'with a particular feature enabled: bit "0x2000" is set if the '
+ 'function\n'
+ 'was compiled with future division enabled; bits "0x10" and '
+ '"0x1000"\n'
+ 'were used in earlier versions of Python.\n'
'\n'
- ' If a code object represents a function, the first item in\n'
- ' "co_consts" is the documentation string of the function, or\n'
- ' "None" if undefined.\n'
+ 'Other bits in "co_flags" are reserved for internal use.\n'
'\n'
- ' codeobject.co_positions()\n'
+ 'If a code object represents a function, the first item in '
+ '"co_consts"\n'
+ 'is the documentation string of the function, or "None" if '
+ 'undefined.\n'
'\n'
- ' Returns an iterable over the source code positions of '
- 'each\n'
- ' bytecode instruction in the code object.\n'
+ 'codeobject.co_positions()\n'
'\n'
- ' The iterator returns tuples containing the "(start_line,\n'
- ' end_line, start_column, end_column)". The *i-th* tuple\n'
- ' corresponds to the position of the source code that '
- 'compiled\n'
- ' to the *i-th* instruction. Column information is '
- '0-indexed\n'
- ' utf-8 byte offsets on the given source line.\n'
+ ' Returns an iterable over the source code positions of each '
+ 'bytecode\n'
+ ' instruction in the code object.\n'
'\n'
- ' This positional information can be missing. A '
- 'non-exhaustive\n'
- ' lists of cases where this may happen:\n'
+ ' The iterator returns tuples containing the "(start_line, '
+ 'end_line,\n'
+ ' start_column, end_column)". The *i-th* tuple corresponds to the\n'
+ ' position of the source code that compiled to the *i-th*\n'
+ ' instruction. Column information is 0-indexed utf-8 byte offsets '
+ 'on\n'
+ ' the given source line.\n'
'\n'
- ' * Running the interpreter with "-X" "no_debug_ranges".\n'
+ ' This positional information can be missing. A non-exhaustive '
+ 'lists\n'
+ ' of cases where this may happen:\n'
'\n'
- ' * Loading a pyc file compiled while using "-X"\n'
- ' "no_debug_ranges".\n'
+ ' * Running the interpreter with "-X" "no_debug_ranges".\n'
'\n'
- ' * Position tuples corresponding to artificial '
- 'instructions.\n'
+ ' * Loading a pyc file compiled while using "-X" '
+ '"no_debug_ranges".\n'
'\n'
- ' * Line and column numbers that can’t be represented due '
- 'to\n'
- ' implementation specific limitations.\n'
+ ' * Position tuples corresponding to artificial instructions.\n'
'\n'
- ' When this occurs, some or all of the tuple elements can '
- 'be\n'
- ' "None".\n'
+ ' * Line and column numbers that can’t be represented due to\n'
+ ' implementation specific limitations.\n'
'\n'
- ' New in version 3.11.\n'
+ ' When this occurs, some or all of the tuple elements can be '
+ '"None".\n'
'\n'
- ' Note:\n'
+ ' New in version 3.11.\n'
'\n'
- ' This feature requires storing column positions in code\n'
- ' objects which may result in a small increase of disk '
- 'usage\n'
- ' of compiled Python files or interpreter memory usage. '
- 'To\n'
- ' avoid storing the extra information and/or deactivate\n'
- ' printing the extra traceback information, the "-X"\n'
- ' "no_debug_ranges" command line flag or the\n'
- ' "PYTHONNODEBUGRANGES" environment variable can be used.\n'
+ ' Note:\n'
'\n'
- ' Frame objects\n'
- ' Frame objects represent execution frames. They may occur in\n'
- ' traceback objects (see below), and are also passed to '
- 'registered\n'
- ' trace functions.\n'
+ ' This feature requires storing column positions in code '
+ 'objects\n'
+ ' which may result in a small increase of disk usage of '
+ 'compiled\n'
+ ' Python files or interpreter memory usage. To avoid storing '
+ 'the\n'
+ ' extra information and/or deactivate printing the extra '
+ 'traceback\n'
+ ' information, the "-X" "no_debug_ranges" command line flag or '
+ 'the\n'
+ ' "PYTHONNODEBUGRANGES" environment variable can be used.\n'
+ '\n'
+ '\n'
+ 'Frame objects\n'
+ '-------------\n'
+ '\n'
+ 'Frame objects represent execution frames. They may occur in '
+ 'traceback\n'
+ 'objects (see below), and are also passed to registered trace\n'
+ 'functions.\n'
+ '\n'
+ 'Special read-only attributes: "f_back" is to the previous stack '
+ 'frame\n'
+ '(towards the caller), or "None" if this is the bottom stack frame;\n'
+ '"f_code" is the code object being executed in this frame; '
+ '"f_locals"\n'
+ 'is the dictionary used to look up local variables; "f_globals" is '
+ 'used\n'
+ 'for global variables; "f_builtins" is used for built-in '
+ '(intrinsic)\n'
+ 'names; "f_lasti" gives the precise instruction (this is an index '
+ 'into\n'
+ 'the bytecode string of the code object).\n'
+ '\n'
+ 'Accessing "f_code" raises an auditing event "object.__getattr__" '
+ 'with\n'
+ 'arguments "obj" and ""f_code"".\n'
+ '\n'
+ 'Special writable attributes: "f_trace", if not "None", is a '
+ 'function\n'
+ 'called for various events during code execution (this is used by '
+ 'the\n'
+ 'debugger). Normally an event is triggered for each new source line '
+ '-\n'
+ 'this can be disabled by setting "f_trace_lines" to "False".\n'
'\n'
- ' Special read-only attributes: "f_back" is to the previous '
- 'stack\n'
- ' frame (towards the caller), or "None" if this is the bottom\n'
- ' stack frame; "f_code" is the code object being executed in '
+ 'Implementations *may* allow per-opcode events to be requested by\n'
+ 'setting "f_trace_opcodes" to "True". Note that this may lead to\n'
+ 'undefined interpreter behaviour if exceptions raised by the trace\n'
+ 'function escape to the function being traced.\n'
+ '\n'
+ '"f_lineno" is the current line number of the frame — writing to '
'this\n'
- ' frame; "f_locals" is the dictionary used to look up local\n'
- ' variables; "f_globals" is used for global variables;\n'
- ' "f_builtins" is used for built-in (intrinsic) names; '
- '"f_lasti"\n'
- ' gives the precise instruction (this is an index into the\n'
- ' bytecode string of the code object).\n'
- '\n'
- ' Accessing "f_code" raises an auditing event '
- '"object.__getattr__"\n'
- ' with arguments "obj" and ""f_code"".\n'
- '\n'
- ' Special writable attributes: "f_trace", if not "None", is a\n'
- ' function called for various events during code execution '
- '(this\n'
- ' is used by the debugger). Normally an event is triggered for\n'
- ' each new source line - this can be disabled by setting\n'
- ' "f_trace_lines" to "False".\n'
- '\n'
- ' Implementations *may* allow per-opcode events to be requested '
- 'by\n'
- ' setting "f_trace_opcodes" to "True". Note that this may lead '
- 'to\n'
- ' undefined interpreter behaviour if exceptions raised by the\n'
- ' trace function escape to the function being traced.\n'
+ 'from within a trace function jumps to the given line (only for the\n'
+ 'bottom-most frame). A debugger can implement a Jump command (aka '
+ 'Set\n'
+ 'Next Statement) by writing to f_lineno.\n'
'\n'
- ' "f_lineno" is the current line number of the frame — writing '
- 'to\n'
- ' this from within a trace function jumps to the given line '
- '(only\n'
- ' for the bottom-most frame). A debugger can implement a Jump\n'
- ' command (aka Set Next Statement) by writing to f_lineno.\n'
+ 'Frame objects support one method:\n'
'\n'
- ' Frame objects support one method:\n'
+ 'frame.clear()\n'
'\n'
- ' frame.clear()\n'
+ ' This method clears all references to local variables held by '
+ 'the\n'
+ ' frame. Also, if the frame belonged to a generator, the '
+ 'generator\n'
+ ' is finalized. This helps break reference cycles involving '
+ 'frame\n'
+ ' objects (for example when catching an exception and storing its\n'
+ ' traceback for later use).\n'
'\n'
- ' This method clears all references to local variables held '
- 'by\n'
- ' the frame. Also, if the frame belonged to a generator, '
+ ' "RuntimeError" is raised if the frame is currently executing.\n'
+ '\n'
+ ' New in version 3.4.\n'
+ '\n'
+ '\n'
+ 'Traceback objects\n'
+ '-----------------\n'
+ '\n'
+ 'Traceback objects represent a stack trace of an exception. A\n'
+ 'traceback object is implicitly created when an exception occurs, '
+ 'and\n'
+ 'may also be explicitly created by calling "types.TracebackType".\n'
+ '\n'
+ 'For implicitly created tracebacks, when the search for an '
+ 'exception\n'
+ 'handler unwinds the execution stack, at each unwound level a '
+ 'traceback\n'
+ 'object is inserted in front of the current traceback. When an\n'
+ 'exception handler is entered, the stack trace is made available to '
'the\n'
- ' generator is finalized. This helps break reference '
- 'cycles\n'
- ' involving frame objects (for example when catching an\n'
- ' exception and storing its traceback for later use).\n'
+ 'program. (See section The try statement.) It is accessible as the\n'
+ 'third item of the tuple returned by "sys.exc_info()", and as the\n'
+ '"__traceback__" attribute of the caught exception.\n'
'\n'
- ' "RuntimeError" is raised if the frame is currently '
- 'executing.\n'
+ 'When the program contains no suitable handler, the stack trace is\n'
+ 'written (nicely formatted) to the standard error stream; if the\n'
+ 'interpreter is interactive, it is also made available to the user '
+ 'as\n'
+ '"sys.last_traceback".\n'
'\n'
- ' New in version 3.4.\n'
+ 'For explicitly created tracebacks, it is up to the creator of the\n'
+ 'traceback to determine how the "tb_next" attributes should be '
+ 'linked\n'
+ 'to form a full stack trace.\n'
'\n'
- ' Traceback objects\n'
- ' Traceback objects represent a stack trace of an exception. '
- 'A\n'
- ' traceback object is implicitly created when an exception '
- 'occurs,\n'
- ' and may also be explicitly created by calling\n'
- ' "types.TracebackType".\n'
- '\n'
- ' For implicitly created tracebacks, when the search for an\n'
- ' exception handler unwinds the execution stack, at each '
- 'unwound\n'
- ' level a traceback object is inserted in front of the current\n'
- ' traceback. When an exception handler is entered, the stack\n'
- ' trace is made available to the program. (See section The try\n'
- ' statement.) It is accessible as the third item of the tuple\n'
- ' returned by "sys.exc_info()", and as the "__traceback__"\n'
- ' attribute of the caught exception.\n'
- '\n'
- ' When the program contains no suitable handler, the stack '
- 'trace\n'
- ' is written (nicely formatted) to the standard error stream; '
- 'if\n'
- ' the interpreter is interactive, it is also made available to '
+ 'Special read-only attributes: "tb_frame" points to the execution '
+ 'frame\n'
+ 'of the current level; "tb_lineno" gives the line number where the\n'
+ 'exception occurred; "tb_lasti" indicates the precise instruction. '
+ 'The\n'
+ 'line number and last instruction in the traceback may differ from '
'the\n'
- ' user as "sys.last_traceback".\n'
+ 'line number of its frame object if the exception occurred in a '
+ '"try"\n'
+ 'statement with no matching except clause or with a finally clause.\n'
'\n'
- ' For explicitly created tracebacks, it is up to the creator '
- 'of\n'
- ' the traceback to determine how the "tb_next" attributes '
- 'should\n'
- ' be linked to form a full stack trace.\n'
- '\n'
- ' Special read-only attributes: "tb_frame" points to the '
- 'execution\n'
- ' frame of the current level; "tb_lineno" gives the line '
- 'number\n'
- ' where the exception occurred; "tb_lasti" indicates the '
- 'precise\n'
- ' instruction. The line number and last instruction in the\n'
- ' traceback may differ from the line number of its frame object '
+ 'Accessing "tb_frame" raises an auditing event "object.__getattr__"\n'
+ 'with arguments "obj" and ""tb_frame"".\n'
+ '\n'
+ 'Special writable attribute: "tb_next" is the next level in the '
+ 'stack\n'
+ 'trace (towards the frame where the exception occurred), or "None" '
'if\n'
- ' the exception occurred in a "try" statement with no matching\n'
- ' except clause or with a finally clause.\n'
+ 'there is no next level.\n'
'\n'
- ' Accessing "tb_frame" raises an auditing event\n'
- ' "object.__getattr__" with arguments "obj" and ""tb_frame"".\n'
+ 'Changed in version 3.7: Traceback objects can now be explicitly\n'
+ 'instantiated from Python code, and the "tb_next" attribute of '
+ 'existing\n'
+ 'instances can be updated.\n'
'\n'
- ' Special writable attribute: "tb_next" is the next level in '
- 'the\n'
- ' stack trace (towards the frame where the exception occurred), '
- 'or\n'
- ' "None" if there is no next level.\n'
'\n'
- ' Changed in version 3.7: Traceback objects can now be '
- 'explicitly\n'
- ' instantiated from Python code, and the "tb_next" attribute '
- 'of\n'
- ' existing instances can be updated.\n'
+ 'Slice objects\n'
+ '-------------\n'
'\n'
- ' Slice objects\n'
- ' Slice objects are used to represent slices for '
- '"__getitem__()"\n'
- ' methods. They are also created by the built-in "slice()"\n'
- ' function.\n'
+ 'Slice objects are used to represent slices for "__getitem__()"\n'
+ 'methods. They are also created by the built-in "slice()" '
+ 'function.\n'
'\n'
- ' Special read-only attributes: "start" is the lower bound; '
- '"stop"\n'
- ' is the upper bound; "step" is the step value; each is "None" '
- 'if\n'
- ' omitted. These attributes can have any type.\n'
+ 'Special read-only attributes: "start" is the lower bound; "stop" '
+ 'is\n'
+ 'the upper bound; "step" is the step value; each is "None" if '
+ 'omitted.\n'
+ 'These attributes can have any type.\n'
'\n'
- ' Slice objects support one method:\n'
+ 'Slice objects support one method:\n'
'\n'
- ' slice.indices(self, length)\n'
+ 'slice.indices(self, length)\n'
'\n'
- ' This method takes a single integer argument *length* and\n'
- ' computes information about the slice that the slice '
- 'object\n'
- ' would describe if applied to a sequence of *length* '
- 'items.\n'
- ' It returns a tuple of three integers; respectively these '
- 'are\n'
- ' the *start* and *stop* indices and the *step* or stride\n'
- ' length of the slice. Missing or out-of-bounds indices are\n'
- ' handled in a manner consistent with regular slices.\n'
- '\n'
- ' Static method objects\n'
- ' Static method objects provide a way of defeating the\n'
- ' transformation of function objects to method objects '
- 'described\n'
- ' above. A static method object is a wrapper around any other\n'
- ' object, usually a user-defined method object. When a static\n'
- ' method object is retrieved from a class or a class instance, '
- 'the\n'
- ' object actually returned is the wrapped object, which is not\n'
- ' subject to any further transformation. Static method objects '
- 'are\n'
- ' also callable. Static method objects are created by the '
- 'built-in\n'
- ' "staticmethod()" constructor.\n'
+ ' This method takes a single integer argument *length* and '
+ 'computes\n'
+ ' information about the slice that the slice object would describe '
+ 'if\n'
+ ' applied to a sequence of *length* items. It returns a tuple of\n'
+ ' three integers; respectively these are the *start* and *stop*\n'
+ ' indices and the *step* or stride length of the slice. Missing '
+ 'or\n'
+ ' out-of-bounds indices are handled in a manner consistent with\n'
+ ' regular slices.\n'
'\n'
- ' Class method objects\n'
- ' A class method object, like a static method object, is a '
- 'wrapper\n'
- ' around another object that alters the way in which that '
- 'object\n'
- ' is retrieved from classes and class instances. The behaviour '
+ '\n'
+ 'Static method objects\n'
+ '---------------------\n'
+ '\n'
+ 'Static method objects provide a way of defeating the transformation '
'of\n'
- ' class method objects upon such retrieval is described above,\n'
- ' under “User-defined methods”. Class method objects are '
- 'created\n'
- ' by the built-in "classmethod()" constructor.\n',
+ 'function objects to method objects described above. A static '
+ 'method\n'
+ 'object is a wrapper around any other object, usually a '
+ 'user-defined\n'
+ 'method object. When a static method object is retrieved from a '
+ 'class\n'
+ 'or a class instance, the object actually returned is the wrapped\n'
+ 'object, which is not subject to any further transformation. Static\n'
+ 'method objects are also callable. Static method objects are created '
+ 'by\n'
+ 'the built-in "staticmethod()" constructor.\n'
+ '\n'
+ '\n'
+ 'Class method objects\n'
+ '--------------------\n'
+ '\n'
+ 'A class method object, like a static method object, is a wrapper\n'
+ 'around another object that alters the way in which that object is\n'
+ 'retrieved from classes and class instances. The behaviour of class\n'
+ 'method objects upon such retrieval is described above, under '
+ '“User-\n'
+ 'defined methods”. Class method objects are created by the built-in\n'
+ '"classmethod()" constructor.\n',
'typesfunctions': 'Functions\n'
'*********\n'
'\n'
diff --git a/Misc/NEWS.d/3.11.6.rst b/Misc/NEWS.d/3.11.6.rst
new file mode 100644
index 00000000000..f3fbe96eaef
--- /dev/null
+++ b/Misc/NEWS.d/3.11.6.rst
@@ -0,0 +1,607 @@
+.. date: 2023-09-12-16-00-42
+.. gh-issue: 109351
+.. nonce: kznGeR
+.. release date: 2023-10-02
+.. section: Core and Builtins
+
+Fix crash when compiling an invalid AST involving a named (walrus)
+expression.
+
+..
+
+.. date: 2023-09-10-18-53-55
+.. gh-issue: 109207
+.. nonce: Fei8bY
+.. section: Core and Builtins
+
+Fix a SystemError in ``__repr__`` of symtable entry object.
+
+..
+
+.. date: 2023-09-09-21-17-18
+.. gh-issue: 109179
+.. nonce: ZR8qs2
+.. section: Core and Builtins
+
+Fix bug where the C traceback display drops notes from :exc:`SyntaxError`.
+
+..
+
+.. date: 2023-09-07-16-05-36
+.. gh-issue: 88943
+.. nonce: rH_X3W
+.. section: Core and Builtins
+
+Improve syntax error for non-ASCII character that follows a numerical
+literal. It now points on the invalid non-ASCII character, not on the valid
+numerical literal.
+
+..
+
+.. date: 2023-09-05-20-52-17
+.. gh-issue: 108959
+.. nonce: 6z45Sy
+.. section: Core and Builtins
+
+Fix caret placement for error locations for subscript and binary operations
+that involve non-semantic parentheses and spaces. Patch by Pablo Galindo
+
+..
+
+.. date: 2023-08-30-15-41-47
+.. gh-issue: 108520
+.. nonce: u0ZGP_
+.. section: Core and Builtins
+
+Fix :meth:`multiprocessing.synchronize.SemLock.__setstate__` to properly
+initialize :attr:`multiprocessing.synchronize.SemLock._is_fork_ctx`. This
+fixes a regression when passing a SemLock accross nested processes.
+
+Rename :attr:`multiprocessing.synchronize.SemLock.is_fork_ctx` to
+:attr:`multiprocessing.synchronize.SemLock._is_fork_ctx` to avoid exposing
+it as public API.
+
+..
+
+.. date: 2023-09-28-18-53-11
+.. gh-issue: 110036
+.. nonce: fECxTj
+.. section: Library
+
+On Windows, multiprocessing ``Popen.terminate()`` now catchs
+:exc:`PermissionError` and get the process exit code. If the process is
+still running, raise again the :exc:`PermissionError`. Otherwise, the
+process terminated as expected: store its exit code. Patch by Victor
+Stinner.
+
+..
+
+.. date: 2023-09-28-18-50-33
+.. gh-issue: 110038
+.. nonce: nx_gCu
+.. section: Library
+
+Fixed an issue that caused :meth:`KqueueSelector.select` to not return all
+the ready events in some cases when a file descriptor is registered for both
+read and write.
+
+..
+
+.. date: 2023-09-25-23-00-37
+.. gh-issue: 109631
+.. nonce: eWSqpO
+.. section: Library
+
+:mod:`re` functions such as :func:`re.findall`, :func:`re.split`,
+:func:`re.search` and :func:`re.sub` which perform short repeated matches
+can now be interrupted by user.
+
+..
+
+.. date: 2023-09-22-20-16-44
+.. gh-issue: 109593
+.. nonce: LboaNM
+.. section: Library
+
+Avoid deadlocking on a reentrant call to the multiprocessing resource
+tracker. Such a reentrant call, though unlikely, can happen if a GC pass
+invokes the finalizer for a multiprocessing object such as SemLock.
+
+..
+
+.. date: 2023-09-20-17-45-46
+.. gh-issue: 109613
+.. nonce: P13ogN
+.. section: Library
+
+Fix :func:`os.stat` and :meth:`os.DirEntry.stat`: check for exceptions.
+Previously, on Python built in debug mode, these functions could trigger a
+fatal Python error (and abort the process) when a function succeeded with an
+exception set. Patch by Victor Stinner.
+
+..
+
+.. date: 2023-09-13-17-22-44
+.. gh-issue: 109375
+.. nonce: ijJHZ9
+.. section: Library
+
+The :mod:`pdb` ``alias`` command now prevents registering aliases without
+arguments.
+
+..
+
+.. date: 2023-09-11-00-32-18
+.. gh-issue: 107219
+.. nonce: 3zqyFT
+.. section: Library
+
+Fix a race condition in ``concurrent.futures``. When a process in the
+process pool was terminated abruptly (while the future was running or
+pending), close the connection write end. If the call queue is blocked on
+sending bytes to a worker process, closing the connection write end
+interrupts the send, so the queue can be closed. Patch by Victor Stinner.
+
+..
+
+.. date: 2023-09-09-15-08-37
+.. gh-issue: 50644
+.. nonce: JUAZOh
+.. section: Library
+
+Attempts to pickle or create a shallow or deep copy of :mod:`codecs` streams
+now raise a TypeError. Previously, copying failed with a RecursionError,
+while pickling produced wrong results that eventually caused unpickling to
+fail with a RecursionError.
+
+..
+
+.. date: 2023-09-08-12-09-55
+.. gh-issue: 108987
+.. nonce: x5AIG8
+.. section: Library
+
+Fix :func:`_thread.start_new_thread` race condition. If a thread is created
+during Python finalization, the newly spawned thread now exits immediately
+instead of trying to access freed memory and lead to a crash. Patch by
+Victor Stinner.
+
+..
+
+.. date: 2023-09-06-04-30-05
+.. gh-issue: 108843
+.. nonce: WJMhsS
+.. section: Library
+
+Fix an issue in :func:`ast.unparse` when unparsing f-strings containing many
+quote types.
+
+..
+
+.. date: 2023-08-30-20-10-28
+.. gh-issue: 108682
+.. nonce: c2gzLQ
+.. section: Library
+
+Enum: raise :exc:`TypeError` if ``super().__new__()`` is called from a
+custom ``__new__``.
+
+..
+
+.. date: 2023-08-26-12-35-39
+.. gh-issue: 105829
+.. nonce: kyYhWI
+.. section: Library
+
+Fix concurrent.futures.ProcessPoolExecutor deadlock
+
+..
+
+.. date: 2023-08-22-22-29-42
+.. gh-issue: 64662
+.. nonce: jHl_Bt
+.. section: Library
+
+Fix support for virtual tables in :meth:`sqlite3.Connection.iterdump`. Patch
+by Aviv Palivoda.
+
+..
+
+.. date: 2023-08-14-11-18-13
+.. gh-issue: 107913
+.. nonce: 4ooY6i
+.. section: Library
+
+Fix possible losses of ``errno`` and ``winerror`` values in :exc:`OSError`
+exceptions if they were cleared or modified by the cleanup code before
+creating the exception object.
+
+..
+
+.. date: 2023-05-22-18-39-53
+.. gh-issue: 104372
+.. nonce: 7tDRaK
+.. section: Library
+
+On Linux where :mod:`subprocess` can use the ``vfork()`` syscall for faster
+spawning, prevent the parent process from blocking other threads by dropping
+the GIL while it waits for the vfork'ed child process ``exec()`` outcome.
+This prevents spawning a binary from a slow filesystem from blocking the
+rest of the application.
+
+..
+
+.. date: 2022-12-24-12-50-54
+.. gh-issue: 84867
+.. nonce: OhaLbU
+.. section: Library
+
+:class:`unittest.TestLoader` no longer loads test cases from exact
+:class:`unittest.TestCase` and :class:`unittest.FunctionTestCase` classes.
+
+..
+
+.. date: 2023-09-10-02-39-06
+.. gh-issue: 109209
+.. nonce: 0LBewo
+.. section: Documentation
+
+The minimum Sphinx version required for the documentation is now 4.2.
+
+..
+
+.. date: 2023-05-29-14-10-24
+.. gh-issue: 105052
+.. nonce: MGFwbm
+.. section: Documentation
+
+Update ``timeit`` doc to specify that time in seconds is just the default.
+
+..
+
+.. date: 2023-03-19-09-39-31
+.. gh-issue: 102823
+.. nonce: OzsOz0
+.. section: Documentation
+
+Document the return type of ``x // y`` when ``x`` and ``y`` have type
+:class:`float`.
+
+..
+
+.. date: 2023-09-29-14-11-30
+.. gh-issue: 110031
+.. nonce: fQnFnc
+.. section: Tests
+
+Skip test_threading tests using thread+fork if Python is built with Address
+Sanitizer (ASAN). Patch by Victor Stinner.
+
+..
+
+.. date: 2023-09-29-12-48-42
+.. gh-issue: 110088
+.. nonce: qUhRga
+.. section: Tests
+
+Fix test_asyncio timeouts: don't measure the maximum duration, a test should
+not measure a CI performance. Only measure the minimum duration when a task
+has a timeout or delay. Add ``CLOCK_RES`` to ``test_asyncio.utils``. Patch
+by Victor Stinner.
+
+..
+
+.. date: 2023-09-28-18-14-52
+.. gh-issue: 110033
+.. nonce: 2yHMx0
+.. section: Tests
+
+Fix ``test_interprocess_signal()`` of ``test_signal``. Make sure that the
+``subprocess.Popen`` object is deleted before the test raising an exception
+in a signal handler. Otherwise, ``Popen.__del__()`` can get the exception
+which is logged as ``Exception ignored in: ...`` and the test fails. Patch
+by Victor Stinner.
+
+..
+
+.. date: 2023-09-28-14-47-14
+.. gh-issue: 109594
+.. nonce: DB5KPP
+.. section: Tests
+
+Fix test_timeout() of test_concurrent_futures.test_wait. Remove the future
+which may or may not complete depending if it takes longer than the timeout
+ot not. Keep the second future which does not complete before wait()
+timeout. Patch by Victor Stinner.
+
+..
+
+.. date: 2023-09-26-00-49-18
+.. gh-issue: 109748
+.. nonce: nxlT1i
+.. section: Tests
+
+Fix ``test_zippath_from_non_installed_posix()`` of test_venv: don't copy
+``__pycache__/`` sub-directories, because they can be modified by other
+Python tests running in parallel. Patch by Victor Stinner.
+
+..
+
+.. date: 2023-09-20-02-32-17
+.. gh-issue: 103053
+.. nonce: AoUJuK
+.. section: Tests
+
+Skip test_freeze_simple_script() of test_tools.test_freeze if Python is
+built with ``./configure --enable-optimizations``, which means with Profile
+Guided Optimization (PGO): it just makes the test too slow. The freeze tool
+is tested by many other CIs with other (faster) compiler flags. Patch by
+Victor Stinner.
+
+..
+
+.. date: 2023-09-14-22-58-47
+.. gh-issue: 109396
+.. nonce: J1a4jR
+.. section: Tests
+
+Fix ``test_socket.test_hmac_sha1()`` in FIPS mode. Use a longer key: FIPS
+mode requires at least of at least 112 bits. The previous key was only 32
+bits. Patch by Victor Stinner.
+
+..
+
+.. date: 2023-09-13-05-58-09
+.. gh-issue: 104736
+.. nonce: lA25Fu
+.. section: Tests
+
+Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora
+38). Search patterns in gdb "bt" command output to detect when gdb fails to
+retrieve the traceback. For example, skip a test if ``Backtrace stopped:
+frame did not save the PC`` is found. Patch by Victor Stinner.
+
+..
+
+.. date: 2023-09-10-22-32-20
+.. gh-issue: 109237
+.. nonce: SvgKwD
+.. section: Tests
+
+Fix ``test_site.test_underpth_basic()`` when the working directory contains
+at least one non-ASCII character: encode the ``._pth`` file to UTF-8 and
+enable the UTF-8 Mode to use UTF-8 for the child process stdout. Patch by
+Victor Stinner.
+
+..
+
+.. date: 2023-09-10-19-59-57
+.. gh-issue: 109230
+.. nonce: SRNLFQ
+.. section: Tests
+
+Fix ``test_pyexpat.test_exception()``: it can now be run from a directory
+different than Python source code directory. Before, the test failed in this
+case. Skip the test if Modules/pyexpat.c source is not available. Skip also
+the test on Python implementations other than CPython. Patch by Victor
+Stinner.
+
+..
+
+.. date: 2023-09-06-18-27-53
+.. gh-issue: 109015
+.. nonce: 1dS1AQ
+.. section: Tests
+
+Fix test_asyncio, test_imaplib and test_socket tests on FreeBSD if the TCP
+blackhole is enabled (``sysctl net.inet.tcp.blackhole``). Skip the few tests
+which failed with ``ETIMEDOUT`` which such non standard configuration.
+Currently, the `FreeBSD GCP image enables TCP and UDP blackhole
+<https://reviews.freebsd.org/D41751>`_ (``sysctl net.inet.tcp.blackhole=2``
+and ``sysctl net.inet.udp.blackhole=1``). Patch by Victor Stinner.
+
+..
+
+.. date: 2023-09-06-15-36-51
+.. gh-issue: 91960
+.. nonce: P3nD5v
+.. section: Tests
+
+Skip ``test_gdb`` if gdb is unable to retrieve Python frame objects: if a
+frame is ``<optimized out>``. When Python is built with "clang -Og", gdb can
+fail to retrive the *frame* parameter of ``_PyEval_EvalFrameDefault()``. In
+this case, tests like ``py_bt()`` are likely to fail. Without getting access
+to Python frames, ``python-gdb.py`` is mostly clueless on retrieving the
+Python traceback. Moreover, ``test_gdb`` is no longer skipped on macOS if
+Python is built with Clang. Patch by Victor Stinner.
+
+..
+
+.. date: 2023-09-05-23-00-09
+.. gh-issue: 108962
+.. nonce: R4NwuU
+.. section: Tests
+
+Skip ``test_tempfile.test_flags()`` if ``chflags()`` fails with "OSError:
+[Errno 45] Operation not supported" (ex: on FreeBSD 13). Patch by Victor
+Stinner.
+
+..
+
+.. date: 2023-09-04-15-18-14
+.. gh-issue: 89392
+.. nonce: 8A4T5p
+.. section: Tests
+
+Removed support of ``test_main()`` function in tests. They now always use
+normal unittest test runner.
+
+..
+
+.. date: 2023-09-03-21-41-10
+.. gh-issue: 108851
+.. nonce: xFTYOE
+.. section: Tests
+
+Fix ``test_tomllib`` recursion tests for WASI buildbots: reduce the
+recursion limit and compute the maximum nested array/dict depending on the
+current available recursion limit. Patch by Victor Stinner.
+
+..
+
+.. date: 2023-09-03-21-18-35
+.. gh-issue: 108851
+.. nonce: CCuHyI
+.. section: Tests
+
+Add ``get_recursion_available()`` and ``get_recursion_depth()`` functions to
+the :mod:`test.support` module. Patch by Victor Stinner.
+
+..
+
+.. date: 2023-09-02-19-06-52
+.. gh-issue: 108822
+.. nonce: arTbBI
+.. section: Tests
+
+``regrtest`` now computes statistics on all tests: successes, failures and
+skipped. ``test_netrc``, ``test_pep646_syntax`` and ``test_xml_etree`` now
+return results in their ``test_main()`` function. Patch by Victor Stinner
+and Alex Waygood.
+
+..
+
+.. date: 2023-08-24-06-10-36
+.. gh-issue: 108388
+.. nonce: YCVB0D
+.. section: Tests
+
+Convert test_concurrent_futures to a package of 7 sub-tests. Patch by Victor
+Stinner.
+
+..
+
+.. date: 2023-08-24-04-23-35
+.. gh-issue: 108388
+.. nonce: mr0MeE
+.. section: Tests
+
+Split test_multiprocessing_fork, test_multiprocessing_forkserver and
+test_multiprocessing_spawn into test packages. Each package is made of 4
+sub-tests: processes, threads, manager and misc. It allows running more
+tests in parallel and so reduce the total test duration. Patch by Victor
+Stinner.
+
+..
+
+.. date: 2023-06-28-02-51-08
+.. gh-issue: 101634
+.. nonce: Rayczr
+.. section: Tests
+
+When running the Python test suite with ``-jN`` option, if a worker stdout
+cannot be decoded from the locale encoding report a failed testn so the
+exitcode is non-zero. Patch by Victor Stinner.
+
+..
+
+.. date: 2022-12-08-00-03-37
+.. gh-issue: 100086
+.. nonce: 1zYpto
+.. section: Tests
+
+The Python test runner (libregrtest) now logs Python build information like
+"debug" vs "release" build, or LTO and PGO optimizations. Patch by Victor
+Stinner.
+
+..
+
+.. date: 2022-10-31-14-47-49
+.. gh-issue: 98903
+.. nonce: 7KinCV
+.. section: Tests
+
+The Python test suite now fails wit exit code 4 if no tests ran. It should
+help detecting typos in test names and test methods.
+
+..
+
+.. date: 2022-10-20-17-49-50
+.. gh-issue: 95027
+.. nonce: viRpJB
+.. section: Tests
+
+On Windows, when the Python test suite is run with the ``-jN`` option, the
+ANSI code page is now used as the encoding for the stdout temporary file,
+rather than using UTF-8 which can lead to decoding errors. Patch by Victor
+Stinner.
+
+..
+
+.. date: 2022-06-16-17-50-58
+.. gh-issue: 93353
+.. nonce: JdpATx
+.. section: Tests
+
+regrtest now checks if a test leaks temporary files or directories if run
+with -jN option. Patch by Victor Stinner.
+
+..
+
+.. date: 2023-09-02-18-04-15
+.. gh-issue: 63760
+.. nonce: r8hJ6q
+.. section: Build
+
+Fix Solaris build: no longer redefine the ``gethostname()`` function.
+Solaris defines the function since 2005. Patch by Victor Stinner, original
+patch by Jakub Kulík.
+
+..
+
+.. date: 2023-09-01-01-39-26
+.. gh-issue: 108740
+.. nonce: JHExAQ
+.. section: Build
+
+Fix a race condition in ``make regen-all``. The ``deepfreeze.c`` source and
+files generated by Argument Clinic are now generated or updated before
+generating "global objects". Previously, some identifiers may miss depending
+on the order in which these files were generated. Patch by Victor Stinner.
+
+..
+
+.. date: 2023-09-28-17-09-23
+.. gh-issue: 109991
+.. nonce: CIMftz
+.. section: Windows
+
+Update Windows build to use OpenSSL 3.0.11.
+
+..
+
+.. date: 2023-09-05-10-08-47
+.. gh-issue: 107565
+.. nonce: CIMftz
+.. section: Windows
+
+Update Windows build to use OpenSSL 3.0.10.
+
+..
+
+.. date: 2023-09-27-22-35-22
+.. gh-issue: 109991
+.. nonce: -xJzaF
+.. section: macOS
+
+Update macOS installer to use OpenSSL 3.0.11.
+
+..
+
+.. date: 2023-09-27-23-31-54
+.. gh-issue: 109991
+.. nonce: sUUYY8
+.. section: Tools/Demos
+
+Update GitHub CI workflows to use OpenSSL 3.0.11 and multissltests to use
+1.1.1w, 3.0.11, and 3.1.3.
diff --git a/Misc/NEWS.d/next/Build/2023-09-01-01-39-26.gh-issue-108740.JHExAQ.rst b/Misc/NEWS.d/next/Build/2023-09-01-01-39-26.gh-issue-108740.JHExAQ.rst
deleted file mode 100644
index 190d50387f3..00000000000
--- a/Misc/NEWS.d/next/Build/2023-09-01-01-39-26.gh-issue-108740.JHExAQ.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix a race condition in ``make regen-all``. The ``deepfreeze.c`` source and
-files generated by Argument Clinic are now generated or updated before
-generating "global objects". Previously, some identifiers may miss depending
-on the order in which these files were generated. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Build/2023-09-02-18-04-15.gh-issue-63760.r8hJ6q.rst b/Misc/NEWS.d/next/Build/2023-09-02-18-04-15.gh-issue-63760.r8hJ6q.rst
deleted file mode 100644
index 9a7249e923e..00000000000
--- a/Misc/NEWS.d/next/Build/2023-09-02-18-04-15.gh-issue-63760.r8hJ6q.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix Solaris build: no longer redefine the ``gethostname()`` function. Solaris
-defines the function since 2005. Patch by Victor Stinner, original patch by
-Jakub Kulík.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-08-30-15-41-47.gh-issue-108520.u0ZGP_.rst b/Misc/NEWS.d/next/Core and Builtins/2023-08-30-15-41-47.gh-issue-108520.u0ZGP_.rst
deleted file mode 100644
index 44131fb11f0..00000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2023-08-30-15-41-47.gh-issue-108520.u0ZGP_.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :meth:`multiprocessing.synchronize.SemLock.__setstate__` to properly initialize :attr:`multiprocessing.synchronize.SemLock._is_fork_ctx`. This fixes a regression when passing a SemLock accross nested processes.
-
-Rename :attr:`multiprocessing.synchronize.SemLock.is_fork_ctx` to :attr:`multiprocessing.synchronize.SemLock._is_fork_ctx` to avoid exposing it as public API.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-09-05-20-52-17.gh-issue-108959.6z45Sy.rst b/Misc/NEWS.d/next/Core and Builtins/2023-09-05-20-52-17.gh-issue-108959.6z45Sy.rst
deleted file mode 100644
index 792bbc454f2..00000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2023-09-05-20-52-17.gh-issue-108959.6z45Sy.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix caret placement for error locations for subscript and binary operations
-that involve non-semantic parentheses and spaces. Patch by Pablo Galindo
diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-09-07-16-05-36.gh-issue-88943.rH_X3W.rst b/Misc/NEWS.d/next/Core and Builtins/2023-09-07-16-05-36.gh-issue-88943.rH_X3W.rst
deleted file mode 100644
index a99830fe422..00000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2023-09-07-16-05-36.gh-issue-88943.rH_X3W.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Improve syntax error for non-ASCII character that follows a numerical
-literal. It now points on the invalid non-ASCII character, not on the valid
-numerical literal.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-09-09-21-17-18.gh-issue-109179.ZR8qs2.rst b/Misc/NEWS.d/next/Core and Builtins/2023-09-09-21-17-18.gh-issue-109179.ZR8qs2.rst
deleted file mode 100644
index dd95a8ec792..00000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2023-09-09-21-17-18.gh-issue-109179.ZR8qs2.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix bug where the C traceback display drops notes from :exc:`SyntaxError`.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-09-10-18-53-55.gh-issue-109207.Fei8bY.rst b/Misc/NEWS.d/next/Core and Builtins/2023-09-10-18-53-55.gh-issue-109207.Fei8bY.rst
deleted file mode 100644
index f9da3ac4d1a..00000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2023-09-10-18-53-55.gh-issue-109207.Fei8bY.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix a SystemError in ``__repr__`` of symtable entry object.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-09-12-16-00-42.gh-issue-109351.kznGeR.rst b/Misc/NEWS.d/next/Core and Builtins/2023-09-12-16-00-42.gh-issue-109351.kznGeR.rst
deleted file mode 100644
index 23b81c1c0a3..00000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2023-09-12-16-00-42.gh-issue-109351.kznGeR.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix crash when compiling an invalid AST involving a named (walrus)
-expression.
diff --git a/Misc/NEWS.d/next/Documentation/2023-03-19-09-39-31.gh-issue-102823.OzsOz0.rst b/Misc/NEWS.d/next/Documentation/2023-03-19-09-39-31.gh-issue-102823.OzsOz0.rst
deleted file mode 100644
index 1e32f3c8923..00000000000
--- a/Misc/NEWS.d/next/Documentation/2023-03-19-09-39-31.gh-issue-102823.OzsOz0.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Document the return type of ``x // y`` when ``x`` and ``y`` have type
-:class:`float`.
diff --git a/Misc/NEWS.d/next/Documentation/2023-05-29-14-10-24.gh-issue-105052.MGFwbm.rst b/Misc/NEWS.d/next/Documentation/2023-05-29-14-10-24.gh-issue-105052.MGFwbm.rst
deleted file mode 100644
index 8fdc38d439f..00000000000
--- a/Misc/NEWS.d/next/Documentation/2023-05-29-14-10-24.gh-issue-105052.MGFwbm.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update ``timeit`` doc to specify that time in seconds is just the default.
diff --git a/Misc/NEWS.d/next/Documentation/2023-09-10-02-39-06.gh-issue-109209.0LBewo.rst b/Misc/NEWS.d/next/Documentation/2023-09-10-02-39-06.gh-issue-109209.0LBewo.rst
deleted file mode 100644
index 79cc0b72ec7..00000000000
--- a/Misc/NEWS.d/next/Documentation/2023-09-10-02-39-06.gh-issue-109209.0LBewo.rst
+++ /dev/null
@@ -1 +0,0 @@
-The minimum Sphinx version required for the documentation is now 4.2.
diff --git a/Misc/NEWS.d/next/Library/2022-12-24-12-50-54.gh-issue-84867.OhaLbU.rst b/Misc/NEWS.d/next/Library/2022-12-24-12-50-54.gh-issue-84867.OhaLbU.rst
deleted file mode 100644
index 8b45dcee481..00000000000
--- a/Misc/NEWS.d/next/Library/2022-12-24-12-50-54.gh-issue-84867.OhaLbU.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-:class:`unittest.TestLoader` no longer loads test cases from exact
-:class:`unittest.TestCase` and :class:`unittest.FunctionTestCase` classes.
diff --git a/Misc/NEWS.d/next/Library/2023-05-22-18-39-53.gh-issue-104372.7tDRaK.rst b/Misc/NEWS.d/next/Library/2023-05-22-18-39-53.gh-issue-104372.7tDRaK.rst
deleted file mode 100644
index ea13ec85543..00000000000
--- a/Misc/NEWS.d/next/Library/2023-05-22-18-39-53.gh-issue-104372.7tDRaK.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-On Linux where :mod:`subprocess` can use the ``vfork()`` syscall for faster
-spawning, prevent the parent process from blocking other threads by dropping
-the GIL while it waits for the vfork'ed child process ``exec()`` outcome.
-This prevents spawning a binary from a slow filesystem from blocking the
-rest of the application.
diff --git a/Misc/NEWS.d/next/Library/2023-08-14-11-18-13.gh-issue-107913.4ooY6i.rst b/Misc/NEWS.d/next/Library/2023-08-14-11-18-13.gh-issue-107913.4ooY6i.rst
deleted file mode 100644
index de5e21abfc3..00000000000
--- a/Misc/NEWS.d/next/Library/2023-08-14-11-18-13.gh-issue-107913.4ooY6i.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix possible losses of ``errno`` and ``winerror`` values in :exc:`OSError`
-exceptions if they were cleared or modified by the cleanup code before
-creating the exception object.
diff --git a/Misc/NEWS.d/next/Library/2023-08-22-22-29-42.gh-issue-64662.jHl_Bt.rst b/Misc/NEWS.d/next/Library/2023-08-22-22-29-42.gh-issue-64662.jHl_Bt.rst
deleted file mode 100644
index 1b4c33a82b0..00000000000
--- a/Misc/NEWS.d/next/Library/2023-08-22-22-29-42.gh-issue-64662.jHl_Bt.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix support for virtual tables in :meth:`sqlite3.Connection.iterdump`. Patch
-by Aviv Palivoda.
diff --git a/Misc/NEWS.d/next/Library/2023-08-26-12-35-39.gh-issue-105829.kyYhWI.rst b/Misc/NEWS.d/next/Library/2023-08-26-12-35-39.gh-issue-105829.kyYhWI.rst
deleted file mode 100644
index eaa2a5a4330..00000000000
--- a/Misc/NEWS.d/next/Library/2023-08-26-12-35-39.gh-issue-105829.kyYhWI.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix concurrent.futures.ProcessPoolExecutor deadlock
diff --git a/Misc/NEWS.d/next/Library/2023-08-30-20-10-28.gh-issue-108682.c2gzLQ.rst b/Misc/NEWS.d/next/Library/2023-08-30-20-10-28.gh-issue-108682.c2gzLQ.rst
deleted file mode 100644
index 148d4329142..00000000000
--- a/Misc/NEWS.d/next/Library/2023-08-30-20-10-28.gh-issue-108682.c2gzLQ.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Enum: raise :exc:`TypeError` if ``super().__new__()`` is called from a
-custom ``__new__``.
diff --git a/Misc/NEWS.d/next/Library/2023-09-06-04-30-05.gh-issue-108843.WJMhsS.rst b/Misc/NEWS.d/next/Library/2023-09-06-04-30-05.gh-issue-108843.WJMhsS.rst
deleted file mode 100644
index 0f15761c14b..00000000000
--- a/Misc/NEWS.d/next/Library/2023-09-06-04-30-05.gh-issue-108843.WJMhsS.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix an issue in :func:`ast.unparse` when unparsing f-strings containing many quote types.
diff --git a/Misc/NEWS.d/next/Library/2023-09-08-12-09-55.gh-issue-108987.x5AIG8.rst b/Misc/NEWS.d/next/Library/2023-09-08-12-09-55.gh-issue-108987.x5AIG8.rst
deleted file mode 100644
index 16526ee748d..00000000000
--- a/Misc/NEWS.d/next/Library/2023-09-08-12-09-55.gh-issue-108987.x5AIG8.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix :func:`_thread.start_new_thread` race condition. If a thread is created
-during Python finalization, the newly spawned thread now exits immediately
-instead of trying to access freed memory and lead to a crash. Patch by
-Victor Stinner.
diff --git a/Misc/NEWS.d/next/Library/2023-09-09-15-08-37.gh-issue-50644.JUAZOh.rst b/Misc/NEWS.d/next/Library/2023-09-09-15-08-37.gh-issue-50644.JUAZOh.rst
deleted file mode 100644
index a7a442e3528..00000000000
--- a/Misc/NEWS.d/next/Library/2023-09-09-15-08-37.gh-issue-50644.JUAZOh.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Attempts to pickle or create a shallow or deep copy of :mod:`codecs` streams
-now raise a TypeError. Previously, copying failed with a RecursionError,
-while pickling produced wrong results that eventually caused unpickling
-to fail with a RecursionError.
diff --git a/Misc/NEWS.d/next/Library/2023-09-11-00-32-18.gh-issue-107219.3zqyFT.rst b/Misc/NEWS.d/next/Library/2023-09-11-00-32-18.gh-issue-107219.3zqyFT.rst
deleted file mode 100644
index 10afbcf8233..00000000000
--- a/Misc/NEWS.d/next/Library/2023-09-11-00-32-18.gh-issue-107219.3zqyFT.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix a race condition in ``concurrent.futures``. When a process in the
-process pool was terminated abruptly (while the future was running or
-pending), close the connection write end. If the call queue is blocked on
-sending bytes to a worker process, closing the connection write end interrupts
-the send, so the queue can be closed. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Library/2023-09-13-17-22-44.gh-issue-109375.ijJHZ9.rst b/Misc/NEWS.d/next/Library/2023-09-13-17-22-44.gh-issue-109375.ijJHZ9.rst
deleted file mode 100644
index 9b7a85d05f6..00000000000
--- a/Misc/NEWS.d/next/Library/2023-09-13-17-22-44.gh-issue-109375.ijJHZ9.rst
+++ /dev/null
@@ -1 +0,0 @@
-The :mod:`pdb` ``alias`` command now prevents registering aliases without arguments.
diff --git a/Misc/NEWS.d/next/Library/2023-09-20-17-45-46.gh-issue-109613.P13ogN.rst b/Misc/NEWS.d/next/Library/2023-09-20-17-45-46.gh-issue-109613.P13ogN.rst
deleted file mode 100644
index e21a758fc2e..00000000000
--- a/Misc/NEWS.d/next/Library/2023-09-20-17-45-46.gh-issue-109613.P13ogN.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix :func:`os.stat` and :meth:`os.DirEntry.stat`: check for exceptions.
-Previously, on Python built in debug mode, these functions could trigger a
-fatal Python error (and abort the process) when a function succeeded with an
-exception set. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Library/2023-09-22-20-16-44.gh-issue-109593.LboaNM.rst b/Misc/NEWS.d/next/Library/2023-09-22-20-16-44.gh-issue-109593.LboaNM.rst
deleted file mode 100644
index 292aea0be24..00000000000
--- a/Misc/NEWS.d/next/Library/2023-09-22-20-16-44.gh-issue-109593.LboaNM.rst
+++ /dev/null
@@ -1 +0,0 @@
-Avoid deadlocking on a reentrant call to the multiprocessing resource tracker. Such a reentrant call, though unlikely, can happen if a GC pass invokes the finalizer for a multiprocessing object such as SemLock.
diff --git a/Misc/NEWS.d/next/Library/2023-09-25-23-00-37.gh-issue-109631.eWSqpO.rst b/Misc/NEWS.d/next/Library/2023-09-25-23-00-37.gh-issue-109631.eWSqpO.rst
deleted file mode 100644
index 58af2e57068..00000000000
--- a/Misc/NEWS.d/next/Library/2023-09-25-23-00-37.gh-issue-109631.eWSqpO.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-:mod:`re` functions such as :func:`re.findall`, :func:`re.split`,
-:func:`re.search` and :func:`re.sub` which perform short repeated matches
-can now be interrupted by user.
diff --git a/Misc/NEWS.d/next/Library/2023-09-28-18-50-33.gh-issue-110038.nx_gCu.rst b/Misc/NEWS.d/next/Library/2023-09-28-18-50-33.gh-issue-110038.nx_gCu.rst
deleted file mode 100644
index 6b2abd802fc..00000000000
--- a/Misc/NEWS.d/next/Library/2023-09-28-18-50-33.gh-issue-110038.nx_gCu.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixed an issue that caused :meth:`KqueueSelector.select` to not return all
-the ready events in some cases when a file descriptor is registered for both
-read and write.
diff --git a/Misc/NEWS.d/next/Library/2023-09-28-18-53-11.gh-issue-110036.fECxTj.rst b/Misc/NEWS.d/next/Library/2023-09-28-18-53-11.gh-issue-110036.fECxTj.rst
deleted file mode 100644
index ddb11b5c354..00000000000
--- a/Misc/NEWS.d/next/Library/2023-09-28-18-53-11.gh-issue-110036.fECxTj.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-On Windows, multiprocessing ``Popen.terminate()`` now catchs
-:exc:`PermissionError` and get the process exit code. If the process is
-still running, raise again the :exc:`PermissionError`. Otherwise, the
-process terminated as expected: store its exit code. Patch by Victor
-Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2022-06-16-17-50-58.gh-issue-93353.JdpATx.rst b/Misc/NEWS.d/next/Tests/2022-06-16-17-50-58.gh-issue-93353.JdpATx.rst
deleted file mode 100644
index 4e232948f49..00000000000
--- a/Misc/NEWS.d/next/Tests/2022-06-16-17-50-58.gh-issue-93353.JdpATx.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-regrtest now checks if a test leaks temporary files or directories if run
-with -jN option. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2022-10-20-17-49-50.gh-issue-95027.viRpJB.rst b/Misc/NEWS.d/next/Tests/2022-10-20-17-49-50.gh-issue-95027.viRpJB.rst
deleted file mode 100644
index 8bf1a9d3357..00000000000
--- a/Misc/NEWS.d/next/Tests/2022-10-20-17-49-50.gh-issue-95027.viRpJB.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-On Windows, when the Python test suite is run with the ``-jN`` option, the
-ANSI code page is now used as the encoding for the stdout temporary file,
-rather than using UTF-8 which can lead to decoding errors. Patch by Victor
-Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2022-10-31-14-47-49.gh-issue-98903.7KinCV.rst b/Misc/NEWS.d/next/Tests/2022-10-31-14-47-49.gh-issue-98903.7KinCV.rst
deleted file mode 100644
index 65636ab0683..00000000000
--- a/Misc/NEWS.d/next/Tests/2022-10-31-14-47-49.gh-issue-98903.7KinCV.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-The Python test suite now fails wit exit code 4 if no tests ran. It should
-help detecting typos in test names and test methods.
diff --git a/Misc/NEWS.d/next/Tests/2022-12-08-00-03-37.gh-issue-100086.1zYpto.rst b/Misc/NEWS.d/next/Tests/2022-12-08-00-03-37.gh-issue-100086.1zYpto.rst
deleted file mode 100644
index a5f1bb9f5a5..00000000000
--- a/Misc/NEWS.d/next/Tests/2022-12-08-00-03-37.gh-issue-100086.1zYpto.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-The Python test runner (libregrtest) now logs Python build information like
-"debug" vs "release" build, or LTO and PGO optimizations. Patch by Victor
-Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-06-28-02-51-08.gh-issue-101634.Rayczr.rst b/Misc/NEWS.d/next/Tests/2023-06-28-02-51-08.gh-issue-101634.Rayczr.rst
deleted file mode 100644
index 6fbfc84c19e..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-06-28-02-51-08.gh-issue-101634.Rayczr.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-When running the Python test suite with ``-jN`` option, if a worker stdout
-cannot be decoded from the locale encoding report a failed testn so the
-exitcode is non-zero. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-08-24-04-23-35.gh-issue-108388.mr0MeE.rst b/Misc/NEWS.d/next/Tests/2023-08-24-04-23-35.gh-issue-108388.mr0MeE.rst
deleted file mode 100644
index 8cf77b1cc18..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-08-24-04-23-35.gh-issue-108388.mr0MeE.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Split test_multiprocessing_fork, test_multiprocessing_forkserver and
-test_multiprocessing_spawn into test packages. Each package is made of 4
-sub-tests: processes, threads, manager and misc. It allows running more tests
-in parallel and so reduce the total test duration. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-08-24-06-10-36.gh-issue-108388.YCVB0D.rst b/Misc/NEWS.d/next/Tests/2023-08-24-06-10-36.gh-issue-108388.YCVB0D.rst
deleted file mode 100644
index ddff07be024..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-08-24-06-10-36.gh-issue-108388.YCVB0D.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Convert test_concurrent_futures to a package of 7 sub-tests. Patch by Victor
-Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-02-19-06-52.gh-issue-108822.arTbBI.rst b/Misc/NEWS.d/next/Tests/2023-09-02-19-06-52.gh-issue-108822.arTbBI.rst
deleted file mode 100644
index e1c6df2adcb..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-02-19-06-52.gh-issue-108822.arTbBI.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``regrtest`` now computes statistics on all tests: successes, failures and
-skipped. ``test_netrc``, ``test_pep646_syntax`` and ``test_xml_etree`` now
-return results in their ``test_main()`` function. Patch by Victor Stinner
-and Alex Waygood.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-03-21-18-35.gh-issue-108851.CCuHyI.rst b/Misc/NEWS.d/next/Tests/2023-09-03-21-18-35.gh-issue-108851.CCuHyI.rst
deleted file mode 100644
index 7a5b3052af2..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-03-21-18-35.gh-issue-108851.CCuHyI.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Add ``get_recursion_available()`` and ``get_recursion_depth()`` functions to
-the :mod:`test.support` module. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-03-21-41-10.gh-issue-108851.xFTYOE.rst b/Misc/NEWS.d/next/Tests/2023-09-03-21-41-10.gh-issue-108851.xFTYOE.rst
deleted file mode 100644
index b35aaebb410..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-03-21-41-10.gh-issue-108851.xFTYOE.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``test_tomllib`` recursion tests for WASI buildbots: reduce the recursion
-limit and compute the maximum nested array/dict depending on the current
-available recursion limit. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-04-15-18-14.gh-issue-89392.8A4T5p.rst b/Misc/NEWS.d/next/Tests/2023-09-04-15-18-14.gh-issue-89392.8A4T5p.rst
deleted file mode 100644
index e1dea8e78cd..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-04-15-18-14.gh-issue-89392.8A4T5p.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Removed support of ``test_main()`` function in tests. They now always use
-normal unittest test runner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-05-23-00-09.gh-issue-108962.R4NwuU.rst b/Misc/NEWS.d/next/Tests/2023-09-05-23-00-09.gh-issue-108962.R4NwuU.rst
deleted file mode 100644
index 380fb20b888..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-05-23-00-09.gh-issue-108962.R4NwuU.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Skip ``test_tempfile.test_flags()`` if ``chflags()`` fails with "OSError:
-[Errno 45] Operation not supported" (ex: on FreeBSD 13). Patch by Victor
-Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-06-15-36-51.gh-issue-91960.P3nD5v.rst b/Misc/NEWS.d/next/Tests/2023-09-06-15-36-51.gh-issue-91960.P3nD5v.rst
deleted file mode 100644
index 46472abf980..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-06-15-36-51.gh-issue-91960.P3nD5v.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Skip ``test_gdb`` if gdb is unable to retrieve Python frame objects: if a
-frame is ``<optimized out>``. When Python is built with "clang -Og", gdb can
-fail to retrive the *frame* parameter of ``_PyEval_EvalFrameDefault()``. In
-this case, tests like ``py_bt()`` are likely to fail. Without getting access
-to Python frames, ``python-gdb.py`` is mostly clueless on retrieving the
-Python traceback. Moreover, ``test_gdb`` is no longer skipped on macOS if
-Python is built with Clang. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-06-18-27-53.gh-issue-109015.1dS1AQ.rst b/Misc/NEWS.d/next/Tests/2023-09-06-18-27-53.gh-issue-109015.1dS1AQ.rst
deleted file mode 100644
index cb641be9312..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-06-18-27-53.gh-issue-109015.1dS1AQ.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Fix test_asyncio, test_imaplib and test_socket tests on FreeBSD if the TCP
-blackhole is enabled (``sysctl net.inet.tcp.blackhole``). Skip the few tests
-which failed with ``ETIMEDOUT`` which such non standard configuration.
-Currently, the `FreeBSD GCP image enables TCP and UDP blackhole
-<https://reviews.freebsd.org/D41751>`_ (``sysctl net.inet.tcp.blackhole=2``
-and ``sysctl net.inet.udp.blackhole=1``). Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-10-19-59-57.gh-issue-109230.SRNLFQ.rst b/Misc/NEWS.d/next/Tests/2023-09-10-19-59-57.gh-issue-109230.SRNLFQ.rst
deleted file mode 100644
index 18e1e852420..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-10-19-59-57.gh-issue-109230.SRNLFQ.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix ``test_pyexpat.test_exception()``: it can now be run from a directory
-different than Python source code directory. Before, the test failed in this
-case. Skip the test if Modules/pyexpat.c source is not available. Skip also
-the test on Python implementations other than CPython. Patch by Victor
-Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-10-22-32-20.gh-issue-109237.SvgKwD.rst b/Misc/NEWS.d/next/Tests/2023-09-10-22-32-20.gh-issue-109237.SvgKwD.rst
deleted file mode 100644
index 1d762bbe1d2..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-10-22-32-20.gh-issue-109237.SvgKwD.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix ``test_site.test_underpth_basic()`` when the working directory contains
-at least one non-ASCII character: encode the ``._pth`` file to UTF-8 and
-enable the UTF-8 Mode to use UTF-8 for the child process stdout. Patch by
-Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-13-05-58-09.gh-issue-104736.lA25Fu.rst b/Misc/NEWS.d/next/Tests/2023-09-13-05-58-09.gh-issue-104736.lA25Fu.rst
deleted file mode 100644
index 85c370fc87a..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-13-05-58-09.gh-issue-104736.lA25Fu.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora
-38). Search patterns in gdb "bt" command output to detect when gdb fails to
-retrieve the traceback. For example, skip a test if ``Backtrace stopped: frame
-did not save the PC`` is found. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-14-22-58-47.gh-issue-109396.J1a4jR.rst b/Misc/NEWS.d/next/Tests/2023-09-14-22-58-47.gh-issue-109396.J1a4jR.rst
deleted file mode 100644
index 71150ecae76..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-14-22-58-47.gh-issue-109396.J1a4jR.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``test_socket.test_hmac_sha1()`` in FIPS mode. Use a longer key: FIPS
-mode requires at least of at least 112 bits. The previous key was only 32
-bits. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-20-02-32-17.gh-issue-103053.AoUJuK.rst b/Misc/NEWS.d/next/Tests/2023-09-20-02-32-17.gh-issue-103053.AoUJuK.rst
deleted file mode 100644
index 6d67bf237bd..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-20-02-32-17.gh-issue-103053.AoUJuK.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Skip test_freeze_simple_script() of test_tools.test_freeze if Python is built
-with ``./configure --enable-optimizations``, which means with Profile Guided
-Optimization (PGO): it just makes the test too slow. The freeze tool is tested
-by many other CIs with other (faster) compiler flags. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-26-00-49-18.gh-issue-109748.nxlT1i.rst b/Misc/NEWS.d/next/Tests/2023-09-26-00-49-18.gh-issue-109748.nxlT1i.rst
deleted file mode 100644
index 840366ba8d1..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-26-00-49-18.gh-issue-109748.nxlT1i.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``test_zippath_from_non_installed_posix()`` of test_venv: don't copy
-``__pycache__/`` sub-directories, because they can be modified by other Python
-tests running in parallel. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-28-14-47-14.gh-issue-109594.DB5KPP.rst b/Misc/NEWS.d/next/Tests/2023-09-28-14-47-14.gh-issue-109594.DB5KPP.rst
deleted file mode 100644
index 5a4ae2b0837..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-28-14-47-14.gh-issue-109594.DB5KPP.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix test_timeout() of test_concurrent_futures.test_wait. Remove the future
-which may or may not complete depending if it takes longer than the timeout
-ot not. Keep the second future which does not complete before wait()
-timeout. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-28-18-14-52.gh-issue-110033.2yHMx0.rst b/Misc/NEWS.d/next/Tests/2023-09-28-18-14-52.gh-issue-110033.2yHMx0.rst
deleted file mode 100644
index fb608937708..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-28-18-14-52.gh-issue-110033.2yHMx0.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix ``test_interprocess_signal()`` of ``test_signal``. Make sure that the
-``subprocess.Popen`` object is deleted before the test raising an exception
-in a signal handler. Otherwise, ``Popen.__del__()`` can get the exception
-which is logged as ``Exception ignored in: ...`` and the test fails. Patch by
-Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-29-12-48-42.gh-issue-110088.qUhRga.rst b/Misc/NEWS.d/next/Tests/2023-09-29-12-48-42.gh-issue-110088.qUhRga.rst
deleted file mode 100644
index cf44a123c2c..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-29-12-48-42.gh-issue-110088.qUhRga.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix test_asyncio timeouts: don't measure the maximum duration, a test should
-not measure a CI performance. Only measure the minimum duration when a task has
-a timeout or delay. Add ``CLOCK_RES`` to ``test_asyncio.utils``. Patch by
-Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2023-09-29-14-11-30.gh-issue-110031.fQnFnc.rst b/Misc/NEWS.d/next/Tests/2023-09-29-14-11-30.gh-issue-110031.fQnFnc.rst
deleted file mode 100644
index a8a163c567d..00000000000
--- a/Misc/NEWS.d/next/Tests/2023-09-29-14-11-30.gh-issue-110031.fQnFnc.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Skip test_threading tests using thread+fork if Python is built with Address
-Sanitizer (ASAN). Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tools-Demos/2023-09-27-23-31-54.gh-issue-109991.sUUYY8.rst b/Misc/NEWS.d/next/Tools-Demos/2023-09-27-23-31-54.gh-issue-109991.sUUYY8.rst
deleted file mode 100644
index 13c1163ab53..00000000000
--- a/Misc/NEWS.d/next/Tools-Demos/2023-09-27-23-31-54.gh-issue-109991.sUUYY8.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Update GitHub CI workflows to use OpenSSL 3.0.11 and multissltests to use
-1.1.1w, 3.0.11, and 3.1.3.
diff --git a/Misc/NEWS.d/next/Windows/2023-09-05-10-08-47.gh-issue-107565.CIMftz.rst b/Misc/NEWS.d/next/Windows/2023-09-05-10-08-47.gh-issue-107565.CIMftz.rst
deleted file mode 100644
index 024a58299ca..00000000000
--- a/Misc/NEWS.d/next/Windows/2023-09-05-10-08-47.gh-issue-107565.CIMftz.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update Windows build to use OpenSSL 3.0.10.
diff --git a/Misc/NEWS.d/next/Windows/2023-09-28-17-09-23.gh-issue-109991.CIMftz.rst b/Misc/NEWS.d/next/Windows/2023-09-28-17-09-23.gh-issue-109991.CIMftz.rst
deleted file mode 100644
index ee988f90863..00000000000
--- a/Misc/NEWS.d/next/Windows/2023-09-28-17-09-23.gh-issue-109991.CIMftz.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update Windows build to use OpenSSL 3.0.11.
diff --git a/Misc/NEWS.d/next/macOS/2023-09-27-22-35-22.gh-issue-109991.-xJzaF.rst b/Misc/NEWS.d/next/macOS/2023-09-27-22-35-22.gh-issue-109991.-xJzaF.rst
deleted file mode 100644
index 8d369988274..00000000000
--- a/Misc/NEWS.d/next/macOS/2023-09-27-22-35-22.gh-issue-109991.-xJzaF.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update macOS installer to use OpenSSL 3.0.11.
diff --git a/README.rst b/README.rst
index c26c85db42c..1b82fa67d32 100644
--- a/README.rst
+++ b/README.rst
@@ -1,4 +1,4 @@
-This is Python version 3.11.5
+This is Python version 3.11.6
=============================
.. image:: https://github.com/python/cpython/workflows/Tests/badge.svg