mirror of
https://github.com/python/cpython.git
synced 2024-11-23 01:45:25 +08:00
Python 3.14.0a2
This commit is contained in:
parent
4d771977b1
commit
add43c3420
@ -590,7 +590,7 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate.
|
||||
return ``1`` when it's positive and ``0`` otherwise. Else set an
|
||||
exception and return ``-1``.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.14
|
||||
|
||||
|
||||
.. c:function:: int PyLong_IsNegative(PyObject *obj)
|
||||
@ -601,7 +601,7 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate.
|
||||
return ``1`` when it's negative and ``0`` otherwise. Else set an
|
||||
exception and return ``-1``.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.14
|
||||
|
||||
|
||||
.. c:function:: int PyLong_IsZero(PyObject *obj)
|
||||
@ -612,7 +612,7 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate.
|
||||
return ``1`` when it's zero and ``0`` otherwise. Else set an
|
||||
exception and return ``-1``.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.14
|
||||
|
||||
|
||||
.. c:function:: PyObject* PyLong_GetInfo(void)
|
||||
|
@ -597,5 +597,5 @@ Object Protocol
|
||||
This function is intended to be used soon after *obj* is created,
|
||||
by the code that creates it.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.14
|
||||
|
||||
|
@ -690,7 +690,7 @@ Exception classes
|
||||
of a :class:`~concurrent.futures.InterpreterPoolExecutor`
|
||||
has failed initializing.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.14
|
||||
|
||||
.. exception:: ExecutionFailed
|
||||
|
||||
@ -699,7 +699,7 @@ Exception classes
|
||||
:meth:`~concurrent.futures.Executor.submit` when there's an uncaught
|
||||
exception from the submitted task.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.14
|
||||
|
||||
.. currentmodule:: concurrent.futures.process
|
||||
|
||||
|
@ -481,7 +481,7 @@ The :mod:`functools` module defines the following functions:
|
||||
See :func:`itertools.accumulate` for an iterator that yields all intermediate
|
||||
values.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.14
|
||||
*initial* is now supported as a keyword argument.
|
||||
|
||||
.. decorator:: singledispatch
|
||||
|
@ -67,7 +67,7 @@ this module. The following types are supported:
|
||||
* Added format version 4, which supports efficient representations
|
||||
of short strings.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.14
|
||||
|
||||
Added format version 5, which allows marshalling slices.
|
||||
|
||||
|
@ -261,7 +261,7 @@ process and user.
|
||||
:data:`os.environ` or :data:`os.environb`, or calling :func:`os.getenv`
|
||||
while reloading, may return an empty result.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.14
|
||||
|
||||
|
||||
.. function:: chdir(path)
|
||||
|
@ -3889,7 +3889,7 @@ copying.
|
||||
.. versionchanged:: 3.5
|
||||
memoryviews can now be indexed with tuple of integers.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.14
|
||||
memoryview is now a :term:`generic type`.
|
||||
|
||||
:class:`memoryview` has several methods:
|
||||
|
@ -944,7 +944,7 @@ always available.
|
||||
This function should be used for specialized purposes only.
|
||||
It is not guaranteed to exist in all implementations of Python.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.14
|
||||
|
||||
The result may include objects from other interpreters.
|
||||
|
||||
|
@ -84,11 +84,11 @@ The following exceptions are available:
|
||||
|
||||
The column corresponding to *pos*.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.14
|
||||
Added the *msg*, *doc* and *pos* parameters.
|
||||
Added the :attr:`msg`, :attr:`doc`, :attr:`pos`, :attr:`lineno` and :attr:`colno` attributes.
|
||||
|
||||
.. deprecated:: next
|
||||
.. deprecated:: 3.14
|
||||
Passing free-form positional arguments is deprecated.
|
||||
|
||||
|
||||
|
@ -153,7 +153,7 @@ which relays any information about the UUID's safety, using this enumeration:
|
||||
The UUID version number (1 through 8, meaningful only when the variant is
|
||||
:const:`RFC_4122`).
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.14
|
||||
Added UUID version 8.
|
||||
|
||||
|
||||
@ -233,7 +233,7 @@ The :mod:`uuid` module defines the following functions:
|
||||
non-specified arguments are substituted for a pseudo-random integer of
|
||||
appropriate size.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.14
|
||||
|
||||
.. index:: single: uuid8
|
||||
|
||||
@ -323,7 +323,7 @@ The following options are accepted:
|
||||
Specify the function name to use to generate the uuid. By default :func:`uuid4`
|
||||
is used.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.14
|
||||
Allow generating UUID version 8.
|
||||
|
||||
.. option:: -n <namespace>
|
||||
|
@ -20,10 +20,10 @@
|
||||
#define PY_MINOR_VERSION 14
|
||||
#define PY_MICRO_VERSION 0
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
||||
#define PY_RELEASE_SERIAL 1
|
||||
#define PY_RELEASE_SERIAL 2
|
||||
|
||||
/* Version as a string */
|
||||
#define PY_VERSION "3.14.0a1+"
|
||||
#define PY_VERSION "3.14.0a2"
|
||||
/*--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 Tue Oct 15 22:34:02 2024
|
||||
# Autogenerated by Sphinx on Tue Nov 19 16:52:22 2024
|
||||
# as part of the release process.
|
||||
topics = {'assert': 'The "assert" statement\n'
|
||||
'**********************\n'
|
||||
@ -29,13 +29,12 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'(command\n'
|
||||
'line option "-O"). The current code generator emits no code for '
|
||||
'an\n'
|
||||
'assert statement when optimization is requested at compile time. '
|
||||
'Note\n'
|
||||
'that it is unnecessary to include the source code for the '
|
||||
'expression\n'
|
||||
'that failed in the error message; it will be displayed as part of '
|
||||
'the\n'
|
||||
'stack trace.\n'
|
||||
'"assert" statement when optimization is requested at compile '
|
||||
'time.\n'
|
||||
'Note that it is unnecessary to include the source code for the\n'
|
||||
'expression that failed in the error message; it will be displayed '
|
||||
'as\n'
|
||||
'part of the stack trace.\n'
|
||||
'\n'
|
||||
'Assignments to "__debug__" are illegal. The value for the '
|
||||
'built-in\n'
|
||||
@ -713,7 +712,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'should either\n'
|
||||
' return the (computed) attribute value or raise an '
|
||||
'"AttributeError"\n'
|
||||
' exception.\n'
|
||||
' exception. The "object" class itself does not provide '
|
||||
'this method.\n'
|
||||
'\n'
|
||||
' Note that if the attribute is found through the '
|
||||
'normal mechanism,\n'
|
||||
@ -896,7 +896,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'parents). In the\n'
|
||||
'examples below, “the attribute” refers to the attribute '
|
||||
'whose name is\n'
|
||||
'the key of the property in the owner class’ "__dict__".\n'
|
||||
'the key of the property in the owner class’ "__dict__". '
|
||||
'The "object"\n'
|
||||
'class itself does not implement any of these protocols.\n'
|
||||
'\n'
|
||||
'object.__get__(self, instance, owner=None)\n'
|
||||
'\n'
|
||||
@ -1569,7 +1571,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' Called when the instance is “called” as a function; if '
|
||||
'this method\n'
|
||||
' is defined, "x(arg1, arg2, ...)" roughly translates to\n'
|
||||
' "type(x).__call__(x, arg1, ...)".\n',
|
||||
' "type(x).__call__(x, arg1, ...)". The "object" class '
|
||||
'itself does\n'
|
||||
' not provide this method.\n',
|
||||
'calls': 'Calls\n'
|
||||
'*****\n'
|
||||
'\n'
|
||||
@ -1754,6 +1758,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' Function definitions. When the code block executes a "return"\n'
|
||||
' statement, this specifies the return value of the function '
|
||||
'call.\n'
|
||||
' If execution reaches the end of the code block without executing '
|
||||
'a\n'
|
||||
' "return" statement, the return value is "None".\n'
|
||||
'\n'
|
||||
'a built-in function or method:\n'
|
||||
' The result is up to the interpreter; see Built-in Functions for '
|
||||
@ -2802,17 +2809,14 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' enter = type(manager).__enter__\n'
|
||||
' exit = type(manager).__exit__\n'
|
||||
' value = enter(manager)\n'
|
||||
' hit_except = False\n'
|
||||
'\n'
|
||||
' try:\n'
|
||||
' TARGET = value\n'
|
||||
' SUITE\n'
|
||||
' except:\n'
|
||||
' hit_except = True\n'
|
||||
' if not exit(manager, *sys.exc_info()):\n'
|
||||
' raise\n'
|
||||
' finally:\n'
|
||||
' if not hit_except:\n'
|
||||
' else:\n'
|
||||
' exit(manager, None, None, None)\n'
|
||||
'\n'
|
||||
'With more than one item, the context managers are processed as '
|
||||
@ -4495,6 +4499,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
'For more information on context managers, see Context '
|
||||
'Manager Types.\n'
|
||||
'The "object" class itself does not provide the context '
|
||||
'manager\n'
|
||||
'methods.\n'
|
||||
'\n'
|
||||
'object.__enter__(self)\n'
|
||||
'\n'
|
||||
@ -4764,17 +4771,20 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
' This is typically used for debugging, so it is important '
|
||||
'that the\n'
|
||||
' representation is information-rich and unambiguous.\n'
|
||||
' representation is information-rich and unambiguous. A '
|
||||
'default\n'
|
||||
' implementation is provided by the "object" class '
|
||||
'itself.\n'
|
||||
'\n'
|
||||
'object.__str__(self)\n'
|
||||
'\n'
|
||||
' Called by "str(object)" and the built-in functions '
|
||||
'"format()" and\n'
|
||||
' "print()" to compute the “informal” or nicely printable '
|
||||
'string\n'
|
||||
' representation of an object. The return value must be a '
|
||||
'string\n'
|
||||
' object.\n'
|
||||
' Called by "str(object)", the default "__format__()" '
|
||||
'implementation,\n'
|
||||
' and the built-in function "print()", to compute the '
|
||||
'“informal” or\n'
|
||||
' nicely printable string representation of an object. '
|
||||
'The return\n'
|
||||
' value must be a str object.\n'
|
||||
'\n'
|
||||
' This method differs from "object.__repr__()" in that '
|
||||
'there is no\n'
|
||||
@ -4790,7 +4800,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
' Called by bytes to compute a byte-string representation '
|
||||
'of an\n'
|
||||
' object. This should return a "bytes" object.\n'
|
||||
' object. This should return a "bytes" object. The '
|
||||
'"object" class\n'
|
||||
' itself does not provide this method.\n'
|
||||
'\n'
|
||||
'object.__format__(self, format_spec)\n'
|
||||
'\n'
|
||||
@ -4818,6 +4830,11 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
' The return value must be a string object.\n'
|
||||
'\n'
|
||||
' The default implementation by the "object" class should '
|
||||
'be given an\n'
|
||||
' empty *format_spec* string. It delegates to '
|
||||
'"__str__()".\n'
|
||||
'\n'
|
||||
' Changed in version 3.4: The __format__ method of '
|
||||
'"object" itself\n'
|
||||
' raises a "TypeError" if passed any non-empty string.\n'
|
||||
@ -4875,6 +4892,16 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' ordering operations from a single root operation, see\n'
|
||||
' "functools.total_ordering()".\n'
|
||||
'\n'
|
||||
' By default, the "object" class provides implementations '
|
||||
'consistent\n'
|
||||
' with Value comparisons: equality compares according to '
|
||||
'object\n'
|
||||
' identity, and order comparisons raise "TypeError". Each '
|
||||
'default\n'
|
||||
' method may generate these results directly, but may also '
|
||||
'return\n'
|
||||
' "NotImplemented".\n'
|
||||
'\n'
|
||||
' See the paragraph on "__hash__()" for some important '
|
||||
'notes on\n'
|
||||
' creating *hashable* objects which support custom '
|
||||
@ -4961,12 +4988,13 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
' User-defined classes have "__eq__()" and "__hash__()" '
|
||||
'methods by\n'
|
||||
' default; with them, all objects compare unequal (except '
|
||||
'with\n'
|
||||
' themselves) and "x.__hash__()" returns an appropriate '
|
||||
'value such\n'
|
||||
' that "x == y" implies both that "x is y" and "hash(x) == '
|
||||
'hash(y)".\n'
|
||||
' default (inherited from the "object" class); with them, '
|
||||
'all objects\n'
|
||||
' compare unequal (except with themselves) and '
|
||||
'"x.__hash__()" returns\n'
|
||||
' an appropriate value such that "x == y" implies both '
|
||||
'that "x is y"\n'
|
||||
' and "hash(x) == hash(y)".\n'
|
||||
'\n'
|
||||
' A class that overrides "__eq__()" and does not define '
|
||||
'"__hash__()"\n'
|
||||
@ -5037,9 +5065,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'the object is\n'
|
||||
' considered true if its result is nonzero. If a class '
|
||||
'defines\n'
|
||||
' neither "__len__()" nor "__bool__()", all its instances '
|
||||
'are\n'
|
||||
' considered true.\n',
|
||||
' neither "__len__()" nor "__bool__()" (which is true of '
|
||||
'the "object"\n'
|
||||
' class itself), all its instances are considered true.\n',
|
||||
'debugger': '"pdb" — The Python Debugger\n'
|
||||
'***************************\n'
|
||||
'\n'
|
||||
@ -7038,10 +7066,12 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'printing fields |\n'
|
||||
'| | in the form ‘+000000120’. This alignment '
|
||||
'option is only |\n'
|
||||
'| | valid for numeric types. It becomes the '
|
||||
'default for |\n'
|
||||
'| | numbers when ‘0’ immediately precedes the '
|
||||
'field width. |\n'
|
||||
'| | valid for numeric types, excluding "complex". '
|
||||
'It becomes |\n'
|
||||
'| | the default for numbers when ‘0’ immediately '
|
||||
'precedes the |\n'
|
||||
'| | field '
|
||||
'width. |\n'
|
||||
'+-----------+------------------------------------------------------------+\n'
|
||||
'| "\'^\'" | Forces the field to be centered within the '
|
||||
'available |\n'
|
||||
@ -7148,9 +7178,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'field by a\n'
|
||||
'zero ("\'0\'") character enables sign-aware zero-padding '
|
||||
'for numeric\n'
|
||||
'types. This is equivalent to a *fill* character of "\'0\'" '
|
||||
'with an\n'
|
||||
'*alignment* type of "\'=\'".\n'
|
||||
'types, excluding "complex". This is equivalent to a *fill* '
|
||||
'character\n'
|
||||
'of "\'0\'" with an *alignment* type of "\'=\'".\n'
|
||||
'\n'
|
||||
'Changed in version 3.10: Preceding the *width* field by '
|
||||
'"\'0\'" no\n'
|
||||
@ -7416,6 +7446,32 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' '
|
||||
'+-----------+------------------------------------------------------------+\n'
|
||||
'\n'
|
||||
'The result should be correctly rounded to a given precision '
|
||||
'"p" of\n'
|
||||
'digits after the decimal point. The rounding mode for '
|
||||
'"float" matches\n'
|
||||
'that of the "round()" builtin. For "Decimal", the rounding '
|
||||
'mode of\n'
|
||||
'the current context will be used.\n'
|
||||
'\n'
|
||||
'The available presentation types for "complex" are the same '
|
||||
'as those\n'
|
||||
'for "float" ("\'%\'" is not allowed). Both the real and '
|
||||
'imaginary\n'
|
||||
'components of a complex number are formatted as '
|
||||
'floating-point\n'
|
||||
'numbers, according to the specified presentation type. '
|
||||
'They are\n'
|
||||
'separated by the mandatory sign of the imaginary part, the '
|
||||
'latter\n'
|
||||
'being terminated by a "j" suffix. If the presentation type '
|
||||
'is\n'
|
||||
'missing, the result will match the output of "str()" '
|
||||
'(complex numbers\n'
|
||||
'with a non-zero real part are also surrounded by '
|
||||
'parentheses),\n'
|
||||
'possibly altered by other format modifiers.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Format examples\n'
|
||||
'===============\n'
|
||||
@ -7800,33 +7856,17 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
' global_stmt ::= "global" identifier ("," identifier)*\n'
|
||||
'\n'
|
||||
'The "global" statement is a declaration which holds for the '
|
||||
'entire\n'
|
||||
'current code block. It means that the listed identifiers are to '
|
||||
'be\n'
|
||||
'interpreted as globals. It would be impossible to assign to a '
|
||||
'global\n'
|
||||
'variable without "global", although free variables may refer to\n'
|
||||
'globals without being declared global.\n'
|
||||
'The "global" statement causes the listed identifiers to be '
|
||||
'interpreted\n'
|
||||
'as globals. It would be impossible to assign to a global variable\n'
|
||||
'without "global", although free variables may refer to globals '
|
||||
'without\n'
|
||||
'being declared global.\n'
|
||||
'\n'
|
||||
'Names listed in a "global" statement must not be used in the same '
|
||||
'code\n'
|
||||
'block textually preceding that "global" statement.\n'
|
||||
'\n'
|
||||
'Names listed in a "global" statement must not be defined as '
|
||||
'formal\n'
|
||||
'parameters, or as targets in "with" statements or "except" '
|
||||
'clauses, or\n'
|
||||
'in a "for" target list, "class" definition, function definition,\n'
|
||||
'"import" statement, or *variable annotations*.\n'
|
||||
'\n'
|
||||
'**CPython implementation detail:** The current implementation does '
|
||||
'not\n'
|
||||
'enforce some of these restrictions, but programs should not abuse '
|
||||
'this\n'
|
||||
'freedom, as future implementations may enforce them or silently '
|
||||
'change\n'
|
||||
'the meaning of the program.\n'
|
||||
'The "global" statement applies to the entire scope of a function '
|
||||
'or\n'
|
||||
'class body. A "SyntaxError" is raised if a variable is used or\n'
|
||||
'assigned to prior to its global declaration in the scope.\n'
|
||||
'\n'
|
||||
'**Programmer’s note:** "global" is a directive to the parser. It\n'
|
||||
'applies only to code parsed at the same time as the "global"\n'
|
||||
@ -8896,8 +8936,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'scope,\n'
|
||||
'or if there is no nonlocal scope, a "SyntaxError" is raised.\n'
|
||||
'\n'
|
||||
'The nonlocal statement applies to the entire scope of a function '
|
||||
'or\n'
|
||||
'The "nonlocal" statement applies to the entire scope of a '
|
||||
'function or\n'
|
||||
'class body. A "SyntaxError" is raised if a variable is used or\n'
|
||||
'assigned to prior to its nonlocal declaration in the scope.\n'
|
||||
'\n'
|
||||
@ -8996,17 +9036,21 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'"divmod()",\n'
|
||||
' "pow()", "**", "<<", ">>", "&", "^", "|") with reflected '
|
||||
'(swapped)\n'
|
||||
' operands. These functions are only called if the left '
|
||||
'operand does\n'
|
||||
' not support the corresponding operation [3] and the '
|
||||
' operands. These functions are only called if the '
|
||||
'operands are of\n'
|
||||
' different types. [4] For instance, to evaluate the '
|
||||
'expression "x -\n'
|
||||
' y", where *y* is an instance of a class that has an '
|
||||
'"__rsub__()"\n'
|
||||
' method, "type(y).__rsub__(y, x)" is called if '
|
||||
'"type(x).__sub__(x,\n'
|
||||
' y)" returns "NotImplemented".\n'
|
||||
' different types, when the left operand does not support '
|
||||
'the\n'
|
||||
' corresponding operation [3], or the right operand’s '
|
||||
'class is\n'
|
||||
' derived from the left operand’s class. [4] For instance, '
|
||||
'to\n'
|
||||
' evaluate the expression "x - y", where *y* is an '
|
||||
'instance of a\n'
|
||||
' class that has an "__rsub__()" method, '
|
||||
'"type(y).__rsub__(y, x)" is\n'
|
||||
' called if "type(x).__sub__(x, y)" returns '
|
||||
'"NotImplemented" or\n'
|
||||
' "type(y)" is a subclass of "type(x)". [5]\n'
|
||||
'\n'
|
||||
' Note that ternary "pow()" will not try calling '
|
||||
'"__rpow__()" (the\n'
|
||||
@ -9651,56 +9695,58 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
'The following methods can be defined to implement '
|
||||
'container objects.\n'
|
||||
'Containers usually are *sequences* (such as "lists" or '
|
||||
'"tuples") or\n'
|
||||
'*mappings* (like "dictionaries"), but can represent other '
|
||||
'containers\n'
|
||||
'as well. The first set of methods is used either to '
|
||||
'emulate a\n'
|
||||
'sequence or to emulate a mapping; the difference is that '
|
||||
'for a\n'
|
||||
'sequence, the allowable keys should be the integers *k* '
|
||||
'for which "0\n'
|
||||
'<= k < N" where *N* is the length of the sequence, or '
|
||||
'"slice" objects,\n'
|
||||
'which define a range of items. It is also recommended '
|
||||
'that mappings\n'
|
||||
'provide the methods "keys()", "values()", "items()", '
|
||||
'"get()",\n'
|
||||
'"clear()", "setdefault()", "pop()", "popitem()", "copy()", '
|
||||
'None of them are provided by the "object" class itself. '
|
||||
'Containers\n'
|
||||
'usually are *sequences* (such as "lists" or "tuples") or '
|
||||
'*mappings*\n'
|
||||
'(like *dictionaries*), but can represent other containers '
|
||||
'as well.\n'
|
||||
'The first set of methods is used either to emulate a '
|
||||
'sequence or to\n'
|
||||
'emulate a mapping; the difference is that for a sequence, '
|
||||
'the\n'
|
||||
'allowable keys should be the integers *k* for which "0 <= '
|
||||
'k < N" where\n'
|
||||
'*N* is the length of the sequence, or "slice" objects, '
|
||||
'which define a\n'
|
||||
'range of items. It is also recommended that mappings '
|
||||
'provide the\n'
|
||||
'methods "keys()", "values()", "items()", "get()", '
|
||||
'"clear()",\n'
|
||||
'"setdefault()", "pop()", "popitem()", "copy()", and '
|
||||
'"update()"\n'
|
||||
'behaving similar to those for Python’s standard '
|
||||
'"dictionary" objects.\n'
|
||||
'The "collections.abc" module provides a "MutableMapping" '
|
||||
'*abstract\n'
|
||||
'base class* to help create those methods from a base set '
|
||||
'of\n'
|
||||
'"__getitem__()", "__setitem__()", "__delitem__()", and '
|
||||
'"keys()".\n'
|
||||
'Mutable sequences should provide methods "append()", '
|
||||
'"count()",\n'
|
||||
'"index()", "extend()", "insert()", "pop()", "remove()", '
|
||||
'"reverse()"\n'
|
||||
'and "sort()", like Python standard "list" objects. '
|
||||
'Finally, sequence\n'
|
||||
'types should implement addition (meaning concatenation) '
|
||||
'and\n'
|
||||
'"update()" behaving similar to those for Python’s '
|
||||
'standard\n'
|
||||
'"dictionary" objects. The "collections.abc" module '
|
||||
'provides a\n'
|
||||
'"MutableMapping" *abstract base class* to help create '
|
||||
'those methods\n'
|
||||
'from a base set of "__getitem__()", "__setitem__()", '
|
||||
'"__delitem__()",\n'
|
||||
'and "keys()". Mutable sequences should provide methods '
|
||||
'"append()",\n'
|
||||
'"count()", "index()", "extend()", "insert()", "pop()", '
|
||||
'"remove()",\n'
|
||||
'"reverse()" and "sort()", like Python standard "list" '
|
||||
'objects.\n'
|
||||
'Finally, sequence types should implement addition '
|
||||
'(meaning\n'
|
||||
'concatenation) and multiplication (meaning repetition) by '
|
||||
'defining the\n'
|
||||
'methods "__add__()", "__radd__()", "__iadd__()", '
|
||||
'"__mul__()",\n'
|
||||
'"__rmul__()" and "__imul__()" described below; they should '
|
||||
'not define\n'
|
||||
'other numerical operators. It is recommended that both '
|
||||
'mappings and\n'
|
||||
'sequences implement the "__contains__()" method to allow '
|
||||
'efficient use\n'
|
||||
'of the "in" operator; for mappings, "in" should search the '
|
||||
'mapping’s\n'
|
||||
'keys; for sequences, it should search through the values. '
|
||||
'It is\n'
|
||||
'further recommended that both mappings and sequences '
|
||||
'implement the\n'
|
||||
'multiplication (meaning repetition) by defining the '
|
||||
'methods\n'
|
||||
'"__add__()", "__radd__()", "__iadd__()", "__mul__()", '
|
||||
'"__rmul__()" and\n'
|
||||
'"__imul__()" described below; they should not define other '
|
||||
'numerical\n'
|
||||
'operators. It is recommended that both mappings and '
|
||||
'sequences\n'
|
||||
'implement the "__contains__()" method to allow efficient '
|
||||
'use of the\n'
|
||||
'"in" operator; for mappings, "in" should search the '
|
||||
'mapping’s keys;\n'
|
||||
'for sequences, it should search through the values. It is '
|
||||
'further\n'
|
||||
'recommended that both mappings and sequences implement '
|
||||
'the\n'
|
||||
'"__iter__()" method to allow efficient iteration through '
|
||||
'the\n'
|
||||
'container; for mappings, "__iter__()" should iterate '
|
||||
@ -10240,17 +10286,19 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
' This is typically used for debugging, so it is important '
|
||||
'that the\n'
|
||||
' representation is information-rich and unambiguous.\n'
|
||||
' representation is information-rich and unambiguous. A '
|
||||
'default\n'
|
||||
' implementation is provided by the "object" class itself.\n'
|
||||
'\n'
|
||||
'object.__str__(self)\n'
|
||||
'\n'
|
||||
' Called by "str(object)" and the built-in functions '
|
||||
'"format()" and\n'
|
||||
' "print()" to compute the “informal” or nicely printable '
|
||||
'string\n'
|
||||
' representation of an object. The return value must be a '
|
||||
'string\n'
|
||||
' object.\n'
|
||||
' Called by "str(object)", the default "__format__()" '
|
||||
'implementation,\n'
|
||||
' and the built-in function "print()", to compute the '
|
||||
'“informal” or\n'
|
||||
' nicely printable string representation of an object. The '
|
||||
'return\n'
|
||||
' value must be a str object.\n'
|
||||
'\n'
|
||||
' This method differs from "object.__repr__()" in that '
|
||||
'there is no\n'
|
||||
@ -10266,7 +10314,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
' Called by bytes to compute a byte-string representation '
|
||||
'of an\n'
|
||||
' object. This should return a "bytes" object.\n'
|
||||
' object. This should return a "bytes" object. The "object" '
|
||||
'class\n'
|
||||
' itself does not provide this method.\n'
|
||||
'\n'
|
||||
'object.__format__(self, format_spec)\n'
|
||||
'\n'
|
||||
@ -10294,6 +10344,10 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
' The return value must be a string object.\n'
|
||||
'\n'
|
||||
' The default implementation by the "object" class should '
|
||||
'be given an\n'
|
||||
' empty *format_spec* string. It delegates to "__str__()".\n'
|
||||
'\n'
|
||||
' Changed in version 3.4: The __format__ method of "object" '
|
||||
'itself\n'
|
||||
' raises a "TypeError" if passed any non-empty string.\n'
|
||||
@ -10351,6 +10405,16 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' ordering operations from a single root operation, see\n'
|
||||
' "functools.total_ordering()".\n'
|
||||
'\n'
|
||||
' By default, the "object" class provides implementations '
|
||||
'consistent\n'
|
||||
' with Value comparisons: equality compares according to '
|
||||
'object\n'
|
||||
' identity, and order comparisons raise "TypeError". Each '
|
||||
'default\n'
|
||||
' method may generate these results directly, but may also '
|
||||
'return\n'
|
||||
' "NotImplemented".\n'
|
||||
'\n'
|
||||
' See the paragraph on "__hash__()" for some important '
|
||||
'notes on\n'
|
||||
' creating *hashable* objects which support custom '
|
||||
@ -10436,12 +10500,13 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
' User-defined classes have "__eq__()" and "__hash__()" '
|
||||
'methods by\n'
|
||||
' default; with them, all objects compare unequal (except '
|
||||
'with\n'
|
||||
' themselves) and "x.__hash__()" returns an appropriate '
|
||||
'value such\n'
|
||||
' that "x == y" implies both that "x is y" and "hash(x) == '
|
||||
'hash(y)".\n'
|
||||
' default (inherited from the "object" class); with them, '
|
||||
'all objects\n'
|
||||
' compare unequal (except with themselves) and '
|
||||
'"x.__hash__()" returns\n'
|
||||
' an appropriate value such that "x == y" implies both that '
|
||||
'"x is y"\n'
|
||||
' and "hash(x) == hash(y)".\n'
|
||||
'\n'
|
||||
' A class that overrides "__eq__()" and does not define '
|
||||
'"__hash__()"\n'
|
||||
@ -10510,9 +10575,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'object is\n'
|
||||
' considered true if its result is nonzero. If a class '
|
||||
'defines\n'
|
||||
' neither "__len__()" nor "__bool__()", all its instances '
|
||||
'are\n'
|
||||
' considered true.\n'
|
||||
' neither "__len__()" nor "__bool__()" (which is true of '
|
||||
'the "object"\n'
|
||||
' class itself), all its instances are considered true.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Customizing attribute access\n'
|
||||
@ -10536,7 +10601,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'either\n'
|
||||
' return the (computed) attribute value or raise an '
|
||||
'"AttributeError"\n'
|
||||
' exception.\n'
|
||||
' exception. The "object" class itself does not provide '
|
||||
'this method.\n'
|
||||
'\n'
|
||||
' Note that if the attribute is found through the normal '
|
||||
'mechanism,\n'
|
||||
@ -10716,7 +10782,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'parents). In the\n'
|
||||
'examples below, “the attribute” refers to the attribute '
|
||||
'whose name is\n'
|
||||
'the key of the property in the owner class’ "__dict__".\n'
|
||||
'the key of the property in the owner class’ "__dict__". The '
|
||||
'"object"\n'
|
||||
'class itself does not implement any of these protocols.\n'
|
||||
'\n'
|
||||
'object.__get__(self, instance, owner=None)\n'
|
||||
'\n'
|
||||
@ -11599,7 +11667,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' Called when the instance is “called” as a function; if '
|
||||
'this method\n'
|
||||
' is defined, "x(arg1, arg2, ...)" roughly translates to\n'
|
||||
' "type(x).__call__(x, arg1, ...)".\n'
|
||||
' "type(x).__call__(x, arg1, ...)". The "object" class '
|
||||
'itself does\n'
|
||||
' not provide this method.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Emulating container types\n'
|
||||
@ -11607,54 +11677,54 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
'The following methods can be defined to implement container '
|
||||
'objects.\n'
|
||||
'Containers usually are *sequences* (such as "lists" or '
|
||||
'"tuples") or\n'
|
||||
'*mappings* (like "dictionaries"), but can represent other '
|
||||
'containers\n'
|
||||
'as well. The first set of methods is used either to emulate '
|
||||
'a\n'
|
||||
'sequence or to emulate a mapping; the difference is that for '
|
||||
'a\n'
|
||||
'sequence, the allowable keys should be the integers *k* for '
|
||||
'which "0\n'
|
||||
'<= k < N" where *N* is the length of the sequence, or '
|
||||
'"slice" objects,\n'
|
||||
'which define a range of items. It is also recommended that '
|
||||
'mappings\n'
|
||||
'provide the methods "keys()", "values()", "items()", '
|
||||
'"get()",\n'
|
||||
'"clear()", "setdefault()", "pop()", "popitem()", "copy()", '
|
||||
'and\n'
|
||||
'"update()" behaving similar to those for Python’s standard\n'
|
||||
'"dictionary" objects. The "collections.abc" module provides '
|
||||
'a\n'
|
||||
'"MutableMapping" *abstract base class* to help create those '
|
||||
'methods\n'
|
||||
'from a base set of "__getitem__()", "__setitem__()", '
|
||||
'"__delitem__()",\n'
|
||||
'and "keys()". Mutable sequences should provide methods '
|
||||
'"append()",\n'
|
||||
'"count()", "index()", "extend()", "insert()", "pop()", '
|
||||
'"remove()",\n'
|
||||
'"reverse()" and "sort()", like Python standard "list" '
|
||||
'None of them are provided by the "object" class itself. '
|
||||
'Containers\n'
|
||||
'usually are *sequences* (such as "lists" or "tuples") or '
|
||||
'*mappings*\n'
|
||||
'(like *dictionaries*), but can represent other containers as '
|
||||
'well.\n'
|
||||
'The first set of methods is used either to emulate a '
|
||||
'sequence or to\n'
|
||||
'emulate a mapping; the difference is that for a sequence, '
|
||||
'the\n'
|
||||
'allowable keys should be the integers *k* for which "0 <= k '
|
||||
'< N" where\n'
|
||||
'*N* is the length of the sequence, or "slice" objects, which '
|
||||
'define a\n'
|
||||
'range of items. It is also recommended that mappings '
|
||||
'provide the\n'
|
||||
'methods "keys()", "values()", "items()", "get()", '
|
||||
'"clear()",\n'
|
||||
'"setdefault()", "pop()", "popitem()", "copy()", and '
|
||||
'"update()"\n'
|
||||
'behaving similar to those for Python’s standard "dictionary" '
|
||||
'objects.\n'
|
||||
'Finally, sequence types should implement addition (meaning\n'
|
||||
'concatenation) and multiplication (meaning repetition) by '
|
||||
'defining the\n'
|
||||
'methods "__add__()", "__radd__()", "__iadd__()", '
|
||||
'"__mul__()",\n'
|
||||
'"__rmul__()" and "__imul__()" described below; they should '
|
||||
'not define\n'
|
||||
'other numerical operators. It is recommended that both '
|
||||
'mappings and\n'
|
||||
'sequences implement the "__contains__()" method to allow '
|
||||
'efficient use\n'
|
||||
'of the "in" operator; for mappings, "in" should search the '
|
||||
'mapping’s\n'
|
||||
'keys; for sequences, it should search through the values. '
|
||||
'It is\n'
|
||||
'further recommended that both mappings and sequences '
|
||||
'implement the\n'
|
||||
'The "collections.abc" module provides a "MutableMapping" '
|
||||
'*abstract\n'
|
||||
'base class* to help create those methods from a base set of\n'
|
||||
'"__getitem__()", "__setitem__()", "__delitem__()", and '
|
||||
'"keys()".\n'
|
||||
'Mutable sequences should provide methods "append()", '
|
||||
'"count()",\n'
|
||||
'"index()", "extend()", "insert()", "pop()", "remove()", '
|
||||
'"reverse()"\n'
|
||||
'and "sort()", like Python standard "list" objects. Finally, '
|
||||
'sequence\n'
|
||||
'types should implement addition (meaning concatenation) and\n'
|
||||
'multiplication (meaning repetition) by defining the methods\n'
|
||||
'"__add__()", "__radd__()", "__iadd__()", "__mul__()", '
|
||||
'"__rmul__()" and\n'
|
||||
'"__imul__()" described below; they should not define other '
|
||||
'numerical\n'
|
||||
'operators. It is recommended that both mappings and '
|
||||
'sequences\n'
|
||||
'implement the "__contains__()" method to allow efficient use '
|
||||
'of the\n'
|
||||
'"in" operator; for mappings, "in" should search the '
|
||||
'mapping’s keys;\n'
|
||||
'for sequences, it should search through the values. It is '
|
||||
'further\n'
|
||||
'recommended that both mappings and sequences implement the\n'
|
||||
'"__iter__()" method to allow efficient iteration through '
|
||||
'the\n'
|
||||
'container; for mappings, "__iter__()" should iterate through '
|
||||
@ -11913,17 +11983,21 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'"divmod()",\n'
|
||||
' "pow()", "**", "<<", ">>", "&", "^", "|") with reflected '
|
||||
'(swapped)\n'
|
||||
' operands. These functions are only called if the left '
|
||||
'operand does\n'
|
||||
' not support the corresponding operation [3] and the '
|
||||
' operands. These functions are only called if the '
|
||||
'operands are of\n'
|
||||
' different types. [4] For instance, to evaluate the '
|
||||
'expression "x -\n'
|
||||
' y", where *y* is an instance of a class that has an '
|
||||
'"__rsub__()"\n'
|
||||
' method, "type(y).__rsub__(y, x)" is called if '
|
||||
'"type(x).__sub__(x,\n'
|
||||
' y)" returns "NotImplemented".\n'
|
||||
' different types, when the left operand does not support '
|
||||
'the\n'
|
||||
' corresponding operation [3], or the right operand’s class '
|
||||
'is\n'
|
||||
' derived from the left operand’s class. [4] For instance, '
|
||||
'to\n'
|
||||
' evaluate the expression "x - y", where *y* is an instance '
|
||||
'of a\n'
|
||||
' class that has an "__rsub__()" method, '
|
||||
'"type(y).__rsub__(y, x)" is\n'
|
||||
' called if "type(x).__sub__(x, y)" returns '
|
||||
'"NotImplemented" or\n'
|
||||
' "type(y)" is a subclass of "type(x)". [5]\n'
|
||||
'\n'
|
||||
' Note that ternary "pow()" will not try calling '
|
||||
'"__rpow__()" (the\n'
|
||||
@ -12066,6 +12140,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
'For more information on context managers, see Context '
|
||||
'Manager Types.\n'
|
||||
'The "object" class itself does not provide the context '
|
||||
'manager\n'
|
||||
'methods.\n'
|
||||
'\n'
|
||||
'object.__enter__(self)\n'
|
||||
'\n'
|
||||
@ -14794,13 +14871,13 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' modules created dynamically using the "types.ModuleType"\n'
|
||||
' constructor. Previously the attribute was optional.\n'
|
||||
'\n'
|
||||
' Deprecated since version 3.12, removed in version 3.14: Setting\n'
|
||||
' "__loader__" on a module while failing to set "__spec__.loader" '
|
||||
'is\n'
|
||||
' deprecated. In Python 3.14, "__loader__" will cease to be set '
|
||||
' Deprecated since version 3.12, will be removed in version 3.16:\n'
|
||||
' Setting "__loader__" on a module while failing to set\n'
|
||||
' "__spec__.loader" is deprecated. In Python 3.16, "__loader__" '
|
||||
'will\n'
|
||||
' cease to be set or taken into consideration by the import system '
|
||||
'or\n'
|
||||
' taken into consideration by the import system or the standard\n'
|
||||
' library.\n'
|
||||
' the standard library.\n'
|
||||
'\n'
|
||||
'module.__path__\n'
|
||||
'\n'
|
||||
@ -15311,7 +15388,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'| | version '
|
||||
'3.12: This attribute of code objects is |\n'
|
||||
'| | deprecated, '
|
||||
'and may be removed in Python 3.14. |\n'
|
||||
'and may be removed in Python 3.15. |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| codeobject.co_stacksize | The required '
|
||||
'stack size of the code object |\n'
|
||||
@ -15345,10 +15422,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
'Other bits in "co_flags" are reserved for internal use.\n'
|
||||
'\n'
|
||||
'If a code object represents a function, the first item in '
|
||||
'"co_consts"\n'
|
||||
'is the documentation string of the function, or "None" if '
|
||||
'undefined.\n'
|
||||
'If a code object represents a function and has a docstring, the '
|
||||
'first\n'
|
||||
'item in "co_consts" is the docstring of the function.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Methods on code objects\n'
|
||||
@ -15996,10 +16072,10 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'"keys()" method\n'
|
||||
' (in which case "__getitem__()" is called with every '
|
||||
'key returned\n'
|
||||
' from the method). or an iterable of key/value pairs '
|
||||
'(as tuples\n'
|
||||
' or other iterables of length two). If keyword '
|
||||
'arguments are\n'
|
||||
' from the method) or an iterable of key/value pairs (as '
|
||||
'tuples or\n'
|
||||
' other iterables of length two). If keyword arguments '
|
||||
'are\n'
|
||||
' specified, the dictionary is then updated with those '
|
||||
'key/value\n'
|
||||
' pairs: "d.update(red=1, blue=2)".\n'
|
||||
@ -17310,17 +17386,14 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' enter = type(manager).__enter__\n'
|
||||
' exit = type(manager).__exit__\n'
|
||||
' value = enter(manager)\n'
|
||||
' hit_except = False\n'
|
||||
'\n'
|
||||
' try:\n'
|
||||
' TARGET = value\n'
|
||||
' SUITE\n'
|
||||
' except:\n'
|
||||
' hit_except = True\n'
|
||||
' if not exit(manager, *sys.exc_info()):\n'
|
||||
' raise\n'
|
||||
' finally:\n'
|
||||
' if not hit_except:\n'
|
||||
' else:\n'
|
||||
' exit(manager, None, None, None)\n'
|
||||
'\n'
|
||||
'With more than one item, the context managers are processed as if\n'
|
||||
@ -17362,7 +17435,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
'A "yield" statement is semantically equivalent to a yield '
|
||||
'expression.\n'
|
||||
'The yield statement can be used to omit the parentheses that would\n'
|
||||
'The "yield" statement can be used to omit the parentheses that '
|
||||
'would\n'
|
||||
'otherwise be required in the equivalent yield expression '
|
||||
'statement.\n'
|
||||
'For example, the yield statements\n'
|
||||
@ -17378,10 +17452,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'Yield expressions and statements are only used when defining a\n'
|
||||
'*generator* function, and are only used in the body of the '
|
||||
'generator\n'
|
||||
'function. Using yield in a function definition is sufficient to '
|
||||
'cause\n'
|
||||
'that definition to create a generator function instead of a normal\n'
|
||||
'function.\n'
|
||||
'function. Using "yield" in a function definition is sufficient to\n'
|
||||
'cause that definition to create a generator function instead of a\n'
|
||||
'normal function.\n'
|
||||
'\n'
|
||||
'For full details of "yield" semantics, refer to the Yield '
|
||||
'expressions\n'
|
||||
|
1762
Misc/NEWS.d/3.14.0a2.rst
Normal file
1762
Misc/NEWS.d/3.14.0a2.rst
Normal file
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
||||
Fix cross compile failures when the host and target SOABIs match.
|
@ -1 +0,0 @@
|
||||
Emscripten builds now require node >= 18.
|
@ -1,2 +0,0 @@
|
||||
Improve detection of float word ordering on Linux when link-time optimizations
|
||||
are enabled.
|
@ -1,2 +0,0 @@
|
||||
The Android build now supports `16 KB page sizes
|
||||
<https://developer.android.com/guide/practices/page-sizes>`__.
|
@ -1 +0,0 @@
|
||||
The minimum supported Android version is now 7.0 (API level 24).
|
@ -1,4 +0,0 @@
|
||||
For cross builds, there is now support for having a different install
|
||||
``prefix`` than the ``host_prefix`` used by ``getpath.py``. This is set to ``/`` by
|
||||
default for Emscripten, on other platforms the default behavior is the same
|
||||
as before.
|
@ -1 +0,0 @@
|
||||
Introduced ``Tools/wasm/emscripten.py`` to simplify doing Emscripten builds.
|
@ -1,2 +0,0 @@
|
||||
``make clinic`` now runs Argument Clinic using the ``--force`` option,
|
||||
thus forcefully regenerating generated code.
|
@ -1 +0,0 @@
|
||||
Hard-code float word ordering as little endian on WASM.
|
@ -1 +0,0 @@
|
||||
Disable SIMD support for HACL under WASI.
|
@ -1,3 +0,0 @@
|
||||
Use ``wasm32-wasip1`` as the target triple for WASI instead of
|
||||
``wasm32-wasi``. The latter will eventually be reclaimed for WASI 1.0 while
|
||||
CPython currently only supports WASI preview1.
|
@ -1,3 +0,0 @@
|
||||
Removed the ``--with-emscripten-target`` configure flag. We unified the
|
||||
``node`` and ``browser`` options and the same build can now be used, independent
|
||||
of target runtime.
|
@ -1 +0,0 @@
|
||||
The :c:macro:`!Py_HUGE_VAL` macro is :term:`soft deprecated`.
|
@ -1,2 +0,0 @@
|
||||
Add :c:func:`PyType_Freeze` function to make a type immutable. Patch by
|
||||
Victor Stinner.
|
@ -1,2 +0,0 @@
|
||||
Added the :c:func:`PyUnstable_Object_EnableDeferredRefcount` function for
|
||||
enabling :pep:`703` deferred reference counting.
|
@ -1,3 +0,0 @@
|
||||
Fix a bug where dictionary watchers (e.g., :c:func:`PyDict_Watch`) on an
|
||||
object's attribute dictionary (:attr:`~object.__dict__`) were not triggered
|
||||
when the object's attributes were modified.
|
@ -1,3 +0,0 @@
|
||||
Add :c:func:`PyLong_IsPositive`, :c:func:`PyLong_IsNegative`
|
||||
and :c:func:`PyLong_IsZero` for checking if a :c:type:`PyLongObject`
|
||||
is positive, negative, or zero, respectively.
|
@ -1,2 +0,0 @@
|
||||
Fix error handling in :class:`ctypes.CDLL` objects
|
||||
which could result in a crash in rare situations.
|
@ -1 +0,0 @@
|
||||
Fixed a bug in ``reprlib.repr`` where it incorrectly called the repr method on shadowed Python built-in types.
|
@ -1 +0,0 @@
|
||||
Fix bug where SSLProtocol.connection_lost wasn't getting called when OSError was thrown on writing to socket.
|
@ -1,3 +0,0 @@
|
||||
The :func:`map` built-in now has an optional keyword-only *strict* flag
|
||||
like :func:`zip` to check that all the iterables are of equal length.
|
||||
Patch by Wannes Boeykens.
|
@ -1,4 +0,0 @@
|
||||
Improve the error message when a script shadowing a module from the standard
|
||||
library causes :exc:`ImportError` to be raised during a "from" import.
|
||||
Similarly, improve the error message when a script shadowing a third party module
|
||||
attempts to "from" import an attribute from that third party module while still initialising.
|
@ -1 +0,0 @@
|
||||
Update JIT compilation to use LLVM 19
|
@ -1,2 +0,0 @@
|
||||
Don't allow the JIT and perf support to be active at the same time. Patch by
|
||||
Pablo Galindo
|
@ -1,2 +0,0 @@
|
||||
Fix crash when iterating over a generator expression after direct changes on ``gi_frame.f_locals``.
|
||||
Patch by Mikhail Efimov.
|
@ -1,2 +0,0 @@
|
||||
Add a new ``INSTRUCTION_SIZE`` macro to the cases generator which returns
|
||||
the current instruction size.
|
@ -1 +0,0 @@
|
||||
Fix illegal instruction for older Arm architectures. Patch by Diego Russo, testing by Ross Burton.
|
@ -1,2 +0,0 @@
|
||||
The Python PEG generator can now use f-strings in the grammar actions. Patch
|
||||
by Pablo Galindo
|
@ -1,2 +0,0 @@
|
||||
Fix crash on certain accesses to the ``__annotations__`` of
|
||||
:class:`staticmethod` and :class:`classmethod` objects.
|
@ -1 +0,0 @@
|
||||
Use color to highlight error locations in traceback from exception group
|
@ -1,2 +0,0 @@
|
||||
Correctly honour :mod:`tracemalloc` hooks in specialized ``Py_DECREF``
|
||||
paths. Patch by Pablo Galindo
|
@ -1,4 +0,0 @@
|
||||
The JIT has been updated to leverage Clang 19’s new ``preserve_none`` attribute,
|
||||
which supports more platforms and is more useful than LLVM's existing ``ghccc``
|
||||
calling convention. This also removes the need to manually patch the calling
|
||||
convention in LLVM IR, simplifying the JIT compilation process.
|
@ -1,3 +0,0 @@
|
||||
It was possible in 3.14.0a1 only for attribute lookup to give the wrong
|
||||
value. This was due to an incorrect specialization in very specific
|
||||
circumstances. This is fixed in 3.14.0a2.
|
@ -1,2 +0,0 @@
|
||||
Fix a crash in the free threading build when :func:`gc.get_objects` or
|
||||
:func:`gc.get_referrers` is called during an in-progress garbage collection.
|
@ -1,2 +0,0 @@
|
||||
On Android, the ``errors`` setting of :any:`sys.stdout` was changed from
|
||||
``surrogateescape`` to ``backslashreplace``.
|
@ -1,5 +0,0 @@
|
||||
Adds :opcode:`LOAD_SMALL_INT` and :opcode:`LOAD_CONST_IMMORTAL` instructions.
|
||||
``LOAD_SMALL_INT`` pushes a small integer equal to the ``oparg`` to the stack.
|
||||
``LOAD_CONST_IMMORTAL`` does the same as ``LOAD_CONST`` but is more
|
||||
efficient for immortal objects.
|
||||
Removes ``RETURN_CONST`` instruction.
|
@ -1,2 +0,0 @@
|
||||
The :class:`memoryview` type now supports subscription, making it a
|
||||
:term:`generic type`.
|
@ -1,2 +0,0 @@
|
||||
Fix a crash in :func:`sys.audit` when passing a non-string as first argument
|
||||
and Python was compiled in debug mode.
|
@ -1,2 +0,0 @@
|
||||
Avoid temporary tuple creation for vararg in argument passing with Argument
|
||||
Clinic generated code (if arguments either vararg or positional-only).
|
@ -1,3 +0,0 @@
|
||||
Relocated objects such as ``tuple``, ``bytes`` and ``str`` objects are
|
||||
properly tracked by :mod:`tracemalloc` and its associated hooks. Patch by
|
||||
Pablo Galindo.
|
@ -1,3 +0,0 @@
|
||||
Add a new attribute in :attr:`~codeobject.co_flags` to indicate whether the
|
||||
first item in :attr:`~codeobject.co_consts` is the docstring. If a code
|
||||
object has no docstring, ``None`` will **NOT** be inserted.
|
@ -1,2 +0,0 @@
|
||||
Provide better error location when attempting to use a :term:`future
|
||||
statement <__future__>` with an unknown future feature.
|
@ -1 +0,0 @@
|
||||
Improve JIT performance by 1.4% on macOS Apple Silicon by using platform-specific memory protection APIs. Patch by Diego Russo.
|
@ -1,2 +0,0 @@
|
||||
Following :gh:`126101`, for :ref:`codeobjects` like lambda, annotation and type alias,
|
||||
we no longer add ``None`` to its :attr:`~codeobject.co_consts`.
|
@ -1,2 +0,0 @@
|
||||
Relax optimization requirements to allow fast attribute access to module
|
||||
subclasses.
|
@ -1,2 +0,0 @@
|
||||
Fix crash during garbage collection on an object frozen by :func:`gc.freeze` on the
|
||||
free-threaded build.
|
@ -1,3 +0,0 @@
|
||||
Fix an issue with ``skip_file_prefixes`` parameter which resulted in an inconsistent
|
||||
behaviour between the C and Python implementations of :func:`warnings.warn`.
|
||||
Patch by Daehee Kim.
|
@ -1,2 +0,0 @@
|
||||
Fix crash when using ``yield from`` on an object that raises an exception in
|
||||
its ``__iter__``.
|
@ -1,3 +0,0 @@
|
||||
Do not include count of "peek" items in ``_PyUop_num_popped``. This ensures
|
||||
that the correct number of items are popped from the stack when a micro-op
|
||||
exits with an error.
|
@ -1,3 +0,0 @@
|
||||
Fix :mod:`importlib` to not write an incomplete .pyc files when a ulimit or some
|
||||
other operating system mechanism is preventing the write to go through
|
||||
fully.
|
@ -1,2 +0,0 @@
|
||||
Fix a crash when calling :func:`os.fork` on some operating systems,
|
||||
including SerenityOS.
|
@ -1 +0,0 @@
|
||||
Now :exc:`ValueError` is raised instead of :exc:`SystemError` when trying to iterate over a released :class:`memoryview` object.
|
@ -1,2 +0,0 @@
|
||||
Increase the threshold for JIT code warmup. Depending on platform and workload,
|
||||
this can result in performance gains of 1-9% and memory savings of 3-5%.
|
@ -1,2 +0,0 @@
|
||||
Include the :class:`object` type in the lists of documented types.
|
||||
Change by Furkan Onder and Martin Panter.
|
@ -1,2 +0,0 @@
|
||||
Require Sphinx 7.2.6 or later to build the Python documentation.
|
||||
Patch by Adam Turner.
|
@ -1,3 +0,0 @@
|
||||
Added stub pages for removed modules explaining their removal, where to find
|
||||
replacements, and linking to the last Python version that supported them.
|
||||
Contributed by Ned Batchelder.
|
@ -1,2 +0,0 @@
|
||||
Add MIME types for MS Embedded OpenType, OpenType Layout, TrueType,
|
||||
WOFF 1.0 and 2.0 fonts. Patch by Sahil Prajapati and Hugo van Kemenade.
|
@ -1,2 +0,0 @@
|
||||
Strip :class:`unittest.IsolatedAsyncioTestCase` stack frames from reported
|
||||
stacktraces.
|
@ -1 +0,0 @@
|
||||
Fix a race condition in :class:`multiprocessing.pool.Pool`.
|
@ -1,2 +0,0 @@
|
||||
Fix SystemError when match regular expression pattern containing some
|
||||
combination of possessive quantifier, alternative and capture group.
|
@ -1,4 +0,0 @@
|
||||
Accepting objects with false values (like ``0`` and ``[]``) except empty
|
||||
strings, byte-like objects and ``None`` in :mod:`urllib.parse` functions
|
||||
:func:`~urllib.parse.parse_qsl` and :func:`~urllib.parse.parse_qs` is now
|
||||
deprecated.
|
@ -1 +0,0 @@
|
||||
Add :data:`!socket.IPV6_RECVERR` constant (available since Linux 2.2).
|
@ -1 +0,0 @@
|
||||
Remove deprecated :func:`!pkgutil.get_loader` and :func:`!pkgutil.find_loader`.
|
@ -1 +0,0 @@
|
||||
Always return an absolute path for :func:`os.path.abspath` on Windows.
|
@ -1,2 +0,0 @@
|
||||
:func:`!posixpath.realpath` now raises :exc:`NotADirectoryError` when *strict*
|
||||
mode is enabled and a non-directory path with a trailing slash is supplied.
|
@ -1 +0,0 @@
|
||||
Fixed an issue where :func:`inspect.getclosurevars` would incorrectly classify an attribute name as a global variable when the name exists both as an attribute name and a global variable.
|
@ -1,2 +0,0 @@
|
||||
Improve the performance of :mod:`tarfile` when writing files, by caching user names
|
||||
and group names.
|
@ -1 +0,0 @@
|
||||
Update unbounded ``read`` calls in :mod:`zipfile` to specify an explicit ``size`` putting a limit on how much data they may read. This also updates handling around ZIP max comment size to match the standard instead of reading comments that are one byte too long.
|
@ -1 +0,0 @@
|
||||
Add :func:`platform.invalidate_caches` to invalidate cached results.
|
@ -1,2 +0,0 @@
|
||||
Add :func:`uuid.uuid8` for generating UUIDv8 objects as specified in
|
||||
:rfc:`9562`. Patch by Bénédikt Tran
|
@ -1 +0,0 @@
|
||||
Fix the canvas not clearing after running turtledemo clock.
|
@ -1 +0,0 @@
|
||||
unittest discovery supports PEP 420 namespace packages as start directory again.
|
@ -1,4 +0,0 @@
|
||||
The tkinter module can now be built to use either the new version 9.0.0 of
|
||||
Tcl/Tk or the latest release 8.6.15 of Tcl/Tk 8. Tcl/Tk 9 includes many
|
||||
improvements, both to the Tcl language and to the appearance and utility of
|
||||
the graphical user interface provided by Tk.
|
@ -1 +0,0 @@
|
||||
Fixed a bug in :mod:`pdb` where sometimes the breakpoint won't trigger if it was set on a function which is already in the call stack.
|
@ -1 +0,0 @@
|
||||
Adds a feature to optionally enable suggestions for argument choices and subparser names if mistyped by the user.
|
@ -1 +0,0 @@
|
||||
Deprecate the :class:`argparse.FileType` type converter.
|
@ -1,6 +0,0 @@
|
||||
We've added :class:`concurrent.futures.InterpreterPoolExecutor`, which
|
||||
allows you to run code in multiple isolated interpreters. This allows you
|
||||
to circumvent the limitations of CPU-bound threads (due to the GIL). Patch
|
||||
by Eric Snow.
|
||||
|
||||
This addition is unrelated to :pep:`734`.
|
@ -1 +0,0 @@
|
||||
Properly quote template strings in :mod:`venv` activation scripts.
|
@ -1 +0,0 @@
|
||||
Fixed thread safety in :mod:`ssl` in the free-threaded build. OpenSSL operations are now protected by a per-object lock.
|
@ -1,8 +0,0 @@
|
||||
Fix encoding issues in :func:`time.strftime`, the
|
||||
:meth:`~datetime.datetime.strftime` method of the :mod:`datetime` classes
|
||||
:class:`~datetime.datetime`, :class:`~datetime.date` and
|
||||
:class:`~datetime.time` and formatting of these classes. Characters not
|
||||
encodable in the current locale are now acceptable in the format string.
|
||||
Surrogate pairs and sequence of surrogatescape-encoded bytes are no longer
|
||||
recombinated. Embedded null character no longer terminates the format
|
||||
string.
|
@ -1,2 +0,0 @@
|
||||
Fix race condition when importing :mod:`collections.abc`, which could
|
||||
incorrectly return an empty module.
|
@ -1 +0,0 @@
|
||||
Fix the conversion of the :envvar:`!VIRTUAL_ENV` path in the activate script in :mod:`venv` when running in Git Bash for Windows.
|
@ -1 +0,0 @@
|
||||
Fixed a bug in :mod:`pdb` where arguments starting with ``-`` can't be passed to the debugged script.
|
@ -1,2 +0,0 @@
|
||||
Fix deadlock when :class:`concurrent.futures.ProcessPoolExecutor` shuts down
|
||||
concurrently with an error when feeding a job to a worker process.
|
@ -1,2 +0,0 @@
|
||||
Improve traceback if :func:`importlib.reload` is called with an object that
|
||||
is not a module. Patch by Alex Waygood.
|
@ -1,4 +0,0 @@
|
||||
Pressing :kbd:`Ctrl-C` while blocked in :meth:`threading.Lock.acquire`,
|
||||
:meth:`threading.RLock.acquire`, and :meth:`threading.Thread.join` now
|
||||
interrupts the function call and raises a :exc:`KeyboardInterrupt` exception
|
||||
on Windows, similar to how those functions behave on macOS and Linux.
|
@ -1,2 +0,0 @@
|
||||
Deprecate passing keyword-only *prefix_chars* argument to
|
||||
:meth:`argparse.ArgumentParser.add_argument_group`.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user