mirror of
https://github.com/python/cpython.git
synced 2025-08-03 08:34:29 +00:00
Python 3.10.0b1
This commit is contained in:
parent
d3b9134ebb
commit
ba4217537c
173 changed files with 9376 additions and 5649 deletions
|
@ -19,11 +19,11 @@
|
|||
#define PY_MAJOR_VERSION 3
|
||||
#define PY_MINOR_VERSION 10
|
||||
#define PY_MICRO_VERSION 0
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
||||
#define PY_RELEASE_SERIAL 7
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
|
||||
#define PY_RELEASE_SERIAL 1
|
||||
|
||||
/* Version as a string */
|
||||
#define PY_VERSION "3.10.0a7+"
|
||||
#define PY_VERSION "3.10.0b1"
|
||||
/*--end constants--*/
|
||||
|
||||
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Autogenerated by Sphinx on Mon Apr 5 17:39:41 2021
|
||||
# Autogenerated by Sphinx on Mon May 3 20:34:17 2021
|
||||
topics = {'assert': 'The "assert" statement\n'
|
||||
'**********************\n'
|
||||
'\n'
|
||||
|
@ -988,9 +988,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'For instance bindings, the precedence of descriptor '
|
||||
'invocation depends\n'
|
||||
'on the which descriptor methods are defined. A '
|
||||
'descriptor can define\n'
|
||||
'any combination of "__get__()", "__set__()" and '
|
||||
'on which descriptor methods are defined. A descriptor '
|
||||
'can define any\n'
|
||||
'combination of "__get__()", "__set__()" and '
|
||||
'"__delete__()". If it\n'
|
||||
'does not define "__get__()", then accessing the '
|
||||
'attribute will return\n'
|
||||
|
@ -1360,6 +1360,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'through their "__code__" attribute. See also the '
|
||||
'"code" module.\n'
|
||||
'\n'
|
||||
'Accessing "__code__" raises an auditing event '
|
||||
'"object.__getattr__"\n'
|
||||
'with arguments "obj" and ""__code__"".\n'
|
||||
'\n'
|
||||
'A code object can be executed or evaluated by passing '
|
||||
'it (instead of a\n'
|
||||
'source string) to the "exec()" or "eval()" built-in '
|
||||
|
@ -2694,7 +2698,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' subject_expr ::= star_named_expression "," '
|
||||
'star_named_expressions?\n'
|
||||
' | named_expression\n'
|
||||
" case_block ::= 'case' patterns [guard] ':' block\n"
|
||||
' case_block ::= \'case\' patterns [guard] ":" block\n'
|
||||
'\n'
|
||||
'Note:\n'
|
||||
'\n'
|
||||
|
@ -3073,7 +3077,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'additional\n'
|
||||
'syntax. Syntax:\n'
|
||||
'\n'
|
||||
" group_pattern ::= '(' pattern ')'\n"
|
||||
' group_pattern ::= "(" pattern ")"\n'
|
||||
'\n'
|
||||
'In simple terms "(P)" has the same effect as "P".\n'
|
||||
'\n'
|
||||
|
@ -3293,7 +3297,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' For a number of built-in types (specified below), a single\n'
|
||||
' positional subpattern is accepted which will match the '
|
||||
'entire\n'
|
||||
' subject; for these types no keyword patterns are accepted.\n'
|
||||
' subject; for these types keyword patterns also work as for '
|
||||
'other\n'
|
||||
' types.\n'
|
||||
'\n'
|
||||
' If only keyword patterns are present, they are processed as\n'
|
||||
' follows, one by one:\n'
|
||||
|
@ -3330,9 +3336,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
' * If this raises an exception, the exception bubbles up.\n'
|
||||
'\n'
|
||||
' * If the returned value is not a list or tuple, the '
|
||||
'conversion\n'
|
||||
' fails and "TypeError" is raised.\n'
|
||||
' * If the returned value is not a tuple, the conversion '
|
||||
'fails and\n'
|
||||
' "TypeError" is raised.\n'
|
||||
'\n'
|
||||
' * If there are more positional patterns than\n'
|
||||
' "len(cls.__match_args__)", "TypeError" is raised.\n'
|
||||
|
@ -3426,7 +3432,6 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' decorators ::= decorator+\n'
|
||||
' decorator ::= "@" assignment_expression '
|
||||
'NEWLINE\n'
|
||||
' dotted_name ::= identifier ("." identifier)*\n'
|
||||
' parameter_list ::= defparameter ("," '
|
||||
'defparameter)* "," "/" ["," [parameter_list_no_posonly]]\n'
|
||||
' | parameter_list_no_posonly\n'
|
||||
|
@ -3526,7 +3531,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'Calls.\n'
|
||||
'A function call always assigns values to all parameters '
|
||||
'mentioned in\n'
|
||||
'the parameter list, either from position arguments, from '
|
||||
'the parameter list, either from positional arguments, from '
|
||||
'keyword\n'
|
||||
'arguments, or from default values. If the form “"*identifier"” '
|
||||
'is\n'
|
||||
|
@ -3538,8 +3543,14 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'new\n'
|
||||
'empty mapping of the same type. Parameters after “"*"” or\n'
|
||||
'“"*identifier"” are keyword-only parameters and may only be '
|
||||
'passed\n'
|
||||
'used keyword arguments.\n'
|
||||
'passed by\n'
|
||||
'keyword arguments. Parameters before “"/"” are positional-only\n'
|
||||
'parameters and may only be passed by positional arguments.\n'
|
||||
'\n'
|
||||
'Changed in version 3.8: The "/" function parameter syntax may be '
|
||||
'used\n'
|
||||
'to indicate positional-only parameters. See **PEP 570** for '
|
||||
'details.\n'
|
||||
'\n'
|
||||
'Parameters may have an *annotation* of the form “": '
|
||||
'expression"”\n'
|
||||
|
@ -3552,11 +3563,20 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'parameter list. These annotations can be any valid Python '
|
||||
'expression.\n'
|
||||
'The presence of annotations does not change the semantics of a\n'
|
||||
'function. The annotation values are available as string values '
|
||||
'in a\n'
|
||||
'function. The annotation values are available as values of a\n'
|
||||
'dictionary keyed by the parameters’ names in the '
|
||||
'"__annotations__"\n'
|
||||
'attribute of the function object.\n'
|
||||
'attribute of the function object. If the "annotations" import '
|
||||
'from\n'
|
||||
'"__future__" is used, annotations are preserved as strings at '
|
||||
'runtime\n'
|
||||
'which enables postponed evaluation. Otherwise, they are '
|
||||
'evaluated\n'
|
||||
'when the function definition is executed. In this case '
|
||||
'annotations\n'
|
||||
'may be evaluated in a different order than they appear in the '
|
||||
'source\n'
|
||||
'code.\n'
|
||||
'\n'
|
||||
'It is also possible to create anonymous functions (functions not '
|
||||
'bound\n'
|
||||
|
@ -6562,7 +6582,6 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' decorators ::= decorator+\n'
|
||||
' decorator ::= "@" assignment_expression '
|
||||
'NEWLINE\n'
|
||||
' dotted_name ::= identifier ("." identifier)*\n'
|
||||
' parameter_list ::= defparameter ("," '
|
||||
'defparameter)* "," "/" ["," [parameter_list_no_posonly]]\n'
|
||||
' | parameter_list_no_posonly\n'
|
||||
|
@ -6662,7 +6681,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'Calls.\n'
|
||||
'A function call always assigns values to all parameters '
|
||||
'mentioned in\n'
|
||||
'the parameter list, either from position arguments, from '
|
||||
'the parameter list, either from positional arguments, from '
|
||||
'keyword\n'
|
||||
'arguments, or from default values. If the form “"*identifier"” '
|
||||
'is\n'
|
||||
|
@ -6674,8 +6693,14 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'new\n'
|
||||
'empty mapping of the same type. Parameters after “"*"” or\n'
|
||||
'“"*identifier"” are keyword-only parameters and may only be '
|
||||
'passed\n'
|
||||
'used keyword arguments.\n'
|
||||
'passed by\n'
|
||||
'keyword arguments. Parameters before “"/"” are positional-only\n'
|
||||
'parameters and may only be passed by positional arguments.\n'
|
||||
'\n'
|
||||
'Changed in version 3.8: The "/" function parameter syntax may be '
|
||||
'used\n'
|
||||
'to indicate positional-only parameters. See **PEP 570** for '
|
||||
'details.\n'
|
||||
'\n'
|
||||
'Parameters may have an *annotation* of the form “": '
|
||||
'expression"”\n'
|
||||
|
@ -6688,11 +6713,20 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'parameter list. These annotations can be any valid Python '
|
||||
'expression.\n'
|
||||
'The presence of annotations does not change the semantics of a\n'
|
||||
'function. The annotation values are available as string values '
|
||||
'in a\n'
|
||||
'function. The annotation values are available as values of a\n'
|
||||
'dictionary keyed by the parameters’ names in the '
|
||||
'"__annotations__"\n'
|
||||
'attribute of the function object.\n'
|
||||
'attribute of the function object. If the "annotations" import '
|
||||
'from\n'
|
||||
'"__future__" is used, annotations are preserved as strings at '
|
||||
'runtime\n'
|
||||
'which enables postponed evaluation. Otherwise, they are '
|
||||
'evaluated\n'
|
||||
'when the function definition is executed. In this case '
|
||||
'annotations\n'
|
||||
'may be evaluated in a different order than they appear in the '
|
||||
'source\n'
|
||||
'code.\n'
|
||||
'\n'
|
||||
'It is also possible to create anonymous functions (functions not '
|
||||
'bound\n'
|
||||
|
@ -7395,10 +7429,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'lambda': 'Lambdas\n'
|
||||
'*******\n'
|
||||
'\n'
|
||||
' lambda_expr ::= "lambda" [parameter_list] ":" '
|
||||
'expression\n'
|
||||
' lambda_expr_nocond ::= "lambda" [parameter_list] ":" '
|
||||
'expression_nocond\n'
|
||||
' lambda_expr ::= "lambda" [parameter_list] ":" expression\n'
|
||||
'\n'
|
||||
'Lambda expressions (sometimes called lambda forms) are used to '
|
||||
'create\n'
|
||||
|
@ -8009,8 +8040,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'The following table summarizes the operator precedence '
|
||||
'in Python, from\n'
|
||||
'lowest precedence (least binding) to highest precedence '
|
||||
'(most\n'
|
||||
'highest precedence (most binding) to lowest precedence '
|
||||
'(least\n'
|
||||
'binding). Operators in the same box have the same '
|
||||
'precedence. Unless\n'
|
||||
'the syntax is explicitly given, operators are binary. '
|
||||
|
@ -8029,65 +8060,6 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'| Operator | '
|
||||
'Description |\n'
|
||||
'|=================================================|=======================================|\n'
|
||||
'| ":=" | '
|
||||
'Assignment expression |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "lambda" | '
|
||||
'Lambda expression |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "if" – "else" | '
|
||||
'Conditional expression |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "or" | '
|
||||
'Boolean OR |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "and" | '
|
||||
'Boolean AND |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "not" "x" | '
|
||||
'Boolean NOT |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "in", "not in", "is", "is not", "<", "<=", ">", | '
|
||||
'Comparisons, including membership |\n'
|
||||
'| ">=", "!=", "==" | '
|
||||
'tests and identity tests |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "|" | '
|
||||
'Bitwise OR |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "^" | '
|
||||
'Bitwise XOR |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "&" | '
|
||||
'Bitwise AND |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "<<", ">>" | '
|
||||
'Shifts |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "+", "-" | '
|
||||
'Addition and subtraction |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "*", "@", "/", "//", "%" | '
|
||||
'Multiplication, matrix |\n'
|
||||
'| | '
|
||||
'multiplication, division, floor |\n'
|
||||
'| | '
|
||||
'division, remainder [5] |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "+x", "-x", "~x" | '
|
||||
'Positive, negative, bitwise NOT |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "**" | '
|
||||
'Exponentiation [6] |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "await" "x" | '
|
||||
'Await expression |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "x[index]", "x[index:index]", | '
|
||||
'Subscription, slicing, call, |\n'
|
||||
'| "x(arguments...)", "x.attribute" | '
|
||||
'attribute reference |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "(expressions...)", "[expressions...]", "{key: | '
|
||||
'Binding or parenthesized expression, |\n'
|
||||
'| value...}", "{expressions...}" | list '
|
||||
|
@ -8095,6 +8067,65 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'| | '
|
||||
'display |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "x[index]", "x[index:index]", | '
|
||||
'Subscription, slicing, call, |\n'
|
||||
'| "x(arguments...)", "x.attribute" | '
|
||||
'attribute reference |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "await" "x" | '
|
||||
'Await expression |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "**" | '
|
||||
'Exponentiation [5] |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "+x", "-x", "~x" | '
|
||||
'Positive, negative, bitwise NOT |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "*", "@", "/", "//", "%" | '
|
||||
'Multiplication, matrix |\n'
|
||||
'| | '
|
||||
'multiplication, division, floor |\n'
|
||||
'| | '
|
||||
'division, remainder [6] |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "+", "-" | '
|
||||
'Addition and subtraction |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "<<", ">>" | '
|
||||
'Shifts |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "&" | '
|
||||
'Bitwise AND |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "^" | '
|
||||
'Bitwise XOR |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "|" | '
|
||||
'Bitwise OR |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "in", "not in", "is", "is not", "<", "<=", ">", | '
|
||||
'Comparisons, including membership |\n'
|
||||
'| ">=", "!=", "==" | '
|
||||
'tests and identity tests |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "not" "x" | '
|
||||
'Boolean NOT |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "and" | '
|
||||
'Boolean AND |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "or" | '
|
||||
'Boolean OR |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "if" – "else" | '
|
||||
'Conditional expression |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| "lambda" | '
|
||||
'Lambda expression |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| ":=" | '
|
||||
'Assignment expression |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'\n'
|
||||
'-[ Footnotes ]-\n'
|
||||
'\n'
|
||||
|
@ -8174,14 +8205,14 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'Check their\n'
|
||||
' documentation for more info.\n'
|
||||
'\n'
|
||||
'[5] The "%" operator is also used for string formatting; '
|
||||
'the same\n'
|
||||
' precedence applies.\n'
|
||||
'\n'
|
||||
'[6] The power operator "**" binds less tightly than an '
|
||||
'[5] The power operator "**" binds less tightly than an '
|
||||
'arithmetic or\n'
|
||||
' bitwise unary operator on its right, that is, '
|
||||
'"2**-1" is "0.5".\n',
|
||||
'"2**-1" is "0.5".\n'
|
||||
'\n'
|
||||
'[6] The "%" operator is also used for string formatting; '
|
||||
'the same\n'
|
||||
' precedence applies.\n',
|
||||
'pass': 'The "pass" statement\n'
|
||||
'********************\n'
|
||||
'\n'
|
||||
|
@ -8266,12 +8297,18 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'The "from" clause is used for exception chaining: if given, the '
|
||||
'second\n'
|
||||
'*expression* must be another exception class or instance, which '
|
||||
'will\n'
|
||||
'then be attached to the raised exception as the "__cause__" '
|
||||
'attribute\n'
|
||||
'(which is writable). If the raised exception is not handled, both\n'
|
||||
'exceptions will be printed:\n'
|
||||
'*expression* must be another exception class or instance. If the\n'
|
||||
'second expression is an exception instance, it will be attached to '
|
||||
'the\n'
|
||||
'raised exception as the "__cause__" attribute (which is writable). '
|
||||
'If\n'
|
||||
'the expression is an exception class, the class will be '
|
||||
'instantiated\n'
|
||||
'and the resulting exception instance will be attached to the '
|
||||
'raised\n'
|
||||
'exception as the "__cause__" attribute. If the raised exception is '
|
||||
'not\n'
|
||||
'handled, both exceptions will be printed:\n'
|
||||
'\n'
|
||||
' >>> try:\n'
|
||||
' ... print(1 / 0)\n'
|
||||
|
@ -9613,10 +9650,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'For instance bindings, the precedence of descriptor '
|
||||
'invocation depends\n'
|
||||
'on the which descriptor methods are defined. A descriptor '
|
||||
'can define\n'
|
||||
'any combination of "__get__()", "__set__()" and '
|
||||
'"__delete__()". If it\n'
|
||||
'on which descriptor methods are defined. A descriptor can '
|
||||
'define any\n'
|
||||
'combination of "__get__()", "__set__()" and "__delete__()". '
|
||||
'If it\n'
|
||||
'does not define "__get__()", then accessing the attribute '
|
||||
'will return\n'
|
||||
'the descriptor object itself unless there is a value in the '
|
||||
|
@ -10677,17 +10714,16 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'object.__match_args__\n'
|
||||
'\n'
|
||||
' This class variable can be assigned a tuple or list of '
|
||||
'strings.\n'
|
||||
' When this class is used in a class pattern with '
|
||||
'positional\n'
|
||||
' arguments, each positional argument will be converted '
|
||||
'into a\n'
|
||||
' keyword argument, using the corresponding value in '
|
||||
'*__match_args__*\n'
|
||||
' as the keyword. The absence of this attribute is '
|
||||
'equivalent to\n'
|
||||
' setting it to "()".\n'
|
||||
' This class variable can be assigned a tuple of strings. '
|
||||
'When this\n'
|
||||
' class is used in a class pattern with positional '
|
||||
'arguments, each\n'
|
||||
' positional argument will be converted into a keyword '
|
||||
'argument,\n'
|
||||
' using the corresponding value in *__match_args__* as the '
|
||||
'keyword.\n'
|
||||
' The absence of this attribute is equivalent to setting it '
|
||||
'to "()".\n'
|
||||
'\n'
|
||||
'For example, if "MyClass.__match_args__" is "("left", '
|
||||
'"center",\n'
|
||||
|
@ -12680,7 +12716,13 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'| |\n'
|
||||
' | | and "\'return\'" for the '
|
||||
'return | |\n'
|
||||
' | | annotation, if provided. '
|
||||
' | | annotation, if provided. For '
|
||||
'| |\n'
|
||||
' | | more information on working '
|
||||
'| |\n'
|
||||
' | | with this attribute, see '
|
||||
'| |\n'
|
||||
' | | Annotations Best Practices. '
|
||||
'| |\n'
|
||||
' '
|
||||
'+---------------------------+---------------------------------+-------------+\n'
|
||||
|
@ -12905,20 +12947,34 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' Attribute assignment updates the module’s namespace dictionary,\n'
|
||||
' e.g., "m.x = 1" is equivalent to "m.__dict__["x"] = 1".\n'
|
||||
'\n'
|
||||
' Predefined (writable) attributes: "__name__" is the module’s '
|
||||
'name;\n'
|
||||
' "__doc__" is the module’s documentation string, or "None" if\n'
|
||||
' unavailable; "__annotations__" (optional) is a dictionary\n'
|
||||
' containing *variable annotations* collected during module body\n'
|
||||
' execution; "__file__" is the pathname of the file from which '
|
||||
' Predefined (writable) attributes:\n'
|
||||
'\n'
|
||||
' "__name__"\n'
|
||||
' The module’s name.\n'
|
||||
'\n'
|
||||
' "__doc__"\n'
|
||||
' The module’s documentation string, or "None" if '
|
||||
'unavailable.\n'
|
||||
'\n'
|
||||
' "__file__"\n'
|
||||
' The pathname of the file from which the module was loaded, '
|
||||
'if\n'
|
||||
' it was loaded from a file. The "__file__" attribute may '
|
||||
'be\n'
|
||||
' missing for certain types of modules, such as C modules '
|
||||
'that\n'
|
||||
' are statically linked into the interpreter. For '
|
||||
'extension\n'
|
||||
' modules loaded dynamically from a shared library, it’s '
|
||||
'the\n'
|
||||
' module was loaded, if it was loaded from a file. The "__file__"\n'
|
||||
' attribute may be missing for certain types of modules, such as '
|
||||
'C\n'
|
||||
' modules that are statically linked into the interpreter; for\n'
|
||||
' extension modules loaded dynamically from a shared library, it '
|
||||
'is\n'
|
||||
' the pathname of the shared library file.\n'
|
||||
' pathname of the shared library file.\n'
|
||||
'\n'
|
||||
' "__annotations__"\n'
|
||||
' A dictionary containing *variable annotations* collected\n'
|
||||
' during module body execution. For best practices on '
|
||||
'working\n'
|
||||
' with "__annotations__", please see Annotations Best\n'
|
||||
' Practices.\n'
|
||||
'\n'
|
||||
' Special read-only attribute: "__dict__" is the module’s '
|
||||
'namespace\n'
|
||||
|
@ -12976,20 +13032,31 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'instance\n'
|
||||
' (see below).\n'
|
||||
'\n'
|
||||
' Special attributes: "__name__" is the class name; "__module__" '
|
||||
'is\n'
|
||||
' the module name in which the class was defined; "__dict__" is '
|
||||
'the\n'
|
||||
' dictionary containing the class’s namespace; "__bases__" is a '
|
||||
'tuple\n'
|
||||
' containing the base classes, in the order of their occurrence '
|
||||
'in\n'
|
||||
' the base class list; "__doc__" is the class’s documentation '
|
||||
'string,\n'
|
||||
' or "None" if undefined; "__annotations__" (optional) is a\n'
|
||||
' dictionary containing *variable annotations* collected during '
|
||||
'class\n'
|
||||
' body execution.\n'
|
||||
' Special attributes:\n'
|
||||
'\n'
|
||||
' "__name__"\n'
|
||||
' The class name.\n'
|
||||
'\n'
|
||||
' "__module__"\n'
|
||||
' The name of the module in which the class was defined.\n'
|
||||
'\n'
|
||||
' "__dict__"\n'
|
||||
' The dictionary containing the class’s namespace.\n'
|
||||
'\n'
|
||||
' "__bases__"\n'
|
||||
' A tuple containing the base classes, in the order of '
|
||||
'their\n'
|
||||
' occurrence in the base class list.\n'
|
||||
'\n'
|
||||
' "__doc__"\n'
|
||||
' The class’s documentation string, or "None" if undefined.\n'
|
||||
'\n'
|
||||
' "__annotations__"\n'
|
||||
' A dictionary containing *variable annotations* collected\n'
|
||||
' during class body execution. For best practices on '
|
||||
'working\n'
|
||||
' with "__annotations__", please see Annotations Best\n'
|
||||
' Practices.\n'
|
||||
'\n'
|
||||
'Class instances\n'
|
||||
' A class instance is created by calling a class object (see '
|
||||
|
@ -13150,6 +13217,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' gives the precise instruction (this is an index into the\n'
|
||||
' bytecode string of the code object).\n'
|
||||
'\n'
|
||||
' Accessing "f_code" raises an auditing event '
|
||||
'"object.__getattr__"\n'
|
||||
' with arguments "obj" and ""f_code"".\n'
|
||||
'\n'
|
||||
' Special writable attributes: "f_trace", if not "None", is a\n'
|
||||
' function called for various events during code execution '
|
||||
'(this\n'
|
||||
|
@ -13233,6 +13304,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' the exception occurred in a "try" statement with no matching\n'
|
||||
' except clause or with a finally clause.\n'
|
||||
'\n'
|
||||
' Accessing "tb_frame" raises an auditing event\n'
|
||||
' "object.__getattr__" with arguments "obj" and ""tb_frame"".\n'
|
||||
'\n'
|
||||
' Special writable attribute: "tb_next" is the next level in '
|
||||
'the\n'
|
||||
' stack trace (towards the frame where the exception occurred), '
|
||||
|
@ -13283,9 +13357,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' object actually returned is the wrapped object, which is not\n'
|
||||
' subject to any further transformation. Static method objects '
|
||||
'are\n'
|
||||
' not themselves callable, although the objects they wrap '
|
||||
'usually\n'
|
||||
' are. Static method objects are created by the built-in\n'
|
||||
' also callable. Static method objects are created by the '
|
||||
'built-in\n'
|
||||
' "staticmethod()" constructor.\n'
|
||||
'\n'
|
||||
' Class method objects\n'
|
||||
|
|
1807
Misc/NEWS.d/3.10.0b1.rst
Normal file
1807
Misc/NEWS.d/3.10.0b1.rst
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1 +0,0 @@
|
|||
Implement :pep:`644`. Python now requires OpenSSL 1.1.1 or newer.
|
|
@ -1 +0,0 @@
|
|||
Improved generated code refresh (AST/tokens/opcodes/keywords) on Windows.
|
|
@ -1,6 +0,0 @@
|
|||
Add the :c:func:`Py_Is(x, y) <Py_Is>` function to test if the *x* object is the
|
||||
*y* object, the same as ``x is y`` in Python. Add also the :c:func:`Py_IsNone`,
|
||||
:c:func:`Py_IsTrue`, :c:func:`Py_IsFalse` functions to test if an object is,
|
||||
respectively, the ``None`` singleton, the ``True`` singleton or the ``False``
|
||||
singleton.
|
||||
Patch by Victor Stinner.
|
|
@ -1,2 +0,0 @@
|
|||
Stable ABI and limited API definitions are generated from a central manifest
|
||||
(:pep:`652`).
|
|
@ -1,3 +0,0 @@
|
|||
:c:func:`PyOS_ReadlineFunctionPointer` is no longer exported by limited C API
|
||||
headers and by ``python3.dll`` on Windows. Like any function that takes
|
||||
``FILE*``, it is not part of the stable ABI.
|
|
@ -1,2 +0,0 @@
|
|||
:c:func:`PyMem_Calloc` is now available in the limited C API
|
||||
(``Py_LIMITED_API``).
|
|
@ -1,3 +0,0 @@
|
|||
Introduce :const:`Py_TPFLAGS_IMMUTABLETYPE` flag for immutable type objects, and
|
||||
modify :c:func:`PyType_Ready` to set it for static types. Patch by
|
||||
Erlend E. Aasland.
|
|
@ -1,3 +0,0 @@
|
|||
Add new C-API functions to control the state of the garbage collector:
|
||||
:c:func:`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`,
|
||||
corresponding to the functions in the :mod:`gc` module.
|
|
@ -1,5 +0,0 @@
|
|||
_PyInterpreterState_IDIncref() now calls _PyInterpreterState_IDInitref() and
|
||||
always increments id_refcount. Previously, calling
|
||||
_xxsubinterpreters.get_current() could create an id_refcount inconsistency
|
||||
when a _xxsubinterpreters.InterpreterID object was deallocated. Patch by
|
||||
Victor Stinner.
|
|
@ -1,5 +0,0 @@
|
|||
Remove the now unused ``PYMALLOC_DEBUG`` macro. Debug hooks on memory
|
||||
allocators are now installed by default if Python is built in debug mode (if
|
||||
``Py_DEBUG`` macro is defined). Moreover, they can now be used on Python
|
||||
build in release mode (ex: using ``PYTHONMALLOC=debug`` environment
|
||||
variable).
|
|
@ -1,2 +0,0 @@
|
|||
Add a new :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow
|
||||
creating type instances. Patch by Victor Stinner.
|
|
@ -1,3 +0,0 @@
|
|||
When printing :exc:`AttributeError`, :c:func:`PyErr_Display` will offer
|
||||
suggestions of similar attribute names in the object that the exception was
|
||||
raised from. Patch by Pablo Galindo
|
|
@ -1,3 +0,0 @@
|
|||
Prevented crashes in the AST validator and optimizer when compiling some
|
||||
absurdly long expressions like ``"+0"*1000000``. :exc:`RecursionError` is
|
||||
now raised instead.
|
|
@ -1,2 +0,0 @@
|
|||
Static methods (:func:`@staticmethod <staticmethod>`) are now callable as
|
||||
regular functions. Patch by Victor Stinner.
|
|
@ -1,2 +0,0 @@
|
|||
Importlib now resolves relative paths when creating module spec objects from
|
||||
file locations.
|
|
@ -1,2 +0,0 @@
|
|||
Add GEN_START opcode. Marks start of generator, including async, or coroutine and handles
|
||||
sending values to a newly created generator or coroutine.
|
|
@ -1 +0,0 @@
|
|||
:data:`~object.__match_args__` is no longer allowed to be a list.
|
|
@ -1 +0,0 @@
|
|||
Fixed a bug where ``anext(ait, default)`` would erroneously return None.
|
|
@ -1,5 +0,0 @@
|
|||
Static methods (:func:`@staticmethod <staticmethod>`) and class methods
|
||||
(:func:`@classmethod <classmethod>`) now inherit the method attributes
|
||||
(``__module__``, ``__name__``, ``__qualname__``, ``__doc__``,
|
||||
``__annotations__``) and have a new ``__wrapped__`` attribute.
|
||||
Patch by Victor Stinner.
|
|
@ -1,2 +0,0 @@
|
|||
Move the flag for checking whether tracing is enabled to the C stack, from the heap.
|
||||
Should speed up dispatch in the interpreter.
|
|
@ -1,2 +0,0 @@
|
|||
Improve ``SyntaxError`` error messages for invalid comparisons. Patch by
|
||||
Pablo Galindo.
|
|
@ -1 +0,0 @@
|
|||
:class:`ast.alias` nodes now include source location metadata attributes e.g. lineno, col_offset.
|
|
@ -1,2 +0,0 @@
|
|||
Improve syntax errors in the parser for missing commas between expressions.
|
||||
Patch by Pablo Galindo.
|
|
@ -1,2 +0,0 @@
|
|||
Improve syntax errors for invalid dictionary literals. Patch by Pablo
|
||||
Galindo.
|
|
@ -1,3 +0,0 @@
|
|||
When printing :exc:`NameError` raised by the interpreter,
|
||||
:c:func:`PyErr_Display` will offer suggestions of similar variable names in
|
||||
the function that the exception was raised from. Patch by Pablo Galindo
|
|
@ -1 +0,0 @@
|
|||
Data stack usage is much reduced for large literal and call expressions.
|
|
@ -1,2 +0,0 @@
|
|||
Constant tuple folding in bytecode optimizer now reuses tuple in constant
|
||||
table.
|
|
@ -1,2 +0,0 @@
|
|||
Improve the error message for :exc:`IndentationError` exceptions. Patch by
|
||||
Pablo Galindo
|
|
@ -1,3 +0,0 @@
|
|||
Hashes of NaN values now depend on object identity. Formerly, they always
|
||||
hashed to 0 even though NaN values are not equal to one another. Having the
|
||||
same hash for unequal values caused pile-ups in hash tables.
|
|
@ -1,5 +0,0 @@
|
|||
Revert making ``from __future__ import annotations`` the default. This follows
|
||||
the Steering Council decision to postpone PEP 563 changes to at least Python
|
||||
3.11. See the original email for more information regarding the decision:
|
||||
https://mail.python.org/archives/list/python-dev@python.org/thread/CLVXXPQ2T2LQ5MP2Y53VVQFCXYWQJHKZ/.
|
||||
Patch by Pablo Galindo.
|
|
@ -1,3 +0,0 @@
|
|||
:exc:`SyntaxError` exceptions raised by the intepreter will highlight the
|
||||
full error range of the expression that consistutes the syntax error itself,
|
||||
instead of just where the problem is detected. Patch by Pablo Galindo.
|
|
@ -1,2 +0,0 @@
|
|||
Annotations for complex targets (everything beside simple names) no longer
|
||||
cause any runtime effects with ``from __future__ import annotations``.
|
|
@ -1,2 +0,0 @@
|
|||
When performing structural pattern matching (:pep:`634`), captured names are
|
||||
now left unbound until the *entire* pattern has matched successfully.
|
|
@ -1,2 +0,0 @@
|
|||
Usage of ``await``/``yield``/``yield from`` and named expressions within an
|
||||
annotation is now forbidden when PEP 563 is activated.
|
|
@ -1,5 +0,0 @@
|
|||
Match patterns now use new dedicated AST nodes (``MatchValue``,
|
||||
``MatchSingleton``, ``MatchSequence``, ``MatchStar``, ``MatchMapping``,
|
||||
``MatchClass``) rather than reusing expression AST nodes. ``MatchAs`` and
|
||||
``MatchOr`` are now defined as pattern nodes rather than as expression nodes.
|
||||
Patch by Nick Coghlan.
|
|
@ -1,3 +0,0 @@
|
|||
Change class and module objects to lazy-create empty annotations dicts on
|
||||
demand. The annotations dicts are stored in the object's __dict__ for
|
||||
backwards compatibility.
|
|
@ -1,2 +0,0 @@
|
|||
Make the :class:`array.array` type immutable. Patch by
|
||||
Erlend E. Aasland.
|
|
@ -1,2 +0,0 @@
|
|||
Make :mod:`re` types immutable. Patch by
|
||||
Erlend E. Aasland.
|
|
@ -1,4 +0,0 @@
|
|||
The internal representation of line number tables is changed to not use
|
||||
sentinels, and an explicit length parameter is added to the out of process
|
||||
API function ``PyLineTable_InitAddressRange``. This makes the handling of
|
||||
line number tables more robust in some circumstances.
|
|
@ -1,2 +0,0 @@
|
|||
Importing the :mod:`_signal` module in a subinterpreter has no longer side
|
||||
effects.
|
|
@ -1,3 +0,0 @@
|
|||
If the current position in a frame has no line number then set the f_lineno
|
||||
attribute to None, instead of -1, to conform to PEP 626. This should not
|
||||
normally be possible, but might occur in some unusual circumstances.
|
|
@ -1,2 +0,0 @@
|
|||
Set frame.f_lineno to the line number of the 'with' kweyword when executing
|
||||
the call to ``__exit__``.
|
|
@ -1,2 +0,0 @@
|
|||
Restore proper validation of complex literal value patterns when parsing
|
||||
:keyword:`!match` blocks.
|
|
@ -1,2 +0,0 @@
|
|||
Use :c:member:`~PyTypeObject.tp_flags` on the class object to determine if the subject is a sequence
|
||||
or mapping when pattern matching. Avoids the need to import :mod:`collections.abc` when pattern matching.
|
|
@ -1 +0,0 @@
|
|||
Prevent classes being both a sequence and a mapping when pattern matching.
|
|
@ -1 +0,0 @@
|
|||
Fixing the example code in Doc/extending/extending.rst to declare and initialize the pmodule variable to be of the right type.
|
|
@ -1,3 +0,0 @@
|
|||
Update documentation to reflect that unparenthesized lambda expressions can
|
||||
no longer be the expression part in an ``if`` clause in comprehensions and
|
||||
generator expressions since Python 3.9.
|
|
@ -1,2 +0,0 @@
|
|||
Fix the Sphinx glossary_search extension: create the _static/ sub-directory
|
||||
if it doesn't exist.
|
|
@ -1,2 +0,0 @@
|
|||
Update dataclasses documentation to express that FrozenInstanceError is
|
||||
derived from AttributeError.
|
|
@ -1 +0,0 @@
|
|||
The documentation on the PyContextVar C-API was clarified.
|
|
@ -1,2 +0,0 @@
|
|||
Document the new :const:`Py_TPFLAGS_MAPPING` and
|
||||
:const:`Py_TPFLAGS_SEQUENCE` type flags.
|
|
@ -1 +0,0 @@
|
|||
Add "Annotations Best Practices" document as a new HOWTO.
|
|
@ -1 +0,0 @@
|
|||
IDLE's shell now shows prompts in a separate side-bar.
|
|
@ -1,2 +0,0 @@
|
|||
IDLE dialog windows are now recognized as dialogs by window managers on
|
||||
macOS and X Window.
|
|
@ -1 +0,0 @@
|
|||
Indent IDLE Shell input with spaces instead of tabs
|
|
@ -1 +0,0 @@
|
|||
Fix reference leak in test_squeezer. Patch by Pablo Galindo
|
|
@ -1,4 +0,0 @@
|
|||
Add mouse actions to the shell sidebar. Left click and optional drag
|
||||
selects one or more lines, as with the editor line number sidebar. Right
|
||||
click after selecting raises a context menu with 'copy with prompts'. This
|
||||
zips together prompts from the sidebar with lines from the selected text.
|
|
@ -1,3 +0,0 @@
|
|||
Fix a regression in the handling of ctypes' :data:`ctypes.c_wchar_p` type:
|
||||
embedded null characters would cause a :exc:`ValueError` to be raised. Patch
|
||||
by Zackery Spytz.
|
|
@ -1,2 +0,0 @@
|
|||
Provide a locale.localize() function, which converts a normalized number string
|
||||
into a locale format.
|
|
@ -1 +0,0 @@
|
|||
Covariance, Pearson's correlation, and simple linear regression functionality was added to statistics module. Patch by Tymoteusz Wołodźko.
|
|
@ -1 +0,0 @@
|
|||
Added SNI support to :func:`ssl.get_server_certificate`.
|
|
@ -1,3 +0,0 @@
|
|||
:func:`os.path.expanduser()` now refuses to guess Windows home directories if the basename of current user's home directory does not match their username.
|
||||
|
||||
:meth:`pathlib.Path.expanduser()` and :meth:`~pathlib.Path.home()` now consistently raise :exc:`RuntimeError` exception when a home directory cannot be resolved. Previously a :exc:`KeyError` exception could be raised on Windows when the ``"USERNAME"`` environment variable was unset.
|
|
@ -1 +0,0 @@
|
|||
:meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now accept a *follow_symlinks* keyword-only argument for consistency with corresponding functions in the :mod:`os` module.
|
|
@ -1,2 +0,0 @@
|
|||
:func:`ssl.RAND_status` now returns a boolean value (as documented) instead
|
||||
of ``1`` or ``0``.
|
|
@ -1 +0,0 @@
|
|||
Expose X509_V_FLAG_PARTIAL_CHAIN ssl flag
|
|
@ -1,2 +0,0 @@
|
|||
Fix dataclasses with ``InitVar``\s and :func:`~dataclasses.replace()`. Patch
|
||||
by Claudiu Popa.
|
|
@ -1 +0,0 @@
|
|||
Fix thread locks in zlib module may go wrong in rare case. Patch by Ma Lin.
|
|
@ -1,2 +0,0 @@
|
|||
The :func:`ssl.get_server_certificate` function now has a *timeout*
|
||||
parameter.
|
|
@ -1,4 +0,0 @@
|
|||
Use a new output buffer management code for :mod:`bz2` / :mod:`lzma` /
|
||||
:mod:`zlib` modules, and add ``.readall()`` function to
|
||||
``_compression.DecompressReader`` class. These bring some performance
|
||||
improvements. Patch by Ma Lin.
|
|
@ -1,2 +0,0 @@
|
|||
Certificate and PrivateKey classes were added to the ssl module.
|
||||
Certificates and keys can now be loaded from memory buffer, too.
|
|
@ -1,9 +0,0 @@
|
|||
Deprecated use of :func:`asyncio.get_event_loop` without running event loop.
|
||||
Emit deprecation warning for :mod:`asyncio` functions which implicitly
|
||||
create a :class:`~asyncio.Future` or :class:`~asyncio.Task` objects if there
|
||||
is no running event loop and no explicit *loop* argument is passed:
|
||||
:func:`~asyncio.ensure_future`, :func:`~asyncio.wrap_future`,
|
||||
:func:`~asyncio.gather`, :func:`~asyncio.shield`,
|
||||
:func:`~asyncio.as_completed` and constructors of :class:`~asyncio.Future`,
|
||||
:class:`~asyncio.Task`, :class:`~asyncio.StreamReader`,
|
||||
:class:`~asyncio.StreamReaderProtocol`.
|
|
@ -1,3 +0,0 @@
|
|||
Add ``slots`` parameter to ``dataclasses.dataclass`` decorator to
|
||||
automatically generate ``__slots__`` for class. Patch provided by Yurii
|
||||
Karabas.
|
|
@ -1,2 +0,0 @@
|
|||
:func:`typing.get_type_hints` now checks the local namespace of a class when
|
||||
evaluating :pep:`563` annotations inside said class.
|
|
@ -1,2 +0,0 @@
|
|||
Add `pathlib.Path.hardlink_to()` method that supersedes `link_to()`. The new
|
||||
method has the same argument order as `symlink_to()`.
|
|
@ -1 +0,0 @@
|
|||
:mod:`pprint` now has support for :class:`dataclasses.dataclass`. Patch by Lewis Gaul.
|
|
@ -1 +0,0 @@
|
|||
Fixed processing of a dataclass that inherits from a frozen dataclass with no fields. It is now correctly detected as an error.
|
|
@ -1 +0,0 @@
|
|||
:mod:`distutils.sysconfig` has been merged to :mod:`sysconfig`.
|
|
@ -1,2 +0,0 @@
|
|||
Install schemes in :mod:`distutils.command.install` are now loaded from
|
||||
:mod:`sysconfig`.
|
|
@ -1,3 +0,0 @@
|
|||
Improve :meth:`sqlite3.Connection.backup` error handling. The error message
|
||||
for non-existant target database names is now ``unknown database <database
|
||||
name>`` instead of ``SQL logic error``. Patch by Erlend E. Aasland.
|
|
@ -1,3 +0,0 @@
|
|||
New functions :func:`sysconfig.get_preferred_scheme` and
|
||||
:func:`sysconfig.get_default_scheme` are added to query a platform for its
|
||||
preferred "user", "home", and "prefix" (default) scheme names.
|
|
@ -1,3 +0,0 @@
|
|||
Improve :mod:`sqlite3` error handling: ``sqlite3_value_blob()`` errors that
|
||||
set ``SQLITE_NOMEM`` now raise :exc:`MemoryError`. Patch by Erlend E.
|
||||
Aasland.
|
|
@ -1,3 +0,0 @@
|
|||
Allow :class:`bytes` ``separator`` argument in ``urllib.parse.parse_qs`` and
|
||||
``urllib.parse.parse_qsl`` when parsing :class:`str` query strings. Previously,
|
||||
this raised a ``TypeError``.
|
|
@ -1,2 +0,0 @@
|
|||
Improve error message for :func:`tarfile.open` when :mod:`lzma` / :mod:`bz2`
|
||||
are unavailable. Patch by Anthony Sottile.
|
|
@ -1 +0,0 @@
|
|||
Fix problem with :attr:`~ssl.SSLContext.hostname_checks_common_name`. OpenSSL does not copy hostflags from *struct SSL_CTX* to *struct SSL*.
|
|
@ -1,2 +0,0 @@
|
|||
Add the ability to specify keyword-only fields to dataclasses. These fields
|
||||
will become keyword-only arguments to the generated __init__.
|
|
@ -1,2 +0,0 @@
|
|||
:func:`turtle.textinput` and :func:`turtle.numinput` create now a transient
|
||||
window working on behalf of the canvas window.
|
|
@ -1,2 +0,0 @@
|
|||
Deprecate find_module() and find_loader() implementations in importlib and
|
||||
zipimport.
|
|
@ -1,19 +0,0 @@
|
|||
The following ``threading`` methods are now deprecated and should be replaced:
|
||||
|
||||
- ``currentThread`` => :func:`threading.current_thread`
|
||||
|
||||
- ``activeCount`` => :func:`threading.active_count`
|
||||
|
||||
- ``Condition.notifyAll`` => :meth:`threading.Condition.notify_all`
|
||||
|
||||
- ``Event.isSet`` => :meth:`threading.Event.is_set`
|
||||
|
||||
- ``Thread.setName`` => :attr:`threading.Thread.name`
|
||||
|
||||
- ``thread.getName`` => :attr:`threading.Thread.name`
|
||||
|
||||
- ``Thread.isDaemon`` => :attr:`threading.Thread.daemon`
|
||||
|
||||
- ``Thread.setDaemon`` => :attr:`threading.Thread.daemon`
|
||||
|
||||
Patch by Jelle Zijlstra.
|
|
@ -1,2 +0,0 @@
|
|||
:mod:`tkinter` dialog windows are now recognized as dialogs by window
|
||||
managers on macOS and X Window.
|
|
@ -1,3 +0,0 @@
|
|||
Fix :mod:`sqlite3` regression for zero-sized blobs with converters, where
|
||||
``b""`` was returned instead of ``None``. The regression was introduced by
|
||||
GH-24723. Patch by Erlend E. Aasland.
|
|
@ -1,2 +0,0 @@
|
|||
Fix an issue where :data:`~object.__match_args__` generation could fail for
|
||||
some :mod:`dataclasses`.
|
|
@ -1,4 +0,0 @@
|
|||
A ``simple_enum`` decorator is added to the ``enum`` module to convert a
|
||||
normal class into an Enum. ``test_simple_enum`` added to test simple enums
|
||||
against a corresponding normal Enum. Standard library modules updated to
|
||||
use ``simple_enum``.
|
|
@ -1,2 +0,0 @@
|
|||
Add ``encoding`` and ``errors`` parameters to :func:`fileinput.input` and
|
||||
:class:`fileinput.FileInput`.
|
|
@ -1 +0,0 @@
|
|||
Add an ``encoding`` parameter :func:`logging.fileConfig()`.
|
|
@ -1,3 +0,0 @@
|
|||
The ``P.args`` and ``P.kwargs`` attributes of :class:`typing.ParamSpec` are
|
||||
now instances of the new classes :class:`typing.ParamSpecArgs` and
|
||||
:class:`typing.ParamSpecKwargs`, which enables a more useful ``repr()``. Patch by Jelle Zijlstra.
|
|
@ -1,3 +0,0 @@
|
|||
In ``importlib.metadata``, incorporate changes from importlib_metadata 3.10:
|
||||
Add mtime-based caching during distribution discovery. Flagged use of dict
|
||||
result from ``entry_points()`` as deprecated.
|
|
@ -1,3 +0,0 @@
|
|||
:func:`os.path.realpath` now accepts a *strict* keyword-only argument.
|
||||
When set to ``True``, :exc:`OSError` is raised if a path doesn't exist
|
||||
or a symlink loop is encountered.
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue