mirror of https://github.com/python/cpython
Python 3.13.0b1
This commit is contained in:
parent
c4f9823be2
commit
2268289a47
|
@ -33,7 +33,7 @@ from sphinx.util.display import status_iterator
|
||||||
ISSUE_URI = 'https://bugs.python.org/issue?@action=redirect&bpo=%s'
|
ISSUE_URI = 'https://bugs.python.org/issue?@action=redirect&bpo=%s'
|
||||||
GH_ISSUE_URI = 'https://github.com/python/cpython/issues/%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
|
# 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
|
# monkey-patch reST parser to disable alphabetic and roman enumerated lists
|
||||||
from docutils.parsers.rst.states import Body
|
from docutils.parsers.rst.states import Body
|
||||||
|
|
|
@ -19,11 +19,11 @@
|
||||||
#define PY_MAJOR_VERSION 3
|
#define PY_MAJOR_VERSION 3
|
||||||
#define PY_MINOR_VERSION 13
|
#define PY_MINOR_VERSION 13
|
||||||
#define PY_MICRO_VERSION 0
|
#define PY_MICRO_VERSION 0
|
||||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
|
||||||
#define PY_RELEASE_SERIAL 6
|
#define PY_RELEASE_SERIAL 1
|
||||||
|
|
||||||
/* Version as a string */
|
/* Version as a string */
|
||||||
#define PY_VERSION "3.13.0a6+"
|
#define PY_VERSION "3.13.0b1"
|
||||||
/*--end constants--*/
|
/*--end constants--*/
|
||||||
|
|
||||||
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- 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.
|
# as part of the release process.
|
||||||
topics = {'assert': 'The "assert" statement\n'
|
topics = {'assert': 'The "assert" statement\n'
|
||||||
'**********************\n'
|
'**********************\n'
|
||||||
|
@ -419,7 +419,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'async': 'Coroutines\n'
|
'async': 'Coroutines\n'
|
||||||
'**********\n'
|
'**********\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.5.\n'
|
'Added in version 3.5.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Coroutine function definition\n'
|
'Coroutine function definition\n'
|
||||||
|
@ -792,7 +792,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'Changed in version 3.5: "__class__" module attribute is '
|
'Changed in version 3.5: "__class__" module attribute is '
|
||||||
'now writable.\n'
|
'now writable.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.7: "__getattr__" and "__dir__" module '
|
'Added in version 3.7: "__getattr__" and "__dir__" module '
|
||||||
'attributes.\n'
|
'attributes.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'See also:\n'
|
'See also:\n'
|
||||||
|
@ -1206,7 +1206,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
' await_expr ::= "await" primary\n'
|
' await_expr ::= "await" primary\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.5.\n',
|
'Added in version 3.5.\n',
|
||||||
'binary': 'Binary arithmetic operations\n'
|
'binary': 'Binary arithmetic operations\n'
|
||||||
'****************************\n'
|
'****************************\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -1239,7 +1239,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'The "@" (at) operator is intended to be used for matrix\n'
|
'The "@" (at) operator is intended to be used for matrix\n'
|
||||||
'multiplication. No builtin Python types implement this operator.\n'
|
'multiplication. No builtin Python types implement this operator.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.5.\n'
|
'Added in version 3.5.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The "/" (division) and "//" (floor division) operators yield the\n'
|
'The "/" (division) and "//" (floor division) operators yield the\n'
|
||||||
'quotient of their arguments. The numeric arguments are first\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'
|
'The "match" statement\n'
|
||||||
'=====================\n'
|
'=====================\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.10.\n'
|
'Added in version 3.10.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The match statement is used for pattern matching. Syntax:\n'
|
'The match statement is used for pattern matching. Syntax:\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -3849,7 +3849,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'Coroutines\n'
|
'Coroutines\n'
|
||||||
'==========\n'
|
'==========\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.5.\n'
|
'Added in version 3.5.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Coroutine function definition\n'
|
'Coroutine function definition\n'
|
||||||
|
@ -3976,13 +3976,18 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'Type parameter lists\n'
|
'Type parameter lists\n'
|
||||||
'====================\n'
|
'====================\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'
|
'\n'
|
||||||
' type_params ::= "[" type_param ("," type_param)* "]"\n'
|
' type_params ::= "[" type_param ("," type_param)* "]"\n'
|
||||||
' type_param ::= typevar | typevartuple | paramspec\n'
|
' type_param ::= typevar | typevartuple | paramspec\n'
|
||||||
' typevar ::= identifier (":" expression)?\n'
|
' typevar ::= identifier (":" expression)? ("=" '
|
||||||
' typevartuple ::= "*" identifier\n'
|
'expression)?\n'
|
||||||
' paramspec ::= "**" identifier\n'
|
' typevartuple ::= "*" identifier ("=" expression)?\n'
|
||||||
|
' paramspec ::= "**" identifier ("=" expression)?\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Functions (including coroutines), classes and type aliases may '
|
'Functions (including coroutines), classes and type aliases may '
|
||||||
'contain\n'
|
'contain\n'
|
||||||
|
@ -4081,21 +4086,41 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'bounds or\n'
|
'bounds or\n'
|
||||||
'constraints.\n'
|
'constraints.\n'
|
||||||
'\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 parameter’s "__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 '
|
'The following example indicates the full set of allowed type '
|
||||||
'parameter\n'
|
'parameter\n'
|
||||||
'declarations:\n'
|
'declarations:\n'
|
||||||
'\n'
|
'\n'
|
||||||
' def overly_generic[\n'
|
' def overly_generic[\n'
|
||||||
' SimpleTypeVar,\n'
|
' SimpleTypeVar,\n'
|
||||||
|
' TypeVarWithDefault = int,\n'
|
||||||
' TypeVarWithBound: int,\n'
|
' TypeVarWithBound: int,\n'
|
||||||
' TypeVarWithConstraints: (str, bytes),\n'
|
' TypeVarWithConstraints: (str, bytes),\n'
|
||||||
' *SimpleTypeVarTuple,\n'
|
' *SimpleTypeVarTuple = (int, float),\n'
|
||||||
' **SimpleParamSpec,\n'
|
' **SimpleParamSpec = (str, bytearray),\n'
|
||||||
' ](\n'
|
' ](\n'
|
||||||
' a: SimpleTypeVar,\n'
|
' a: SimpleTypeVar,\n'
|
||||||
' b: TypeVarWithBound,\n'
|
' b: TypeVarWithDefault,\n'
|
||||||
' c: Callable[SimpleParamSpec, TypeVarWithConstraints],\n'
|
' c: TypeVarWithBound,\n'
|
||||||
' *d: SimpleTypeVarTuple,\n'
|
' d: Callable[SimpleParamSpec, TypeVarWithConstraints],\n'
|
||||||
|
' *e: SimpleTypeVarTuple,\n'
|
||||||
' ): ...\n'
|
' ): ...\n'
|
||||||
'\n'
|
'\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -4940,8 +4965,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'you are\n'
|
'you are\n'
|
||||||
'in debug mode:\n'
|
'in debug mode:\n'
|
||||||
'\n'
|
'\n'
|
||||||
' > ...(3)double()\n'
|
' > ...(2)double()\n'
|
||||||
' -> return x * 2\n'
|
' -> breakpoint()\n'
|
||||||
' (Pdb) p x\n'
|
' (Pdb) p x\n'
|
||||||
' 3\n'
|
' 3\n'
|
||||||
' (Pdb) continue\n'
|
' (Pdb) continue\n'
|
||||||
|
@ -5063,6 +5088,11 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Changed in version 3.7: The keyword-only argument *header*.\n'
|
' Changed in version 3.7: The keyword-only argument *header*.\n'
|
||||||
'\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'
|
'pdb.post_mortem(traceback=None)\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Enter post-mortem debugging of the given *traceback* object. '
|
' 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": the exception if the frame is raising an '
|
||||||
'exception\n'
|
'exception\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.12.\n'
|
'Added in version 3.12.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'If a file ".pdbrc" exists in the user’s home directory or in '
|
'If a file ".pdbrc" exists in the user’s home directory or in '
|
||||||
'the\n'
|
'the\n'
|
||||||
|
@ -5271,19 +5301,22 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
'b(reak) [([filename:]lineno | function) [, condition]]\n'
|
'b(reak) [([filename:]lineno | function) [, condition]]\n'
|
||||||
'\n'
|
'\n'
|
||||||
' With a *lineno* argument, set a break there in the current '
|
' With a *lineno* argument, set a break at line *lineno* in '
|
||||||
'file.\n'
|
'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'
|
||||||
|
' hasn’t 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 '
|
' With a *function* argument, set a break at the first '
|
||||||
'executable\n'
|
'executable\n'
|
||||||
' statement within that function. The line number may be '
|
' statement within that function. *function* can be any '
|
||||||
'prefixed\n'
|
'expression\n'
|
||||||
' with a filename and a colon, to specify a breakpoint in '
|
' that evaluates to a function in the current namespace.\n'
|
||||||
'another\n'
|
|
||||||
' file (probably one that hasn’t 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'
|
|
||||||
'\n'
|
'\n'
|
||||||
' If a second argument is present, it is an expression which '
|
' If a second argument is present, it is an expression which '
|
||||||
'must\n'
|
'must\n'
|
||||||
|
@ -5295,6 +5328,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'current\n'
|
'current\n'
|
||||||
' ignore count, and the associated condition if any.\n'
|
' ignore count, and the associated condition if any.\n'
|
||||||
'\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'
|
'tbreak [([filename:]lineno | function) [, condition]]\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Temporary breakpoint, which is removed automatically when it '
|
' 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'
|
' List all source code for the current function or frame.\n'
|
||||||
' Interesting lines are marked as for "list".\n'
|
' Interesting lines are marked as for "list".\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.2.\n'
|
' Added in version 3.2.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'a(rgs)\n'
|
'a(rgs)\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -5512,7 +5548,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Try to get source code of *expression* and display it.\n'
|
' Try to get source code of *expression* and display it.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.2.\n'
|
' Added in version 3.2.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'display [expression]\n'
|
'display [expression]\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -5571,7 +5607,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' display lst[:]: [1] [old: []]\n'
|
' display lst[:]: [1] [old: []]\n'
|
||||||
' (Pdb)\n'
|
' (Pdb)\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.2.\n'
|
' Added in version 3.2.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'undisplay [expression]\n'
|
'undisplay [expression]\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -5580,7 +5616,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' *expression*, clear all display expressions for the current '
|
' *expression*, clear all display expressions for the current '
|
||||||
'frame.\n'
|
'frame.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.2.\n'
|
' Added in version 3.2.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'interact\n'
|
'interact\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -5603,7 +5639,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' the mutable objects will be reflected in the original '
|
' the mutable objects will be reflected in the original '
|
||||||
'namespaces.\n'
|
'namespaces.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.2.\n'
|
' Added in version 3.2.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Changed in version 3.13: "exit()" and "quit()" can be used to '
|
' Changed in version 3.13: "exit()" and "quit()" can be used to '
|
||||||
'exit\n'
|
'exit\n'
|
||||||
|
@ -5748,7 +5784,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' > example.py(10)middle()\n'
|
' > example.py(10)middle()\n'
|
||||||
' -> return inner(0)\n'
|
' -> return inner(0)\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.13.\n'
|
' Added in version 3.13.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'-[ Footnotes ]-\n'
|
'-[ Footnotes ]-\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -5813,7 +5849,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'dict\n'
|
'dict\n'
|
||||||
'items and earlier dictionary unpackings.\n'
|
'items and earlier dictionary unpackings.\n'
|
||||||
'\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'
|
'proposed by **PEP 448**.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'A dict comprehension, in contrast to list and set comprehensions,\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 '
|
'of the module "builtins". The global namespace is searched '
|
||||||
'first. If\n'
|
'first. If\n'
|
||||||
'the names are not found there, the builtins namespace is '
|
'the names are not found there, the builtins namespace is '
|
||||||
'searched.\n'
|
'searched\n'
|
||||||
'The "global" statement must precede all uses of the listed '
|
'next. If the names are also not found in the builtins '
|
||||||
'names.\n'
|
'namespace, new\n'
|
||||||
|
'variables are created in the global namespace. The global '
|
||||||
|
'statement\n'
|
||||||
|
'must precede all uses of the listed names.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The "global" statement has the same scope as a name binding '
|
'The "global" statement has the same scope as a name binding '
|
||||||
'operation\n'
|
'operation\n'
|
||||||
|
@ -6211,8 +6251,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'annotation\n'
|
'annotation\n'
|
||||||
' scope, but its decorators are not.\n'
|
' scope, but its decorators are not.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* The bounds and constraints for type variables (lazily '
|
'* The bounds, constraints, and default values for type '
|
||||||
'evaluated).\n'
|
'parameters\n'
|
||||||
|
' (lazily evaluated).\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* The value of type aliases (lazily evaluated).\n'
|
'* The value of type aliases (lazily evaluated).\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -6255,9 +6296,13 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'object were\n'
|
'object were\n'
|
||||||
' defined in the enclosing scope.\n'
|
' defined in the enclosing scope.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.12: Annotation scopes were introduced in '
|
'Added in version 3.12: Annotation scopes were introduced in '
|
||||||
'Python 3.12\n'
|
'Python\n'
|
||||||
'as part of **PEP 695**.\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'
|
||||||
'\n'
|
'\n'
|
||||||
'Lazy evaluation\n'
|
'Lazy evaluation\n'
|
||||||
|
@ -6265,15 +6310,15 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The values of type aliases created through the "type" statement '
|
'The values of type aliases created through the "type" statement '
|
||||||
'are\n'
|
'are\n'
|
||||||
'*lazily evaluated*. The same applies to the bounds and '
|
'*lazily evaluated*. The same applies to the bounds, '
|
||||||
'constraints of\n'
|
'constraints, and\n'
|
||||||
'type variables created through the type parameter syntax. This '
|
'default values of type variables created through the type '
|
||||||
'means\n'
|
'parameter\n'
|
||||||
'that they are not evaluated when the type alias or type '
|
'syntax. This means that they are not evaluated when the type '
|
||||||
'variable is\n'
|
'alias or\n'
|
||||||
'created. Instead, they are only evaluated when doing so is '
|
'type variable is created. Instead, they are only evaluated when '
|
||||||
'necessary\n'
|
'doing\n'
|
||||||
'to resolve an attribute access.\n'
|
'so is necessary to resolve an attribute access.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Example:\n'
|
'Example:\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -6317,7 +6362,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'looked up\n'
|
'looked up\n'
|
||||||
'as if they were used in the immediately enclosing scope.\n'
|
'as if they were used in the immediately enclosing scope.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.12.\n'
|
'Added in version 3.12.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Builtins and restricted execution\n'
|
'Builtins and restricted execution\n'
|
||||||
|
@ -6472,9 +6517,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'the\n'
|
'the\n'
|
||||||
'unpacking.\n'
|
'unpacking.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.5: Iterable unpacking in expression lists, '
|
'Added in version 3.5: Iterable unpacking in expression lists,\n'
|
||||||
'originally\n'
|
'originally proposed by **PEP 448**.\n'
|
||||||
'proposed by **PEP 448**.\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'A trailing comma is required only to create a one-item tuple, '
|
'A trailing comma is required only to create a one-item tuple, '
|
||||||
'such as\n'
|
'such as\n'
|
||||||
|
@ -7769,7 +7813,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'Soft Keywords\n'
|
'Soft Keywords\n'
|
||||||
'=============\n'
|
'=============\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.10.\n'
|
'Added in version 3.10.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Some identifiers are only reserved under specific contexts. '
|
'Some identifiers are only reserved under specific contexts. '
|
||||||
'These are\n'
|
'These are\n'
|
||||||
|
@ -8397,9 +8441,12 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'namespace\n'
|
'namespace\n'
|
||||||
'of the module "builtins". The global namespace is searched '
|
'of the module "builtins". The global namespace is searched '
|
||||||
'first. If\n'
|
'first. If\n'
|
||||||
'the names are not found there, the builtins namespace is '
|
'the names are not found there, the builtins namespace is searched\n'
|
||||||
'searched.\n'
|
'next. If the names are also not found in the builtins namespace, '
|
||||||
'The "global" statement must precede all uses of the listed names.\n'
|
'new\n'
|
||||||
|
'variables are created in the global namespace. The global '
|
||||||
|
'statement\n'
|
||||||
|
'must precede all uses of the listed names.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The "global" statement has the same scope as a name binding '
|
'The "global" statement has the same scope as a name binding '
|
||||||
'operation\n'
|
'operation\n'
|
||||||
|
@ -8482,8 +8529,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'annotation\n'
|
'annotation\n'
|
||||||
' scope, but its decorators are not.\n'
|
' scope, but its decorators are not.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* The bounds and constraints for type variables (lazily '
|
'* The bounds, constraints, and default values for type parameters\n'
|
||||||
'evaluated).\n'
|
' (lazily evaluated).\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* The value of type aliases (lazily evaluated).\n'
|
'* The value of type aliases (lazily evaluated).\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -8523,9 +8570,12 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'were\n'
|
'were\n'
|
||||||
' defined in the enclosing scope.\n'
|
' defined in the enclosing scope.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.12: Annotation scopes were introduced in Python '
|
'Added in version 3.12: Annotation scopes were introduced in '
|
||||||
'3.12\n'
|
'Python\n'
|
||||||
'as part of **PEP 695**.\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'
|
||||||
'\n'
|
'\n'
|
||||||
'Lazy evaluation\n'
|
'Lazy evaluation\n'
|
||||||
|
@ -8533,15 +8583,15 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The values of type aliases created through the "type" statement '
|
'The values of type aliases created through the "type" statement '
|
||||||
'are\n'
|
'are\n'
|
||||||
'*lazily evaluated*. The same applies to the bounds and constraints '
|
'*lazily evaluated*. The same applies to the bounds, constraints, '
|
||||||
'of\n'
|
'and\n'
|
||||||
'type variables created through the type parameter syntax. This '
|
'default values of type variables created through the type '
|
||||||
'means\n'
|
'parameter\n'
|
||||||
'that they are not evaluated when the type alias or type variable '
|
'syntax. This means that they are not evaluated when the type alias '
|
||||||
'is\n'
|
'or\n'
|
||||||
'created. Instead, they are only evaluated when doing so is '
|
'type variable is created. Instead, they are only evaluated when '
|
||||||
'necessary\n'
|
'doing\n'
|
||||||
'to resolve an attribute access.\n'
|
'so is necessary to resolve an attribute access.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Example:\n'
|
'Example:\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -8584,7 +8634,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'looked up\n'
|
'looked up\n'
|
||||||
'as if they were used in the immediately enclosing scope.\n'
|
'as if they were used in the immediately enclosing scope.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.12.\n'
|
'Added in version 3.12.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Builtins and restricted execution\n'
|
'Builtins and restricted execution\n'
|
||||||
|
@ -9503,7 +9553,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'for\n'
|
'for\n'
|
||||||
' correctness.\n'
|
' correctness.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.4.\n'
|
' Added in version 3.4.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Note:\n'
|
'Note:\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -9754,7 +9804,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'descriptor, or\n'
|
'descriptor, or\n'
|
||||||
' generator instance.\n'
|
' generator instance.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.3.\n'
|
' Added in version 3.3.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'definition.__type_params__\n'
|
'definition.__type_params__\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -9762,7 +9812,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'type\n'
|
'type\n'
|
||||||
' aliases.\n'
|
' aliases.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.12.\n'
|
' Added in version 3.12.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'class.__mro__\n'
|
'class.__mro__\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -9788,7 +9838,15 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
' >>> int.__subclasses__()\n'
|
' >>> int.__subclasses__()\n'
|
||||||
" [<class 'bool'>, <enum 'IntEnum'>, <flag 'IntFlag'>, "
|
" [<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'
|
'specialnames': 'Special method names\n'
|
||||||
'********************\n'
|
'********************\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -10471,7 +10529,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'Changed in version 3.5: "__class__" module attribute is now '
|
'Changed in version 3.5: "__class__" module attribute is now '
|
||||||
'writable.\n'
|
'writable.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.7: "__getattr__" and "__dir__" module '
|
'Added in version 3.7: "__getattr__" and "__dir__" module '
|
||||||
'attributes.\n'
|
'attributes.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'See also:\n'
|
'See also:\n'
|
||||||
|
@ -10840,7 +10898,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'explicit\n'
|
'explicit\n'
|
||||||
' hint) can be accessed as "type(cls)".\n'
|
' hint) can be accessed as "type(cls)".\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.6.\n'
|
' Added in version 3.6.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'When a class is created, "type.__new__()" scans the class '
|
'When a class is created, "type.__new__()" scans the class '
|
||||||
'variables\n'
|
'variables\n'
|
||||||
|
@ -10872,7 +10930,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
' See Creating the class object for more details.\n'
|
' See Creating the class object for more details.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.6.\n'
|
' Added in version 3.6.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Metaclasses\n'
|
'Metaclasses\n'
|
||||||
|
@ -11474,7 +11532,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'for\n'
|
'for\n'
|
||||||
' correctness.\n'
|
' correctness.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.4.\n'
|
' Added in version 3.4.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Note:\n'
|
'Note:\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -11923,7 +11981,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'will\n'
|
'will\n'
|
||||||
'raise a "TypeError".\n'
|
'raise a "TypeError".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.10.\n'
|
'Added in version 3.10.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'See also:\n'
|
'See also:\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -11972,7 +12030,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'to\n'
|
'to\n'
|
||||||
' implement this method.\n'
|
' implement this method.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.12.\n'
|
'Added in version 3.12.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'See also:\n'
|
'See also:\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -12136,7 +12194,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'‘Default\n'
|
'‘Default\n'
|
||||||
' Case Folding’ of the Unicode Standard.\n'
|
' Case Folding’ of the Unicode Standard.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.3.\n'
|
' Added in version 3.3.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'str.center(width[, fillchar])\n'
|
'str.center(width[, fillchar])\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -12320,7 +12378,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
"{country}'.format_map(Default(name='Guido'))\n"
|
"{country}'.format_map(Default(name='Guido'))\n"
|
||||||
" 'Guido was born in country'\n"
|
" 'Guido was born in country'\n"
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.2.\n'
|
' Added in version 3.2.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'str.index(sub[, start[, end]])\n'
|
'str.index(sub[, start[, end]])\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -12364,7 +12422,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'have code\n'
|
'have code\n'
|
||||||
' points in the range U+0000-U+007F.\n'
|
' points in the range U+0000-U+007F.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.7.\n'
|
' Added in version 3.7.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'str.isdecimal()\n'
|
'str.isdecimal()\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -12604,7 +12662,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
" >>> 'BaseTestCase'.removeprefix('Test')\n"
|
" >>> 'BaseTestCase'.removeprefix('Test')\n"
|
||||||
" 'BaseTestCase'\n"
|
" 'BaseTestCase'\n"
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.9.\n'
|
' Added in version 3.9.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'str.removesuffix(suffix, /)\n'
|
'str.removesuffix(suffix, /)\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -12619,7 +12677,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
" >>> 'TmpDirMixin'.removesuffix('Tests')\n"
|
" >>> 'TmpDirMixin'.removesuffix('Tests')\n"
|
||||||
" 'TmpDirMixin'\n"
|
" 'TmpDirMixin'\n"
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.9.\n'
|
' Added in version 3.9.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'str.replace(old, new, count=-1)\n'
|
'str.replace(old, new, count=-1)\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -13098,8 +13156,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'than\n'
|
'than\n'
|
||||||
'Python 3.x’s the "\'ur\'" syntax is not supported.\n'
|
'Python 3.x’s the "\'ur\'" syntax is not supported.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.3: The "\'rb\'" prefix of raw bytes literals has '
|
'Added in version 3.3: The "\'rb\'" prefix of raw bytes literals '
|
||||||
'been\n'
|
'has been\n'
|
||||||
'added as a synonym of "\'br\'".Support for the unicode legacy '
|
'added as a synonym of "\'br\'".Support for the unicode legacy '
|
||||||
'literal\n'
|
'literal\n'
|
||||||
'("u\'value\'") was reintroduced to simplify the maintenance of '
|
'("u\'value\'") was reintroduced to simplify the maintenance of '
|
||||||
|
@ -14071,7 +14129,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'| function.__qualname__ | The '
|
'| function.__qualname__ | The '
|
||||||
'function’s *qualified name*. See also: |\n'
|
'function’s *qualified name*. See also: |\n'
|
||||||
'| | '
|
'| | '
|
||||||
'"__qualname__ attributes". New in version 3.3. |\n'
|
'"__qualname__ attributes". Added in version 3.3. |\n'
|
||||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'| function.__module__ | The name of '
|
'| function.__module__ | The name of '
|
||||||
'the module the function was defined |\n'
|
'the module the function was defined |\n'
|
||||||
|
@ -14114,7 +14172,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'| function.__type_params__ | A "tuple" '
|
'| function.__type_params__ | A "tuple" '
|
||||||
'containing the type parameters of a |\n'
|
'containing the type parameters of a |\n'
|
||||||
'| | generic '
|
'| | generic '
|
||||||
'function. New in version 3.12. |\n'
|
'function. Added in version 3.12. |\n'
|
||||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Function objects also support getting and setting arbitrary\n'
|
'Function objects also support getting and setting arbitrary\n'
|
||||||
|
@ -14421,8 +14479,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'to\n'
|
'to\n'
|
||||||
'a common ancestor. Additional details on the C3 MRO used by Python '
|
'a common ancestor. Additional details on the C3 MRO used by Python '
|
||||||
'can\n'
|
'can\n'
|
||||||
'be found in the documentation accompanying the 2.3 release at\n'
|
'be found at The Python 2.3 Method Resolution Order.\n'
|
||||||
'https://docs.python.org/3/howto/mro.html.\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'When a class attribute reference (for class "C", say) would yield '
|
'When a class attribute reference (for class "C", say) would yield '
|
||||||
'a\n'
|
'a\n'
|
||||||
|
@ -14470,6 +14527,15 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' "__type_params__"\n'
|
' "__type_params__"\n'
|
||||||
' A tuple containing the type parameters of a generic class.\n'
|
' A tuple containing the type parameters of a generic class.\n'
|
||||||
'\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'
|
'\n'
|
||||||
'Class instances\n'
|
'Class instances\n'
|
||||||
'===============\n'
|
'===============\n'
|
||||||
|
@ -14566,8 +14632,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'name |\n'
|
'name |\n'
|
||||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'| codeobject.co_qualname | The fully '
|
'| codeobject.co_qualname | The fully '
|
||||||
'qualified function name New in version |\n'
|
'qualified function name Added in |\n'
|
||||||
'| | '
|
'| | version '
|
||||||
'3.11. |\n'
|
'3.11. |\n'
|
||||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'| codeobject.co_argcount | The total '
|
'| 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 '
|
' When this occurs, some or all of the tuple elements can be '
|
||||||
'"None".\n'
|
'"None".\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.11.\n'
|
' Added in version 3.11.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Note:\n'
|
' Note:\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -14780,7 +14846,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'but\n'
|
'but\n'
|
||||||
' have been eliminated by the *bytecode* compiler.\n'
|
' have been eliminated by the *bytecode* compiler.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.10.\n'
|
' Added in version 3.10.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' See also:\n'
|
' See also:\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -14797,7 +14863,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' Code objects are also supported by the generic function\n'
|
' Code objects are also supported by the generic function\n'
|
||||||
' "copy.replace()".\n'
|
' "copy.replace()".\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.8.\n'
|
' Added in version 3.8.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Frame objects\n'
|
'Frame objects\n'
|
||||||
|
@ -14830,8 +14896,14 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'| frame.f_locals | The '
|
'| frame.f_locals | The '
|
||||||
'dictionary used by the frame to look up local |\n'
|
'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'
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'| frame.f_globals | The '
|
'| frame.f_globals | The '
|
||||||
'dictionary used by the frame to look up global |\n'
|
'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'
|
' "RuntimeError" is raised if the frame is currently executing or\n'
|
||||||
' suspended.\n'
|
' suspended.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.4.\n'
|
' Added in version 3.4.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Changed in version 3.13: Attempting to clear a suspended frame\n'
|
' Changed in version 3.13: Attempting to clear a suspended frame\n'
|
||||||
' raises "RuntimeError" (as has always been the case for '
|
' raises "RuntimeError" (as has always been the case for '
|
||||||
|
@ -15306,7 +15378,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'dictionary. This\n'
|
'dictionary. This\n'
|
||||||
' is a shortcut for "reversed(d.keys())".\n'
|
' is a shortcut for "reversed(d.keys())".\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.8.\n'
|
' Added in version 3.8.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' setdefault(key[, default])\n'
|
' setdefault(key[, default])\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -15357,7 +15429,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' *other* take priority when *d* and *other* share '
|
' *other* take priority when *d* and *other* share '
|
||||||
'keys.\n'
|
'keys.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.9.\n'
|
' Added in version 3.9.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' d |= other\n'
|
' d |= other\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -15369,7 +15441,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'and *other*\n'
|
'and *other*\n'
|
||||||
' share keys.\n'
|
' share keys.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.9.\n'
|
' Added in version 3.9.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Dictionaries compare equal if and only if they have the '
|
' Dictionaries compare equal if and only if they have the '
|
||||||
'same "(key,\n'
|
'same "(key,\n'
|
||||||
|
@ -15491,7 +15563,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'original\n'
|
'original\n'
|
||||||
' dictionary to which the view refers.\n'
|
' dictionary to which the view refers.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.10.\n'
|
' Added in version 3.10.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Keys views are set-like since their entries are unique and '
|
'Keys views are set-like since their entries are unique and '
|
||||||
'*hashable*.\n'
|
'*hashable*.\n'
|
||||||
|
@ -16031,7 +16103,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'mutable\n'
|
'mutable\n'
|
||||||
' sequence classes provide it.\n'
|
' sequence classes provide it.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.3: "clear()" and "copy()" methods.\n'
|
' Added in version 3.3: "clear()" and "copy()" methods.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'6. The value *n* is an integer, or an object implementing\n'
|
'6. The value *n* is an integer, or an object implementing\n'
|
||||||
' "__index__()". Zero and negative values of *n* clear the '
|
' "__index__()". Zero and negative values of *n* clear the '
|
||||||
|
@ -16499,7 +16571,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'concrete mutable\n'
|
'concrete mutable\n'
|
||||||
' sequence classes provide it.\n'
|
' sequence classes provide it.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.3: "clear()" and "copy()" methods.\n'
|
' Added in version 3.3: "clear()" and "copy()" '
|
||||||
|
'methods.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'6. The value *n* is an integer, or an object '
|
'6. The value *n* is an integer, or an object '
|
||||||
'implementing\n'
|
'implementing\n'
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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.
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
A testbed project was added to run the test suite on Android.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix building against recent libedit versions by detecting readline hook signatures in :program:`configure`.
|
|
|
@ -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.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fixes Windows build when invoked directly (not through the :file:`build.bat`
|
|
||||||
script) without specifying a value for ``UseTIER2``.
|
|
|
@ -1 +0,0 @@
|
||||||
Add a C-API for firing monitoring events.
|
|
|
@ -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.
|
|
|
@ -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.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Restore removed :c:func:`PyEval_InitThreads` function. Patch by Victor
|
|
||||||
Stinner.
|
|
|
@ -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.
|
|
|
@ -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.
|
|
|
@ -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.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Allow the *globals* and *locals* arguments to :func:`exec`
|
|
||||||
and :func:`eval` to be passed as keywords.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Elide uninformative traceback indicators in ``return`` and simple
|
|
||||||
``assignment`` statements. Patch by Pablo Galindo.
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
Improved the performance of :func:`sys.settrace` significantly
|
|
|
@ -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
|
|
|
@ -1,2 +0,0 @@
|
||||||
Implement :pep:`696`, adding support for defaults on type parameters.
|
|
||||||
Patch by Jelle Zijlstra.
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
Remove unhandled ``PY_MONITORING_EVENT_BRANCH`` and ``PY_MONITORING_EVENT_EXCEPTION_HANDLED`` events from :func:`sys.settrace`.
|
|
|
@ -1 +0,0 @@
|
||||||
Speedup :func:`os.path.relpath`.
|
|
|
@ -1 +0,0 @@
|
||||||
Speedup :func:`os.path.join`.
|
|
|
@ -1 +0,0 @@
|
||||||
Speedup :func:`os.path.commonpath` on Unix.
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
Give ``_PyInstructionSequence`` a Python interface and use it in tests.
|
|
|
@ -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.
|
|
|
@ -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`
|
|
|
@ -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.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix mimalloc allocator for huge memory allocation (around 8,589,934,592 GiB) on
|
|
||||||
s390x. Patch by Victor Stinner.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix a :exc:`RuntimeWarning` when calling ``agen.aclose().throw(Exception)``.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed a possible segfault during garbage collection of ``_asyncio.FutureIter`` objects
|
|
|
@ -1 +0,0 @@
|
||||||
prevent concurrent access to an async generator via athrow().throw() or asend().throw()
|
|
|
@ -1 +0,0 @@
|
||||||
Prevent ``agen.aclose()`` objects being re-used after ``.throw()``.
|
|
|
@ -1,2 +0,0 @@
|
||||||
:ref:`annotation scope <annotation-scopes>` within class scopes can now
|
|
||||||
contain lambdas.
|
|
|
@ -1 +0,0 @@
|
||||||
Redirect stdout and stderr to system log when embedded in an Android app.
|
|
|
@ -1 +0,0 @@
|
||||||
Add option for compiler's codegen to save nested instruction sequences for introspection.
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
Speed up :func:`os.path.splitroot` with a native implementation.
|
|
|
@ -1 +0,0 @@
|
||||||
Improve :exc:`SyntaxError` message for empty type param brackets.
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
Lazy load frame line number to improve performance of tracing
|
|
|
@ -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).
|
|
|
@ -1 +0,0 @@
|
||||||
Don't consider :mod:`__future__` imports with dots before the module name.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix bug where ``generator.close`` does not free the generator frame's
|
|
||||||
locals.
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
Update JIT compilation to use LLVM 18
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix crash in compiler on 'async with' that has many context managers.
|
|
|
@ -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.
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
update ``async_generator.athrow().close()`` and ``async_generator.asend().close()`` to close their section of the underlying async generator
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix an issue where the type cache can expose a previously accessed attribute
|
|
||||||
when a finalizer is run.
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix :func:`sys.set_asyncgen_hooks` not to be partially set when raising :exc:`TypeError`.
|
|
|
@ -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.
|
|
|
@ -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``.
|
|
|
@ -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.
|
|
|
@ -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.
|
|
|
@ -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``.
|
|
|
@ -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.
|
|
|
@ -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.
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
Add instrumented opcodes to YIELD_VALUE assertion for tracing cases.
|
|
|
@ -1 +0,0 @@
|
||||||
The minimum Sphinx version required for the documentation is now 6.2.1.
|
|
|
@ -1 +0,0 @@
|
||||||
Use user-selected color theme for Help => IDLE Doc.
|
|
|
@ -1 +0,0 @@
|
||||||
Add the :meth:`!after_info` method for Tkinter widgets.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix parsing of emails with invalid address headers having a leading or trailing dot. Patch by tsufeki.
|
|
|
@ -1 +0,0 @@
|
||||||
:func:`shutil.chown` now supports *dir_fd* and *follow_symlinks* keyword arguments.
|
|
|
@ -1 +0,0 @@
|
||||||
Add mime type mapping for .md <-> text/markdown
|
|
|
@ -1 +0,0 @@
|
||||||
Fix several IndexError when parse emails with truncated Message-ID, address, routes, etc, e.g. ``example@``.
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
HEAD requests are no longer upgraded to GET request during redirects in urllib.
|
|
|
@ -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``.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Adjust ``logging.LogRecord`` to use ``time.time_ns()`` and fix minor bug
|
|
||||||
related to floating point math.
|
|
|
@ -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.
|
|
|
@ -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.
|
|
|
@ -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.
|
|
|
@ -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.
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
Support opcode events in :mod:`bdb`
|
|
|
@ -1,2 +0,0 @@
|
||||||
Speed up pickling of :class:`pathlib.PurePath` objects. Patch by Barney
|
|
||||||
Gale.
|
|
|
@ -1 +0,0 @@
|
||||||
Print colorized exception just like built-in traceback in :mod:`pdb`
|
|
|
@ -1 +0,0 @@
|
||||||
Honor :mod:`atexit` for all :mod:`multiprocessing` start methods
|
|
|
@ -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.
|
|
|
@ -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'``.
|
|
|
@ -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.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Name suggestions for :exc:`AttributeError` and :exc:`ImportError` now only
|
|
||||||
include underscored names if the original name was underscored.
|
|
|
@ -1,2 +0,0 @@
|
||||||
webbrowser CLI: replace getopt with argparse, add long options. Patch by
|
|
||||||
Hugo van Kemenade.
|
|
|
@ -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`.
|
|
|
@ -1 +0,0 @@
|
||||||
Convert :mod:`!_ctypes` to multi-phase initialisation (:pep:`489`).
|
|
|
@ -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.
|
|
|
@ -1 +0,0 @@
|
||||||
:func:`os.path.ismount` is now 2-3 times faster if the user has permissions.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix support of non-ASCII user names in bytes paths in
|
|
||||||
:func:`os.path.expanduser` on Posix.
|
|
|
@ -1 +0,0 @@
|
||||||
Add :data:`typing.TypeIs`, implementing :pep:`742`. Patch by Jelle Zijlstra.
|
|
|
@ -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
Loading…
Reference in New Issue