gh-123492: Remove unnecessary `:func:` parentheses (#123493)

This commit is contained in:
Wei-Hsiang (Matt) Wang 2024-08-30 19:34:09 +08:00 committed by GitHub
parent 8aaf7525ab
commit 103a0470e3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
78 changed files with 154 additions and 154 deletions

View File

@ -34,7 +34,7 @@ propagated, additional calls into the Python/C API may not behave as intended
and may fail in mysterious ways. and may fail in mysterious ways.
.. note:: .. note::
The error indicator is **not** the result of :func:`sys.exc_info()`. The error indicator is **not** the result of :func:`sys.exc_info`.
The former corresponds to an exception that is not yet caught (and is The former corresponds to an exception that is not yet caught (and is
therefore still propagating), while the latter returns an exception after therefore still propagating), while the latter returns an exception after
it is caught (and has therefore stopped propagating). it is caught (and has therefore stopped propagating).

View File

@ -190,7 +190,7 @@ Importing Modules
.. versionadded:: 3.2 .. versionadded:: 3.2
.. versionchanged:: 3.3 .. versionchanged:: 3.3
Uses :func:`!imp.source_from_cache()` in calculating the source path if Uses :func:`!imp.source_from_cache` in calculating the source path if
only the bytecode path is provided. only the bytecode path is provided.
.. versionchanged:: 3.12 .. versionchanged:: 3.12
No longer uses the removed :mod:`!imp` module. No longer uses the removed :mod:`!imp` module.

View File

@ -48,5 +48,5 @@ APIs:
* ``read_binary()`` * ``read_binary()``
* ``read_text()`` * ``read_text()``
Use :func:`importlib.resources.files()` instead. Refer to `importlib-resources: Migrating from Legacy Use :func:`importlib.resources.files` instead. Refer to `importlib-resources: Migrating from Legacy
<https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy>`_ (:gh:`106531`) <https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy>`_ (:gh:`106531`)

View File

@ -9,8 +9,8 @@ Pending Removal in Python 3.15
* :class:`locale`: :func:`locale.getdefaultlocale` was deprecated in Python 3.11 * :class:`locale`: :func:`locale.getdefaultlocale` was deprecated in Python 3.11
and originally planned for removal in Python 3.13 (:gh:`90817`), and originally planned for removal in Python 3.13 (:gh:`90817`),
but removal has been postponed to Python 3.15. but removal has been postponed to Python 3.15.
Use :func:`locale.setlocale()`, :func:`locale.getencoding()` and Use :func:`locale.setlocale`, :func:`locale.getencoding` and
:func:`locale.getlocale()` instead. :func:`locale.getlocale` instead.
(Contributed by Hugo van Kemenade in :gh:`111187`.) (Contributed by Hugo van Kemenade in :gh:`111187`.)
* :mod:`pathlib`: * :mod:`pathlib`:

View File

@ -513,7 +513,7 @@ were defined.
Descriptors are a powerful, general purpose protocol. They are the mechanism Descriptors are a powerful, general purpose protocol. They are the mechanism
behind properties, methods, static methods, class methods, and behind properties, methods, static methods, class methods, and
:func:`super()`. They are used throughout Python itself. Descriptors :func:`super`. They are used throughout Python itself. Descriptors
simplify the underlying C code and offer a flexible set of new tools for simplify the underlying C code and offer a flexible set of new tools for
everyday Python programs. everyday Python programs.

View File

@ -9,7 +9,7 @@ Enum HOWTO
.. currentmodule:: enum .. currentmodule:: enum
An :class:`Enum` is a set of symbolic names bound to unique values. They are An :class:`Enum` is a set of symbolic names bound to unique values. They are
similar to global variables, but they offer a more useful :func:`repr()`, similar to global variables, but they offer a more useful :func:`repr`,
grouping, type-safety, and a few other features. grouping, type-safety, and a few other features.
They are most useful when you have a variable that can take one of a limited They are most useful when you have a variable that can take one of a limited
@ -167,7 +167,7 @@ And a function to display the chores for a given day::
answer SO questions answer SO questions
In cases where the actual values of the members do not matter, you can save In cases where the actual values of the members do not matter, you can save
yourself some work and use :func:`auto()` for the values:: yourself some work and use :func:`auto` for the values::
>>> from enum import auto >>> from enum import auto
>>> class Weekday(Flag): >>> class Weekday(Flag):

View File

@ -307,7 +307,7 @@ Available static markers
.. object:: gc__start(int generation) .. object:: gc__start(int generation)
Fires when the Python interpreter starts a garbage collection cycle. Fires when the Python interpreter starts a garbage collection cycle.
``arg0`` is the generation to scan, like :func:`gc.collect()`. ``arg0`` is the generation to scan, like :func:`gc.collect`.
.. object:: gc__done(long collected) .. object:: gc__done(long collected)

View File

@ -2134,7 +2134,7 @@ and classes for traversing abstract syntax trees:
If ``type_comments=True`` is given, the parser is modified to check If ``type_comments=True`` is given, the parser is modified to check
and return type comments as specified by :pep:`484` and :pep:`526`. and return type comments as specified by :pep:`484` and :pep:`526`.
This is equivalent to adding :data:`ast.PyCF_TYPE_COMMENTS` to the This is equivalent to adding :data:`ast.PyCF_TYPE_COMMENTS` to the
flags passed to :func:`compile()`. This will report syntax errors flags passed to :func:`compile`. This will report syntax errors
for misplaced type comments. Without this flag, type comments will for misplaced type comments. Without this flag, type comments will
be ignored, and the ``type_comment`` field on selected AST nodes be ignored, and the ``type_comment`` field on selected AST nodes
will always be ``None``. In addition, the locations of ``# type: will always be ``None``. In addition, the locations of ``# type:

View File

@ -91,7 +91,7 @@ Runner context manager
current one. By default :func:`asyncio.new_event_loop` is used and set as current one. By default :func:`asyncio.new_event_loop` is used and set as
current event loop with :func:`asyncio.set_event_loop` if *loop_factory* is ``None``. current event loop with :func:`asyncio.set_event_loop` if *loop_factory* is ``None``.
Basically, :func:`asyncio.run()` example can be rewritten with the runner usage:: Basically, :func:`asyncio.run` example can be rewritten with the runner usage::
async def main(): async def main():
await asyncio.sleep(1) await asyncio.sleep(1)

View File

@ -90,7 +90,7 @@ compile Python sources.
.. option:: -j N .. option:: -j N
Use *N* workers to compile the files within the given directory. Use *N* workers to compile the files within the given directory.
If ``0`` is used, then the result of :func:`os.process_cpu_count()` If ``0`` is used, then the result of :func:`os.process_cpu_count`
will be used. will be used.
.. option:: --invalidation-mode [timestamp|checked-hash|unchecked-hash] .. option:: --invalidation-mode [timestamp|checked-hash|unchecked-hash]

View File

@ -15,7 +15,7 @@ function and the :class:`~contextvars.Context` class should be used to
manage the current context in asynchronous frameworks. manage the current context in asynchronous frameworks.
Context managers that have state should use Context Variables Context managers that have state should use Context Variables
instead of :func:`threading.local()` to prevent their state from instead of :func:`threading.local` to prevent their state from
bleeding to other code unexpectedly, when used in concurrent code. bleeding to other code unexpectedly, when used in concurrent code.
See also :pep:`567` for additional details. See also :pep:`567` for additional details.
@ -146,7 +146,7 @@ Manual Context Management
Every thread will have a different top-level :class:`~contextvars.Context` Every thread will have a different top-level :class:`~contextvars.Context`
object. This means that a :class:`ContextVar` object behaves in a similar object. This means that a :class:`ContextVar` object behaves in a similar
fashion to :func:`threading.local()` when values are assigned in different fashion to :func:`threading.local` when values are assigned in different
threads. threads.
Context implements the :class:`collections.abc.Mapping` interface. Context implements the :class:`collections.abc.Mapping` interface.

View File

@ -663,7 +663,7 @@ Data Types
* the result is a valid *IntFlag*: an *IntFlag* is returned * the result is a valid *IntFlag*: an *IntFlag* is returned
* the result is not a valid *IntFlag*: the result depends on the :class:`FlagBoundary` setting * the result is not a valid *IntFlag*: the result depends on the :class:`FlagBoundary` setting
The :func:`repr()` of unnamed zero-valued flags has changed. It is now: The :func:`repr` of unnamed zero-valued flags has changed. It is now:
>>> Color(0) >>> Color(0)
<Color: 0> <Color: 0>

View File

@ -161,7 +161,7 @@ are always available. They are listed here in alphabetical order.
This function drops you into the debugger at the call site. Specifically, This function drops you into the debugger at the call site. Specifically,
it calls :func:`sys.breakpointhook`, passing ``args`` and ``kws`` straight it calls :func:`sys.breakpointhook`, passing ``args`` and ``kws`` straight
through. By default, ``sys.breakpointhook()`` calls through. By default, ``sys.breakpointhook()`` calls
:func:`pdb.set_trace()` expecting no arguments. In this case, it is :func:`pdb.set_trace` expecting no arguments. In this case, it is
purely a convenience function so you don't have to explicitly import purely a convenience function so you don't have to explicitly import
:mod:`pdb` or type as much code to enter the debugger. However, :mod:`pdb` or type as much code to enter the debugger. However,
:func:`sys.breakpointhook` can be set to some other function and :func:`sys.breakpointhook` can be set to some other function and
@ -1336,7 +1336,7 @@ are always available. They are listed here in alphabetical order.
(which on *some* Unix systems, means that *all* writes append to the end of (which on *some* Unix systems, means that *all* writes append to the end of
the file regardless of the current seek position). In text mode, if the file regardless of the current seek position). In text mode, if
*encoding* is not specified the encoding used is platform-dependent: *encoding* is not specified the encoding used is platform-dependent:
:func:`locale.getencoding()` is called to get the current locale encoding. :func:`locale.getencoding` is called to get the current locale encoding.
(For reading and writing raw bytes use binary mode and leave (For reading and writing raw bytes use binary mode and leave
*encoding* unspecified.) The available modes are: *encoding* unspecified.) The available modes are:

View File

@ -34,7 +34,7 @@ The :mod:`functools` module defines the following functions:
Returns the same as ``lru_cache(maxsize=None)``, creating a thin Returns the same as ``lru_cache(maxsize=None)``, creating a thin
wrapper around a dictionary lookup for the function arguments. Because it wrapper around a dictionary lookup for the function arguments. Because it
never needs to evict old values, this is smaller and faster than never needs to evict old values, this is smaller and faster than
:func:`lru_cache()` with a size limit. :func:`lru_cache` with a size limit.
For example:: For example::

View File

@ -49,7 +49,7 @@ The :mod:`getpass` module provides two functions:
systems which support the :mod:`pwd` module, otherwise, an :exc:`OSError` systems which support the :mod:`pwd` module, otherwise, an :exc:`OSError`
is raised. is raised.
In general, this function should be preferred over :func:`os.getlogin()`. In general, this function should be preferred over :func:`os.getlogin`.
.. versionchanged:: 3.13 .. versionchanged:: 3.13
Previously, various exceptions beyond just :exc:`OSError` were raised. Previously, various exceptions beyond just :exc:`OSError` were raised.

View File

@ -1261,7 +1261,7 @@ Classes and functions
This function handles several details for you: This function handles several details for you:
* If ``eval_str`` is true, values of type ``str`` will * If ``eval_str`` is true, values of type ``str`` will
be un-stringized using :func:`eval()`. This is intended be un-stringized using :func:`eval`. This is intended
for use with stringized annotations for use with stringized annotations
(``from __future__ import annotations``). (``from __future__ import annotations``).
* If ``obj`` doesn't have an annotations dict, returns an * If ``obj`` doesn't have an annotations dict, returns an
@ -1275,16 +1275,16 @@ Classes and functions
* Always, always, always returns a freshly created dict. * Always, always, always returns a freshly created dict.
``eval_str`` controls whether or not values of type ``str`` are replaced ``eval_str`` controls whether or not values of type ``str`` are replaced
with the result of calling :func:`eval()` on those values: with the result of calling :func:`eval` on those values:
* If eval_str is true, :func:`eval()` is called on values of type ``str``. * If eval_str is true, :func:`eval` is called on values of type ``str``.
(Note that ``get_annotations`` doesn't catch exceptions; if :func:`eval()` (Note that ``get_annotations`` doesn't catch exceptions; if :func:`eval`
raises an exception, it will unwind the stack past the ``get_annotations`` raises an exception, it will unwind the stack past the ``get_annotations``
call.) call.)
* If eval_str is false (the default), values of type ``str`` are unchanged. * If eval_str is false (the default), values of type ``str`` are unchanged.
``globals`` and ``locals`` are passed in to :func:`eval()`; see the documentation ``globals`` and ``locals`` are passed in to :func:`eval`; see the documentation
for :func:`eval()` for more information. If ``globals`` or ``locals`` for :func:`eval` for more information. If ``globals`` or ``locals``
is ``None``, this function may replace that value with a context-specific is ``None``, this function may replace that value with a context-specific
default, contingent on ``type(obj)``: default, contingent on ``type(obj)``:

View File

@ -950,7 +950,7 @@ Text I/O
:class:`TextIOBase`. :class:`TextIOBase`.
*encoding* gives the name of the encoding that the stream will be decoded or *encoding* gives the name of the encoding that the stream will be decoded or
encoded with. It defaults to :func:`locale.getencoding()`. encoded with. It defaults to :func:`locale.getencoding`.
``encoding="locale"`` can be used to specify the current locale's encoding ``encoding="locale"`` can be used to specify the current locale's encoding
explicitly. See :ref:`io-text-encoding` for more information. explicitly. See :ref:`io-text-encoding` for more information.
@ -1182,7 +1182,7 @@ re-enter a buffered object which it is already accessing, a :exc:`RuntimeError`
is raised. Note this doesn't prohibit a different thread from entering the is raised. Note this doesn't prohibit a different thread from entering the
buffered object. buffered object.
The above implicitly extends to text files, since the :func:`open()` function The above implicitly extends to text files, since the :func:`open` function
will wrap a buffered object inside a :class:`TextIOWrapper`. This includes will wrap a buffered object inside a :class:`TextIOWrapper`. This includes
standard streams and therefore affects the built-in :func:`print()` function as standard streams and therefore affects the built-in :func:`print` function as
well. well.

View File

@ -1010,7 +1010,7 @@ The module also provides the following module level functions:
doesn't make sense. There are some times however, where you may wish to doesn't make sense. There are some times however, where you may wish to
have :mod:`ipaddress` sort these anyway. If you need to do this, you can use have :mod:`ipaddress` sort these anyway. If you need to do this, you can use
this function as the *key* argument to :func:`sorted()`. this function as the *key* argument to :func:`sorted`.
*obj* is either a network or address object. *obj* is either a network or address object.

View File

@ -113,8 +113,8 @@ of the UTF-8 encoding:
* Use UTF-8 as the :term:`filesystem encoding <filesystem encoding and error * Use UTF-8 as the :term:`filesystem encoding <filesystem encoding and error
handler>`. handler>`.
* :func:`sys.getfilesystemencoding()` returns ``'utf-8'``. * :func:`sys.getfilesystemencoding` returns ``'utf-8'``.
* :func:`locale.getpreferredencoding()` returns ``'utf-8'`` (the *do_setlocale* * :func:`locale.getpreferredencoding` returns ``'utf-8'`` (the *do_setlocale*
argument has no effect). argument has no effect).
* :data:`sys.stdin`, :data:`sys.stdout`, and :data:`sys.stderr` all use * :data:`sys.stdin`, :data:`sys.stdout`, and :data:`sys.stderr` all use
UTF-8 as their text encoding, with the ``surrogateescape`` UTF-8 as their text encoding, with the ``surrogateescape``
@ -133,8 +133,8 @@ level APIs also exhibit different default behaviours:
* Command line arguments, environment variables and filenames are decoded * Command line arguments, environment variables and filenames are decoded
to text using the UTF-8 encoding. to text using the UTF-8 encoding.
* :func:`os.fsdecode()` and :func:`os.fsencode()` use the UTF-8 encoding. * :func:`os.fsdecode` and :func:`os.fsencode` use the UTF-8 encoding.
* :func:`open()`, :func:`io.open()`, and :func:`codecs.open()` use the UTF-8 * :func:`open`, :func:`io.open`, and :func:`codecs.open` use the UTF-8
encoding by default. However, they still use the strict error handler by encoding by default. However, they still use the strict error handler by
default so that attempting to open a binary file in text mode is likely default so that attempting to open a binary file in text mode is likely
to raise an exception rather than producing nonsense data. to raise an exception rather than producing nonsense data.
@ -794,7 +794,7 @@ process and user.
``socket.gethostbyaddr(socket.gethostname())``. ``socket.gethostbyaddr(socket.gethostname())``.
On macOS, iOS and Android, this returns the *kernel* name and version (i.e., On macOS, iOS and Android, this returns the *kernel* name and version (i.e.,
``'Darwin'`` on macOS and iOS; ``'Linux'`` on Android). :func:`platform.uname()` ``'Darwin'`` on macOS and iOS; ``'Linux'`` on Android). :func:`platform.uname`
can be used to get the user-facing operating system name and version on iOS and can be used to get the user-facing operating system name and version on iOS and
Android. Android.
@ -2860,7 +2860,7 @@ features:
.. versionchanged:: 3.6 .. versionchanged:: 3.6
Added support for the :term:`context manager` protocol and the Added support for the :term:`context manager` protocol and the
:func:`~scandir.close()` method. If a :func:`scandir` iterator is neither :func:`~scandir.close` method. If a :func:`scandir` iterator is neither
exhausted nor explicitly closed a :exc:`ResourceWarning` will be emitted exhausted nor explicitly closed a :exc:`ResourceWarning` will be emitted
in its destructor. in its destructor.

View File

@ -49,7 +49,7 @@ You can then step through the code following this statement, and continue
running without the debugger using the :pdbcmd:`continue` command. running without the debugger using the :pdbcmd:`continue` command.
.. versionchanged:: 3.7 .. versionchanged:: 3.7
The built-in :func:`breakpoint()`, when called with defaults, can be used The built-in :func:`breakpoint`, when called with defaults, can be used
instead of ``import pdb; pdb.set_trace()``. instead of ``import pdb; pdb.set_trace()``.
:: ::

View File

@ -150,7 +150,7 @@ Cross Platform
On iOS and Android, this returns the user-facing OS name (i.e, ``'iOS``, On iOS and Android, this returns the user-facing OS name (i.e, ``'iOS``,
``'iPadOS'`` or ``'Android'``). To obtain the kernel name (``'Darwin'`` or ``'iPadOS'`` or ``'Android'``). To obtain the kernel name (``'Darwin'`` or
``'Linux'``), use :func:`os.uname()`. ``'Linux'``), use :func:`os.uname`.
.. function:: system_alias(system, release, version) .. function:: system_alias(system, release, version)
@ -165,7 +165,7 @@ Cross Platform
returned if the value cannot be determined. returned if the value cannot be determined.
On iOS and Android, this is the user-facing OS version. To obtain the On iOS and Android, this is the user-facing OS version. To obtain the
Darwin or Linux kernel version, use :func:`os.uname()`. Darwin or Linux kernel version, use :func:`os.uname`.
.. function:: uname() .. function:: uname()

View File

@ -425,7 +425,7 @@ The :mod:`signal` module defines the following functions:
signal to a particular Python thread would be to force a running system call signal to a particular Python thread would be to force a running system call
to fail with :exc:`InterruptedError`. to fail with :exc:`InterruptedError`.
Use :func:`threading.get_ident()` or the :attr:`~threading.Thread.ident` Use :func:`threading.get_ident` or the :attr:`~threading.Thread.ident`
attribute of :class:`threading.Thread` objects to get a suitable value attribute of :class:`threading.Thread` objects to get a suitable value
for *thread_id*. for *thread_id*.

View File

@ -3477,7 +3477,7 @@ place, and instead produce new objects.
``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters ``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters
are those byte values in the sequence ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. are those byte values in the sequence ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``.
Unlike :func:`str.swapcase()`, it is always the case that Unlike :func:`str.swapcase`, it is always the case that
``bin.swapcase().swapcase() == bin`` for the binary versions. Case ``bin.swapcase().swapcase() == bin`` for the binary versions. Case
conversions are symmetrical in ASCII, even though that is not generally conversions are symmetrical in ASCII, even though that is not generally
true for arbitrary Unicode code points. true for arbitrary Unicode code points.

View File

@ -608,7 +608,7 @@ functions.
If *group* is not ``None``, the setregid() system call will be made in the If *group* is not ``None``, the setregid() system call will be made in the
child process prior to the execution of the subprocess. If the provided child process prior to the execution of the subprocess. If the provided
value is a string, it will be looked up via :func:`grp.getgrnam()` and value is a string, it will be looked up via :func:`grp.getgrnam` and
the value in ``gr_gid`` will be used. If the value is an integer, it the value in ``gr_gid`` will be used. If the value is an integer, it
will be passed verbatim. (POSIX only) will be passed verbatim. (POSIX only)
@ -618,7 +618,7 @@ functions.
If *extra_groups* is not ``None``, the setgroups() system call will be If *extra_groups* is not ``None``, the setgroups() system call will be
made in the child process prior to the execution of the subprocess. made in the child process prior to the execution of the subprocess.
Strings provided in *extra_groups* will be looked up via Strings provided in *extra_groups* will be looked up via
:func:`grp.getgrnam()` and the values in ``gr_gid`` will be used. :func:`grp.getgrnam` and the values in ``gr_gid`` will be used.
Integer values will be passed verbatim. (POSIX only) Integer values will be passed verbatim. (POSIX only)
.. availability:: POSIX .. availability:: POSIX
@ -626,7 +626,7 @@ functions.
If *user* is not ``None``, the setreuid() system call will be made in the If *user* is not ``None``, the setreuid() system call will be made in the
child process prior to the execution of the subprocess. If the provided child process prior to the execution of the subprocess. If the provided
value is a string, it will be looked up via :func:`pwd.getpwnam()` and value is a string, it will be looked up via :func:`pwd.getpwnam` and
the value in ``pw_uid`` will be used. If the value is an integer, it will the value in ``pw_uid`` will be used. If the value is an integer, it will
be passed verbatim. (POSIX only) be passed verbatim. (POSIX only)

View File

@ -735,11 +735,11 @@ always available.
regardless of their size. This function is mainly useful for tracking regardless of their size. This function is mainly useful for tracking
and debugging memory leaks. Because of the interpreter's internal and debugging memory leaks. Because of the interpreter's internal
caches, the result can vary from call to call; you may have to call caches, the result can vary from call to call; you may have to call
:func:`_clear_internal_caches()` and :func:`gc.collect()` to get more :func:`_clear_internal_caches` and :func:`gc.collect` to get more
predictable results. predictable results.
If a Python build or implementation cannot reasonably compute this If a Python build or implementation cannot reasonably compute this
information, :func:`getallocatedblocks()` is allowed to return 0 instead. information, :func:`getallocatedblocks` is allowed to return 0 instead.
.. versionadded:: 3.4 .. versionadded:: 3.4

View File

@ -305,7 +305,7 @@ Installation path functions
mix with those by the other. mix with those by the other.
End users should not use this function, but :func:`get_default_scheme` and End users should not use this function, but :func:`get_default_scheme` and
:func:`get_preferred_scheme()` instead. :func:`get_preferred_scheme` instead.
.. versionadded:: 3.10 .. versionadded:: 3.10

View File

@ -615,7 +615,7 @@ be finalized; only the internally used file object will be closed. See the
it is best practice to only do so in top-level applications or it is best practice to only do so in top-level applications or
:mod:`site configuration <site>`. :mod:`site configuration <site>`.
To set a global default this way, a filter function needs to be wrapped in To set a global default this way, a filter function needs to be wrapped in
:func:`staticmethod()` to prevent injection of a ``self`` argument. :func:`staticmethod` to prevent injection of a ``self`` argument.
.. versionchanged:: 3.14 .. versionchanged:: 3.14

View File

@ -1701,7 +1701,7 @@ The :mod:`test.support.warnings_helper` module provides support for warnings tes
.. function:: check_warnings(*filters, quiet=True) .. function:: check_warnings(*filters, quiet=True)
A convenience wrapper for :func:`warnings.catch_warnings()` that makes it A convenience wrapper for :func:`warnings.catch_warnings` that makes it
easier to test that a warning was correctly raised. It is approximately easier to test that a warning was correctly raised. It is approximately
equivalent to calling ``warnings.catch_warnings(record=True)`` with equivalent to calling ``warnings.catch_warnings(record=True)`` with
:meth:`warnings.simplefilter` set to ``always`` and with the option to :meth:`warnings.simplefilter` set to ``always`` and with the option to

View File

@ -327,7 +327,7 @@ Functions
.. impl-detail:: .. impl-detail::
On CPython, use the same clock than :func:`time.monotonic()` and is a On CPython, use the same clock than :func:`time.monotonic` and is a
monotonic clock, i.e. a clock that cannot go backwards. monotonic clock, i.e. a clock that cannot go backwards.
Use :func:`perf_counter_ns` to avoid the precision loss caused by the Use :func:`perf_counter_ns` to avoid the precision loss caused by the
@ -339,7 +339,7 @@ Functions
On Windows, the function is now system-wide. On Windows, the function is now system-wide.
.. versionchanged:: 3.13 .. versionchanged:: 3.13
Use the same clock than :func:`time.monotonic()`. Use the same clock than :func:`time.monotonic`.
.. function:: perf_counter_ns() -> int .. function:: perf_counter_ns() -> int

View File

@ -75,7 +75,7 @@ the :mod:`tokenize` module.
:noindex: :noindex:
Token value indicating that a type comment was recognized. Such Token value indicating that a type comment was recognized. Such
tokens are only produced when :func:`ast.parse()` is invoked with tokens are only produced when :func:`ast.parse` is invoked with
``type_comments=True``. ``type_comments=True``.

View File

@ -2529,7 +2529,7 @@ Signal Handling
.. versionadded:: 3.2 .. versionadded:: 3.2
The :option:`-c/--catch <unittest -c>` command-line option to unittest, The :option:`-c/--catch <unittest -c>` command-line option to unittest,
along with the ``catchbreak`` parameter to :func:`unittest.main()`, provide along with the ``catchbreak`` parameter to :func:`unittest.main`, provide
more friendly handling of control-C during a test run. With catch break more friendly handling of control-C during a test run. With catch break
behavior enabled control-C will allow the currently running test to complete, behavior enabled control-C will allow the currently running test to complete,
and the test run will then end and report all the results so far. A second and the test run will then end and report all the results so far. A second

View File

@ -332,7 +332,7 @@ Formally, the Python zip application format is therefore:
interpreter name, and then a newline (``b'\n'``) character. The interpreter interpreter name, and then a newline (``b'\n'``) character. The interpreter
name can be anything acceptable to the OS "shebang" processing, or the Python name can be anything acceptable to the OS "shebang" processing, or the Python
launcher on Windows. The interpreter should be encoded in UTF-8 on Windows, launcher on Windows. The interpreter should be encoded in UTF-8 on Windows,
and in :func:`sys.getfilesystemencoding()` on POSIX. and in :func:`sys.getfilesystemencoding` on POSIX.
2. Standard zipfile data, as generated by the :mod:`zipfile` module. The 2. Standard zipfile data, as generated by the :mod:`zipfile` module. The
zipfile content *must* include a file called ``__main__.py`` (which must be zipfile content *must* include a file called ``__main__.py`` (which must be
in the "root" of the zipfile - i.e., it cannot be in a subdirectory). The in the "root" of the zipfile - i.e., it cannot be in a subdirectory). The

View File

@ -380,7 +380,7 @@ Bytes
A bytes object is an immutable array. The items are 8-bit bytes, A bytes object is an immutable array. The items are 8-bit bytes,
represented by integers in the range 0 <= x < 256. Bytes literals represented by integers in the range 0 <= x < 256. Bytes literals
(like ``b'abc'``) and the built-in :func:`bytes()` constructor (like ``b'abc'``) and the built-in :func:`bytes` constructor
can be used to create bytes objects. Also, bytes objects can be can be used to create bytes objects. Also, bytes objects can be
decoded to strings via the :meth:`~bytes.decode` method. decoded to strings via the :meth:`~bytes.decode` method.

View File

@ -230,7 +230,7 @@ accumulate to the point where they affect the final total:
>>> sum([0.1] * 10) == 1.0 >>> sum([0.1] * 10) == 1.0
True True
The :func:`math.fsum()` goes further and tracks all of the "lost digits" The :func:`math.fsum` goes further and tracks all of the "lost digits"
as values are added onto a running total so that the result has only a as values are added onto a running total so that the result has only a
single rounding. This is slower than :func:`sum` but will be more single rounding. This is slower than :func:`sum` but will be more
accurate in uncommon cases where large magnitude inputs mostly cancel accurate in uncommon cases where large magnitude inputs mostly cancel

View File

@ -1031,7 +1031,7 @@ conflict.
'surrogatepass' are used. 'surrogatepass' are used.
This may also be enabled at runtime with This may also be enabled at runtime with
:func:`sys._enablelegacywindowsfsencoding()`. :func:`sys._enablelegacywindowsfsencoding`.
.. availability:: Windows. .. availability:: Windows.

View File

@ -53,10 +53,10 @@ the simulator or a physical device.
Information about the specific runtime environment, including the iOS version, Information about the specific runtime environment, including the iOS version,
device model, and whether the device is a simulator, can be obtained using device model, and whether the device is a simulator, can be obtained using
:func:`platform.ios_ver()`. :func:`platform.system()` will report ``iOS`` or :func:`platform.ios_ver`. :func:`platform.system` will report ``iOS`` or
``iPadOS``, depending on the device. ``iPadOS``, depending on the device.
:func:`os.uname()` reports kernel-level details; it will report a name of :func:`os.uname` reports kernel-level details; it will report a name of
``Darwin``. ``Darwin``.
Standard library availability Standard library availability

View File

@ -1233,7 +1233,7 @@ also now un-stringize stringized annotations.
itertools itertools
--------- ---------
Add :func:`itertools.pairwise()`. Add :func:`itertools.pairwise`.
(Contributed by Raymond Hettinger in :issue:`38200`.) (Contributed by Raymond Hettinger in :issue:`38200`.)
linecache linecache
@ -1245,14 +1245,14 @@ When a module does not define ``__loader__``, fall back to ``__spec__.loader``.
os os
-- --
Add :func:`os.cpu_count()` support for VxWorks RTOS. Add :func:`os.cpu_count` support for VxWorks RTOS.
(Contributed by Peixing Xin in :issue:`41440`.) (Contributed by Peixing Xin in :issue:`41440`.)
Add a new function :func:`os.eventfd` and related helpers to wrap the Add a new function :func:`os.eventfd` and related helpers to wrap the
``eventfd2`` syscall on Linux. ``eventfd2`` syscall on Linux.
(Contributed by Christian Heimes in :issue:`41001`.) (Contributed by Christian Heimes in :issue:`41001`.)
Add :func:`os.splice()` that allows to move data between two file Add :func:`os.splice` that allows to move data between two file
descriptors without copying between kernel address space and user descriptors without copying between kernel address space and user
address space, where one of the file descriptors must refer to a address space, where one of the file descriptors must refer to a
pipe. (Contributed by Pablo Galindo in :issue:`41625`.) pipe. (Contributed by Pablo Galindo in :issue:`41625`.)
@ -1292,7 +1292,7 @@ functions in the :mod:`os` module.
platform platform
-------- --------
Add :func:`platform.freedesktop_os_release()` to retrieve operation system Add :func:`platform.freedesktop_os_release` to retrieve operation system
identification from `freedesktop.org os-release identification from `freedesktop.org os-release
<https://www.freedesktop.org/software/systemd/man/os-release.html>`_ standard file. <https://www.freedesktop.org/software/systemd/man/os-release.html>`_ standard file.
(Contributed by Christian Heimes in :issue:`28468`.) (Contributed by Christian Heimes in :issue:`28468`.)

View File

@ -1422,9 +1422,9 @@ hashlib
------- -------
* Remove the pure Python implementation of :mod:`hashlib`'s * Remove the pure Python implementation of :mod:`hashlib`'s
:func:`hashlib.pbkdf2_hmac()`, deprecated in Python 3.10. Python 3.10 and :func:`hashlib.pbkdf2_hmac`, deprecated in Python 3.10. Python 3.10 and
newer requires OpenSSL 1.1.1 (:pep:`644`): this OpenSSL version provides newer requires OpenSSL 1.1.1 (:pep:`644`): this OpenSSL version provides
a C implementation of :func:`~hashlib.pbkdf2_hmac()` which is faster. a C implementation of :func:`~hashlib.pbkdf2_hmac` which is faster.
(Contributed by Victor Stinner in :gh:`94199`.) (Contributed by Victor Stinner in :gh:`94199`.)
importlib importlib

View File

@ -199,7 +199,7 @@ pathlib
pdb pdb
--- ---
* Hard-coded breakpoints (:func:`breakpoint` and :func:`pdb.set_trace()`) now * Hard-coded breakpoints (:func:`breakpoint` and :func:`pdb.set_trace`) now
reuse the most recent :class:`~pdb.Pdb` instance that calls reuse the most recent :class:`~pdb.Pdb` instance that calls
:meth:`~pdb.Pdb.set_trace()`, instead of creating a new one each time. :meth:`~pdb.Pdb.set_trace()`, instead of creating a new one each time.
As a result, all the instance specific data like :pdbcmd:`display` and As a result, all the instance specific data like :pdbcmd:`display` and

View File

@ -2321,7 +2321,7 @@ Multi-threading
intervals and reduced overhead due to lock contention and the number of intervals and reduced overhead due to lock contention and the number of
ensuing system calls. The notion of a "check interval" to allow thread ensuing system calls. The notion of a "check interval" to allow thread
switches has been abandoned and replaced by an absolute duration expressed in switches has been abandoned and replaced by an absolute duration expressed in
seconds. This parameter is tunable through :func:`sys.setswitchinterval()`. seconds. This parameter is tunable through :func:`sys.setswitchinterval`.
It currently defaults to 5 milliseconds. It currently defaults to 5 milliseconds.
Additional details about the implementation can be read from a `python-dev Additional details about the implementation can be read from a `python-dev

View File

@ -779,8 +779,8 @@ Other Language Changes
Some smaller changes made to the core Python language are: Some smaller changes made to the core Python language are:
* Added support for Unicode name aliases and named sequences. * Added support for Unicode name aliases and named sequences.
Both :func:`unicodedata.lookup()` and ``'\N{...}'`` now resolve name aliases, Both :func:`unicodedata.lookup` and ``'\N{...}'`` now resolve name aliases,
and :func:`unicodedata.lookup()` resolves named sequences too. and :func:`unicodedata.lookup` resolves named sequences too.
(Contributed by Ezio Melotti in :issue:`12753`.) (Contributed by Ezio Melotti in :issue:`12753`.)

View File

@ -1967,7 +1967,7 @@ Other Improvements
* The ``-R`` option to the :ref:`python regression test suite <regrtest>` now * The ``-R`` option to the :ref:`python regression test suite <regrtest>` now
also checks for memory allocation leaks, using also checks for memory allocation leaks, using
:func:`sys.getallocatedblocks()`. (Contributed by Antoine Pitrou in :func:`sys.getallocatedblocks`. (Contributed by Antoine Pitrou in
:issue:`13390`.) :issue:`13390`.)
* ``python -m`` now works with namespace packages. * ``python -m`` now works with namespace packages.

View File

@ -511,10 +511,10 @@ correct.
Prior to Python 3.6, data loss could result when using bytes paths on Windows. Prior to Python 3.6, data loss could result when using bytes paths on Windows.
With this change, using bytes to represent paths is now supported on Windows, With this change, using bytes to represent paths is now supported on Windows,
provided those bytes are encoded with the encoding returned by provided those bytes are encoded with the encoding returned by
:func:`sys.getfilesystemencoding()`, which now defaults to ``'utf-8'``. :func:`sys.getfilesystemencoding`, which now defaults to ``'utf-8'``.
Applications that do not use str to represent paths should use Applications that do not use str to represent paths should use
:func:`os.fsencode()` and :func:`os.fsdecode()` to ensure their bytes are :func:`os.fsencode` and :func:`os.fsdecode` to ensure their bytes are
correctly encoded. To revert to the previous behaviour, set correctly encoded. To revert to the previous behaviour, set
:envvar:`PYTHONLEGACYWINDOWSFSENCODING` or call :envvar:`PYTHONLEGACYWINDOWSFSENCODING` or call
:func:`sys._enablelegacywindowsfsencoding`. :func:`sys._enablelegacywindowsfsencoding`.
@ -780,7 +780,7 @@ for managing secrets, such as account authentication, tokens, and similar.
Note that the pseudo-random generators in the :mod:`random` module Note that the pseudo-random generators in the :mod:`random` module
should *NOT* be used for security purposes. Use :mod:`secrets` should *NOT* be used for security purposes. Use :mod:`secrets`
on Python 3.6+ and :func:`os.urandom()` on Python 3.5 and earlier. on Python 3.6+ and :func:`os.urandom` on Python 3.5 and earlier.
.. seealso:: .. seealso::
@ -1316,7 +1316,7 @@ Storchaka in :issue:`24164`.)
pickletools pickletools
----------- -----------
:func:`pickletools.dis()` now outputs the implicit memo index for the :func:`pickletools.dis` now outputs the implicit memo index for the
``MEMOIZE`` opcode. ``MEMOIZE`` opcode.
(Contributed by Serhiy Storchaka in :issue:`25382`.) (Contributed by Serhiy Storchaka in :issue:`25382`.)

View File

