Python 3.13.0b1

This commit is contained in:
Thomas Wouters 2024-05-08 11:10:41 +02:00
parent c4f9823be2
commit 2268289a47
162 changed files with 1861 additions and 499 deletions

View File

@ -33,7 +33,7 @@ from sphinx.util.display import status_iterator
ISSUE_URI = 'https://bugs.python.org/issue?@action=redirect&bpo=%s'
GH_ISSUE_URI = 'https://github.com/python/cpython/issues/%s'
# Used in conf.py and updated here by python/release-tools/run_release.py
SOURCE_URI = 'https://github.com/python/cpython/tree/main/%s'
SOURCE_URI = 'https://github.com/python/cpython/tree/3.13/%s'
# monkey-patch reST parser to disable alphabetic and roman enumerated lists
from docutils.parsers.rst.states import Body

View File

@ -19,11 +19,11 @@
#define PY_MAJOR_VERSION 3
#define PY_MINOR_VERSION 13
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
#define PY_RELEASE_SERIAL 6
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
#define PY_RELEASE_SERIAL 1
/* Version as a string */
#define PY_VERSION "3.13.0a6+"
#define PY_VERSION "3.13.0b1"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Autogenerated by Sphinx on Tue Apr 9 11:53:07 2024
# Autogenerated by Sphinx on Wed May 8 11:11:17 2024
# as part of the release process.
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
@ -419,7 +419,7 @@ topics = {'assert': 'The "assert" statement\n'
'async': 'Coroutines\n'
'**********\n'
'\n'
'New in version 3.5.\n'
'Added in version 3.5.\n'
'\n'
'\n'
'Coroutine function definition\n'
@ -792,7 +792,7 @@ topics = {'assert': 'The "assert" statement\n'
'Changed in version 3.5: "__class__" module attribute is '
'now writable.\n'
'\n'
'New in version 3.7: "__getattr__" and "__dir__" module '
'Added in version 3.7: "__getattr__" and "__dir__" module '
'attributes.\n'
'\n'
'See also:\n'
@ -1206,7 +1206,7 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' await_expr ::= "await" primary\n'
'\n'
'New in version 3.5.\n',
'Added in version 3.5.\n',
'binary': 'Binary arithmetic operations\n'
'****************************\n'
'\n'
@ -1239,7 +1239,7 @@ topics = {'assert': 'The "assert" statement\n'
'The "@" (at) operator is intended to be used for matrix\n'
'multiplication. No builtin Python types implement this operator.\n'
'\n'
'New in version 3.5.\n'
'Added in version 3.5.\n'
'\n'
'The "/" (division) and "//" (floor division) operators yield the\n'
'quotient of their arguments. The numeric arguments are first\n'
@ -2765,7 +2765,7 @@ topics = {'assert': 'The "assert" statement\n'
'The "match" statement\n'
'=====================\n'
'\n'
'New in version 3.10.\n'
'Added in version 3.10.\n'
'\n'
'The match statement is used for pattern matching. Syntax:\n'
'\n'
@ -3849,7 +3849,7 @@ topics = {'assert': 'The "assert" statement\n'
'Coroutines\n'
'==========\n'
'\n'
'New in version 3.5.\n'
'Added in version 3.5.\n'
'\n'
'\n'
'Coroutine function definition\n'
@ -3976,13 +3976,18 @@ topics = {'assert': 'The "assert" statement\n'
'Type parameter lists\n'
'====================\n'
'\n'
'New in version 3.12.\n'
'Added in version 3.12.\n'
'\n'
'Changed in version 3.13: Support for default values was added '
'(see\n'
'**PEP 696**).\n'
'\n'
' type_params ::= "[" type_param ("," type_param)* "]"\n'
' type_param ::= typevar | typevartuple | paramspec\n'
' typevar ::= identifier (":" expression)?\n'
' typevartuple ::= "*" identifier\n'
' paramspec ::= "**" identifier\n'
' typevar ::= identifier (":" expression)? ("=" '
'expression)?\n'
' typevartuple ::= "*" identifier ("=" expression)?\n'
' paramspec ::= "**" identifier ("=" expression)?\n'
'\n'
'Functions (including coroutines), classes and type aliases may '
'contain\n'
@ -4081,21 +4086,41 @@ topics = {'assert': 'The "assert" statement\n'
'bounds or\n'
'constraints.\n'
'\n'
'All three flavors of type parameters can also have a *default '
'value*,\n'
'which is used when the type parameter is not explicitly '
'provided. This\n'
'is added by appending a single equals sign ("=") followed by an\n'
'expression. Like the bounds and constraints of type variables, '
'the\n'
'default value is not evaluated when the object is created, but '
'only\n'
'when the type parameters "__default__" attribute is accessed. '
'To this\n'
'end, the default value is evaluated in a separate annotation '
'scope. If\n'
'no default value is specified for a type parameter, the '
'"__default__"\n'
'attribute is set to the special sentinel object '
'"typing.NoDefault".\n'
'\n'
'The following example indicates the full set of allowed type '
'parameter\n'
'declarations:\n'
'\n'
' def overly_generic[\n'
' SimpleTypeVar,\n'
' TypeVarWithDefault = int,\n'
' TypeVarWithBound: int,\n'
' TypeVarWithConstraints: (str, bytes),\n'
' *SimpleTypeVarTuple,\n'
' **SimpleParamSpec,\n'
' *SimpleTypeVarTuple = (int, float),\n'
' **SimpleParamSpec = (str, bytearray),\n'
' ](\n'
' a: SimpleTypeVar,\n'
' b: TypeVarWithBound,\n'
' c: Callable[SimpleParamSpec, TypeVarWithConstraints],\n'
' *d: SimpleTypeVarTuple,\n'
' b: TypeVarWithDefault,\n'
' c: TypeVarWithBound,\n'
' d: Callable[SimpleParamSpec, TypeVarWithConstraints],\n'
' *e: SimpleTypeVarTuple,\n'
' ): ...\n'
'\n'
'\n'
@ -4940,8 +4965,8 @@ topics = {'assert': 'The "assert" statement\n'
'you are\n'
'in debug mode:\n'
'\n'
' > ...(3)double()\n'
' -> return x * 2\n'
' > ...(2)double()\n'
' -> breakpoint()\n'
' (Pdb) p x\n'
' 3\n'
' (Pdb) continue\n'
@ -5063,6 +5088,11 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' Changed in version 3.7: The keyword-only argument *header*.\n'
'\n'
' Changed in version 3.13: "set_trace()" will enter the '
'debugger\n'
' immediately, rather than on the next line of code to be '
'executed.\n'
'\n'
'pdb.post_mortem(traceback=None)\n'
'\n'
' Enter post-mortem debugging of the given *traceback* object. '
@ -5215,7 +5245,7 @@ topics = {'assert': 'The "assert" statement\n'
'* "$_exception": the exception if the frame is raising an '
'exception\n'
'\n'
'New in version 3.12.\n'
'Added in version 3.12.\n'
'\n'
'If a file ".pdbrc" exists in the users home directory or in '
'the\n'
@ -5271,19 +5301,22 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'b(reak) [([filename:]lineno | function) [, condition]]\n'
'\n'
' With a *lineno* argument, set a break there in the current '
'file.\n'
' With a *lineno* argument, set a break at line *lineno* in '
'the\n'
' current file. The line number may be prefixed with a '
'*filename* and\n'
' a colon, to specify a breakpoint in another file (possibly '
'one that\n'
' hasnt been loaded yet). The file is searched on '
'"sys.path".\n'
' Accepatable forms of *filename* are "/abspath/to/file.py",\n'
' "relpath/file.py", "module" and "package.module".\n'
'\n'
' With a *function* argument, set a break at the first '
'executable\n'
' statement within that function. The line number may be '
'prefixed\n'
' with a filename and a colon, to specify a breakpoint in '
'another\n'
' file (probably one that hasnt been loaded yet). The file '
'is\n'
' searched on "sys.path". Note that each breakpoint is '
'assigned a\n'
' number to which all the other breakpoint commands refer.\n'
' statement within that function. *function* can be any '
'expression\n'
' that evaluates to a function in the current namespace.\n'
'\n'
' If a second argument is present, it is an expression which '
'must\n'
@ -5295,6 +5328,9 @@ topics = {'assert': 'The "assert" statement\n'
'current\n'
' ignore count, and the associated condition if any.\n'
'\n'
' Each breakpoint is assigned a number to which all the other\n'
' breakpoint commands refer.\n'
'\n'
'tbreak [([filename:]lineno | function) [, condition]]\n'
'\n'
' Temporary breakpoint, which is removed automatically when it '
@ -5479,7 +5515,7 @@ topics = {'assert': 'The "assert" statement\n'
' List all source code for the current function or frame.\n'
' Interesting lines are marked as for "list".\n'
'\n'
' New in version 3.2.\n'
' Added in version 3.2.\n'
'\n'
'a(rgs)\n'
'\n'
@ -5512,7 +5548,7 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' Try to get source code of *expression* and display it.\n'
'\n'
' New in version 3.2.\n'
' Added in version 3.2.\n'
'\n'
'display [expression]\n'
'\n'
@ -5571,7 +5607,7 @@ topics = {'assert': 'The "assert" statement\n'
' display lst[:]: [1] [old: []]\n'
' (Pdb)\n'
'\n'
' New in version 3.2.\n'
' Added in version 3.2.\n'
'\n'
'undisplay [expression]\n'
'\n'
@ -5580,7 +5616,7 @@ topics = {'assert': 'The "assert" statement\n'
' *expression*, clear all display expressions for the current '
'frame.\n'
'\n'
' New in version 3.2.\n'
' Added in version 3.2.\n'
'\n'
'interact\n'
'\n'
@ -5603,7 +5639,7 @@ topics = {'assert': 'The "assert" statement\n'
' the mutable objects will be reflected in the original '
'namespaces.\n'
'\n'
' New in version 3.2.\n'
' Added in version 3.2.\n'
'\n'
' Changed in version 3.13: "exit()" and "quit()" can be used to '
'exit\n'
@ -5748,7 +5784,7 @@ topics = {'assert': 'The "assert" statement\n'
' > example.py(10)middle()\n'
' -> return inner(0)\n'
'\n'
' New in version 3.13.\n'
' Added in version 3.13.\n'
'\n'
'-[ Footnotes ]-\n'
'\n'
@ -5813,7 +5849,8 @@ topics = {'assert': 'The "assert" statement\n'
'dict\n'
'items and earlier dictionary unpackings.\n'
'\n'
'New in version 3.5: Unpacking into dictionary displays, originally\n'
'Added in version 3.5: Unpacking into dictionary displays, '
'originally\n'
'proposed by **PEP 448**.\n'
'\n'
'A dict comprehension, in contrast to list and set comprehensions,\n'
@ -6121,9 +6158,12 @@ topics = {'assert': 'The "assert" statement\n'
'of the module "builtins". The global namespace is searched '
'first. If\n'
'the names are not found there, the builtins namespace is '
'searched.\n'
'The "global" statement must precede all uses of the listed '
'names.\n'
'searched\n'
'next. If the names are also not found in the builtins '
'namespace, new\n'
'variables are created in the global namespace. The global '
'statement\n'
'must precede all uses of the listed names.\n'
'\n'
'The "global" statement has the same scope as a name binding '
'operation\n'
@ -6211,8 +6251,9 @@ topics = {'assert': 'The "assert" statement\n'
'annotation\n'
' scope, but its decorators are not.\n'
'\n'
'* The bounds and constraints for type variables (lazily '
'evaluated).\n'
'* The bounds, constraints, and default values for type '
'parameters\n'
' (lazily evaluated).\n'
'\n'
'* The value of type aliases (lazily evaluated).\n'
'\n'
@ -6255,9 +6296,13 @@ topics = {'assert': 'The "assert" statement\n'
'object were\n'
' defined in the enclosing scope.\n'
'\n'
'New in version 3.12: Annotation scopes were introduced in '
'Python 3.12\n'
'as part of **PEP 695**.\n'
'Added in version 3.12: Annotation scopes were introduced in '
'Python\n'
'3.12 as part of **PEP 695**.\n'
'\n'
'Changed in version 3.13: Annotation scopes are also used for '
'type\n'
'parameter defaults, as introduced by **PEP 696**.\n'
'\n'
'\n'
'Lazy evaluation\n'
@ -6265,15 +6310,15 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'The values of type aliases created through the "type" statement '
'are\n'
'*lazily evaluated*. The same applies to the bounds and '
'constraints of\n'
'type variables created through the type parameter syntax. This '
'means\n'
'that they are not evaluated when the type alias or type '
'variable is\n'
'created. Instead, they are only evaluated when doing so is '
'necessary\n'
'to resolve an attribute access.\n'
'*lazily evaluated*. The same applies to the bounds, '
'constraints, and\n'
'default values of type variables created through the type '
'parameter\n'
'syntax. This means that they are not evaluated when the type '
'alias or\n'
'type variable is created. Instead, they are only evaluated when '
'doing\n'
'so is necessary to resolve an attribute access.\n'
'\n'
'Example:\n'
'\n'
@ -6317,7 +6362,7 @@ topics = {'assert': 'The "assert" statement\n'
'looked up\n'
'as if they were used in the immediately enclosing scope.\n'
'\n'
'New in version 3.12.\n'
'Added in version 3.12.\n'
'\n'
'\n'
'Builtins and restricted execution\n'
@ -6472,9 +6517,8 @@ topics = {'assert': 'The "assert" statement\n'
'the\n'
'unpacking.\n'
'\n'
'New in version 3.5: Iterable unpacking in expression lists, '
'originally\n'
'proposed by **PEP 448**.\n'
'Added in version 3.5: Iterable unpacking in expression lists,\n'
'originally proposed by **PEP 448**.\n'
'\n'
'A trailing comma is required only to create a one-item tuple, '
'such as\n'
@ -7769,7 +7813,7 @@ topics = {'assert': 'The "assert" statement\n'
'Soft Keywords\n'
'=============\n'
'\n'
'New in version 3.10.\n'
'Added in version 3.10.\n'
'\n'
'Some identifiers are only reserved under specific contexts. '
'These are\n'
@ -8397,9 +8441,12 @@ topics = {'assert': 'The "assert" statement\n'
'namespace\n'
'of the module "builtins". The global namespace is searched '
'first. If\n'
'the names are not found there, the builtins namespace is '
'searched.\n'
'The "global" statement must precede all uses of the listed names.\n'
'the names are not found there, the builtins namespace is searched\n'
'next. If the names are also not found in the builtins namespace, '
'new\n'
'variables are created in the global namespace. The global '
'statement\n'
'must precede all uses of the listed names.\n'
'\n'
'The "global" statement has the same scope as a name binding '
'operation\n'
@ -8482,8 +8529,8 @@ topics = {'assert': 'The "assert" statement\n'
'annotation\n'
' scope, but its decorators are not.\n'
'\n'
'* The bounds and constraints for type variables (lazily '
'evaluated).\n'
'* The bounds, constraints, and default values for type parameters\n'
' (lazily evaluated).\n'
'\n'
'* The value of type aliases (lazily evaluated).\n'
'\n'
@ -8523,9 +8570,12 @@ topics = {'assert': 'The "assert" statement\n'
'were\n'
' defined in the enclosing scope.\n'
'\n'
'New in version 3.12: Annotation scopes were introduced in Python '
'3.12\n'
'as part of **PEP 695**.\n'
'Added in version 3.12: Annotation scopes were introduced in '
'Python\n'
'3.12 as part of **PEP 695**.\n'
'\n'
'Changed in version 3.13: Annotation scopes are also used for type\n'
'parameter defaults, as introduced by **PEP 696**.\n'
'\n'
'\n'
'Lazy evaluation\n'
@ -8533,15 +8583,15 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'The values of type aliases created through the "type" statement '
'are\n'
'*lazily evaluated*. The same applies to the bounds and constraints '
'of\n'
'type variables created through the type parameter syntax. This '
'means\n'
'that they are not evaluated when the type alias or type variable '
'is\n'
'created. Instead, they are only evaluated when doing so is '
'necessary\n'
'to resolve an attribute access.\n'
'*lazily evaluated*. The same applies to the bounds, constraints, '
'and\n'
'default values of type variables created through the type '
'parameter\n'
'syntax. This means that they are not evaluated when the type alias '
'or\n'
'type variable is created. Instead, they are only evaluated when '
'doing\n'
'so is necessary to resolve an attribute access.\n'
'\n'
'Example:\n'
'\n'
@ -8584,7 +8634,7 @@ topics = {'assert': 'The "assert" statement\n'
'looked up\n'
'as if they were used in the immediately enclosing scope.\n'
'\n'
'New in version 3.12.\n'
'Added in version 3.12.\n'
'\n'
'\n'
'Builtins and restricted execution\n'
@ -9503,7 +9553,7 @@ topics = {'assert': 'The "assert" statement\n'
'for\n'
' correctness.\n'
'\n'
' New in version 3.4.\n'
' Added in version 3.4.\n'
'\n'
'Note:\n'
'\n'
@ -9754,7 +9804,7 @@ topics = {'assert': 'The "assert" statement\n'
'descriptor, or\n'
' generator instance.\n'
'\n'
' New in version 3.3.\n'
' Added in version 3.3.\n'
'\n'
'definition.__type_params__\n'
'\n'
@ -9762,7 +9812,7 @@ topics = {'assert': 'The "assert" statement\n'
'type\n'
' aliases.\n'
'\n'
' New in version 3.12.\n'
' Added in version 3.12.\n'
'\n'
'class.__mro__\n'
'\n'
@ -9788,7 +9838,15 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' >>> int.__subclasses__()\n'
" [<class 'bool'>, <enum 'IntEnum'>, <flag 'IntFlag'>, "
"<class 're._constants._NamedIntConstant'>]\n",
"<class 're._constants._NamedIntConstant'>]\n"
'\n'
'class.__static_attributes__\n'
'\n'
' A tuple containing names of attributes of this class '
'which are\n'
' accessed through "self.X" from any function in its body.\n'
'\n'
' Added in version 3.13.\n',
'specialnames': 'Special method names\n'
'********************\n'
'\n'
@ -10471,7 +10529,7 @@ topics = {'assert': 'The "assert" statement\n'
'Changed in version 3.5: "__class__" module attribute is now '
'writable.\n'
'\n'
'New in version 3.7: "__getattr__" and "__dir__" module '
'Added in version 3.7: "__getattr__" and "__dir__" module '
'attributes.\n'
'\n'
'See also:\n'
@ -10840,7 +10898,7 @@ topics = {'assert': 'The "assert" statement\n'
'explicit\n'
' hint) can be accessed as "type(cls)".\n'
'\n'
' New in version 3.6.\n'
' Added in version 3.6.\n'
'\n'
'When a class is created, "type.__new__()" scans the class '
'variables\n'
@ -10872,7 +10930,7 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' See Creating the class object for more details.\n'
'\n'
' New in version 3.6.\n'
' Added in version 3.6.\n'
'\n'
'\n'
'Metaclasses\n'
@ -11474,7 +11532,7 @@ topics = {'assert': 'The "assert" statement\n'
'for\n'
' correctness.\n'
'\n'
' New in version 3.4.\n'
' Added in version 3.4.\n'
'\n'
'Note:\n'
'\n'
@ -11923,7 +11981,7 @@ topics = {'assert': 'The "assert" statement\n'
'will\n'
'raise a "TypeError".\n'
'\n'
'New in version 3.10.\n'
'Added in version 3.10.\n'
'\n'
'See also:\n'
'\n'
@ -11972,7 +12030,7 @@ topics = {'assert': 'The "assert" statement\n'
'to\n'
' implement this method.\n'
'\n'
'New in version 3.12.\n'
'Added in version 3.12.\n'
'\n'
'See also:\n'
'\n'
@ -12136,7 +12194,7 @@ topics = {'assert': 'The "assert" statement\n'
'Default\n'
' Case Folding of the Unicode Standard.\n'
'\n'
' New in version 3.3.\n'
' Added in version 3.3.\n'
'\n'
'str.center(width[, fillchar])\n'
'\n'
@ -12320,7 +12378,7 @@ topics = {'assert': 'The "assert" statement\n'
"{country}'.format_map(Default(name='Guido'))\n"
" 'Guido was born in country'\n"
'\n'
' New in version 3.2.\n'
' Added in version 3.2.\n'
'\n'
'str.index(sub[, start[, end]])\n'
'\n'
@ -12364,7 +12422,7 @@ topics = {'assert': 'The "assert" statement\n'
'have code\n'
' points in the range U+0000-U+007F.\n'
'\n'
' New in version 3.7.\n'
' Added in version 3.7.\n'
'\n'
'str.isdecimal()\n'
'\n'
@ -12604,7 +12662,7 @@ topics = {'assert': 'The "assert" statement\n'
" >>> 'BaseTestCase'.removeprefix('Test')\n"
" 'BaseTestCase'\n"
'\n'
' New in version 3.9.\n'
' Added in version 3.9.\n'
'\n'
'str.removesuffix(suffix, /)\n'
'\n'
@ -12619,7 +12677,7 @@ topics = {'assert': 'The "assert" statement\n'
" >>> 'TmpDirMixin'.removesuffix('Tests')\n"
" 'TmpDirMixin'\n"
'\n'
' New in version 3.9.\n'
' Added in version 3.9.\n'
'\n'
'str.replace(old, new, count=-1)\n'
'\n'
@ -13098,8 +13156,8 @@ topics = {'assert': 'The "assert" statement\n'
'than\n'
'Python 3.xs the "\'ur\'" syntax is not supported.\n'
'\n'
'New in version 3.3: The "\'rb\'" prefix of raw bytes literals has '
'been\n'
'Added in version 3.3: The "\'rb\'" prefix of raw bytes literals '
'has been\n'
'added as a synonym of "\'br\'".Support for the unicode legacy '
'literal\n'
'("u\'value\'") was reintroduced to simplify the maintenance of '
@ -14071,7 +14129,7 @@ topics = {'assert': 'The "assert" statement\n'
'| function.__qualname__ | The '
'functions *qualified name*. See also: |\n'
'| | '
'"__qualname__ attributes". New in version 3.3. |\n'
'"__qualname__ attributes". Added in version 3.3. |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| function.__module__ | The name of '
'the module the function was defined |\n'
@ -14114,7 +14172,7 @@ topics = {'assert': 'The "assert" statement\n'
'| function.__type_params__ | A "tuple" '
'containing the type parameters of a |\n'
'| | generic '
'function. New in version 3.12. |\n'
'function. Added in version 3.12. |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'\n'
'Function objects also support getting and setting arbitrary\n'
@ -14421,8 +14479,7 @@ topics = {'assert': 'The "assert" statement\n'
'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://docs.python.org/3/howto/mro.html.\n'
'be found at The Python 2.3 Method Resolution Order.\n'
'\n'
'When a class attribute reference (for class "C", say) would yield '
'a\n'
@ -14470,6 +14527,15 @@ topics = {'assert': 'The "assert" statement\n'
' "__type_params__"\n'
' A tuple containing the type parameters of a generic class.\n'
'\n'
' "__static_attributes__"\n'
' A tuple containing names of attributes of this class which '
'are\n'
' accessed through "self.X" from any function in its body.\n'
'\n'
' "__firstlineno__"\n'
' The line number of the first line of the class definition,\n'
' including decorators.\n'
'\n'
'\n'
'Class instances\n'
'===============\n'
@ -14566,8 +14632,8 @@ topics = {'assert': 'The "assert" statement\n'
'name |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_qualname | The fully '
'qualified function name New in version |\n'
'| | '
'qualified function name Added in |\n'
'| | version '
'3.11. |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_argcount | The total '
@ -14722,7 +14788,7 @@ topics = {'assert': 'The "assert" statement\n'
' When this occurs, some or all of the tuple elements can be '
'"None".\n'
'\n'
' New in version 3.11.\n'
' Added in version 3.11.\n'
'\n'
' Note:\n'
'\n'
@ -14780,7 +14846,7 @@ topics = {'assert': 'The "assert" statement\n'
'but\n'
' have been eliminated by the *bytecode* compiler.\n'
'\n'
' New in version 3.10.\n'
' Added in version 3.10.\n'
'\n'
' See also:\n'
'\n'
@ -14797,7 +14863,7 @@ topics = {'assert': 'The "assert" statement\n'
' Code objects are also supported by the generic function\n'
' "copy.replace()".\n'
'\n'
' New in version 3.8.\n'
' Added in version 3.8.\n'
'\n'
'\n'
'Frame objects\n'
@ -14830,8 +14896,14 @@ topics = {'assert': 'The "assert" statement\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| frame.f_locals | The '
'dictionary used by the frame to look up local |\n'
'| | variables. '
'If the frame refers to a function or |\n'
'| | '
'variables |\n'
'comprehension, this may return a write- through |\n'
'| | proxy '
'object. Changed in version 3.13: Return a |\n'
'| | proxy for '
'functions and comprehensions. |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| frame.f_globals | The '
'dictionary used by the frame to look up global |\n'
@ -14913,7 +14985,7 @@ topics = {'assert': 'The "assert" statement\n'
' "RuntimeError" is raised if the frame is currently executing or\n'
' suspended.\n'
'\n'
' New in version 3.4.\n'
' Added in version 3.4.\n'
'\n'
' Changed in version 3.13: Attempting to clear a suspended frame\n'
' raises "RuntimeError" (as has always been the case for '
@ -15306,7 +15378,7 @@ topics = {'assert': 'The "assert" statement\n'
'dictionary. This\n'
' is a shortcut for "reversed(d.keys())".\n'
'\n'
' New in version 3.8.\n'
' Added in version 3.8.\n'
'\n'
' setdefault(key[, default])\n'
'\n'
@ -15357,7 +15429,7 @@ topics = {'assert': 'The "assert" statement\n'
' *other* take priority when *d* and *other* share '
'keys.\n'
'\n'
' New in version 3.9.\n'
' Added in version 3.9.\n'
'\n'
' d |= other\n'
'\n'
@ -15369,7 +15441,7 @@ topics = {'assert': 'The "assert" statement\n'
'and *other*\n'
' share keys.\n'
'\n'
' New in version 3.9.\n'
' Added in version 3.9.\n'
'\n'
' Dictionaries compare equal if and only if they have the '
'same "(key,\n'
@ -15491,7 +15563,7 @@ topics = {'assert': 'The "assert" statement\n'
'original\n'
' dictionary to which the view refers.\n'
'\n'
' New in version 3.10.\n'
' Added in version 3.10.\n'
'\n'
'Keys views are set-like since their entries are unique and '
'*hashable*.\n'
@ -16031,7 +16103,7 @@ topics = {'assert': 'The "assert" statement\n'
'mutable\n'
' sequence classes provide it.\n'
'\n'
' New in version 3.3: "clear()" and "copy()" methods.\n'
' Added in version 3.3: "clear()" and "copy()" methods.\n'
'\n'
'6. The value *n* is an integer, or an object implementing\n'
' "__index__()". Zero and negative values of *n* clear the '
@ -16499,7 +16571,8 @@ topics = {'assert': 'The "assert" statement\n'
'concrete mutable\n'
' sequence classes provide it.\n'
'\n'
' New in version 3.3: "clear()" and "copy()" methods.\n'
' Added in version 3.3: "clear()" and "copy()" '
'methods.\n'
'\n'
'6. The value *n* is an integer, or an object '
'implementing\n'

1670
Misc/NEWS.d/3.13.0b1.rst Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +0,0 @@
:program:`configure` now uses :program:`pkg-config` to detect :mod:`decimal`
dependencies if the :option:`--with-system-libmpdec` option is given.

View File

@ -1,2 +0,0 @@
Increase WASI stack size from 512 KiB to 8 MiB and the initial memory from 10
MiB to 20 MiB. Patch by Victor Stinner.

View File

@ -1 +0,0 @@
A testbed project was added to run the test suite on Android.

View File

@ -1 +0,0 @@
Fix building against recent libedit versions by detecting readline hook signatures in :program:`configure`.

View File

@ -1,2 +0,0 @@
The :file:`configure` option :option:`--with-system-libmpdec` now defaults to ``yes``.
The bundled copy of ``libmpdecimal`` will be removed in Python 3.15.

View File

@ -1,2 +0,0 @@
Fixes Windows build when invoked directly (not through the :file:`build.bat`
script) without specifying a value for ``UseTIER2``.

View File

@ -1 +0,0 @@
Add a C-API for firing monitoring events.

View File

@ -1,2 +0,0 @@
Fixed skipitem()'s handling of the old 'w' and 'w#' formatters. These are
no longer supported and now raise an exception if used.

View File

@ -1,3 +0,0 @@
Improve validation logic in the C implementation of
:meth:`datetime.datetime.fromisoformat` to better handle invalid years.
Patch by Vlad Efanov.

View File

@ -1,2 +0,0 @@
Restore removed :c:func:`PyEval_InitThreads` function. Patch by Victor
Stinner.

View File

@ -1,8 +0,0 @@
Restore functions removed in Python 3.13 alpha 1:
* :c:func:`Py_SetPythonHome`
* :c:func:`Py_SetProgramName`
* :c:func:`PySys_SetArgvEx`
* :c:func:`PySys_SetArgv`
Patch by Victor Stinner.

View File

@ -1,7 +0,0 @@
Add "Raw" variant of PyTime functions
* :c:func:`PyTime_MonotonicRaw`
* :c:func:`PyTime_PerfCounterRaw`
* :c:func:`PyTime_TimeRaw`
Patch by Victor Stinner.

View File

@ -1,3 +0,0 @@
Fix :c:macro:`Py_BUILD_ASSERT` and :c:macro:`Py_BUILD_ASSERT_EXPR` for
non-constant expressions: use ``static_assert()`` on C11 and newer.
Patch by Victor Stinner.

View File

@ -1,2 +0,0 @@
Allow the *globals* and *locals* arguments to :func:`exec`
and :func:`eval` to be passed as keywords.

View File

@ -1,2 +0,0 @@
Elide uninformative traceback indicators in ``return`` and simple
``assignment`` statements. Patch by Pablo Galindo.

View File

@ -1,4 +0,0 @@
Improve the error message when a script shadowing a module from the standard
library causes :exc:`AttributeError` to be raised. Similarly, improve the error
message when a script shadowing a third party module attempts to access an
attribute from that third party module while still initialising.

View File

@ -1 +0,0 @@
Improved the performance of :func:`sys.settrace` significantly

View File

@ -1,4 +0,0 @@
Add two new functions to the C-API, :c:func:`PyRefTracer_SetTracer` and
:c:func:`PyRefTracer_GetTracer`, that allows to track object creation and
destruction the same way the :mod:`tracemalloc` module does. Patch by Pablo
Galindo

View File

@ -1,2 +0,0 @@
Implement :pep:`696`, adding support for defaults on type parameters.
Patch by Jelle Zijlstra.

View File

@ -1,5 +0,0 @@
Extension modules may indicate to the runtime that they can run without the
GIL. Multi-phase init modules do so by calling providing
``Py_MOD_GIL_NOT_USED`` for the ``Py_mod_gil`` slot, while single-phase init
modules call ``PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED)`` from
their init function.

View File

@ -1 +0,0 @@
Remove unhandled ``PY_MONITORING_EVENT_BRANCH`` and ``PY_MONITORING_EVENT_EXCEPTION_HANDLED`` events from :func:`sys.settrace`.

View File

@ -1 +0,0 @@
Speedup :func:`os.path.relpath`.

View File

@ -1 +0,0 @@
Speedup :func:`os.path.join`.

View File

@ -1 +0,0 @@
Speedup :func:`os.path.commonpath` on Unix.

View File

@ -1,2 +0,0 @@
Statically allocated objects are, by definition, immortal so must be
marked as such regardless of whether they are in extension modules or not.

View File

@ -1 +0,0 @@
Give ``_PyInstructionSequence`` a Python interface and use it in tests.

View File

@ -1,3 +0,0 @@
Speed up calls to :func:`str` with positional-only argument,
by using the :pep:`590` ``vectorcall`` calling convention.
Patch by Erlend Aasland.

View File

@ -1,9 +0,0 @@
Improve the performance of the following :class:`bytes` and
:class:`bytearray` methods by adapting them to the :c:macro:`METH_FASTCALL`
calling convention:
* :meth:`!count`
* :meth:`!find`
* :meth:`!index`
* :meth:`!rfind`
* :meth:`!rindex`

View File

@ -1,3 +0,0 @@
Fix issue where an object's dict would get out of sync with the object's
internal values when being cleared. ``obj.__dict__.clear()`` now clears the
internal values, but leaves the dict attached to the object.

View File

@ -1,2 +0,0 @@
Fix mimalloc allocator for huge memory allocation (around 8,589,934,592 GiB) on
s390x. Patch by Victor Stinner.

View File

@ -1 +0,0 @@
Fix a :exc:`RuntimeWarning` when calling ``agen.aclose().throw(Exception)``.

View File

@ -1 +0,0 @@
Fixed a possible segfault during garbage collection of ``_asyncio.FutureIter`` objects

View File

@ -1 +0,0 @@
prevent concurrent access to an async generator via athrow().throw() or asend().throw()

View File

@ -1 +0,0 @@
Prevent ``agen.aclose()`` objects being re-used after ``.throw()``.

View File

@ -1,2 +0,0 @@
:ref:`annotation scope <annotation-scopes>` within class scopes can now
contain lambdas.

View File

@ -1 +0,0 @@
Redirect stdout and stderr to system log when embedded in an Android app.

View File

@ -1 +0,0 @@
Add option for compiler's codegen to save nested instruction sequences for introspection.

View File

@ -1,2 +0,0 @@
Added a ``get_jit_code()`` method to access JIT compiled machine code from the UOp Executor when the experimental JIT is enabled. Patch
by Anthony Shaw.

View File

@ -1 +0,0 @@
Speed up :func:`os.path.splitroot` with a native implementation.

View File

@ -1 +0,0 @@
Improve :exc:`SyntaxError` message for empty type param brackets.

View File

@ -1,3 +0,0 @@
Improve :exc:`SyntaxError` message for imports without names, like in
``from x import`` and ``import`` cases. It now points
out to users that :keyword:`import` expects at least one name after it.

View File

@ -1 +0,0 @@
Lazy load frame line number to improve performance of tracing

View File

@ -1,2 +0,0 @@
Make sure that the Executor objects in the COLD_EXITS array aren't assumed
to be GC-able (which would access bytes outside the object).

View File

@ -1 +0,0 @@
Don't consider :mod:`__future__` imports with dots before the module name.

View File

@ -1,2 +0,0 @@
Fix bug where ``generator.close`` does not free the generator frame's
locals.

View File

@ -1,3 +0,0 @@
:ref:`Annotation scopes <annotation-scopes>` within classes can now contain
comprehensions. However, such comprehensions are not inlined into their
parent scope at runtime. Patch by Jelle Zijlstra.

View File

@ -1 +0,0 @@
Update JIT compilation to use LLVM 18

View File

@ -1,7 +0,0 @@
Change how to use the tier 2 interpreter. Instead of running Python with
``-X uops`` or setting the environment variable ``PYTHON_UOPS=1``, this
choice is now made at build time by configuring with
``--enable-experimental-jit=interpreter``.
**Beware!** This changes the environment variable to enable or disable
micro-ops to ``PYTHON_JIT``. The old ``PYTHON_UOPS`` is no longer used.

View File

@ -1 +0,0 @@
Fix crash in compiler on 'async with' that has many context managers.

View File

@ -1,3 +0,0 @@
Implement PEP 667: converted :attr:`FrameType.f_locals <frame.f_locals>`
and :c:func:`PyFrame_GetLocals` to return a write-through proxy object
when the frame refers to a function or comprehension.

View File

@ -1,4 +0,0 @@
The :term:`interactive` interpreter is now implemented in Python, which
allows for a number of new features like colors, multiline input, history
viewing, and paste mode. Contributed by Pablo Galindo, Łukasz Langa and
Lysandros Nikolaou based on code from the PyPy project.

View File

@ -1 +0,0 @@
update ``async_generator.athrow().close()`` and ``async_generator.asend().close()`` to close their section of the underlying async generator

View File

@ -1,2 +0,0 @@
Fix an issue where the type cache can expose a previously accessed attribute
when a finalizer is run.

View File

@ -1,2 +0,0 @@
Compiler populates the new ``__firstlineno__`` field on a class with the
line number of the first line of the class definition.

View File

@ -1 +0,0 @@
Fix :func:`sys.set_asyncgen_hooks` not to be partially set when raising :exc:`TypeError`.

View File

@ -1,4 +0,0 @@
Break a loop between the Python implementation of the :mod:`decimal` module
and the Python code for integer to string conversion. Also optimize integer
to string conversion for values in the range from 9_000 to 135_000 decimal
digits.

View File

@ -1,4 +0,0 @@
Add ``sys._is_gil_enabled()`` function that returns whether the GIL is
currently enabled. In the default build it always returns ``True`` because
the GIL is always enabled. In the free-threaded build, it may return
``True`` or ``False``.

View File

@ -1,4 +0,0 @@
Allow the Linux perf support to work without frame pointers using perf's
advanced JIT support. The feature is activated when using the
``PYTHON_PERF_JIT_SUPPORT`` environment variable or when running Python with
``-Xperf_jit``. Patch by Pablo Galindo.

View File

@ -1 +0,0 @@
Fix incorrect :exc:`UnboundLocalError` when two comprehensions in the same function both reference the same name, and in one comprehension the name is bound while in the other it's an implicit global.

View File

@ -1 +0,0 @@
In ``--disable-gil`` builds, the GIL will be enabled while loading C extension modules. If the module indicates that it supports running without the GIL, the GIL will be disabled once loading is complete. Otherwise, the GIL will remain enabled for the remainder of the interpreter's lifetime. This behavior does not apply if the GIL has been explicitly enabled or disabled with ``PYTHON_GIL`` or ``-Xgil``.

View File

@ -1,2 +0,0 @@
Improve performance of :func:`json.dumps` and :func:`json.dump` when using the argument *indent*. Depending on the data the encoding using
:func:`json.dumps` with *indent* can be up to 2 to 3 times faster.

View File

@ -1,5 +0,0 @@
Don't use designated initializer syntax in inline functions in internal
headers. They cause problems for C++ or MSVC users who aren't yet using the
latest C++ standard (C++20). While internal, pycore_backoff.h, is included
(indirectly, via pycore_code.h) by some key 3rd party software that does so
for speed.

View File

@ -1,8 +0,0 @@
When a builtin or extension module is imported for the first time, while a
subinterpreter is active, the module's init function is now run by the main
interpreter first before import continues in the subinterpreter.
Consequently, single-phase init modules now fail in an isolated
subinterpreter without the init function running under that interpreter,
whereas before it would run under the subinterpreter *before* failing,
potentially leaving behind global state and callbacks and otherwise leaving
the module in an inconsistent state.

View File

@ -1 +0,0 @@
Add instrumented opcodes to YIELD_VALUE assertion for tracing cases.

View File

@ -1 +0,0 @@
The minimum Sphinx version required for the documentation is now 6.2.1.

View File

@ -1 +0,0 @@
Use user-selected color theme for Help => IDLE Doc.

View File

@ -1 +0,0 @@
Add the :meth:`!after_info` method for Tkinter widgets.

View File

@ -1 +0,0 @@
Fix parsing of emails with invalid address headers having a leading or trailing dot. Patch by tsufeki.

View File

@ -1 +0,0 @@
:func:`shutil.chown` now supports *dir_fd* and *follow_symlinks* keyword arguments.

View File

@ -1 +0,0 @@
Add mime type mapping for .md <-> text/markdown

View File

@ -1 +0,0 @@
Fix several IndexError when parse emails with truncated Message-ID, address, routes, etc, e.g. ``example@``.

View File

@ -1,7 +0,0 @@
Callbacks registered in the :mod:`tkinter` module now take arguments as
various Python objects (``int``, ``float``, ``bytes``, ``tuple``), not just
``str``. To restore the previous behavior set :mod:`!tkinter` module global
:data:`~tkinter.wantobject` to ``1`` before creating the
:class:`~tkinter.Tk` object or call the :meth:`~tkinter.Tk.wantobject`
method of the :class:`!Tk` object with argument ``1``. Calling it with
argument ``2`` restores the current default behavior.

View File

@ -1 +0,0 @@
HEAD requests are no longer upgraded to GET request during redirects in urllib.

View File

@ -1,5 +0,0 @@
Bring pure Python implementation ``functools.partial.__new__`` more in line
with the C-implementation by not just always checking for the presence of
the attribute ``'func'`` on the first argument of ``partial``. Instead, both
the Python version and the C version perform an ``isinstance(func, partial)``
check on the first argument of ``partial``.

View File

@ -1,2 +0,0 @@
Adjust ``logging.LogRecord`` to use ``time.time_ns()`` and fix minor bug
related to floating point math.

View File

@ -1,2 +0,0 @@
Fix assertion errors caused by whitespace in metavars or ``SUPPRESS``-ed groups
in :mod:`argparse` by simplifying usage formatting. Patch by Ali Hamdan.

View File

@ -1,3 +0,0 @@
The :class:`types.SimpleNamespace` now accepts an optional positional
argument which specifies initial values of attributes as a dict or an
iterable of key-value pairs.

View File

@ -1 +0,0 @@
Add :meth:`~object.__class_getitem__` to :class:`types.GeneratorType` and :class:`types.CoroutineType` for type hinting purposes. Patch by James Hilton-Balfe.

View File

@ -1,3 +0,0 @@
Enabled arbitrary statements and evaluations in :mod:`pdb` shell to access the
local variables of the current frame, which made it possible for multi-scope
code like generators or nested function to work.

View File

@ -1,2 +0,0 @@
:mod:`ncurses`: fixed a crash that could occur on macOS 13 or earlier when
Python was built with Apple Xcode 15's SDK.

View File

@ -1 +0,0 @@
Support opcode events in :mod:`bdb`

View File

@ -1,2 +0,0 @@
Speed up pickling of :class:`pathlib.PurePath` objects. Patch by Barney
Gale.

View File

@ -1 +0,0 @@
Print colorized exception just like built-in traceback in :mod:`pdb`

View File

@ -1 +0,0 @@
Honor :mod:`atexit` for all :mod:`multiprocessing` start methods

View File

@ -1,3 +0,0 @@
Fix :func:`inspect.signature()` to correctly handle parameter defaults
on methods in extension modules that use names defined in the module
namespace.

View File

@ -1,7 +0,0 @@
Added :attr:`!name` and :attr:`!mode` attributes for compressed and archived
file-like objects in modules :mod:`bz2`, :mod:`lzma`, :mod:`tarfile` and
:mod:`zipfile`. The value of the :attr:`!mode` attribute of
:class:`gzip.GzipFile` was changed from integer (``1`` or ``2``) to string
(``'rb'`` or ``'wb'``). The value of the :attr:`!mode` attribute of the
readable file-like object returned by :meth:`zipfile.ZipFile.open` was
changed from ``'r'`` to ``'rb'``.

View File

@ -1,3 +0,0 @@
Don't show empty fields (value ``None`` or ``[]``)
in :func:`ast.dump` by default. Add ``show_empty=False``
parameter to optionally show them.

View File

@ -1,2 +0,0 @@
Name suggestions for :exc:`AttributeError` and :exc:`ImportError` now only
include underscored names if the original name was underscored.

View File

@ -1,2 +0,0 @@
webbrowser CLI: replace getopt with argparse, add long options. Patch by
Hugo van Kemenade.

View File

@ -1,3 +0,0 @@
Add the :func:`mimetypes.guess_file_type` function which works with file
path. Passing file path instead of URL in :func:`~mimetypes.guess_type` is
:term:`soft deprecated`.

View File

@ -1 +0,0 @@
Convert :mod:`!_ctypes` to multi-phase initialisation (:pep:`489`).

View File

@ -1,4 +0,0 @@
Only treat ``'\n'``, ``'\r'`` and ``'\r\n'`` as line separators in
re-folding the :mod:`email` messages. Preserve control characters ``'\v'``,
``'\f'``, ``'\x1c'``, ``'\x1d'`` and ``'\x1e'`` and Unicode line separators
``'\x85'``, ``'\u2028'`` and ``'\u2029'`` as is.

View File

@ -1 +0,0 @@
:func:`os.path.ismount` is now 2-3 times faster if the user has permissions.

View File

@ -1,2 +0,0 @@
Fix support of non-ASCII user names in bytes paths in
:func:`os.path.expanduser` on Posix.

View File

@ -1 +0,0 @@
Add :data:`typing.TypeIs`, implementing :pep:`742`. Patch by Jelle Zijlstra.

View File

@ -1,18 +0,0 @@
Improved behavior of :class:`asyncio.TaskGroup` when an external cancellation
collides with an internal cancellation. For example, when two task groups
are nested and both experience an exception in a child task simultaneously,
it was possible that the outer task group would misbehave, because
its internal cancellation was swallowed by the inner task group.
In the case where a task group is cancelled externally and also must
raise an :exc:`ExceptionGroup`, it will now call the parent task's
:meth:`~asyncio.Task.cancel` method. This ensures that a
:exc:`asyncio.CancelledError` will be raised at the next
:keyword:`await`, so the cancellation is not lost.
An added benefit of these changes is that task groups now preserve the
cancellation count (:meth:`asyncio.Task.cancelling`).
In order to handle some corner cases, :meth:`asyncio.Task.uncancel` may now
reset the undocumented ``_must_cancel`` flag when the cancellation count
reaches zero.

Some files were not shown because too many files have changed in this diff Show More