@ -2366,7 +2366,7 @@ Changes in the Python API
positions 2--3. To match only blank lines, the pattern should be rewritten positions 2--3. To match only blank lines, the pattern should be rewritten
as ``r'(?m)^[^\S\n]*$'``. as ``r'(?m)^[^\S\n]*$'``.
:func:`re.sub()` now replaces empty matches adjacent to a previous :func:`re.sub` now replaces empty matches adjacent to a previous
non-empty match. For example ``re.sub('x*', '-', 'abxd')`` returns now non-empty match. For example ``re.sub('x*', '-', 'abxd')`` returns now
``'-a-b--d-'`` instead of ``'-a-b-d-'`` (the first minus between 'b' and ``'-a-b--d-'`` instead of ``'-a-b-d-'`` (the first minus between 'b' and
'd' replaces 'x', and the second minus replaces an empty string between 'd' replaces 'x', and the second minus replaces an empty string between

View File

@ -936,7 +936,7 @@ Add option ``--json-lines`` to parse every input line as a separate JSON object.
logging logging
------- -------
Added a *force* keyword argument to :func:`logging.basicConfig()` Added a *force* keyword argument to :func:`logging.basicConfig`
When set to true, any existing handlers attached When set to true, any existing handlers attached
to the root logger are removed and closed before carrying out the to the root logger are removed and closed before carrying out the
configuration specified by the other arguments. configuration specified by the other arguments.
@ -1175,8 +1175,8 @@ convenience functions to automate the necessary tasks usually involved when
creating a server socket, including accepting both IPv4 and IPv6 connections creating a server socket, including accepting both IPv4 and IPv6 connections
on the same socket. (Contributed by Giampaolo Rodolà in :issue:`17561`.) on the same socket. (Contributed by Giampaolo Rodolà in :issue:`17561`.)
The :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()`, and The :func:`socket.if_nameindex`, :func:`socket.if_nametoindex`, and
:func:`socket.if_indextoname()` functions have been implemented on Windows. :func:`socket.if_indextoname` functions have been implemented on Windows.
(Contributed by Zackery Spytz in :issue:`37007`.) (Contributed by Zackery Spytz in :issue:`37007`.)
@ -1193,10 +1193,10 @@ statistics
---------- ----------
Added :func:`statistics.fmean` as a faster, floating-point variant of Added :func:`statistics.fmean` as a faster, floating-point variant of
:func:`statistics.mean()`. (Contributed by Raymond Hettinger and :func:`statistics.mean`. (Contributed by Raymond Hettinger and
Steven D'Aprano in :issue:`35904`.) Steven D'Aprano in :issue:`35904`.)
Added :func:`statistics.geometric_mean()` Added :func:`statistics.geometric_mean`
(Contributed by Raymond Hettinger in :issue:`27181`.) (Contributed by Raymond Hettinger in :issue:`27181`.)
Added :func:`statistics.multimode` that returns a list of the most Added :func:`statistics.multimode` that returns a list of the most
@ -1367,9 +1367,9 @@ Added :class:`~unittest.mock.AsyncMock` to support an asynchronous version of
have been added as well. have been added as well.
(Contributed by Lisa Roach in :issue:`26467`). (Contributed by Lisa Roach in :issue:`26467`).
Added :func:`~unittest.addModuleCleanup()` and Added :func:`~unittest.addModuleCleanup` and
:meth:`~unittest.TestCase.addClassCleanup()` to unittest to support :meth:`~unittest.TestCase.addClassCleanup()` to unittest to support
cleanups for :func:`~unittest.setUpModule()` and cleanups for :func:`~unittest.setUpModule` and
:meth:`~unittest.TestCase.setUpClass()`. :meth:`~unittest.TestCase.setUpClass()`.
(Contributed by Lisa Roach in :issue:`24412`.) (Contributed by Lisa Roach in :issue:`24412`.)
@ -1432,7 +1432,7 @@ and ``{namespace}*`` which returns all tags in the given namespace.
(Contributed by Stefan Behnel in :issue:`28238`.) (Contributed by Stefan Behnel in :issue:`28238`.)
The :mod:`xml.etree.ElementTree` module provides a new function The :mod:`xml.etree.ElementTree` module provides a new function
:func:`xml.etree.ElementTree.canonicalize()` that implements C14N 2.0. :func:`xml.etree.ElementTree.canonicalize` that implements C14N 2.0.
(Contributed by Stefan Behnel in :issue:`13611`.) (Contributed by Stefan Behnel in :issue:`13611`.)
The target object of :class:`xml.etree.ElementTree.XMLParser` can The target object of :class:`xml.etree.ElementTree.XMLParser` can

View File

@ -983,7 +983,7 @@ Removed
(Contributed by Victor Stinner in :issue:`37312`.) (Contributed by Victor Stinner in :issue:`37312`.)
* ``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()`` alias to * ``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()`` alias to
``sunau.open()``, and ``wave.openfp()`` alias to :func:`wave.open()` have been ``sunau.open()``, and ``wave.openfp()`` alias to :func:`wave.open` have been
removed. They were deprecated since Python 3.7. removed. They were deprecated since Python 3.7.
(Contributed by Victor Stinner in :issue:`37320`.) (Contributed by Victor Stinner in :issue:`37320`.)

View File

@ -5590,7 +5590,7 @@ Library
- Issue #16248: Disable code execution from the user's home directory by - Issue #16248: Disable code execution from the user's home directory by
tkinter when the -E flag is passed to Python. Patch by Zachary Ware. tkinter when the -E flag is passed to Python. Patch by Zachary Ware.
- Issue #13390: New function :func:`sys.getallocatedblocks()` returns the - Issue #13390: New function :func:`sys.getallocatedblocks` returns the
number of memory blocks currently allocated. number of memory blocks currently allocated.
- Issue #16628: Fix a memory leak in ctypes.resize(). - Issue #16628: Fix a memory leak in ctypes.resize().
@ -6157,7 +6157,7 @@ Tests
starting with a ".". Patch by Sebastian Kreft. starting with a ".". Patch by Sebastian Kreft.
- Issue #13390: The ``-R`` option to regrtest now also checks for memory - Issue #13390: The ``-R`` option to regrtest now also checks for memory
allocation leaks, using :func:`sys.getallocatedblocks()`. allocation leaks, using :func:`sys.getallocatedblocks`.
- Issue #16559: Add more tests for the json module, including some from the - Issue #16559: Add more tests for the json module, including some from the
official test suite at json.org. Patch by Serhiy Storchaka. official test suite at json.org. Patch by Serhiy Storchaka.

View File

@ -1499,7 +1499,7 @@ used to cause ZeroDivisionError now cause an OverflowError instead.
.. nonce: rju34k .. nonce: rju34k
.. section: Library .. section: Library
Add :func:`os.cpu_count()` support for VxWorks RTOS. Add :func:`os.cpu_count` support for VxWorks RTOS.
.. ..

View File

@ -477,7 +477,7 @@ object belongs to, potentially breaking the unpickling of those objects.
Simplify the :mod:`importlib` external bootstrap code: Simplify the :mod:`importlib` external bootstrap code:
``importlib._bootstrap_external`` now uses regular imports to import builtin ``importlib._bootstrap_external`` now uses regular imports to import builtin
modules. When it is imported, the builtin :func:`__import__()` function is modules. When it is imported, the builtin :func:`__import__` function is
already fully working and so can be used to import builtin modules like already fully working and so can be used to import builtin modules like
:mod:`sys`. Patch by Victor Stinner. :mod:`sys`. Patch by Victor Stinner.
@ -517,8 +517,8 @@ Port the ``_signal`` extension module to the multi-phase initialization API
.. nonce: Wh5svI .. nonce: Wh5svI
.. section: Library .. section: Library
:func:`time.time()`, :func:`time.perf_counter()` and :func:`time.time`, :func:`time.perf_counter` and
:func:`time.monotonic()` functions can no longer fail with a Python fatal :func:`time.monotonic` functions can no longer fail with a Python fatal
error, instead raise a regular Python exception on failure. error, instead raise a regular Python exception on failure.
.. ..
@ -550,10 +550,10 @@ deduplicate, use type to cache key). Patch provided by Yurii Karabas.
.. nonce: iDbHrw .. nonce: iDbHrw
.. section: Library .. section: Library
:func:`time.perf_counter()` on Windows and :func:`time.monotonic()` on macOS :func:`time.perf_counter` on Windows and :func:`time.monotonic` on macOS
are now system-wide. Previously, they used an offset computed at startup to are now system-wide. Previously, they used an offset computed at startup to
reduce the precision loss caused by the float type. Use reduce the precision loss caused by the float type. Use
:func:`time.perf_counter_ns()` and :func:`time.monotonic_ns()` added in :func:`time.perf_counter_ns` and :func:`time.monotonic_ns` added in
Python 3.7 to avoid this precision loss. Python 3.7 to avoid this precision loss.
.. ..

View File

@ -709,7 +709,7 @@ directories.
.. nonce: ek38d_ .. nonce: ek38d_
.. section: Library .. section: Library
Add :func:`os.set_blocking()` support for VxWorks RTOS. Add :func:`os.set_blocking` support for VxWorks RTOS.
.. ..

View File

@ -654,7 +654,7 @@ support importlib.invalidate_caches(). Patch by Desmond Cheong.
.. nonce: 3r0HFY .. nonce: 3r0HFY
.. section: Library .. section: Library
Fail fast in :func:`shutil.move()` to avoid creating destination directories Fail fast in :func:`shutil.move` to avoid creating destination directories
on failure. on failure.
.. ..
@ -701,8 +701,8 @@ sessions in :mod:`pdb`'s interactive mode.
When the :data:`tempfile.tempdir` global variable is set to a value of type When the :data:`tempfile.tempdir` global variable is set to a value of type
bytes, it is now handled consistently. Previously exceptions could be bytes, it is now handled consistently. Previously exceptions could be
raised from some tempfile APIs when the directory did not already exist in raised from some tempfile APIs when the directory did not already exist in
this situation. Also ensures that the :func:`tempfile.gettempdir()` and this situation. Also ensures that the :func:`tempfile.gettempdir` and
:func:`tempfile.gettempdirb()` functions *always* return ``str`` and :func:`tempfile.gettempdirb` functions *always* return ``str`` and
``bytes`` respectively. ``bytes`` respectively.
.. ..

View File

@ -958,7 +958,7 @@ Patch by Jelle Zijlstra.
.. nonce: nnVd3h .. nonce: nnVd3h
.. section: Library .. section: Library
Add an ``encoding`` parameter :func:`logging.fileConfig()`. Add an ``encoding`` parameter :func:`logging.fileConfig`.
.. ..
@ -1270,7 +1270,7 @@ Fix thread locks in zlib module may go wrong in rare case. Patch by Ma Lin.
.. nonce: oi6Kdb .. nonce: oi6Kdb
.. section: Library .. section: Library
Fix dataclasses with ``InitVar``\s and :func:`~dataclasses.replace()`. Patch Fix dataclasses with ``InitVar``\s and :func:`~dataclasses.replace`. Patch
by Claudiu Popa. by Claudiu Popa.
.. ..
@ -1310,7 +1310,7 @@ functions in the :mod:`os` module.
.. nonce: 9adF3E .. nonce: 9adF3E
.. section: Library .. section: Library
:func:`os.path.expanduser()` now refuses to guess Windows home directories :func:`os.path.expanduser` now refuses to guess Windows home directories
if the basename of current user's home directory does not match their if the basename of current user's home directory does not match their
username. username.

View File

@ -2000,7 +2000,7 @@ during file extraction.
.. nonce: roUl0G .. nonce: roUl0G
.. section: Library .. section: Library
:mod:`subprocess` on Solaris now also uses :func:`os.posix_spawn()` for :mod:`subprocess` on Solaris now also uses :func:`os.posix_spawn` for
better performance. better performance.
.. ..

View File

@ -58,7 +58,7 @@ may have prevented Python-to-Python calls respecting PEP 523.
.. nonce: -igcjS .. nonce: -igcjS
.. section: Core and Builtins .. section: Core and Builtins
Add a closure keyword-only parameter to :func:`exec()`. It can only be specified Add a closure keyword-only parameter to :func:`exec`. It can only be specified
when exec-ing a code object that uses free variables. When specified, it when exec-ing a code object that uses free variables. When specified, it
must be a tuple, with exactly the number of cell variables referenced by the must be a tuple, with exactly the number of cell variables referenced by the
code object. closure has a default value of ``None``, and it must be ``None`` if the code object. closure has a default value of ``None``, and it must be ``None`` if the

View File

@ -3221,9 +3221,9 @@ Stinner.
.. section: Library .. section: Library
:mod:`hashlib`: Remove the pure Python implementation of :mod:`hashlib`: Remove the pure Python implementation of
:func:`hashlib.pbkdf2_hmac()`, deprecated in Python 3.10. Python 3.10 and :func:`hashlib.pbkdf2_hmac`, deprecated in Python 3.10. Python 3.10 and
newer requires OpenSSL 1.1.1 (:pep:`644`): this OpenSSL version provides a C newer requires OpenSSL 1.1.1 (:pep:`644`): this OpenSSL version provides a C
implementation of :func:`~hashlib.pbkdf2_hmac()` which is faster. Patch by implementation of :func:`~hashlib.pbkdf2_hmac` which is faster. Patch by
Victor Stinner. Victor Stinner.
.. ..

View File

@ -706,7 +706,7 @@ Remove modules :mod:`!asyncore` and :mod:`!asynchat`, which were deprecated by
.. section: Library .. section: Library
Fix handling of ``bytes`` :term:`path-like objects <path-like object>` in Fix handling of ``bytes`` :term:`path-like objects <path-like object>` in
:func:`os.ismount()`. :func:`os.ismount`.
.. ..

View File

@ -611,8 +611,8 @@ random.expovariate().
.. nonce: bgtzMV .. nonce: bgtzMV
.. section: Library .. section: Library
A :exc:`DeprecationWarning` may be raised when :func:`os.fork()` or A :exc:`DeprecationWarning` may be raised when :func:`os.fork` or
:func:`os.forkpty()` is called from multi-threaded processes. Forking with :func:`os.forkpty` is called from multi-threaded processes. Forking with
threads is unsafe and can cause deadlocks, crashes and subtle problems. Lack threads is unsafe and can cause deadlocks, crashes and subtle problems. Lack
of a warning does not indicate that the fork call was actually safe, as of a warning does not indicate that the fork call was actually safe, as
Python may not be aware of all threads. Python may not be aware of all threads.

View File

@ -307,7 +307,7 @@ It must not drop the ``Unpack`` part.
.. nonce: wz4Xgc .. nonce: wz4Xgc
.. section: Library .. section: Library
Add :func:`os.path.splitroot()`, which splits a path into a 3-item tuple Add :func:`os.path.splitroot`, which splits a path into a 3-item tuple
``(drive, root, tail)``. This new function is used by :mod:`pathlib` to ``(drive, root, tail)``. This new function is used by :mod:`pathlib` to
improve the performance of path construction by up to a third. improve the performance of path construction by up to a third.

View File

@ -219,7 +219,7 @@ Aasland.
.. nonce: DqNehf .. nonce: DqNehf
.. section: Library .. section: Library
Pure python :func:`locale.getencoding()` will not warn deprecation. Pure python :func:`locale.getencoding` will not warn deprecation.
.. ..

View File

@ -5148,7 +5148,7 @@ frame did not save the PC`` is found. Patch by Victor Stinner.
.. nonce: qxI4OG .. nonce: qxI4OG
.. section: Tests .. section: Tests
libregrtest now calls :func:`random.seed()` before running each test file libregrtest now calls :func:`random.seed` before running each test file
when ``-r/--randomize`` command line option is used. Moreover, it's also when ``-r/--randomize`` command line option is used. Moreover, it's also
called in worker processes. It should help to make tests more called in worker processes. It should help to make tests more
deterministic. Previously, it was only called once in the main process deterministic. Previously, it was only called once in the main process

View File

@ -632,8 +632,8 @@ Add extra argument validation for ``alias`` command in :mod:`pdb`
.. nonce: FWqZIU .. nonce: FWqZIU
.. section: Library .. section: Library
:mod:`time`: Make :func:`time.clock_gettime()` and :mod:`time`: Make :func:`time.clock_gettime` and
:func:`time.clock_gettime_ns()` functions up to 2x faster by faster calling :func:`time.clock_gettime_ns` functions up to 2x faster by faster calling
convention. Patch by Victor Stinner. convention. Patch by Victor Stinner.
.. ..
@ -674,7 +674,7 @@ Unix socket when the server is closed.
.. nonce: Bc8LvA .. nonce: Bc8LvA
.. section: Library .. section: Library
Added :func:`io.text_encoding()`, :data:`io.DEFAULT_BUFFER_SIZE`, and Added :func:`io.text_encoding`, :data:`io.DEFAULT_BUFFER_SIZE`, and
:class:`io.IncrementalNewlineDecoder` to ``io.__all__``. :class:`io.IncrementalNewlineDecoder` to ``io.__all__``.
.. ..
@ -736,7 +736,7 @@ which allows to format :exc:`ExceptionGroup` instances.
.. nonce: 5ePgFl .. nonce: 5ePgFl
.. section: Library .. section: Library
Another attempt at fixing :func:`asyncio.Server.wait_closed()`. It now Another attempt at fixing :func:`asyncio.Server.wait_closed`. It now
blocks until both conditions are true: the server is closed, *and* there are blocks until both conditions are true: the server is closed, *and* there are
no more active connections. (This means that in some cases where in 3.12.0 no more active connections. (This means that in some cases where in 3.12.0
this function would *incorrectly* have returned immediately, it will now this function would *incorrectly* have returned immediately, it will now
@ -880,7 +880,7 @@ Make :mod:`pdb` enter post-mortem mode even for :exc:`SyntaxError`
.. nonce: _M-cQC .. nonce: _M-cQC
.. section: Library .. section: Library
Set ``f_trace_lines = True`` on all frames upon :func:`pdb.set_trace()` Set ``f_trace_lines = True`` on all frames upon :func:`pdb.set_trace`
.. ..

View File

@ -555,7 +555,7 @@ Added :data:`mmap.MAP_NORESERVE`, :data:`mmap.MAP_NOEXTEND`,
.. nonce: kXoCy0 .. nonce: kXoCy0
.. section: Library .. section: Library
:func:`asyncio.TaskGroup()` and :func:`asyncio.timeout()` context managers :func:`asyncio.TaskGroup` and :func:`asyncio.timeout` context managers
now handle :exc:`~asyncio.CancelledError` subclasses as well as exact now handle :exc:`~asyncio.CancelledError` subclasses as well as exact
:exc:`!CancelledError`. :exc:`!CancelledError`.
@ -607,7 +607,7 @@ with the documentation)
.. nonce: xN2LuL .. nonce: xN2LuL
.. section: Library .. section: Library
:func:`asyncio.Condition.wait()` now re-raises the same :func:`asyncio.Condition.wait` now re-raises the same
:exc:`CancelledError` instance that may have caused it to be interrupted. :exc:`CancelledError` instance that may have caused it to be interrupted.
Fixed race condition in :func:`asyncio.Semaphore.acquire` when interrupted Fixed race condition in :func:`asyncio.Semaphore.acquire` when interrupted
with a :exc:`CancelledError`. with a :exc:`CancelledError`.
@ -1805,7 +1805,7 @@ size.
.. nonce: xPOBBY .. nonce: xPOBBY
.. section: Library .. section: Library
:func:`warnings.filterwarnings()` and :func:`warnings.simplefilter()` now :func:`warnings.filterwarnings` and :func:`warnings.simplefilter` now
raise appropriate exceptions instead of ``AssertionError``. Patch raise appropriate exceptions instead of ``AssertionError``. Patch
contributed by Rémi Lapeyre. contributed by Rémi Lapeyre.

View File

@ -336,7 +336,7 @@ for decorated functions.
.. nonce: RzxNYT .. nonce: RzxNYT
.. section: Library .. section: Library
Fix several :func:`format()` bugs when using the C implementation of Fix several :func:`format` bugs when using the C implementation of
:class:`~decimal.Decimal`: * memory leak in some rare cases when using the :class:`~decimal.Decimal`: * memory leak in some rare cases when using the
``z`` format option (coerce negative 0) * incorrect output when applying the ``z`` format option (coerce negative 0) * incorrect output when applying the
``z`` format option to type ``F`` (fixed-point with capital ``NAN`` / ``z`` format option to type ``F`` (fixed-point with capital ``NAN`` /
@ -1283,7 +1283,7 @@ Update macOS installer to use OpenSSL 3.0.13.
.. nonce: FrQOQ0 .. nonce: FrQOQ0
.. section: macOS .. section: macOS
Add Mach-O linkage support for :func:`platform.architecture()`. Add Mach-O linkage support for :func:`platform.architecture`.
.. ..

View File

@ -446,7 +446,7 @@ regardless of *lineterminator* value.
.. section: Library .. section: Library
Restore support of space delimiter with ``skipinitialspace=True`` in Restore support of space delimiter with ``skipinitialspace=True`` in
:mod:`csv`. :func:`csv.writer()` now quotes empty fields if delimiter is a :mod:`csv`. :func:`csv.writer` now quotes empty fields if delimiter is a
space and skipinitialspace is true and raises exception if quoting is not space and skipinitialspace is true and raises exception if quoting is not
possible. possible.
@ -606,10 +606,10 @@ is complete.
.. nonce: SQ998l .. nonce: SQ998l
.. section: Library .. section: Library
:func:`posixpath.commonpath()` now raises a :exc:`ValueError` exception when :func:`posixpath.commonpath` now raises a :exc:`ValueError` exception when
passed an empty iterable. Previously, :exc:`IndexError` was raised. passed an empty iterable. Previously, :exc:`IndexError` was raised.
:func:`posixpath.commonpath()` now raises a :exc:`TypeError` exception when :func:`posixpath.commonpath` now raises a :exc:`TypeError` exception when
passed ``None``. Previously, :exc:`ValueError` was raised. passed ``None``. Previously, :exc:`ValueError` was raised.
.. ..

View File

@ -264,7 +264,7 @@ Improve performance of :func:`os.path.join` and :func:`os.path.expanduser`.
.. nonce: hqk9Hn .. nonce: hqk9Hn
.. section: Library .. section: Library
Raise :exc:`TypeError` for non-paths in :func:`posixpath.relpath()`. Raise :exc:`TypeError` for non-paths in :func:`posixpath.relpath`.
.. ..
@ -582,7 +582,7 @@ in other tests (like importlib.resources).
.. nonce: LV16SL .. nonce: LV16SL
.. section: Library .. section: Library
On Windows, :func:`time.time()` now uses the On Windows, :func:`time.time` now uses the
``GetSystemTimePreciseAsFileTime()`` clock to have a resolution better than ``GetSystemTimePreciseAsFileTime()`` clock to have a resolution better than
1 us, instead of the ``GetSystemTimeAsFileTime()`` clock which has a 1 us, instead of the ``GetSystemTimeAsFileTime()`` clock which has a
resolution of 15.6 ms. Patch by Victor Stinner. resolution of 15.6 ms. Patch by Victor Stinner.
@ -673,14 +673,14 @@ fused multiply-add function. Patch by Mark Dickinson and Victor Stinner.
.. section: Library .. section: Library
The :mod:`importlib.resources` functions The :mod:`importlib.resources` functions
:func:`~importlib.resources.is_resource()`, :func:`~importlib.resources.is_resource`,
:func:`~importlib.resources.open_binary()`, :func:`~importlib.resources.open_binary`,
:func:`~importlib.resources.open_text()`, :func:`~importlib.resources.open_text`,
:func:`~importlib.resources.path()`, :func:`~importlib.resources.path`,
:func:`~importlib.resources.read_binary()`, and :func:`~importlib.resources.read_binary`, and
:func:`~importlib.resources.read_text()` are un-deprecated, and support :func:`~importlib.resources.read_text` are un-deprecated, and support
subdirectories via multiple positional arguments. The subdirectories via multiple positional arguments. The
:func:`~importlib.resources.contents()` function also allows subdirectories, :func:`~importlib.resources.contents` function also allows subdirectories,
but remains deprecated. but remains deprecated.
.. ..
@ -1061,7 +1061,7 @@ when available. Contributed by vxiiduu.
.. nonce: Bwfmp7 .. nonce: Bwfmp7
.. section: Windows .. section: Windows
On Windows, :func:`time.monotonic()` now uses the On Windows, :func:`time.monotonic` now uses the
``QueryPerformanceCounter()`` clock to have a resolution better than 1 us, ``QueryPerformanceCounter()`` clock to have a resolution better than 1 us,
instead of the ``GetTickCount64()`` clock which has a resolution of 15.6 ms. instead of the ``GetTickCount64()`` clock which has a resolution of 15.6 ms.
Patch by Victor Stinner. Patch by Victor Stinner.

View File

@ -1213,7 +1213,7 @@ changed from ``'r'`` to ``'rb'``.
.. nonce: eeS6w7 .. nonce: eeS6w7
.. section: Library .. section: Library
Fix :func:`inspect.signature()` to correctly handle parameter defaults on Fix :func:`inspect.signature` to correctly handle parameter defaults on
methods in extension modules that use names defined in the module namespace. methods in extension modules that use names defined in the module namespace.
.. ..

View File

@ -474,7 +474,7 @@ platforms with OpenSSL 1.0.2+ or inet_pton.
.. nonce: ideco .. nonce: ideco
.. section: Library .. section: Library
:func:`urllib.parse.urlsplit()` does not convert zone-id (scope) to lower :func:`urllib.parse.urlsplit` does not convert zone-id (scope) to lower
case for scoped IPv6 addresses in hostnames now. case for scoped IPv6 addresses in hostnames now.
.. ..

View File

@ -434,7 +434,7 @@ loop.getaddrinfo, loop.getnameinfo.
.. nonce: ideco .. nonce: ideco
.. section: Library .. section: Library
:func:`urllib.parse.urlsplit()` does not convert zone-id (scope) to lower :func:`urllib.parse.urlsplit` does not convert zone-id (scope) to lower
case for scoped IPv6 addresses in hostnames now. case for scoped IPv6 addresses in hostnames now.
.. ..
@ -463,7 +463,7 @@ Fix ``stop_serving`` in asyncio proactor loop kill all listening servers
.. nonce: CUbsb2 .. nonce: CUbsb2
.. section: Library .. section: Library
:func:`re.sub()` now replaces empty matches adjacent to a previous non-empty :func:`re.sub` now replaces empty matches adjacent to a previous non-empty
match. match.
.. ..

View File

@ -274,7 +274,7 @@ collections.ChainMap() preserves the order of the underlying mappings.
.. nonce: -T77_c .. nonce: -T77_c
.. section: Library .. section: Library
:func:`fnmatch.translate()` no longer produces patterns which contain set :func:`fnmatch.translate` no longer produces patterns which contain set
operations. Sets starting with '[' or containing '--', '&&', '~~' or '||' operations. Sets starting with '[' or containing '--', '&&', '~~' or '||'
will be interpreted differently in regular expressions in future versions. will be interpreted differently in regular expressions in future versions.
Currently they emit warnings. fnmatch.translate() now avoids producing Currently they emit warnings. fnmatch.translate() now avoids producing

View File

@ -235,7 +235,7 @@ End framing at the end of C implementation of :func:`pickle.Pickler.dump`.
.. section: Library .. section: Library
Improved error handling and fixed a reference leak in Improved error handling and fixed a reference leak in
:func:`os.posix_spawn()`. :func:`os.posix_spawn`.
.. ..

View File

@ -625,7 +625,7 @@ Spytz.
The C function ``property_descr_get()`` uses a "cached" tuple to optimize The C function ``property_descr_get()`` uses a "cached" tuple to optimize
function calls. But this tuple can be discovered in debug mode with function calls. But this tuple can be discovered in debug mode with
:func:`sys.getobjects()`. Remove the optimization, it's not really worth it :func:`sys.getobjects`. Remove the optimization, it's not really worth it
and it causes 3 different crashes last years. and it causes 3 different crashes last years.
.. ..
@ -3211,9 +3211,9 @@ bytes objects. (microoptimization)
.. nonce: i-F_E5 .. nonce: i-F_E5
.. section: Library .. section: Library
Add :func:`~unittest.addModuleCleanup()` and Add :func:`~unittest.addModuleCleanup` and
:meth:`~unittest.TestCase.addClassCleanup()` to unittest to support cleanups :meth:`~unittest.TestCase.addClassCleanup()` to unittest to support cleanups
for :func:`~unittest.setUpModule()` and for :func:`~unittest.setUpModule` and
:meth:`~unittest.TestCase.setUpClass()`. Patch by Lisa Roach. :meth:`~unittest.TestCase.setUpClass()`. Patch by Lisa Roach.
.. ..
@ -3458,7 +3458,7 @@ Running the :mod:`trace` module no longer creates the ``trace.cover`` file.
.. section: Library .. section: Library
Fix crash when an ``ABC``-derived class with invalid ``__subclasses__`` is Fix crash when an ``ABC``-derived class with invalid ``__subclasses__`` is
passed as the second argument to :func:`issubclass()`. Patch by Alexey passed as the second argument to :func:`issubclass`. Patch by Alexey
Izbyshev. Izbyshev.
.. ..
@ -5269,7 +5269,7 @@ performance and smaller size compared to protocol 3 introduced in Python
.. section: Library .. section: Library
Improved error handling and fixed a reference leak in Improved error handling and fixed a reference leak in
:func:`os.posix_spawn()`. :func:`os.posix_spawn`.
.. ..
@ -5857,7 +5857,7 @@ collections.ChainMap() preserves the order of the underlying mappings.
.. nonce: -T77_c .. nonce: -T77_c
.. section: Library .. section: Library
:func:`fnmatch.translate()` no longer produces patterns which contain set :func:`fnmatch.translate` no longer produces patterns which contain set
operations. Sets starting with '[' or containing '--', '&&', '~~' or '||' operations. Sets starting with '[' or containing '--', '&&', '~~' or '||'
will be interpreted differently in regular expressions in future versions. will be interpreted differently in regular expressions in future versions.
Currently they emit warnings. fnmatch.translate() now avoids producing Currently they emit warnings. fnmatch.translate() now avoids producing

View File

@ -176,8 +176,8 @@ Added new ``replace()`` method to the code type (:class:`types.CodeType`).
.. nonce: d1SOtF .. nonce: d1SOtF
.. section: Core and Builtins .. section: Core and Builtins
Implement :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()`, Implement :func:`socket.if_nameindex`, :func:`socket.if_nametoindex`,
and :func:`socket.if_indextoname()` on Windows. and :func:`socket.if_indextoname` on Windows.
.. ..

View File

@ -149,7 +149,7 @@ exception in :meth:`float.__getformat__`.
.. nonce: 9-vKtO .. nonce: 9-vKtO
.. section: Core and Builtins .. section: Core and Builtins
Optimized :func:`math.floor()`, :func:`math.ceil()` and :func:`math.trunc()` Optimized :func:`math.floor`, :func:`math.ceil` and :func:`math.trunc`
for floats. for floats.
.. ..
@ -2990,7 +2990,7 @@ mode.
.. nonce: FRGH4I .. nonce: FRGH4I
.. section: Library .. section: Library
:func:`ctypes.create_unicode_buffer()` now also supports non-BMP characters :func:`ctypes.create_unicode_buffer` now also supports non-BMP characters
on platforms with 16-bit :c:type:`wchar_t` (for example, Windows and AIX). on platforms with 16-bit :c:type:`wchar_t` (for example, Windows and AIX).
.. ..
@ -3054,7 +3054,7 @@ Change the format of feature_version to be a (major, minor) tuple.
.. nonce: 5_mJkQ .. nonce: 5_mJkQ
.. section: Library .. section: Library
Eliminate :exc:`RuntimeError` raised by :func:`asyncio.all_tasks()` if Eliminate :exc:`RuntimeError` raised by :func:`asyncio.all_tasks` if
internal tasks weak set is changed by another thread during iteration. internal tasks weak set is changed by another thread during iteration.
.. ..
@ -3536,7 +3536,7 @@ Add :meth:`~pathlib.Path.readlink`. Patch by Girts Folkmanis.
.. nonce: La3TZz .. nonce: La3TZz
.. section: Library .. section: Library
Made :func:`urllib.parse.unquote()` accept bytes in addition to strings. Made :func:`urllib.parse.unquote` accept bytes in addition to strings.
Patch by Stein Karlsen. Patch by Stein Karlsen.
.. ..

View File

@ -548,7 +548,7 @@ large for an AF_UNIX socket address. Patch by Pablo Galindo.
.. nonce: mxr5m8 .. nonce: mxr5m8
.. section: Library .. section: Library
:func:`ast.dump()` no longer outputs optional fields and attributes with :func:`ast.dump` no longer outputs optional fields and attributes with
default values. The default values for optional fields and attributes of AST default values. The default values for optional fields and attributes of AST
nodes are now set as class attributes (e.g. ``Constant.kind`` is set to nodes are now set as class attributes (e.g. ``Constant.kind`` is set to
``None``). ``None``).

View File

@ -866,7 +866,7 @@ of source of the class. Patch by Karthikeyan Singaravelan.
.. nonce: vHC7YQ .. nonce: vHC7YQ
.. section: Library .. section: Library
Deprecate passing None as an argument for :func:`shlex.split()`'s ``s`` Deprecate passing None as an argument for :func:`shlex.split`'s ``s``
parameter. Patch by Zackery Spytz. parameter. Patch by Zackery Spytz.
.. ..

View File

@ -1,4 +1,4 @@
Specializations for sums with float and complex inputs in :func:`sum()` now Specializations for sums with float and complex inputs in :func:`sum` now
always use compensated summation. Also, for integer items in above always use compensated summation. Also, for integer items in above
specializations: :c:func:`PyLong_AsDouble` is used, instead of specializations: :c:func:`PyLong_AsDouble` is used, instead of
:c:func:`PyLong_AsLongAndOverflow`. Patch by Sergey B Kirpichev. :c:func:`PyLong_AsLongAndOverflow`. Patch by Sergey B Kirpichev.

View File

@ -1 +1 @@
Fix memory leak in :func:`re.sub()` when the replacement string contains backreferences. Fix memory leak in :func:`re.sub` when the replacement string contains backreferences.

View File

@ -1,4 +1,4 @@
Hard-coded breakpoints (:func:`breakpoint` and :func:`pdb.set_trace()`) now Hard-coded breakpoints (:func:`breakpoint` and :func:`pdb.set_trace`) now
reuse the most recent ``Pdb`` instance that calls ``Pdb.set_trace()``, reuse the most recent ``Pdb`` instance that calls ``Pdb.set_trace()``,
instead of creating a new one each time. As a result, all the instance specific instead of creating a new one each time. As a result, all the instance specific
data like ``display`` and ``commands`` are preserved across Hard-coded breakpoints. data like ``display`` and ``commands`` are preserved across Hard-coded breakpoints.