# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2022, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.11\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-11-14 15:35+0100\n"
"Last-Translator: Yannick Gingras <ygingras@ygingras.net>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 3.0\n"

#: whatsnew/3.11.rst:3
msgid "What's New In Python 3.11"
msgstr "Les nouveautés de Python 3.11"

#: whatsnew/3.11.rst:0
msgid "Release"
msgstr ""

#: whatsnew/3.11.rst:5
msgid "|release|"
msgstr ""

#: whatsnew/3.11.rst:0
msgid "Date"
msgstr "Date"

#: whatsnew/3.11.rst:6
msgid "|today|"
msgstr ""

#: whatsnew/3.11.rst:0
msgid "Editor"
msgstr ""

#: whatsnew/3.11.rst:7
msgid "Pablo Galindo Salgado"
msgstr ""

#: whatsnew/3.11.rst:49
msgid ""
"This article explains the new features in Python 3.11, compared to 3.10."
msgstr ""
"Cet article explique les nouvelles fonctionnalités de Python 3.11 par "
"rapport à la version 3.10."

#: whatsnew/3.11.rst:51
msgid "For full details, see the :ref:`changelog <changelog>`."
msgstr ""
"Pour plus de détails, voir le :ref:`journal des modifications <changelog>`."

#: whatsnew/3.11.rst:57
msgid "Summary -- Release highlights"
msgstr "Résumé – Points forts de la publication"

#: whatsnew/3.11.rst:62
msgid ""
"Python 3.11 is between 10-60% faster than Python 3.10. On average, we "
"measured a 1.25x speedup on the standard benchmark suite. See :ref:"
"`whatsnew311-faster-cpython` for details."
msgstr ""

#: whatsnew/3.11.rst:68
msgid "New syntax features:"
msgstr "Nouvelles fonctionnalités de syntaxe :"

#: whatsnew/3.11.rst:70
msgid ":ref:`whatsnew311-pep654`"
msgstr ""

#: whatsnew/3.11.rst:72
#, fuzzy
msgid "New built-in features:"
msgstr "Nouvelles fonctionnalités de typage :"

#: whatsnew/3.11.rst:74
msgid ":ref:`whatsnew311-pep678`"
msgstr ""

#: whatsnew/3.11.rst:76
msgid "New standard library modules:"
msgstr ""

#: whatsnew/3.11.rst:78
msgid ""
":pep:`680`: :mod:`tomllib` — Support for parsing `TOML <https://toml.io/>`_ "
"in the Standard Library"
msgstr ""

#: whatsnew/3.11.rst:81
msgid "Interpreter improvements:"
msgstr ""

#: whatsnew/3.11.rst:83
msgid ":ref:`whatsnew311-pep657`"
msgstr ""

#: whatsnew/3.11.rst:84
msgid ""
"New :option:`-P` command line option and :envvar:`PYTHONSAFEPATH` "
"environment variable to :ref:`disable automatically prepending potentially "
"unsafe paths <whatsnew311-pythonsafepath>` to :data:`sys.path`"
msgstr ""

#: whatsnew/3.11.rst:88
msgid "New typing features:"
msgstr "Nouvelles fonctionnalités de typage :"

#: whatsnew/3.11.rst:90
msgid ":ref:`whatsnew311-pep646`"
msgstr ""

#: whatsnew/3.11.rst:91
msgid ":ref:`whatsnew311-pep655`"
msgstr ""

#: whatsnew/3.11.rst:92
msgid ":ref:`whatsnew311-pep673`"
msgstr ""

#: whatsnew/3.11.rst:93
msgid ":ref:`whatsnew311-pep675`"
msgstr ""

#: whatsnew/3.11.rst:94
msgid ":ref:`whatsnew311-pep681`"
msgstr ""

#: whatsnew/3.11.rst:96
msgid "Important deprecations, removals and restrictions:"
msgstr ""

#: whatsnew/3.11.rst:98
msgid ""
":pep:`594`: :ref:`Many legacy standard library modules have been deprecated "
"<whatsnew311-pep594>` and will be removed in Python 3.13"
msgstr ""

#: whatsnew/3.11.rst:101
msgid ""
":pep:`624`: :ref:`Py_UNICODE encoder APIs have been removed <whatsnew311-"
"pep624>`"
msgstr ""

#: whatsnew/3.11.rst:103
msgid ""
":pep:`670`: :ref:`Macros converted to static inline functions <whatsnew311-"
"pep670>`"
msgstr ""

#: whatsnew/3.11.rst:2175
msgid "New Features"
msgstr "Nouvelles fonctionnalités"

#: whatsnew/3.11.rst:115
#, fuzzy
msgid "PEP 657: Fine-grained error locations in tracebacks"
msgstr "Amélioration de l'emplacement des erreurs dans les traces d'appels"

#: whatsnew/3.11.rst:117
#, fuzzy
msgid ""
"When printing tracebacks, the interpreter will now point to the exact "
"expression that caused the error, instead of just the line. For example:"
msgstr ""
"Au moment d'afficher une trace d'appels, l'interpréteur indique maintenant "
"quelle est l'expression exacte qui a causé l'erreur plutôt que seulement la "
"ligne. Par exemple :"

#: whatsnew/3.11.rst:131
#, fuzzy
msgid ""
"Previous versions of the interpreter would point to just the line, making it "
"ambiguous which object was ``None``. These enhanced errors can also be "
"helpful when dealing with deeply nested :class:`dict` objects and multiple "
"function calls:"
msgstr ""
"Les versions précédentes de l'interpréteur indiquaient uniquement la ligne, "
"ce qui rendait ambigu quel objet était ``None``. Les messages d'erreurs "
"améliorés sont aussi utiles quand on travaille avec des objets dictionnaires "
"fortement imbriqués et des appels de fonction multiples,"

#: whatsnew/3.11.rst:151
#, fuzzy
msgid "As well as complex arithmetic expressions:"
msgstr "de même qu'avec les expressions arithmétiques complexes :"

#: whatsnew/3.11.rst:161
#, fuzzy
msgid ""
"Additionally, the information used by the enhanced traceback feature is made "
"available via a general API, that can be used to correlate :term:`bytecode` :"
"ref:`instructions <bytecodes>` with source code location. This information "
"can be retrieved using:"
msgstr ""
"L'information utilisée par les traces d'appels améliorées est aussi "
"disponible dans une API générale qui peut être utilisée pour corréler des "
"instructions de code intermédiaire avec le code source. Cette information "
"peut être récupérée en utilisant :"

#: whatsnew/3.11.rst:166
msgid "The :meth:`codeobject.co_positions` method in Python."
msgstr "la méthode :meth:`codeobject.co_positions` en Python ;"

#: whatsnew/3.11.rst:167
#, fuzzy
msgid "The :c:func:`PyCode_Addr2Location` function in the C API."
msgstr "la fonction :c:func:`PyCode_Addr2Location` dans l'API C."

#: whatsnew/3.11.rst:169
msgid ""
"See :pep:`657` for more details. (Contributed by Pablo Galindo, Batuhan "
"Taskaya and Ammar Askar in :issue:`43950`.)"
msgstr ""
"Voir la :pep:`657` pour plus de détails (contribution de *Pablo Galindo*, "
"*Batuhan Taskaya* et *Ammar Askar* dans :issue:`43950`)."

#: whatsnew/3.11.rst:173
msgid ""
"This feature requires storing column positions in :ref:`codeobjects`, which "
"may result in a small increase in interpreter memory usage and disk usage "
"for compiled Python files. To avoid storing the extra information and "
"deactivate printing the extra traceback information, use the :option:`-X "
"no_debug_ranges <-X>` command line option or the :envvar:"
"`PYTHONNODEBUGRANGES` environment variable."
msgstr ""

#: whatsnew/3.11.rst:185
msgid "PEP 654: Exception Groups and ``except*``"
msgstr ""

#: whatsnew/3.11.rst:187
msgid ""
":pep:`654` introduces language features that enable a program to raise and "
"handle multiple unrelated exceptions simultaneously. The builtin types :exc:"
"`ExceptionGroup` and :exc:`BaseExceptionGroup` make it possible to group "
"exceptions and raise them together, and the new :keyword:`except* "
"<except_star>` syntax generalizes :keyword:`except` to match subgroups of "
"exception groups."
msgstr ""

#: whatsnew/3.11.rst:194
msgid "See :pep:`654` for more details."
msgstr ""

#: whatsnew/3.11.rst:196
msgid ""
"(Contributed by Irit Katriel in :issue:`45292`. PEP written by Irit Katriel, "
"Yury Selivanov and Guido van Rossum.)"
msgstr ""

#: whatsnew/3.11.rst:203
#, fuzzy
msgid "PEP 678: Exceptions can be enriched with notes"
msgstr "Les exceptions peuvent être enrichies avec des notes (PEP 678)"

#: whatsnew/3.11.rst:205
#, fuzzy
msgid ""
"The :meth:`~BaseException.add_note` method is added to :exc:`BaseException`. "
"It can be used to enrich exceptions with context information that is not "
"available at the time when the exception is raised. The added notes appear "
"in the default traceback."
msgstr ""
"Le champ ``__note__`` a été ajouté à :exc:`BaseException`. Il est ``None`` "
"par défaut, mais il peut être affecté à une chaîne qui est alors ajoutée à "
"la trace d'appel de l'exception (contribution d'*Irit Katriel* dans :issue:"
"`45607`)."

#: whatsnew/3.11.rst:210
msgid "See :pep:`678` for more details."
msgstr ""

#: whatsnew/3.11.rst:212
msgid ""
"(Contributed by Irit Katriel in :issue:`45607`. PEP written by Zac Hatfield-"
"Dodds.)"
msgstr ""

#: whatsnew/3.11.rst:219
msgid "Windows ``py.exe`` launcher improvements"
msgstr ""

#: whatsnew/3.11.rst:221
msgid ""
"The copy of the :ref:`launcher` included with Python 3.11 has been "
"significantly updated. It now supports company/tag syntax as defined in :pep:"
"`514` using the ``-V:<company>/<tag>`` argument instead of the limited ``-"
"<major>.<minor>``. This allows launching distributions other than "
"``PythonCore``, the one hosted on `python.org <https://python.org>`_."
msgstr ""

#: whatsnew/3.11.rst:227
msgid ""
"When using ``-V:`` selectors, either company or tag can be omitted, but all "
"installs will be searched. For example, ``-V:OtherPython/`` will select the "
"\"best\" tag registered for ``OtherPython``, while ``-V:3.11`` or ``-"
"V:/3.11`` will select the \"best\" distribution with tag ``3.11``."
msgstr ""

#: whatsnew/3.11.rst:232
msgid ""
"When using the legacy ``-<major>``, ``-<major>.<minor>``, ``-<major>-"
"<bitness>`` or ``-<major>.<minor>-<bitness>`` arguments, all existing "
"behaviour should be preserved from past versions, and only releases from "
"``PythonCore`` will be selected. However, the ``-64`` suffix now implies "
"\"not 32-bit\" (not necessarily x86-64), as there are multiple supported 64-"
"bit platforms. 32-bit runtimes are detected by checking the runtime's tag "
"for a ``-32`` suffix. All releases of Python since 3.5 have included this in "
"their 32-bit builds."
msgstr ""

#: whatsnew/3.11.rst:246
msgid "New Features Related to Type Hints"
msgstr ""

#: whatsnew/3.11.rst:248
msgid ""
"This section covers major changes affecting :pep:`484` type hints and the :"
"mod:`typing` module."
msgstr ""

#: whatsnew/3.11.rst:255
msgid "PEP 646: Variadic generics"
msgstr ""

#: whatsnew/3.11.rst:257
msgid ""
":pep:`484` previously introduced :data:`~typing.TypeVar`, enabling creation "
"of generics parameterised with a single type. :pep:`646` adds :data:`~typing."
"TypeVarTuple`, enabling parameterisation with an *arbitrary* number of "
"types. In other words, a :data:`~typing.TypeVarTuple` is a *variadic* type "
"variable, enabling *variadic* generics."
msgstr ""

#: whatsnew/3.11.rst:264
msgid ""
"This enables a wide variety of use cases. In particular, it allows the type "
"of array-like structures in numerical computing libraries such as NumPy and "
"TensorFlow to be parameterised with the array *shape*. Static type checkers "
"will now be able to catch shape-related bugs in code that uses these "
"libraries."
msgstr ""

#: whatsnew/3.11.rst:270
msgid "See :pep:`646` for more details."
msgstr ""

#: whatsnew/3.11.rst:272
msgid ""
"(Contributed by Matthew Rahtz in :issue:`43224`, with contributions by "
"Serhiy Storchaka and Jelle Zijlstra. PEP written by Mark Mendoza, Matthew "
"Rahtz, Pradeep Kumar Srinivasan, and Vincent Siles.)"
msgstr ""

#: whatsnew/3.11.rst:280
msgid ""
"PEP 655: Marking individual ``TypedDict`` items as required or not-required"
msgstr ""

#: whatsnew/3.11.rst:282
msgid ""
":data:`~typing.Required` and :data:`~typing.NotRequired` provide a "
"straightforward way to mark whether individual items in a :class:`~typing."
"TypedDict` must be present. Previously, this was only possible using "
"inheritance."
msgstr ""

#: whatsnew/3.11.rst:287
msgid ""
"All fields are still required by default, unless the *total* parameter is "
"set to ``False``, in which case all fields are still not-required by "
"default. For example, the following specifies a :class:`!TypedDict` with one "
"required and one not-required key::"
msgstr ""

#: whatsnew/3.11.rst:301
msgid "The following definition is equivalent::"
msgstr ""

#: whatsnew/3.11.rst:307
msgid "See :pep:`655` for more details."
msgstr ""

#: whatsnew/3.11.rst:309
msgid ""
"(Contributed by David Foster and Jelle Zijlstra in :issue:`47087`. PEP "
"written by David Foster.)"
msgstr ""

#: whatsnew/3.11.rst:316
msgid "PEP 673: ``Self`` type"
msgstr ""

#: whatsnew/3.11.rst:318
msgid ""
"The new :data:`~typing.Self` annotation provides a simple and intuitive way "
"to annotate methods that return an instance of their class. This behaves the "
"same as the :class:`~typing.TypeVar`-based approach :pep:`specified in PEP "
"484 <484#annotating-instance-and-class-methods>`, but is more concise and "
"easier to follow."
msgstr ""

#: whatsnew/3.11.rst:324
msgid ""
"Common use cases include alternative constructors provided as :func:"
"`classmethod <classmethod>`\\s, and :meth:`~object.__enter__` methods that "
"return ``self``::"
msgstr ""

#: whatsnew/3.11.rst:342
msgid ""
":data:`~typing.Self` can also be used to annotate method parameters or "
"attributes of the same type as their enclosing class."
msgstr ""

#: whatsnew/3.11.rst:345
msgid "See :pep:`673` for more details."
msgstr ""

#: whatsnew/3.11.rst:347
msgid ""
"(Contributed by James Hilton-Balfe in :issue:`46534`. PEP written by Pradeep "
"Kumar Srinivasan and James Hilton-Balfe.)"
msgstr ""

#: whatsnew/3.11.rst:354
msgid "PEP 675: Arbitrary literal string type"
msgstr ""

#: whatsnew/3.11.rst:356
msgid ""
"The new :data:`~typing.LiteralString` annotation may be used to indicate "
"that a function parameter can be of any literal string type. This allows a "
"function to accept arbitrary literal string types, as well as strings "
"created from other literal strings. Type checkers can then enforce that "
"sensitive functions, such as those that execute SQL statements or shell "
"commands, are called only with static arguments, providing protection "
"against injection attacks."
msgstr ""

#: whatsnew/3.11.rst:364
msgid "For example, a SQL query function could be annotated as follows::"
msgstr ""

#: whatsnew/3.11.rst:382
msgid "See :pep:`675` for more details."
msgstr ""

#: whatsnew/3.11.rst:384
msgid ""
"(Contributed by Jelle Zijlstra in :issue:`47088`. PEP written by Pradeep "
"Kumar Srinivasan and Graham Bleaney.)"
msgstr ""

#: whatsnew/3.11.rst:391
msgid "PEP 681: Data class transforms"
msgstr ""

#: whatsnew/3.11.rst:393
msgid ""
":data:`~typing.dataclass_transform` may be used to decorate a class, "
"metaclass, or a function that is itself a decorator. The presence of "
"``@dataclass_transform()`` tells a static type checker that the decorated "
"object performs runtime \"magic\" that transforms a class, giving it :func:"
"`dataclass <dataclasses.dataclass>`-like behaviors."
msgstr ""

#: whatsnew/3.11.rst:399
msgid "For example::"
msgstr ""

#: whatsnew/3.11.rst:417
msgid "See :pep:`681` for more details."
msgstr ""

#: whatsnew/3.11.rst:419
msgid ""
"(Contributed by Jelle Zijlstra in :gh:`91860`. PEP written by Erik De Bonte "
"and Eric Traut.)"
msgstr ""

#: whatsnew/3.11.rst:426
msgid "PEP 563 may not be the future"
msgstr ""

#: whatsnew/3.11.rst:428
msgid ""
":pep:`563` Postponed Evaluation of Annotations (the ``from __future__ import "
"annotations`` :ref:`future statement <future>`) that was originally planned "
"for release in Python 3.10 has been put on hold indefinitely. See `this "
"message from the Steering Council <https://mail.python.org/archives/list/"
"python-dev@python.org/message/VIZEBX5EYMSYIJNDBF6DMUMZOCWHARSO/>`__ for more "
"information."
msgstr ""

#: whatsnew/3.11.rst:439
msgid "Other Language Changes"
msgstr "Autres changements au langage"

#: whatsnew/3.11.rst:441
msgid ""
"Starred unpacking expressions can now be used in :keyword:`for` statements. "
"(See :issue:`46725` for more details.)"
msgstr ""

#: whatsnew/3.11.rst:444
msgid ""
"Asynchronous :ref:`comprehensions <comprehensions>` are now allowed inside "
"comprehensions in :ref:`asynchronous functions <async def>`. Outer "
"comprehensions implicitly become asynchronous in this case. (Contributed by "
"Serhiy Storchaka in :issue:`33346`.)"
msgstr ""

#: whatsnew/3.11.rst:449
msgid ""
"A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` in :"
"keyword:`with` statements and :meth:`contextlib.ExitStack.enter_context` for "
"objects that do not support the :term:`context manager` protocol, and in :"
"keyword:`async with` statements and :meth:`contextlib.AsyncExitStack."
"enter_async_context` for objects not supporting the :term:`asynchronous "
"context manager` protocol. (Contributed by Serhiy Storchaka in :issue:"
"`12022` and :issue:`44471`.)"
msgstr ""

#: whatsnew/3.11.rst:457
msgid ""
"Added :meth:`object.__getstate__`, which provides the default implementation "
"of the :meth:`!__getstate__` method. :mod:`copy`\\ing and :mod:`pickle`\\ing "
"instances of subclasses of builtin types :class:`bytearray`, :class:`set`, :"
"class:`frozenset`, :class:`collections.OrderedDict`, :class:`collections."
"deque`, :class:`weakref.WeakSet`, and :class:`datetime.tzinfo` now copies "
"and pickles instance attributes implemented as :term:`slots <__slots__>`. "
"(Contributed by Serhiy Storchaka in :issue:`26579`.)"
msgstr ""

#: whatsnew/3.11.rst:468
msgid ""
"Added a :option:`-P` command line option and a :envvar:`PYTHONSAFEPATH` "
"environment variable, which disable the automatic prepending to :data:`sys."
"path` of the script's directory when running a script, or the current "
"directory when using :option:`-c` and :option:`-m`. This ensures only stdlib "
"and installed modules are picked up by :keyword:`import`, and avoids "
"unintentionally or maliciously shadowing modules with those in a local (and "
"typically user-writable) directory. (Contributed by Victor Stinner in :gh:"
"`57684`.)"
msgstr ""

#: whatsnew/3.11.rst:479
msgid ""
"A ``\"z\"`` option was added to the :ref:`formatspec` that coerces negative "
"to positive zero after rounding to the format precision. See :pep:`682` for "
"more details. (Contributed by John Belmonte in :gh:`90153`.)"
msgstr ""

#: whatsnew/3.11.rst:484
msgid ""
"Bytes are no longer accepted on :data:`sys.path`.  Support broke sometime "
"between Python 3.2 and 3.6, with no one noticing until after Python 3.10.0 "
"was released. In addition, bringing back support would be problematic due to "
"interactions between :option:`-b` and :data:`sys.path_importer_cache` when "
"there is a mixture of :class:`str` and :class:`bytes` keys. (Contributed by "
"Thomas Grainger in :gh:`91181`.)"
msgstr ""

#: whatsnew/3.11.rst:495
msgid "Other CPython Implementation Changes"
msgstr "Autres changements à l'implémentation de CPython"

#: whatsnew/3.11.rst:497
msgid ""
"The special methods :meth:`~object.__complex__` for :class:`complex` and :"
"meth:`~object.__bytes__` for :class:`bytes` are implemented to support the :"
"class:`typing.SupportsComplex` and :class:`typing.SupportsBytes` protocols. "
"(Contributed by Mark Dickinson and Dong-hee Na in :issue:`24234`.)"
msgstr ""

#: whatsnew/3.11.rst:502
msgid ""
"``siphash13`` is added as a new internal hashing algorithm. It has similar "
"security properties as ``siphash24``, but it is slightly faster for long "
"inputs. :class:`str`, :class:`bytes`, and some other types now use it as the "
"default algorithm for :func:`hash`. :pep:`552` :ref:`hash-based .pyc files "
"<pyc-invalidation>` now use ``siphash13`` too. (Contributed by Inada Naoki "
"in :issue:`29410`.)"
msgstr ""

#: whatsnew/3.11.rst:511
msgid ""
"When an active exception is re-raised by a :keyword:`raise` statement with "
"no parameters, the traceback attached to this exception is now always ``sys."
"exc_info()[1].__traceback__``. This means that changes made to the traceback "
"in the current :keyword:`except` clause are reflected in the re-raised "
"exception. (Contributed by Irit Katriel in :issue:`45711`.)"
msgstr ""

#: whatsnew/3.11.rst:517
msgid ""
"The interpreter state's representation of handled exceptions (aka "
"``exc_info`` or ``_PyErr_StackItem``) now only has the ``exc_value`` field; "
"``exc_type`` and ``exc_traceback`` have been removed, as they can be derived "
"from ``exc_value``. (Contributed by Irit Katriel in :issue:`45711`.)"
msgstr ""

#: whatsnew/3.11.rst:523
msgid ""
"A new :ref:`command line option <install-quiet-option>`, ``AppendPath``, has "
"been added for the Windows installer. It behaves similarly to "
"``PrependPath``, but appends the install and scripts directories instead of "
"prepending them. (Contributed by Bastian Neuburger in :issue:`44934`.)"
msgstr ""

#: whatsnew/3.11.rst:529
msgid ""
"The :c:member:`PyConfig.module_search_paths_set` field must now be set to "
"``1`` for initialization to use :c:member:`PyConfig.module_search_paths` to "
"initialize :data:`sys.path`. Otherwise, initialization will recalculate the "
"path and replace any values added to ``module_search_paths``."
msgstr ""

#: whatsnew/3.11.rst:534
msgid ""
"The output of the :option:`--help` option now fits in 50 lines/80 columns. "
"Information about :ref:`Python environment variables <using-on-envvars>` "
"and :option:`-X` options is now available using the respective :option:`--"
"help-env` and :option:`--help-xoptions` flags, and with the new :option:`--"
"help-all`. (Contributed by Éric Araujo in :issue:`46142`.)"
msgstr ""

#: whatsnew/3.11.rst:541
msgid ""
"Converting between :class:`int` and :class:`str` in bases other than 2 "
"(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) "
"now raises a :exc:`ValueError` if the number of digits in string form is "
"above a limit to avoid potential denial of service attacks due to the "
"algorithmic complexity. This is a mitigation for `CVE-2020-10735 <https://"
"cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735>`_. This limit can be "
"configured or disabled by environment variable, command line flag, or :mod:"
"`sys` APIs. See the :ref:`integer string conversion length limitation "
"<int_max_str_digits>` documentation.  The default limit is 4300 digits in "
"string form."
msgstr ""

#: whatsnew/3.11.rst:556
msgid "New Modules"
msgstr "Nouveaux modules"

#: whatsnew/3.11.rst:558
#, fuzzy
msgid ""
":mod:`tomllib`: For parsing `TOML <https://toml.io/>`_. See :pep:`680` for "
"more details. (Contributed by Taneli Hukkinen in :issue:`40059`.)"
msgstr ""
"Un nouveau module :mod:`tomllib` a été ajouté pour faire l'analyse du format "
"*TOML* (contribution de *Taneli Hukkinen* dans :issue:`40059`)."

#: whatsnew/3.11.rst:562
msgid ""
":mod:`wsgiref.types`: :pep:`WSGI <3333>`-specific types for static type "
"checking. (Contributed by Sebastian Rittau in :issue:`42012`.)"
msgstr ""

#: whatsnew/3.11.rst:570
msgid "Improved Modules"
msgstr "Modules améliorés"

#: whatsnew/3.11.rst:575
msgid "asyncio"
msgstr "``asyncio``"

#: whatsnew/3.11.rst:577
msgid ""
"Added the :class:`~asyncio.TaskGroup` class, an :ref:`asynchronous context "
"manager <async-context-managers>` holding a group of tasks that will wait "
"for all of them upon exit. For new code this is recommended over using :func:"
"`~asyncio.create_task` and :func:`~asyncio.gather` directly. (Contributed by "
"Yury Selivanov and others in :gh:`90908`.)"
msgstr ""

#: whatsnew/3.11.rst:584
msgid ""
"Added :func:`~asyncio.timeout`, an asynchronous context manager for setting "
"a timeout on asynchronous operations. For new code this is recommended over "
"using :func:`~asyncio.wait_for` directly. (Contributed by Andrew Svetlov in :"
"gh:`90927`.)"
msgstr ""

#: whatsnew/3.11.rst:589
msgid ""
"Added the :class:`~asyncio.Runner` class, which exposes the machinery used "
"by :func:`~asyncio.run`. (Contributed by Andrew Svetlov in :gh:`91218`.)"
msgstr ""

#: whatsnew/3.11.rst:593
msgid ""
"Added the :class:`~asyncio.Barrier` class to the synchronization primitives "
"in the asyncio library, and the related :exc:`~asyncio.BrokenBarrierError` "
"exception. (Contributed by Yves Duprat and Andrew Svetlov in :gh:`87518`.)"
msgstr ""

#: whatsnew/3.11.rst:598
msgid ""
"Added keyword argument *all_errors* to :meth:`asyncio.loop."
"create_connection` so that multiple connection errors can be raised as an :"
"exc:`ExceptionGroup`."
msgstr ""

#: whatsnew/3.11.rst:601
msgid ""
"Added the :meth:`asyncio.StreamWriter.start_tls` method for upgrading "
"existing stream-based connections to TLS. (Contributed by Ian Good in :issue:"
"`34975`.)"
msgstr ""

#: whatsnew/3.11.rst:605
msgid ""
"Added raw datagram socket functions to the event loop: :meth:`~asyncio.loop."
"sock_sendto`, :meth:`~asyncio.loop.sock_recvfrom` and :meth:`~asyncio.loop."
"sock_recvfrom_into`. These have implementations in :class:`~asyncio."
"SelectorEventLoop` and :class:`~asyncio.ProactorEventLoop`. (Contributed by "
"Alex Grönholm in :issue:`46805`.)"
msgstr ""

#: whatsnew/3.11.rst:613
msgid ""
"Added :meth:`~asyncio.Task.cancelling` and :meth:`~asyncio.Task.uncancel` "
"methods to :class:`~asyncio.Task`. These are primarily intended for internal "
"use, notably by :class:`~asyncio.TaskGroup`."
msgstr ""

#: whatsnew/3.11.rst:622
msgid "contextlib"
msgstr ""

#: whatsnew/3.11.rst:624
msgid ""
"Added non parallel-safe :func:`~contextlib.chdir` context manager to change "
"the current working directory and then restore it on exit. Simple wrapper "
"around :func:`~os.chdir`. (Contributed by Filipe Laíns in :issue:`25625`)"
msgstr ""

#: whatsnew/3.11.rst:632
msgid "dataclasses"
msgstr ""

#: whatsnew/3.11.rst:634
msgid ""
"Change field default mutability check, allowing only defaults which are :"
"term:`hashable` instead of any object which is not an instance of :class:"
"`dict`, :class:`list` or :class:`set`. (Contributed by Eric V. Smith in :"
"issue:`44674`.)"
msgstr ""

#: whatsnew/3.11.rst:643
msgid "datetime"
msgstr ""

#: whatsnew/3.11.rst:645
msgid ""
"Add :attr:`datetime.UTC`, a convenience alias for :attr:`datetime.timezone."
"utc`. (Contributed by Kabir Kwatra in :gh:`91973`.)"
msgstr ""

#: whatsnew/3.11.rst:648
msgid ""
":meth:`datetime.date.fromisoformat`, :meth:`datetime.time.fromisoformat` "
"and :meth:`datetime.datetime.fromisoformat` can now be used to parse most "
"ISO 8601 formats (barring only those that support fractional hours and "
"minutes). (Contributed by Paul Ganssle in :gh:`80010`.)"
msgstr ""

#: whatsnew/3.11.rst:657
msgid "enum"
msgstr ""

#: whatsnew/3.11.rst:659
msgid ""
"Renamed :class:`!EnumMeta` to :class:`~enum.EnumType` (:class:`!EnumMeta` "
"kept as an alias)."
msgstr ""

#: whatsnew/3.11.rst:662
msgid ""
"Added :class:`~enum.StrEnum`, with members that can be used as (and must be) "
"strings."
msgstr ""

#: whatsnew/3.11.rst:665
msgid ""
"Added :class:`~enum.ReprEnum`, which only modifies the :meth:`~object."
"__repr__` of members while returning their literal values (rather than "
"names) for :meth:`~object.__str__` and :meth:`~object.__format__` (used by :"
"func:`str`, :func:`format` and :term:`f-string`\\s)."
msgstr ""

#: whatsnew/3.11.rst:671
msgid ""
"Changed :class:`~enum.IntEnum`, :class:`~enum.IntFlag` and :class:`~enum."
"StrEnum` to now inherit from :class:`~enum.ReprEnum`, so their :func:`str` "
"output now matches :func:`format` (both ``str(AnIntEnum.ONE)`` and "
"``format(AnIntEnum.ONE)`` return ``'1'``, whereas before ``str(AnIntEnum."
"ONE)`` returned ``'AnIntEnum.ONE'``."
msgstr ""

#: whatsnew/3.11.rst:677
msgid ""
"Changed :meth:`Enum.__format__() <enum.Enum.__format__>` (the default for :"
"func:`format`, :meth:`str.format` and :term:`f-string`\\s) of enums with "
"mixed-in types (e.g. :class:`int`, :class:`str`) to also include the class "
"name in the output, not just the member's key. This matches the existing "
"behavior of :meth:`enum.Enum.__str__`, returning e.g. ``'AnEnum.MEMBER'`` "
"for an enum ``AnEnum(str, Enum)`` instead of just ``'MEMBER'``."
msgstr ""

#: whatsnew/3.11.rst:685
msgid ""
"Added a new *boundary* class parameter to :class:`~enum.Flag` enums and the :"
"class:`~enum.FlagBoundary` enum with its options, to control how to handle "
"out-of-range flag values."
msgstr ""

#: whatsnew/3.11.rst:689
msgid ""
"Added the :func:`~enum.verify` enum decorator and the :class:`~enum."
"EnumCheck` enum with its options, to check enum classes against several "
"specific constraints."
msgstr ""

#: whatsnew/3.11.rst:693
msgid ""
"Added the :func:`~enum.member` and :func:`~enum.nonmember` decorators, to "
"ensure the decorated object is/is not converted to an enum member."
msgstr ""

#: whatsnew/3.11.rst:696
msgid ""
"Added the :func:`~enum.property` decorator, which works like :func:"
"`property` except for enums. Use this instead of :func:`types."
"DynamicClassAttribute`."
msgstr ""

#: whatsnew/3.11.rst:700
msgid ""
"Added the :func:`~enum.global_enum` enum decorator, which adjusts :meth:"
"`~object.__repr__` and :meth:`~object.__str__` to show values as members of "
"their module rather than the enum class. For example, ``'re.ASCII'`` for "
"the :data:`~re.ASCII` member of :class:`re.RegexFlag` rather than "
"``'RegexFlag.ASCII'``."
msgstr ""

#: whatsnew/3.11.rst:706
msgid ""
"Enhanced :class:`~enum.Flag` to support :func:`len`, iteration and :keyword:"
"`in`/:keyword:`not in` on its members. For example, the following now works: "
"``len(AFlag(3)) == 2 and list(AFlag(3)) == (AFlag.ONE, AFlag.TWO)``"
msgstr ""

#: whatsnew/3.11.rst:711
msgid ""
"Changed :class:`~enum.Enum` and :class:`~enum.Flag` so that members are now "
"defined before :meth:`~object.__init_subclass__` is called; :func:`dir` now "
"includes methods, etc., from mixed-in data types."
msgstr ""

#: whatsnew/3.11.rst:716
msgid ""
"Changed :class:`~enum.Flag` to only consider primary values (power of two) "
"canonical while composite values (``3``, ``6``, ``10``, etc.) are considered "
"aliases; inverted flags are coerced to their positive equivalent."
msgstr ""

#: whatsnew/3.11.rst:725
msgid "fcntl"
msgstr "``fcntl``"

#: whatsnew/3.11.rst:727
msgid ""
"On FreeBSD, the :data:`!F_DUP2FD` and :data:`!F_DUP2FD_CLOEXEC` flags "
"respectively are supported, the former equals to ``dup2`` usage while the "
"latter set the ``FD_CLOEXEC`` flag in addition."
msgstr ""

#: whatsnew/3.11.rst:735
msgid "fractions"
msgstr "``fractions``"

#: whatsnew/3.11.rst:737
msgid ""
"Support :PEP:`515`-style initialization of :class:`~fractions.Fraction` from "
"string.  (Contributed by Sergey B Kirpichev in :issue:`44258`.)"
msgstr ""
"Prise en charge de l'initialisation de :class:`~fractions.Fraction` à partir "
"d'une chaîne suivant le style de la :PEP:`515` (contribution de *Sergey B "
"Kirpichev* dans :issue:`44258`)."

#: whatsnew/3.11.rst:740
msgid ""
":class:`~fractions.Fraction` now implements an ``__int__`` method, so that "
"an ``isinstance(some_fraction, typing.SupportsInt)`` check passes. "
"(Contributed by Mark Dickinson in :issue:`44547`.)"
msgstr ""
":class:`~fractions.Fraction` implémente maintenant la méthode ``__int__``, "
"ce qui permet au test ``isinstance(ma_fraction, typing.SupportsInt)`` de "
"passer avec succès (contribution de *Mark Dickinson* dans :issue:`44547`)."

#: whatsnew/3.11.rst:748
msgid "functools"
msgstr ""

#: whatsnew/3.11.rst:750
msgid ""
":func:`functools.singledispatch` now supports :data:`types.UnionType` and :"
"data:`typing.Union` as annotations to the dispatch argument.::"
msgstr ""

#: whatsnew/3.11.rst:775
msgid "(Contributed by Yurii Karabas in :issue:`46014`.)"
msgstr ""

#: whatsnew/3.11.rst:781
msgid "hashlib"
msgstr ""

#: whatsnew/3.11.rst:783
msgid ""
":func:`hashlib.blake2b` and :func:`hashlib.blake2s` now prefer `libb2`_ over "
"Python's vendored copy. (Contributed by Christian Heimes in :issue:`47095`.)"
msgstr ""

#: whatsnew/3.11.rst:787
msgid ""
"The internal ``_sha3`` module with SHA3 and SHAKE algorithms now uses "
"*tiny_sha3* instead of the *Keccak Code Package* to reduce code and binary "
"size. The :mod:`hashlib` module prefers optimized SHA3 and SHAKE "
"implementations from OpenSSL. The change affects only installations without "
"OpenSSL support. (Contributed by Christian Heimes in :issue:`47098`.)"
msgstr ""

#: whatsnew/3.11.rst:794
msgid ""
"Add :func:`hashlib.file_digest`, a helper function for efficient hashing of "
"files or file-like objects. (Contributed by Christian Heimes in :gh:`89313`.)"
msgstr ""

#: whatsnew/3.11.rst:802
msgid "IDLE and idlelib"
msgstr "``IDLE`` et ``idlelib``"

#: whatsnew/3.11.rst:804
#, fuzzy
msgid ""
"Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood "
"and Terry Jan Reedy in :issue:`45447`.)"
msgstr ""
"Fait la coloration syntaxique des fichiers ``.pyi`` (contribution d'*Alex "
"Waygood* et de *Terry Jan Reedy* dans :issue:`45447`)."

#: whatsnew/3.11.rst:807
msgid ""
"Include prompts when saving Shell with inputs and outputs. (Contributed by "
"Terry Jan Reedy in :gh:`95191`.)"
msgstr ""

#: whatsnew/3.11.rst:814
msgid "inspect"
msgstr "``inspect``"

#: whatsnew/3.11.rst:816
#, fuzzy
msgid ""
"Add :func:`~inspect.getmembers_static` to return all members without "
"triggering dynamic lookup via the descriptor protocol. (Contributed by "
"Weipeng Hong in :issue:`30533`.)"
msgstr ""
"Ajout de :func:`inspect.getmembers_static` : renvoie tous les membres sans "
"invoquer la recherche dynamique du protocole des descripteurs (contribution "
"de *Weipeng Hong* dans :issue:`30533`)."

#: whatsnew/3.11.rst:820
#, fuzzy
msgid ""
"Add :func:`~inspect.ismethodwrapper` for checking if the type of an object "
"is a :class:`~types.MethodWrapperType`. (Contributed by Hakan Çelik in :"
"issue:`29418`.)"
msgstr ""
"Ajout de :func:`inspect.ismethodwrapper` pour vérifier si le type d'un objet "
"est un :class:`~types.MethodWrapperType` (contribution de *Hakan Çelik* "
"dans :issue:`29418`)."

#: whatsnew/3.11.rst:824
msgid ""
"Change the frame-related functions in the :mod:`inspect` module to return "
"new :class:`~inspect.FrameInfo` and :class:`~inspect.Traceback` class "
"instances (backwards compatible with the previous :term:`named tuple`-like "
"interfaces) that includes the extended :pep:`657` position information (end "
"line number, column and end column). The affected functions are:"
msgstr ""

#: whatsnew/3.11.rst:830
msgid ":func:`inspect.getframeinfo`"
msgstr ""

#: whatsnew/3.11.rst:831
msgid ":func:`inspect.getouterframes`"
msgstr ""

#: whatsnew/3.11.rst:832
msgid ":func:`inspect.getinnerframes`,"
msgstr ""

#: whatsnew/3.11.rst:833
msgid ":func:`inspect.stack`"
msgstr ""

#: whatsnew/3.11.rst:834
msgid ":func:`inspect.trace`"
msgstr ""

#: whatsnew/3.11.rst:836
msgid "(Contributed by Pablo Galindo in :gh:`88116`.)"
msgstr ""

#: whatsnew/3.11.rst:842
msgid "locale"
msgstr ""

#: whatsnew/3.11.rst:844
msgid ""
"Add :func:`locale.getencoding` to get the current locale encoding. It is "
"similar to ``locale.getpreferredencoding(False)`` but ignores the :ref:"
"`Python UTF-8 Mode <utf8-mode>`."
msgstr ""

#: whatsnew/3.11.rst:852
msgid "logging"
msgstr ""

#: whatsnew/3.11.rst:854
msgid ""
"Added :func:`~logging.getLevelNamesMapping` to return a mapping from logging "
"level names (e.g. ``'CRITICAL'``) to the values of their corresponding :ref:"
"`levels` (e.g. ``50``, by default). (Contributed by Andrei Kulakovin in :gh:"
"`88024`.)"
msgstr ""

#: whatsnew/3.11.rst:859
msgid ""
"Added a :meth:`~logging.handlers.SysLogHandler.createSocket` method to :"
"class:`~logging.handlers.SysLogHandler`, to match :meth:`SocketHandler."
"createSocket() <logging.handlers.SocketHandler.createSocket>`. It is called "
"automatically during handler initialization and when emitting an event, if "
"there is no active socket. (Contributed by Kirill Pinchuk in :gh:`88457`.)"
msgstr ""

#: whatsnew/3.11.rst:871
msgid "math"
msgstr "``math``"

#: whatsnew/3.11.rst:873
msgid ""
"Add :func:`math.exp2`: return 2 raised to the power of x. (Contributed by "
"Gideon Mitchell in :issue:`45917`.)"
msgstr ""
"Ajout de :func:`math.exp2` : renvoie 2 élevé à la puissance ``x`` "
"(contribution de *Gideon Mitchell* dans :issue:`45917`)."

#: whatsnew/3.11.rst:876
msgid ""
"Add :func:`math.cbrt`: return the cube root of x. (Contributed by Ajith "
"Ramachandran in :issue:`44357`.)"
msgstr ""
"Ajout de :func:`math.cbrt` : renvoie la racine cubique de ``x`` "
"(contribution d'*Ajith Ramachandran* dans :issue:`44357`)."

#: whatsnew/3.11.rst:879
msgid ""
"The behaviour of two :func:`math.pow` corner cases was changed, for "
"consistency with the IEEE 754 specification. The operations ``math.pow(0.0, -"
"math.inf)`` and ``math.pow(-0.0, -math.inf)`` now return ``inf``. Previously "
"they raised :exc:`ValueError`. (Contributed by Mark Dickinson in :issue:"
"`44339`.)"
msgstr ""
"Le comportement de :func:`math.pow` dans deux cas particuliers a été changé "
"pour être cohérent avec la spécification *IEEE 754*. Les opérations ``math."
"pow(0.0, -math.inf)`` et ``math.pow(-0.0, -math.inf)`` renvoient maintenant "
"``inf``. Elles levaient précédemment :exc:`ValueError` (contribution de "
"*Mark Dickinson* dans :issue:`44339`)."

#: whatsnew/3.11.rst:885
msgid ""
"The :data:`math.nan` value is now always available. (Contributed by Victor "
"Stinner in :issue:`46917`.)"
msgstr ""
"La valeur :data:`math.nan` est maintenant toujours disponible (contribution "
"de *Victor Stinner* dans :issue:`46917`)."

#: whatsnew/3.11.rst:892
msgid "operator"
msgstr "``operator``"

#: whatsnew/3.11.rst:894
msgid ""
"A new function ``operator.call`` has been added, such that ``operator."
"call(obj, *args, **kwargs) == obj(*args, **kwargs)``. (Contributed by Antony "
"Lee in :issue:`44019`.)"
msgstr ""

#: whatsnew/3.11.rst:902
msgid "os"
msgstr "``os``"

#: whatsnew/3.11.rst:904
msgid ""
"On Windows, :func:`os.urandom` now uses ``BCryptGenRandom()``, instead of "
"``CryptGenRandom()`` which is deprecated. (Contributed by Dong-hee Na in :"
"issue:`44611`.)"
msgstr ""
"Sur Windows, :func:`os.urandom` utilise maintenant ``BCryptGenRandom()``, "
"plutôt que ``CryptGenRandom()`` qui est obsolète (contribution de *Dong-hee "
"Na* dans :issue:`44611`)."

#: whatsnew/3.11.rst:912
msgid "pathlib"
msgstr ""

#: whatsnew/3.11.rst:914
msgid ""
":meth:`~pathlib.Path.glob` and :meth:`~pathlib.Path.rglob` return only "
"directories if *pattern* ends with a pathname components separator: :data:"
"`~os.sep` or :data:`~os.altsep`. (Contributed by Eisuke Kawasima in :issue:"
"`22276` and :issue:`33392`.)"
msgstr ""

#: whatsnew/3.11.rst:923
msgid "re"
msgstr "``re``"

#: whatsnew/3.11.rst:925
msgid ""
"Atomic grouping (``(?>...)``) and possessive quantifiers (``*+``, ``++``, ``?"
"+``, ``{m,n}+``) are now supported in regular expressions. (Contributed by "
"Jeffrey C. Jacobs and Serhiy Storchaka in :issue:`433030`.)"
msgstr ""
"Le groupement atomique (``(?>...)``) et les quantificateurs possessifs "
"(``*+``, ``++``, ``?+``, ``{m,n}+``) sont maintenant pris en charge dans les "
"expressions régulières (contribution de *Jeffrey C. Jacobs* et de *Serhiy "
"Storchaka* dans :issue:`433030`)."

#: whatsnew/3.11.rst:933
msgid "shutil"
msgstr "``shutils``"

#: whatsnew/3.11.rst:935
msgid ""
"Add optional parameter *dir_fd* in :func:`shutil.rmtree`. (Contributed by "
"Serhiy Storchaka in :issue:`46245`.)"
msgstr ""
"Ajout du paramètre optionnel *dir_fd* dans :func:`shutil.rmtree` "
"(contribution de *Serhiy Storchaka* dans :issue:`46245`)."

#: whatsnew/3.11.rst:942
msgid "socket"
msgstr "``socket``"

#: whatsnew/3.11.rst:944
msgid ""
"Add CAN Socket support for NetBSD. (Contributed by Thomas Klausner in :issue:"
"`30512`.)"
msgstr ""

#: whatsnew/3.11.rst:947
msgid ""
":meth:`~socket.create_connection` has an option to raise, in case of failure "
"to connect, an :exc:`ExceptionGroup` containing all errors instead of only "
"raising the last error. (Contributed by Irit Katriel in :issue:`29980`.)"
msgstr ""

#: whatsnew/3.11.rst:956
msgid "sqlite3"
msgstr "``sqlite3``"

#: whatsnew/3.11.rst:958
msgid ""
"You can now disable the authorizer by passing :const:`None` to :meth:"
"`~sqlite3.Connection.set_authorizer`. (Contributed by Erlend E. Aasland in :"
"issue:`44491`.)"
msgstr ""

#: whatsnew/3.11.rst:962
msgid ""
"Collation name :meth:`~sqlite3.Connection.create_collation` can now contain "
"any Unicode character.  Collation names with invalid characters now raise :"
"exc:`UnicodeEncodeError` instead of :exc:`sqlite3.ProgrammingError`. "
"(Contributed by Erlend E. Aasland in :issue:`44688`.)"
msgstr ""

#: whatsnew/3.11.rst:967
msgid ""
":mod:`sqlite3` exceptions now include the SQLite extended error code as :"
"attr:`~sqlite3.Error.sqlite_errorcode` and the SQLite error name as :attr:"
"`~sqlite3.Error.sqlite_errorname`. (Contributed by Aviv Palivoda, Daniel "
"Shahaf, and Erlend E. Aasland in :issue:`16379` and :issue:`24139`.)"
msgstr ""

#: whatsnew/3.11.rst:973
msgid ""
"Add :meth:`~sqlite3.Connection.setlimit` and :meth:`~sqlite3.Connection."
"getlimit` to :class:`sqlite3.Connection` for setting and getting SQLite "
"limits by connection basis. (Contributed by Erlend E. Aasland in :issue:"
"`45243`.)"
msgstr ""
"Ajout des méthodes :meth:`~sqlite3.Connection.setlimit` et :meth:`~sqlite3."
"Connection.getlimit` à la classe :class:`sqlite3.Connection` pour affecter "
"et demander les limites de *SQLite* pour une connexion (contribution "
"d'*Erlend E. Aasland* dans :issue:`45243`)."

#: whatsnew/3.11.rst:978
msgid ""
":mod:`sqlite3` now sets :attr:`sqlite3.threadsafety` based on the default "
"threading mode the underlying SQLite library has been compiled with. "
"(Contributed by Erlend E. Aasland in :issue:`45613`.)"
msgstr ""
":mod:`sqlite3` affecte maintenant :attr:`sqlite3.threadsafety` selon le mode "
"d'exécution à fils multiples (*threading* en anglais) par défaut qui a été "
"compilé dans la bibliothèque *SQLite* sous-jacente  (contribution d'*Erlend "
"E. Aasland* dans :issue:`45613`)."

#: whatsnew/3.11.rst:982
msgid ""
":mod:`sqlite3` C callbacks now use unraisable exceptions if callback "
"tracebacks are enabled. Users can now register an :func:`unraisable hook "
"handler <sys.unraisablehook>` to improve their debug experience. "
"(Contributed by Erlend E. Aasland in :issue:`45828`.)"
msgstr ""

#: whatsnew/3.11.rst:988
msgid ""
"Fetch across rollback no longer raises :exc:`~sqlite3.InterfaceError`. "
"Instead we leave it to the SQLite library to handle these cases. "
"(Contributed by Erlend E. Aasland in :issue:`44092`.)"
msgstr ""

#: whatsnew/3.11.rst:992
msgid ""
"Add :meth:`~sqlite3.Connection.serialize` and :meth:`~sqlite3.Connection."
"deserialize` to :class:`sqlite3.Connection` for serializing and "
"deserializing databases. (Contributed by Erlend E. Aasland in :issue:"
"`41930`.)"
msgstr ""

#: whatsnew/3.11.rst:997
msgid ""
"Add :meth:`~sqlite3.Connection.create_window_function` to :class:`sqlite3."
"Connection` for creating aggregate window functions. (Contributed by Erlend "
"E. Aasland in :issue:`34916`.)"
msgstr ""

#: whatsnew/3.11.rst:1001
#, fuzzy
msgid ""
"Add :meth:`~sqlite3.Connection.blobopen` to :class:`sqlite3.Connection`. :"
"class:`sqlite3.Blob` allows incremental I/O operations on blobs. "
"(Contributed by Aviv Palivoda and Erlend E. Aasland in :issue:`24905`.)"
msgstr ""
"Ajout des méthodes :meth:`~sqlite3.Connection.setlimit` et :meth:`~sqlite3."
"Connection.getlimit` à la classe :class:`sqlite3.Connection` pour affecter "
"et demander les limites de *SQLite* pour une connexion (contribution "
"d'*Erlend E. Aasland* dans :issue:`45243`)."

#: whatsnew/3.11.rst:1009
msgid "string"
msgstr ""

#: whatsnew/3.11.rst:1011
msgid ""
"Add :meth:`~string.Template.get_identifiers` and :meth:`~string.Template."
"is_valid` to :class:`string.Template`, which respectively return all valid "
"placeholders, and whether any invalid placeholders are present. (Contributed "
"by Ben Kehoe in :gh:`90465`.)"
msgstr ""

#: whatsnew/3.11.rst:1021
msgid "sys"
msgstr "``sys``"

#: whatsnew/3.11.rst:1023
msgid ""
":func:`sys.exc_info` now derives the ``type`` and ``traceback`` fields from "
"the ``value`` (the exception instance), so when an exception is modified "
"while it is being handled, the changes are reflected in the results of "
"subsequent calls to :func:`!exc_info`. (Contributed by Irit Katriel in :"
"issue:`45711`.)"
msgstr ""

#: whatsnew/3.11.rst:1029
msgid ""
"Add :func:`sys.exception` which returns the active exception instance "
"(equivalent to ``sys.exc_info()[1]``). (Contributed by Irit Katriel in :"
"issue:`46328`.)"
msgstr ""
"Ajout de :func:`sys.exception` qui renvoie l'instance de l'exception active "
"(équivalent à ``sys.exc_info()[1]``) (contribution d'*Irit Katriel* dans :"
"issue:`46328`)."

#: whatsnew/3.11.rst:1033
msgid ""
"Add the :data:`sys.flags.safe_path <sys.flags>` flag. (Contributed by Victor "
"Stinner in :gh:`57684`.)"
msgstr ""

#: whatsnew/3.11.rst:1040
msgid "sysconfig"
msgstr "``sysconfig``"

#: whatsnew/3.11.rst:1042
msgid ""
"Three new :ref:`installation schemes <installation_paths>` (*posix_venv*, "
"*nt_venv* and *venv*) were added and are used when Python creates new "
"virtual environments or when it is running from a virtual environment. The "
"first two schemes (*posix_venv* and *nt_venv*) are OS-specific for non-"
"Windows and Windows, the *venv* is essentially an alias to one of them "
"according to the OS Python runs on. This is useful for downstream "
"distributors who modify :func:`sysconfig.get_preferred_scheme`. Third party "
"code that creates new virtual environments should use the new *venv* "
"installation scheme to determine the paths, as does :mod:`venv`. "
"(Contributed by Miro Hrončok in :issue:`45413`.)"
msgstr ""

#: whatsnew/3.11.rst:1059
#, fuzzy
msgid "tempfile"
msgstr "``zipfile``"

#: whatsnew/3.11.rst:1061
msgid ""
":class:`~tempfile.SpooledTemporaryFile` objects now fully implement the "
"methods of :class:`io.BufferedIOBase` or :class:`io.TextIOBase` (depending "
"on file mode). This lets them work correctly with APIs that expect file-like "
"objects, such as compression modules. (Contributed by Carey Metcalfe in :gh:"
"`70363`.)"
msgstr ""

#: whatsnew/3.11.rst:1072
msgid "threading"
msgstr "``threading``"

#: whatsnew/3.11.rst:1074
msgid ""
"On Unix, if the ``sem_clockwait()`` function is available in the C library "
"(glibc 2.30 and newer), the :meth:`threading.Lock.acquire` method now uses "
"the monotonic clock (:data:`time.CLOCK_MONOTONIC`) for the timeout, rather "
"than using the system clock (:data:`time.CLOCK_REALTIME`), to not be "
"affected by system clock changes. (Contributed by Victor Stinner in :issue:"
"`41710`.)"
msgstr ""

#: whatsnew/3.11.rst:1085
msgid "time"
msgstr "``time``"

#: whatsnew/3.11.rst:1087
msgid ""
"On Unix, :func:`time.sleep` now uses the ``clock_nanosleep()`` or "
"``nanosleep()`` function, if available, which has a resolution of 1 "
"nanosecond (10\\ :sup:`-9` seconds), rather than using ``select()`` which "
"has a resolution of 1 microsecond (10\\ :sup:`-6` seconds). (Contributed by "
"Benjamin Szőke and Victor Stinner in :issue:`21302`.)"
msgstr ""
"Sur Unix, :func:`time.sleep` utilise maintenant une des fonctions "
"``clock_nanosleep()`` ou ``nanosleep()``, quand elles sont disponibles, qui "
"ont une résolution de 1 nanoseconde (10\\ :sup:`-9` secondes), plutôt que "
"d'utiliser ``select()`` qui a une résolution de 1 microseconde (10\\ :sup:"
"`-6` secondes) (contribution de *Benjamin Szőke* et de *Victor Stinner* "
"dans :issue:`21302`)."

#: whatsnew/3.11.rst:1093
msgid ""
"On Windows 8.1 and newer, :func:`time.sleep` now uses a waitable timer based "
"on `high-resolution timers <https://docs.microsoft.com/en-us/windows-"
"hardware/drivers/kernel/high-resolution-timers>`_ which has a resolution of "
"100 nanoseconds (10\\ :sup:`-7` seconds). Previously, it had a resolution of "
"1 millisecond (10\\ :sup:`-3` seconds). (Contributed by Benjamin Szőke, Dong-"
"hee Na, Eryk Sun and Victor Stinner in :issue:`21302` and :issue:`45429`.)"
msgstr ""

#: whatsnew/3.11.rst:1104
msgid "tkinter"
msgstr ""

#: whatsnew/3.11.rst:1106
msgid ""
"Added method ``info_patchlevel()`` which returns the exact version of the "
"Tcl library as a named tuple similar to :data:`sys.version_info`. "
"(Contributed by Serhiy Storchaka in :gh:`91827`.)"
msgstr ""

#: whatsnew/3.11.rst:1114
msgid "traceback"
msgstr ""

#: whatsnew/3.11.rst:1116
msgid ""
"Add :func:`traceback.StackSummary.format_frame_summary` to allow users to "
"override which frames appear in the traceback, and how they are formatted. "
"(Contributed by Ammar Askar in :issue:`44569`.)"
msgstr ""

#: whatsnew/3.11.rst:1121
#, fuzzy
msgid ""
"Add :func:`traceback.TracebackException.print`, which prints the formatted :"
"exc:`~traceback.TracebackException` instance to a file. (Contributed by Irit "
"Katriel in :issue:`33809`.)"
msgstr ""
"Ajout de :func:`sys.exception` qui renvoie l'instance de l'exception active "
"(équivalent à ``sys.exc_info()[1]``) (contribution d'*Irit Katriel* dans :"
"issue:`46328`)."

#: whatsnew/3.11.rst:1129
msgid "typing"
msgstr ""

#: whatsnew/3.11.rst:1131
msgid "For major changes, see :ref:`new-feat-related-type-hints-311`."
msgstr ""

#: whatsnew/3.11.rst:1133
msgid ""
"Add :func:`typing.assert_never` and :class:`typing.Never`. :func:`typing."
"assert_never` is useful for asking a type checker to confirm that a line of "
"code is not reachable. At runtime, it raises an :exc:`AssertionError`. "
"(Contributed by Jelle Zijlstra in :gh:`90633`.)"
msgstr ""

#: whatsnew/3.11.rst:1139
msgid ""
"Add :func:`typing.reveal_type`. This is useful for asking a type checker "
"what type it has inferred for a given expression. At runtime it prints the "
"type of the received value. (Contributed by Jelle Zijlstra in :gh:`90572`.)"
msgstr ""

#: whatsnew/3.11.rst:1144
msgid ""
"Add :func:`typing.assert_type`. This is useful for asking a type checker to "
"confirm that the type it has inferred for a given expression matches the "
"given type. At runtime it simply returns the received value. (Contributed by "
"Jelle Zijlstra in :gh:`90638`.)"
msgstr ""

#: whatsnew/3.11.rst:1149
msgid ""
":data:`typing.TypedDict` types can now be generic. (Contributed by Samodya "
"Abeysiriwardane in :gh:`89026`.)"
msgstr ""

#: whatsnew/3.11.rst:1152
msgid ""
":class:`~typing.NamedTuple` types can now be generic. (Contributed by Serhiy "
"Storchaka in :issue:`43923`.)"
msgstr ""

#: whatsnew/3.11.rst:1155
msgid ""
"Allow subclassing of :class:`typing.Any`. This is useful for avoiding type "
"checker errors related to highly dynamic class, such as mocks. (Contributed "
"by Shantanu Jain in :gh:`91154`.)"
msgstr ""

#: whatsnew/3.11.rst:1159
msgid ""
"The :func:`typing.final` decorator now sets the ``__final__`` attributed on "
"the decorated object. (Contributed by Jelle Zijlstra in :gh:`90500`.)"
msgstr ""

#: whatsnew/3.11.rst:1163
msgid ""
"The :func:`typing.get_overloads` function can be used for introspecting the "
"overloads of a function. :func:`typing.clear_overloads` can be used to clear "
"all registered overloads of a function. (Contributed by Jelle Zijlstra in :"
"gh:`89263`.)"
msgstr ""

#: whatsnew/3.11.rst:1168
msgid ""
"The :meth:`~object.__init__` method of :class:`~typing.Protocol` subclasses "
"is now preserved. (Contributed by Adrian Garcia Badarasco in :gh:`88970`.)"
msgstr ""

#: whatsnew/3.11.rst:1171
msgid ""
"The representation of empty tuple types (``Tuple[()]``) is simplified. This "
"affects introspection, e.g. ``get_args(Tuple[()])`` now evaluates to ``()`` "
"instead of ``((),)``. (Contributed by Serhiy Storchaka in :gh:`91137`.)"
msgstr ""

#: whatsnew/3.11.rst:1176
msgid ""
"Loosen runtime requirements for type annotations by removing the callable "
"check in the private ``typing._type_check`` function. (Contributed by "
"Gregory Beauregard in :gh:`90802`.)"
msgstr ""

#: whatsnew/3.11.rst:1180
msgid ""
":func:`typing.get_type_hints` now supports evaluating strings as forward "
"references in :ref:`PEP 585 generic aliases <types-genericalias>`. "
"(Contributed by Niklas Rosenstein in :gh:`85542`.)"
msgstr ""

#: whatsnew/3.11.rst:1184
msgid ""
":func:`typing.get_type_hints` no longer adds :data:`~typing.Optional` to "
"parameters with ``None`` as a default. (Contributed by Nikita Sobolev in :gh:"
"`90353`.)"
msgstr ""

#: whatsnew/3.11.rst:1188
msgid ""
":func:`typing.get_type_hints` now supports evaluating bare stringified :data:"
"`~typing.ClassVar` annotations. (Contributed by Gregory Beauregard in :gh:"
"`90711`.)"
msgstr ""

#: whatsnew/3.11.rst:1192
msgid ""
":func:`typing.no_type_check` no longer modifies external classes and "
"functions. It also now correctly marks classmethods as not to be type "
"checked. (Contributed by Nikita Sobolev in :gh:`90729`.)"
msgstr ""

#: whatsnew/3.11.rst:1200
msgid "unicodedata"
msgstr "``unicodedata``"

#: whatsnew/3.11.rst:1202
#, fuzzy
msgid ""
"The Unicode database has been updated to version 14.0.0. (Contributed by "
"Benjamin Peterson in :issue:`45190`)."
msgstr ""
"La base de donnée Unicode a été mise à jour à la version 14.0.0 (:issue:"
"`45190`)."

#: whatsnew/3.11.rst:1209
msgid "unittest"
msgstr ""

#: whatsnew/3.11.rst:1211
msgid ""
"Added methods :meth:`~unittest.TestCase.enterContext` and :meth:`~unittest."
"TestCase.enterClassContext` of class :class:`~unittest.TestCase`, method :"
"meth:`~unittest.IsolatedAsyncioTestCase.enterAsyncContext` of class :class:"
"`~unittest.IsolatedAsyncioTestCase` and function :func:`unittest."
"enterModuleContext`. (Contributed by Serhiy Storchaka in :issue:`45046`.)"
msgstr ""

#: whatsnew/3.11.rst:1223
msgid "venv"
msgstr "``venv``"

#: whatsnew/3.11.rst:1225
msgid ""
"When new Python virtual environments are created, the *venv* :ref:`sysconfig "
"installation scheme <installation_paths>` is used to determine the paths "
"inside the environment. When Python runs in a virtual environment, the same "
"installation scheme is the default. That means that downstream distributors "
"can change the default sysconfig install scheme without changing behavior of "
"virtual environments. Third party code that also creates new virtual "
"environments should do the same. (Contributed by Miro Hrončok in :issue:"
"`45413`.)"
msgstr ""

#: whatsnew/3.11.rst:1239
msgid "warnings"
msgstr ""

#: whatsnew/3.11.rst:1241
msgid ""
":func:`warnings.catch_warnings` now accepts arguments for :func:`warnings."
"simplefilter`, providing a more concise way to locally ignore warnings or "
"convert them to errors. (Contributed by Zac Hatfield-Dodds in :issue:"
"`47074`.)"
msgstr ""

#: whatsnew/3.11.rst:1249
msgid "zipfile"
msgstr "``zipfile``"

#: whatsnew/3.11.rst:1251
msgid ""
"Added support for specifying member name encoding for reading metadata in a :"
"class:`~zipfile.ZipFile`'s directory and file headers. (Contributed by "
"Stephen J. Turnbull and Serhiy Storchaka in :issue:`28080`.)"
msgstr ""

#: whatsnew/3.11.rst:1255
msgid ""
"Added :meth:`ZipFile.mkdir() <zipfile.ZipFile.mkdir>` for creating new "
"directories inside ZIP archives. (Contributed by Sam Ezeh in :gh:`49083`.)"
msgstr ""

#: whatsnew/3.11.rst:1259
msgid ""
"Added :attr:`~zipfile.Path.stem`, :attr:`~zipfile.Path.suffix` and :attr:"
"`~zipfile.Path.suffixes` to :class:`zipfile.Path`. (Contributed by Miguel "
"Brito in :gh:`88261`.)"
msgstr ""

#: whatsnew/3.11.rst:1267
msgid "Optimizations"
msgstr "Optimisations"

#: whatsnew/3.11.rst:1269
msgid ""
"This section covers specific optimizations independent of the :ref:"
"`whatsnew311-faster-cpython` project, which is covered in its own section."
msgstr ""

#: whatsnew/3.11.rst:1272
msgid ""
"The compiler now optimizes simple :ref:`printf-style % formatting <old-"
"string-formatting>` on string literals containing only the format codes "
"``%s``, ``%r`` and ``%a`` and makes it as fast as a corresponding :term:`f-"
"string` expression. (Contributed by Serhiy Storchaka in :issue:`28307`.)"
msgstr ""

#: whatsnew/3.11.rst:1278
msgid ""
"Integer division (``//``) is better tuned for optimization by compilers. It "
"is now around 20% faster on x86-64 when dividing an :class:`int` by a value "
"smaller than ``2**30``. (Contributed by Gregory P. Smith and Tim Peters in :"
"gh:`90564`.)"
msgstr ""

#: whatsnew/3.11.rst:1283
msgid ""
":func:`sum` is now nearly 30% faster for integers smaller than ``2**30``. "
"(Contributed by Stefan Behnel in :gh:`68264`.)"
msgstr ""

#: whatsnew/3.11.rst:1286
msgid ""
"Resizing lists is streamlined for the common case, speeding up :meth:`list."
"append` by ≈15% and simple :term:`list comprehension`\\s by up to 20-30% "
"(Contributed by Dennis Sweeney in :gh:`91165`.)"
msgstr ""

#: whatsnew/3.11.rst:1291
msgid ""
"Dictionaries don't store hash values when all keys are Unicode objects, "
"decreasing :class:`dict` size. For example, ``sys.getsizeof(dict."
"fromkeys(\"abcdefg\"))`` is reduced from 352 bytes to 272 bytes (23% "
"smaller) on 64-bit platforms. (Contributed by Inada Naoki in :issue:`46845`.)"
msgstr ""

#: whatsnew/3.11.rst:1297
msgid ""
"Using :class:`asyncio.DatagramProtocol` is now orders of magnitude faster "
"when transferring large files over UDP, with speeds over 100 times higher "
"for a ≈60 MiB file. (Contributed by msoxzw in :gh:`91487`.)"
msgstr ""

#: whatsnew/3.11.rst:1302
msgid ""
":mod:`math` functions :func:`~math.comb` and :func:`~math.perm` are now ≈10 "
"times faster for large arguments (with a larger speedup for larger *k*). "
"(Contributed by Serhiy Storchaka in :issue:`37295`.)"
msgstr ""

#: whatsnew/3.11.rst:1306
msgid ""
"The :mod:`statistics` functions :func:`~statistics.mean`, :func:`~statistics."
"variance` and :func:`~statistics.stdev` now consume iterators in one pass "
"rather than converting them to a :class:`list` first. This is twice as fast "
"and can save substantial memory. (Contributed by Raymond Hettinger in :gh:"
"`90415`.)"
msgstr ""

#: whatsnew/3.11.rst:1312
msgid ""
":func:`unicodedata.normalize` now normalizes pure-ASCII strings in constant "
"time. (Contributed by Dong-hee Na in :issue:`44987`.)"
msgstr ""

#: whatsnew/3.11.rst:1320
msgid "Faster CPython"
msgstr ""

#: whatsnew/3.11.rst:1322
msgid ""
"CPython 3.11 is on average `25% faster <https://github.com/faster-cpython/"
"ideas#published-results>`_ than CPython 3.10 when measured with the "
"`pyperformance <https://github.com/python/pyperformance>`_ benchmark suite, "
"and compiled with GCC on Ubuntu Linux. Depending on your workload, the "
"speedup could be up to 10-60% faster."
msgstr ""

#: whatsnew/3.11.rst:1328
msgid ""
"This project focuses on two major areas in Python: faster startup and faster "
"runtime. Other optimizations not under this project are listed in "
"`Optimizations`_."
msgstr ""

#: whatsnew/3.11.rst:1335
msgid "Faster Startup"
msgstr ""

#: whatsnew/3.11.rst:1340
msgid "Frozen imports / Static code objects"
msgstr ""

#: whatsnew/3.11.rst:1342
msgid ""
"Python caches bytecode in the :ref:`__pycache__<tut-pycache>` directory to "
"speed up module loading."
msgstr ""

#: whatsnew/3.11.rst:1345
msgid "Previously in 3.10, Python module execution looked like this:"
msgstr ""

#: whatsnew/3.11.rst:1351
msgid ""
"In Python 3.11, the core modules essential for Python startup are "
"\"frozen\". This means that their code objects (and bytecode) are statically "
"allocated by the interpreter. This reduces the steps in module execution "
"process to this:"
msgstr ""

#: whatsnew/3.11.rst:1359
msgid ""
"Interpreter startup is now 10-15% faster in Python 3.11. This has a big "
"impact for short-running programs using Python."
msgstr ""

#: whatsnew/3.11.rst:1362
msgid ""
"(Contributed by Eric Snow, Guido van Rossum and Kumar Aditya in numerous "
"issues.)"
msgstr ""

#: whatsnew/3.11.rst:1368
msgid "Faster Runtime"
msgstr ""

#: whatsnew/3.11.rst:1373
msgid "Cheaper, lazy Python frames"
msgstr ""

#: whatsnew/3.11.rst:1375
msgid ""
"Python frames are created whenever Python calls a Python function. This "
"frame holds execution information. The following are new frame optimizations:"
msgstr ""

#: whatsnew/3.11.rst:1378
msgid "Streamlined the frame creation process."
msgstr ""

#: whatsnew/3.11.rst:1379
msgid ""
"Avoided memory allocation by generously re-using frame space on the C stack."
msgstr ""

#: whatsnew/3.11.rst:1380
msgid ""
"Streamlined the internal frame struct to contain only essential information. "
"Frames previously held extra debugging and memory management information."
msgstr ""

#: whatsnew/3.11.rst:1383
msgid ""
"Old-style frame objects are now created only when requested by debuggers or "
"by Python introspection functions such as ``sys._getframe`` or ``inspect."
"currentframe``. For most user code, no frame objects are created at all. As "
"a result, nearly all Python functions calls have sped up significantly. We "
"measured a 3-7% speedup in pyperformance."
msgstr ""

#: whatsnew/3.11.rst:1389
msgid "(Contributed by Mark Shannon in :issue:`44590`.)"
msgstr ""

#: whatsnew/3.11.rst:1396
msgid "Inlined Python function calls"
msgstr ""

#: whatsnew/3.11.rst:1398
msgid ""
"During a Python function call, Python will call an evaluating C function to "
"interpret that function's code. This effectively limits pure Python "
"recursion to what's safe for the C stack."
msgstr ""

#: whatsnew/3.11.rst:1402
msgid ""
"In 3.11, when CPython detects Python code calling another Python function, "
"it sets up a new frame, and \"jumps\" to the new code inside the new frame. "
"This avoids calling the C interpreting function altogether."
msgstr ""

#: whatsnew/3.11.rst:1406
msgid ""
"Most Python function calls now consume no C stack space. This speeds up most "
"of such calls. In simple recursive functions like fibonacci or factorial, a "
"1.7x speedup was observed. This also means recursive functions can recurse "
"significantly deeper (if the user increases the recursion limit). We "
"measured a 1-3% improvement in pyperformance."
msgstr ""

#: whatsnew/3.11.rst:1412
msgid "(Contributed by Pablo Galindo and Mark Shannon in :issue:`45256`.)"
msgstr ""

#: whatsnew/3.11.rst:1418
msgid "PEP 659: Specializing Adaptive Interpreter"
msgstr ""

#: whatsnew/3.11.rst:1420
msgid ""
":pep:`659` is one of the key parts of the faster CPython project. The "
"general idea is that while Python is a dynamic language, most code has "
"regions where objects and types rarely change. This concept is known as "
"*type stability*."
msgstr ""

#: whatsnew/3.11.rst:1424
msgid ""
"At runtime, Python will try to look for common patterns and type stability "
"in the executing code. Python will then replace the current operation with a "
"more specialized one. This specialized operation uses fast paths available "
"only to those use cases/types, which generally outperform their generic "
"counterparts. This also brings in another concept called *inline caching*, "
"where Python caches the results of expensive operations directly in the "
"bytecode."
msgstr ""

#: whatsnew/3.11.rst:1431
msgid ""
"The specializer will also combine certain common instruction pairs into one "
"superinstruction. This reduces the overhead during execution."
msgstr ""

#: whatsnew/3.11.rst:1434
msgid ""
"Python will only specialize when it sees code that is \"hot\" (executed "
"multiple times). This prevents Python from wasting time for run-once code. "
"Python can also de-specialize when code is too dynamic or when the use "
"changes. Specialization is attempted periodically, and specialization "
"attempts are not too expensive. This allows specialization to adapt to new "
"circumstances."
msgstr ""

#: whatsnew/3.11.rst:1441
msgid ""
"(PEP written by Mark Shannon, with ideas inspired by Stefan Brunthaler. See :"
"pep:`659` for more information. Implementation by Mark Shannon and Brandt "
"Bucher, with additional help from Irit Katriel and Dennis Sweeney.)"
msgstr ""

#: whatsnew/3.11.rst:1449
msgid "Operation"
msgstr ""

#: whatsnew/3.11.rst:1449
msgid "Form"
msgstr ""

#: whatsnew/3.11.rst:1449
msgid "Specialization"
msgstr ""

#: whatsnew/3.11.rst:1449
msgid "Operation speedup (up to)"
msgstr ""

#: whatsnew/3.11.rst:1449
msgid "Contributor(s)"
msgstr ""

#: whatsnew/3.11.rst:1452
msgid "Binary operations"
msgstr ""

#: whatsnew/3.11.rst:1452
msgid "``x+x; x*x; x-x;``"
msgstr ""

#: whatsnew/3.11.rst:1452
msgid ""
"Binary add, multiply and subtract for common types such as ``int``, "
"``float``, and ``str`` take custom fast paths for their underlying types."
msgstr ""

#: whatsnew/3.11.rst:1452
msgid "10%"
msgstr ""

#: whatsnew/3.11.rst:1452
msgid "Mark Shannon, Dong-hee Na, Brandt Bucher, Dennis Sweeney"
msgstr ""

#: whatsnew/3.11.rst:1457
msgid "Subscript"
msgstr ""

#: whatsnew/3.11.rst:1457
msgid "``a[i]``"
msgstr ""

#: whatsnew/3.11.rst:1457
msgid ""
"Subscripting container types such as ``list``, ``tuple`` and ``dict`` "
"directly index the underlying data structures."
msgstr ""

#: whatsnew/3.11.rst:1461
msgid ""
"Subscripting custom ``__getitem__`` is also inlined similar to :ref:`inline-"
"calls`."
msgstr ""

#: whatsnew/3.11.rst:1464
msgid "10-25%"
msgstr ""

#: whatsnew/3.11.rst:1457
msgid "Irit Katriel, Mark Shannon"
msgstr ""

#: whatsnew/3.11.rst:1464
msgid "Store subscript"
msgstr ""

#: whatsnew/3.11.rst:1464
msgid "``a[i] = z``"
msgstr ""

#: whatsnew/3.11.rst:1464
msgid "Similar to subscripting specialization above."
msgstr ""

#: whatsnew/3.11.rst:1464
msgid "Dennis Sweeney"
msgstr ""

#: whatsnew/3.11.rst:1467
msgid "Calls"
msgstr ""

#: whatsnew/3.11.rst:1467
msgid "``f(arg)`` ``C(arg)``"
msgstr ""

#: whatsnew/3.11.rst:1467
msgid ""
"Calls to common builtin (C) functions and types such as ``len`` and ``str`` "
"directly call their underlying C version. This avoids going through the "
"internal calling convention."
msgstr ""

#: whatsnew/3.11.rst:1467
msgid "20%"
msgstr ""

#: whatsnew/3.11.rst:1467
msgid "Mark Shannon, Ken Jin"
msgstr ""

#: whatsnew/3.11.rst:1473
msgid "Load global variable"
msgstr ""

#: whatsnew/3.11.rst:1473
msgid "``print`` ``len``"
msgstr ""

#: whatsnew/3.11.rst:1473
msgid ""
"The object's index in the globals/builtins namespace is cached. Loading "
"globals and builtins require zero namespace lookups."
msgstr ""

#: whatsnew/3.11.rst:1473
msgid "[1]_"
msgstr ""

#: whatsnew/3.11.rst:1477 whatsnew/3.11.rst:1486
msgid "Mark Shannon"
msgstr ""

#: whatsnew/3.11.rst:1477
msgid "Load attribute"
msgstr ""

#: whatsnew/3.11.rst:1477
msgid "``o.attr``"
msgstr ""

#: whatsnew/3.11.rst:1477
msgid ""
"Similar to loading global variables. The attribute's index inside the class/"
"object's namespace is cached. In most cases, attribute loading will require "
"zero namespace lookups."
msgstr ""

#: whatsnew/3.11.rst:1477
msgid "[2]_"
msgstr ""

#: whatsnew/3.11.rst:1482
msgid "Load methods for call"
msgstr ""

#: whatsnew/3.11.rst:1482
msgid "``o.meth()``"
msgstr ""

#: whatsnew/3.11.rst:1482
msgid ""
"The actual address of the method is cached. Method loading now has no "
"namespace lookups -- even for classes with long inheritance chains."
msgstr ""

#: whatsnew/3.11.rst:1482
msgid "10-20%"
msgstr ""

#: whatsnew/3.11.rst:1482
msgid "Ken Jin, Mark Shannon"
msgstr ""

#: whatsnew/3.11.rst:1486
msgid "Store attribute"
msgstr ""

#: whatsnew/3.11.rst:1486
msgid "``o.attr = z``"
msgstr ""

#: whatsnew/3.11.rst:1486
msgid "Similar to load attribute optimization."
msgstr ""

#: whatsnew/3.11.rst:1486
msgid "2% in pyperformance"
msgstr ""

#: whatsnew/3.11.rst:1489
msgid "Unpack Sequence"
msgstr ""

#: whatsnew/3.11.rst:1489
msgid "``*seq``"
msgstr ""

#: whatsnew/3.11.rst:1489
msgid ""
"Specialized for common containers such as ``list`` and ``tuple``. Avoids "
"internal calling convention."
msgstr ""

#: whatsnew/3.11.rst:1489
msgid "8%"
msgstr ""

#: whatsnew/3.11.rst:1489
msgid "Brandt Bucher"
msgstr ""

#: whatsnew/3.11.rst:1493
msgid ""
"A similar optimization already existed since Python 3.8.  3.11 specializes "
"for more forms and reduces some overhead."
msgstr ""

#: whatsnew/3.11.rst:1496
msgid ""
"A similar optimization already existed since Python 3.10. 3.11 specializes "
"for more forms. Furthermore, all attribute loads should be sped up by :issue:"
"`45947`."
msgstr ""

#: whatsnew/3.11.rst:1504
msgid "Misc"
msgstr ""

#: whatsnew/3.11.rst:1506
msgid ""
"Objects now require less memory due to lazily created object namespaces. "
"Their namespace dictionaries now also share keys more freely. (Contributed "
"Mark Shannon in :issue:`45340` and :issue:`40116`.)"
msgstr ""

#: whatsnew/3.11.rst:1510
msgid ""
"A more concise representation of exceptions in the interpreter reduced the "
"time required for catching an exception by about 10%. (Contributed by Irit "
"Katriel in :issue:`45711`.)"
msgstr ""

#: whatsnew/3.11.rst:1518
msgid "FAQ"
msgstr ""

#: whatsnew/3.11.rst:1520
msgid "Q: How should I write my code to utilize these speedups?"
msgstr ""

#: whatsnew/3.11.rst:1524
msgid ""
"A: You don't have to change your code. Write Pythonic code that follows "
"common best practices. The Faster CPython project optimizes for common code "
"patterns we observe."
msgstr ""

#: whatsnew/3.11.rst:1527
msgid "Q: Will CPython 3.11 use more memory?"
msgstr ""

#: whatsnew/3.11.rst:1531
msgid ""
"A: Maybe not. We don't expect memory use to exceed 20% more than 3.10. This "
"is offset by memory optimizations for frame objects and object dictionaries "
"as mentioned above."
msgstr ""

#: whatsnew/3.11.rst:1534
msgid "Q: I don't see any speedups in my workload. Why?"
msgstr ""

#: whatsnew/3.11.rst:1539
msgid ""
"A: Certain code won't have noticeable benefits. If your code spends most of "
"its time on I/O operations, or already does most of its computation in a C "
"extension library like numpy, there won't be significant speedup. This "
"project currently benefits pure-Python workloads the most."
msgstr ""

#: whatsnew/3.11.rst:1543
msgid ""
"Furthermore, the pyperformance figures are a geometric mean. Even within the "
"pyperformance benchmarks, certain benchmarks have slowed down slightly, "
"while others have sped up by nearly 2x!"
msgstr ""

#: whatsnew/3.11.rst:1546
msgid "Q: Is there a JIT compiler?"
msgstr ""

#: whatsnew/3.11.rst:1548
msgid "A: No. We're still exploring other optimizations."
msgstr ""

#: whatsnew/3.11.rst:1554
msgid "About"
msgstr ""

#: whatsnew/3.11.rst:1556
msgid ""
"Faster CPython explores optimizations for :term:`CPython`. The main team is "
"funded by Microsoft to work on this full-time. Pablo Galindo Salgado is also "
"funded by Bloomberg LP to work on the project part-time. Finally, many "
"contributors are volunteers from the community."
msgstr ""

#: whatsnew/3.11.rst:1565
msgid "CPython bytecode changes"
msgstr ""

#: whatsnew/3.11.rst:1567
msgid ""
"The bytecode now contains inline cache entries, which take the form of the "
"newly-added :opcode:`CACHE` instructions. Many opcodes expect to be followed "
"by an exact number of caches, and instruct the interpreter to skip over them "
"at runtime. Populated caches can look like arbitrary instructions, so great "
"care should be taken when reading or modifying raw, adaptive bytecode "
"containing quickened data."
msgstr ""

#: whatsnew/3.11.rst:1579
#, fuzzy
msgid "New opcodes"
msgstr "Nouveaux modules"

#: whatsnew/3.11.rst:1581
msgid ""
":opcode:`ASYNC_GEN_WRAP`, :opcode:`RETURN_GENERATOR` and :opcode:`SEND`, "
"used in generators and co-routines."
msgstr ""

#: whatsnew/3.11.rst:1584
msgid ""
":opcode:`COPY_FREE_VARS`, which avoids needing special caller-side code for "
"closures."
msgstr ""

#: whatsnew/3.11.rst:1587
msgid ""
":opcode:`JUMP_BACKWARD_NO_INTERRUPT`, for use in certain loops where "
"handling interrupts is undesirable."
msgstr ""

#: whatsnew/3.11.rst:1590
msgid ":opcode:`MAKE_CELL`, to create :ref:`cell-objects`."
msgstr ""

#: whatsnew/3.11.rst:1592
msgid ""
":opcode:`CHECK_EG_MATCH`  and  :opcode:`PREP_RERAISE_STAR`, to handle the :"
"ref:`new exception groups and except* <whatsnew311-pep654>` added in :pep:"
"`654`."
msgstr ""

#: whatsnew/3.11.rst:1596
msgid ":opcode:`PUSH_EXC_INFO`, for use in exception handlers."
msgstr ""

#: whatsnew/3.11.rst:1598
msgid ""
":opcode:`RESUME`, a no-op, for internal tracing, debugging and optimization "
"checks."
msgstr ""

#: whatsnew/3.11.rst:1605
msgid "Replaced opcodes"
msgstr ""

#: whatsnew/3.11.rst:1608
msgid "Replaced Opcode(s)"
msgstr ""

#: whatsnew/3.11.rst:1608
#, fuzzy
msgid "New Opcode(s)"
msgstr "Nouveaux modules"

#: whatsnew/3.11.rst:1608
msgid "Notes"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!BINARY_*`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!INPLACE_*`"
msgstr ""

#: whatsnew/3.11.rst:1610
msgid ":opcode:`BINARY_OP`"
msgstr ""

#: whatsnew/3.11.rst:1610
msgid "Replaced all numeric binary/in-place opcodes with a single opcode"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!CALL_FUNCTION`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!CALL_FUNCTION_KW`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!CALL_METHOD`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`CALL`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`KW_NAMES`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`PRECALL`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`PUSH_NULL`"
msgstr ""

#: whatsnew/3.11.rst:1613
msgid ""
"Decouples argument shifting for methods from handling of keyword arguments; "
"allows better specialization of calls"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!DUP_TOP`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!DUP_TOP_TWO`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!ROT_TWO`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!ROT_THREE`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!ROT_FOUR`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!ROT_N`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`COPY`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`SWAP`"
msgstr ""

#: whatsnew/3.11.rst:1618
msgid "Stack manipulation instructions"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!JUMP_IF_NOT_EXC_MATCH`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`CHECK_EXC_MATCH`"
msgstr ""

#: whatsnew/3.11.rst:1625
msgid "Now performs check but doesn't jump"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!JUMP_ABSOLUTE`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!POP_JUMP_IF_FALSE`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!POP_JUMP_IF_TRUE`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`JUMP_BACKWARD`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`POP_JUMP_BACKWARD_IF_* <POP_JUMP_BACKWARD_IF_TRUE>`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`POP_JUMP_FORWARD_IF_* <POP_JUMP_FORWARD_IF_TRUE>`"
msgstr ""

#: whatsnew/3.11.rst:1627
msgid ""
"See [#bytecode-jump]_; ``TRUE``, ``FALSE``, ``NONE`` and ``NOT_NONE`` "
"variants for each direction"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!SETUP_WITH`"
msgstr ""

#: whatsnew/3.11.rst:0
msgid ":opcode:`!SETUP_ASYNC_WITH`"
msgstr ""

#: whatsnew/3.11.rst:1633
msgid ":opcode:`BEFORE_WITH`"
msgstr ""

#: whatsnew/3.11.rst:1633
msgid ":keyword:`with` block setup"
msgstr ""

#: whatsnew/3.11.rst:1637
msgid ""
"All jump opcodes are now relative, including the existing :opcode:"
"`JUMP_IF_TRUE_OR_POP` and :opcode:`JUMP_IF_FALSE_OR_POP`. The argument is "
"now an offset from the current instruction rather than an absolute location."
msgstr ""

#: whatsnew/3.11.rst:1648
msgid "Changed/removed opcodes"
msgstr ""

#: whatsnew/3.11.rst:1650
msgid ""
"Changed :opcode:`MATCH_CLASS` and :opcode:`MATCH_KEYS` to no longer push an "
"additional boolean value to indicate success/failure. Instead, ``None`` is "
"pushed on failure in place of the tuple of extracted values."
msgstr ""

#: whatsnew/3.11.rst:1655
msgid ""
"Changed opcodes that work with exceptions to reflect them now being "
"represented as one item on the stack instead of three (see :gh:`89874`)."
msgstr ""

#: whatsnew/3.11.rst:1659
msgid ""
"Removed :opcode:`!COPY_DICT_WITHOUT_KEYS`, :opcode:`!GEN_START`, :opcode:`!"
"POP_BLOCK`, :opcode:`!SETUP_FINALLY` and :opcode:`!YIELD_FROM`."
msgstr ""

#: whatsnew/3.11.rst:2543
msgid "Deprecated"
msgstr "Obsolescence"

#: whatsnew/3.11.rst:1669
msgid ""
"This section lists Python APIs that have been deprecated in Python 3.11."
msgstr ""

#: whatsnew/3.11.rst:1671
msgid ""
"Deprecated C APIs are :ref:`listed separately <whatsnew311-c-api-"
"deprecated>`."
msgstr ""

#: whatsnew/3.11.rst:1678
msgid "Language/Builtins"
msgstr ""

#: whatsnew/3.11.rst:1680
msgid ""
"Chaining :class:`classmethod` descriptors (introduced in :issue:`19072`) is "
"now deprecated.  It can no longer be used to wrap other descriptors such as :"
"class:`property`.  The core design of this feature was flawed and caused a "
"number of downstream problems.  To \"pass-through\" a :class:`classmethod`, "
"consider using the :attr:`!__wrapped__` attribute that was added in Python "
"3.10. (Contributed by Raymond Hettinger in :gh:`89519`.)"
msgstr ""

#: whatsnew/3.11.rst:1688
msgid ""
"Octal escapes in string and bytes literals with values larger than ``0o377`` "
"(255 in decimal) now produce a :exc:`DeprecationWarning`. In a future Python "
"version, they will raise a :exc:`SyntaxWarning` and eventually a :exc:"
"`SyntaxError`. (Contributed by Serhiy Storchaka in :gh:`81548`.)"
msgstr ""

#: whatsnew/3.11.rst:1694
msgid ""
"The delegation of :func:`int` to :meth:`~object.__trunc__` is now "
"deprecated. Calling ``int(a)`` when ``type(a)`` implements :meth:`!"
"__trunc__` but not :meth:`~object.__int__` or :meth:`~object.__index__` now "
"raises a :exc:`DeprecationWarning`. (Contributed by Zackery Spytz in :issue:"
"`44977`.)"
msgstr ""

#: whatsnew/3.11.rst:1704
#, fuzzy
msgid "Modules"
msgstr "Nouveaux modules"

#: whatsnew/3.11.rst:1708
msgid ""
":pep:`594` led to the deprecations of the following modules slated for "
"removal in Python 3.13:"
msgstr ""

#: whatsnew/3.11.rst:1712
msgid ":mod:`aifc`"
msgstr ""

#: whatsnew/3.11.rst:1712
msgid ":mod:`chunk`"
msgstr ""

#: whatsnew/3.11.rst:1712
msgid ":mod:`msilib`"
msgstr ""

#: whatsnew/3.11.rst:1712
msgid ":mod:`pipes`"
msgstr ""

#: whatsnew/3.11.rst:1712
msgid ":mod:`telnetlib`"
msgstr ""

#: whatsnew/3.11.rst:1714
msgid ":mod:`audioop`"
msgstr ""

#: whatsnew/3.11.rst:1714
msgid ":mod:`crypt`"
msgstr ""

#: whatsnew/3.11.rst:1714
msgid ":mod:`nis`"
msgstr ""

#: whatsnew/3.11.rst:1714
msgid ":mod:`sndhdr`"
msgstr ""

#: whatsnew/3.11.rst:1714
msgid ":mod:`uu`"
msgstr ""

#: whatsnew/3.11.rst:1716
msgid ":mod:`cgi`"
msgstr ""

#: whatsnew/3.11.rst:1716
msgid ":mod:`imghdr`"
msgstr ""

#: whatsnew/3.11.rst:1716
msgid ":mod:`nntplib`"
msgstr ""

#: whatsnew/3.11.rst:1716
msgid ":mod:`spwd`"
msgstr ""

#: whatsnew/3.11.rst:1716
msgid ":mod:`xdrlib`"
msgstr ""

#: whatsnew/3.11.rst:1718
msgid ":mod:`cgitb`"
msgstr ""

#: whatsnew/3.11.rst:1718
msgid ":mod:`mailcap`"
msgstr ""

#: whatsnew/3.11.rst:1718
msgid ":mod:`ossaudiodev`"
msgstr ""

#: whatsnew/3.11.rst:1718
msgid ":mod:`sunau`"
msgstr ""

#: whatsnew/3.11.rst:1721
msgid ""
"(Contributed by Brett Cannon in :issue:`47061` and Victor Stinner in :gh:"
"`68966`.)"
msgstr ""

#: whatsnew/3.11.rst:1724
msgid ""
"The :mod:`asynchat`, :mod:`asyncore` and  :mod:`smtpd` modules have been "
"deprecated since at least Python 3.6. Their documentation and deprecation "
"warnings have now been updated to note they will be removed in Python 3.12. "
"(Contributed by Hugo van Kemenade in :issue:`47022`.)"
msgstr ""

#: whatsnew/3.11.rst:1729
msgid ""
"The :mod:`lib2to3` package and :ref:`2to3 <2to3-reference>` tool are now "
"deprecated and may not be able to parse Python 3.10 or newer. See :pep:"
"`617`, introducing the new PEG parser, for details. (Contributed by Victor "
"Stinner in :issue:`40360`.)"
msgstr ""

#: whatsnew/3.11.rst:1734
msgid ""
"Undocumented modules :mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!"
"sre_parse` are now deprecated. (Contributed by Serhiy Storchaka in :issue:"
"`47152`.)"
msgstr ""

#: whatsnew/3.11.rst:1742
msgid "Standard Library"
msgstr ""

#: whatsnew/3.11.rst:1744
msgid ""
"The following have been deprecated in :mod:`configparser` since Python 3.2. "
"Their deprecation warnings have now been updated to note they will be "
"removed in Python 3.12:"
msgstr ""

#: whatsnew/3.11.rst:1748
msgid "the :class:`!configparser.SafeConfigParser` class"
msgstr ""

#: whatsnew/3.11.rst:1749
msgid "the :attr:`!configparser.ParsingError.filename` property"
msgstr ""

#: whatsnew/3.11.rst:1750
msgid "the :meth:`configparser.RawConfigParser.readfp` method"
msgstr ""

#: whatsnew/3.11.rst:1752
msgid "(Contributed by Hugo van Kemenade in :issue:`45173`.)"
msgstr ""

#: whatsnew/3.11.rst:1754
msgid ""
":class:`!configparser.LegacyInterpolation` has been deprecated in the "
"docstring since Python 3.2, and is not listed in the :mod:`configparser` "
"documentation. It now emits a :exc:`DeprecationWarning` and will be removed "
"in Python 3.13. Use :class:`configparser.BasicInterpolation` or :class:"
"`configparser.ExtendedInterpolation` instead. (Contributed by Hugo van "
"Kemenade in :issue:`46607`.)"
msgstr ""

#: whatsnew/3.11.rst:1761
msgid ""
"The older set of :mod:`importlib.resources` functions were deprecated in "
"favor of the replacements added in Python 3.9 and will be removed in a "
"future Python version, due to not supporting resources located within "
"package subdirectories:"
msgstr ""

#: whatsnew/3.11.rst:1766
msgid ":func:`importlib.resources.contents`"
msgstr ""

#: whatsnew/3.11.rst:1767
msgid ":func:`importlib.resources.is_resource`"
msgstr ""

#: whatsnew/3.11.rst:1768
msgid ":func:`importlib.resources.open_binary`"
msgstr ""

#: whatsnew/3.11.rst:1769
msgid ":func:`importlib.resources.open_text`"
msgstr ""

#: whatsnew/3.11.rst:1770
msgid ":func:`importlib.resources.read_binary`"
msgstr ""

#: whatsnew/3.11.rst:1771
msgid ":func:`importlib.resources.read_text`"
msgstr ""

#: whatsnew/3.11.rst:1772
msgid ":func:`importlib.resources.path`"
msgstr ""

#: whatsnew/3.11.rst:1774
msgid ""
"The :func:`locale.getdefaultlocale` function is deprecated and will be "
"removed in Python 3.13. Use :func:`locale.setlocale`, :func:`locale."
"getpreferredencoding(False) <locale.getpreferredencoding>` and :func:`locale."
"getlocale` functions instead. (Contributed by Victor Stinner in :gh:`90817`.)"
msgstr ""

#: whatsnew/3.11.rst:1780
msgid ""
"The :func:`locale.resetlocale` function is deprecated and will be removed in "
"Python 3.13. Use ``locale.setlocale(locale.LC_ALL, \"\")`` instead. "
"(Contributed by Victor Stinner in :gh:`90817`.)"
msgstr ""

#: whatsnew/3.11.rst:1784
msgid ""
"Stricter rules will now be applied for numerical group references and group "
"names in :ref:`regular expressions <re-syntax>`. Only sequences of ASCII "
"digits will now be accepted as a numerical reference, and the group name in :"
"class:`bytes` patterns and replacement strings can only contain ASCII "
"letters, digits and underscores. For now, a deprecation warning is raised "
"for syntax violating these rules. (Contributed by Serhiy Storchaka in :gh:"
"`91760`.)"
msgstr ""

#: whatsnew/3.11.rst:1792
msgid ""
"In the :mod:`re` module, the :func:`!re.template` function and the "
"corresponding :data:`!re.TEMPLATE` and :data:`!re.T` flags are deprecated, "
"as they were undocumented and lacked an obvious purpose. They will be "
"removed in Python 3.13. (Contributed by Serhiy Storchaka and Miro Hrončok "
"in :gh:`92728`.)"
msgstr ""

#: whatsnew/3.11.rst:1798
msgid ""
":func:`turtle.settiltangle` has been deprecated since Python 3.1; it now "
"emits a deprecation warning and will be removed in Python 3.13. Use :func:"
"`turtle.tiltangle` instead (it was earlier incorrectly marked as deprecated, "
"and its docstring is now corrected). (Contributed by Hugo van Kemenade in :"
"issue:`45837`.)"
msgstr ""

#: whatsnew/3.11.rst:1804
msgid ""
":class:`typing.Text`, which exists solely to provide compatibility support "
"between Python 2 and Python 3 code, is now deprecated. Its removal is "
"currently unplanned, but users are encouraged to use :class:`str` instead "
"wherever possible. (Contributed by Alex Waygood in :gh:`92332`.)"
msgstr ""

#: whatsnew/3.11.rst:1810
msgid ""
"The keyword argument syntax for constructing :data:`typing.TypedDict` types "
"is now deprecated. Support will be removed in Python 3.13. (Contributed by "
"Jingchen Ye in :gh:`90224`.)"
msgstr ""

#: whatsnew/3.11.rst:1814
msgid ""
":class:`!webbrowser.MacOSX` is deprecated and will be removed in Python "
"3.13. It is untested, undocumented, and not used by :mod:`webbrowser` "
"itself. (Contributed by Dong-hee Na in :issue:`42255`.)"
msgstr ""

#: whatsnew/3.11.rst:1818
msgid ""
"The behavior of returning a value from a :class:`~unittest.TestCase` and :"
"class:`~unittest.IsolatedAsyncioTestCase` test methods (other than the "
"default ``None`` value) is now deprecated."
msgstr ""

#: whatsnew/3.11.rst:1822
msgid ""
"Deprecated the following not-formally-documented :mod:`unittest` functions, "
"scheduled for removal in Python 3.13:"
msgstr ""

#: whatsnew/3.11.rst:1825
msgid ":func:`!unittest.findTestCases`"
msgstr ""

#: whatsnew/3.11.rst:1826
msgid ":func:`!unittest.makeSuite`"
msgstr ""

#: whatsnew/3.11.rst:1827
msgid ":func:`!unittest.getTestCaseNames`"
msgstr ""

#: whatsnew/3.11.rst:1829
msgid "Use :class:`~unittest.TestLoader` methods instead:"
msgstr ""

#: whatsnew/3.11.rst:1831
msgid ":meth:`unittest.TestLoader.loadTestsFromModule`"
msgstr ""

#: whatsnew/3.11.rst:1832
msgid ":meth:`unittest.TestLoader.loadTestsFromTestCase`"
msgstr ""

#: whatsnew/3.11.rst:1833
msgid ":meth:`unittest.TestLoader.getTestCaseNames`"
msgstr ""

#: whatsnew/3.11.rst:1835
msgid "(Contributed by Erlend E. Aasland in :issue:`5846`.)"
msgstr ""

#: whatsnew/3.11.rst:2571
msgid "Pending Removal in Python 3.12"
msgstr ""

#: whatsnew/3.11.rst:1844
msgid ""
"The following Python APIs have been deprecated in earlier Python releases, "
"and will be removed in Python 3.12."
msgstr ""

#: whatsnew/3.11.rst:1847
msgid ""
"C APIs pending removal are :ref:`listed separately <whatsnew311-c-api-"
"pending-removal>`."
msgstr ""

#: whatsnew/3.11.rst:1850
msgid "The :mod:`asynchat` module"
msgstr ""

#: whatsnew/3.11.rst:1851
msgid "The :mod:`asyncore` module"
msgstr ""

#: whatsnew/3.11.rst:1852
msgid "The :ref:`entire distutils package <distutils-deprecated>`"
msgstr ""

#: whatsnew/3.11.rst:1853
msgid "The :mod:`imp` module"
msgstr ""

#: whatsnew/3.11.rst:1854
msgid "The :class:`typing.io <typing.IO>` namespace"
msgstr ""

#: whatsnew/3.11.rst:1855
msgid "The :class:`typing.re <typing.Pattern>` namespace"
msgstr ""

#: whatsnew/3.11.rst:1856
msgid ":func:`!cgi.log`"
msgstr ""

#: whatsnew/3.11.rst:1857
msgid ":func:`importlib.find_loader`"
msgstr ""

#: whatsnew/3.11.rst:1858
msgid ":meth:`importlib.abc.Loader.module_repr`"
msgstr ""

#: whatsnew/3.11.rst:1859
msgid ":meth:`importlib.abc.MetaPathFinder.find_module`"
msgstr ""

#: whatsnew/3.11.rst:1860
msgid ":meth:`importlib.abc.PathEntryFinder.find_loader`"
msgstr ""

#: whatsnew/3.11.rst:1861
msgid ":meth:`importlib.abc.PathEntryFinder.find_module`"
msgstr ""

#: whatsnew/3.11.rst:1862
msgid ":meth:`!importlib.machinery.BuiltinImporter.find_module`"
msgstr ""

#: whatsnew/3.11.rst:1863
msgid ":meth:`!importlib.machinery.BuiltinLoader.module_repr`"
msgstr ""

#: whatsnew/3.11.rst:1864
msgid ":meth:`!importlib.machinery.FileFinder.find_loader`"
msgstr ""

#: whatsnew/3.11.rst:1865
msgid ":meth:`!importlib.machinery.FileFinder.find_module`"
msgstr ""

#: whatsnew/3.11.rst:1866
msgid ":meth:`!importlib.machinery.FrozenImporter.find_module`"
msgstr ""

#: whatsnew/3.11.rst:1867
msgid ":meth:`!importlib.machinery.FrozenLoader.module_repr`"
msgstr ""

#: whatsnew/3.11.rst:1868
msgid ":meth:`importlib.machinery.PathFinder.find_module`"
msgstr ""

#: whatsnew/3.11.rst:1869
msgid ":meth:`!importlib.machinery.WindowsRegistryFinder.find_module`"
msgstr ""

#: whatsnew/3.11.rst:1870
msgid ":func:`importlib.util.module_for_loader`"
msgstr ""

#: whatsnew/3.11.rst:1871
msgid ":func:`!importlib.util.set_loader_wrapper`"
msgstr ""

#: whatsnew/3.11.rst:1872
msgid ":func:`!importlib.util.set_package_wrapper`"
msgstr ""

#: whatsnew/3.11.rst:1873
msgid ":class:`pkgutil.ImpImporter`"
msgstr ""

#: whatsnew/3.11.rst:1874
msgid ":class:`pkgutil.ImpLoader`"
msgstr ""

#: whatsnew/3.11.rst:1875
msgid ":meth:`pathlib.Path.link_to`"
msgstr ""

#: whatsnew/3.11.rst:1876
msgid ":func:`!sqlite3.enable_shared_cache`"
msgstr ""

#: whatsnew/3.11.rst:1877
msgid ":func:`!sqlite3.OptimizedUnicode`"
msgstr ""

#: whatsnew/3.11.rst:1878
msgid ":envvar:`PYTHONTHREADDEBUG` environment variable"
msgstr ""

#: whatsnew/3.11.rst:1879
msgid "The following deprecated aliases in :mod:`unittest`:"
msgstr ""

#: whatsnew/3.11.rst:1882
#, fuzzy
msgid "Deprecated alias"
msgstr "Obsolescence"

#: whatsnew/3.11.rst:1882
msgid "Method Name"
msgstr ""

#: whatsnew/3.11.rst:1882
#, fuzzy
msgid "Deprecated in"
msgstr "Obsolescence"

#: whatsnew/3.11.rst:1884
msgid "``failUnless``"
msgstr ""

#: whatsnew/3.11.rst:1891
msgid ":meth:`.assertTrue`"
msgstr ""

#: whatsnew/3.11.rst:1885 whatsnew/3.11.rst:1887 whatsnew/3.11.rst:1889
#: whatsnew/3.11.rst:1890
msgid "3.1"
msgstr ""

#: whatsnew/3.11.rst:1885
msgid "``failIf``"
msgstr ""

#: whatsnew/3.11.rst:1885
msgid ":meth:`.assertFalse`"
msgstr ""

#: whatsnew/3.11.rst:1886
msgid "``failUnlessEqual``"
msgstr ""

#: whatsnew/3.11.rst:1892
msgid ":meth:`.assertEqual`"
msgstr ""

#: whatsnew/3.11.rst:1887
msgid "``failIfEqual``"
msgstr ""

#: whatsnew/3.11.rst:1893
msgid ":meth:`.assertNotEqual`"
msgstr ""

#: whatsnew/3.11.rst:1888
msgid "``failUnlessAlmostEqual``"
msgstr ""

#: whatsnew/3.11.rst:1894
msgid ":meth:`.assertAlmostEqual`"
msgstr ""

#: whatsnew/3.11.rst:1889
msgid "``failIfAlmostEqual``"
msgstr ""

#: whatsnew/3.11.rst:1895
msgid ":meth:`.assertNotAlmostEqual`"
msgstr ""

#: whatsnew/3.11.rst:1890
msgid "``failUnlessRaises``"
msgstr ""

#: whatsnew/3.11.rst:1890
msgid ":meth:`.assertRaises`"
msgstr ""

#: whatsnew/3.11.rst:1891
msgid "``assert_``"
msgstr ""

#: whatsnew/3.11.rst:1892 whatsnew/3.11.rst:1894 whatsnew/3.11.rst:1896
#: whatsnew/3.11.rst:1897
msgid "3.2"
msgstr ""

#: whatsnew/3.11.rst:1892
msgid "``assertEquals``"
msgstr ""

#: whatsnew/3.11.rst:1893
msgid "``assertNotEquals``"
msgstr ""

#: whatsnew/3.11.rst:1894
msgid "``assertAlmostEquals``"
msgstr ""

#: whatsnew/3.11.rst:1895
msgid "``assertNotAlmostEquals``"
msgstr ""

#: whatsnew/3.11.rst:1896
msgid "``assertRegexpMatches``"
msgstr ""

#: whatsnew/3.11.rst:1896
msgid ":meth:`.assertRegex`"
msgstr ""

#: whatsnew/3.11.rst:1897
msgid "``assertRaisesRegexp``"
msgstr ""

#: whatsnew/3.11.rst:1897
msgid ":meth:`.assertRaisesRegex`"
msgstr ""

#: whatsnew/3.11.rst:1898
msgid "``assertNotRegexpMatches``"
msgstr ""

#: whatsnew/3.11.rst:1898
msgid ":meth:`.assertNotRegex`"
msgstr ""

#: whatsnew/3.11.rst:1898
msgid "3.5"
msgstr ""

#: whatsnew/3.11.rst:2597
msgid "Removed"
msgstr "Retraits"

#: whatsnew/3.11.rst:1907
msgid "This section lists Python APIs that have been removed in Python 3.11."
msgstr ""

#: whatsnew/3.11.rst:1909
msgid ""
"Removed C APIs are :ref:`listed separately <whatsnew311-c-api-removed>`."
msgstr ""

#: whatsnew/3.11.rst:1911
msgid ""
"Removed the :func:`!@asyncio.coroutine` :term:`decorator` enabling legacy "
"generator-based coroutines to be compatible with :keyword:`async` / :keyword:"
"`await` code. The function has been deprecated since Python 3.8 and the "
"removal was initially scheduled for Python 3.10. Use :keyword:`async def` "
"instead. (Contributed by Illia Volochii in :issue:`43216`.)"
msgstr ""

#: whatsnew/3.11.rst:1918
msgid ""
"Removed :class:`!asyncio.coroutines.CoroWrapper` used for wrapping legacy "
"generator-based coroutine objects in the debug mode. (Contributed by Illia "
"Volochii in :issue:`43216`.)"
msgstr ""

#: whatsnew/3.11.rst:1922
msgid ""
"Due to significant security concerns, the *reuse_address* parameter of :meth:"
"`asyncio.loop.create_datagram_endpoint`, disabled in Python 3.9, is now "
"entirely removed. This is because of the behavior of the socket option "
"``SO_REUSEADDR`` in UDP. (Contributed by Hugo van Kemenade in :issue:"
"`45129`.)"
msgstr ""

#: whatsnew/3.11.rst:1928
msgid ""
"Removed the :mod:`!binhex` module, deprecated in Python 3.9. Also removed "
"the related, similarly-deprecated :mod:`binascii` functions:"
msgstr ""

#: whatsnew/3.11.rst:1931
msgid ":func:`!binascii.a2b_hqx`"
msgstr ""

#: whatsnew/3.11.rst:1932
msgid ":func:`!binascii.b2a_hqx`"
msgstr ""

#: whatsnew/3.11.rst:1933
msgid ":func:`!binascii.rlecode_hqx`"
msgstr ""

#: whatsnew/3.11.rst:1934
msgid ":func:`!binascii.rldecode_hqx`"
msgstr ""

#: whatsnew/3.11.rst:1936
msgid "The :func:`binascii.crc_hqx` function remains available."
msgstr ""

#: whatsnew/3.11.rst:1938
msgid "(Contributed by Victor Stinner in :issue:`45085`.)"
msgstr ""

#: whatsnew/3.11.rst:1940
msgid ""
"Removed the :mod:`distutils` ``bdist_msi`` command deprecated in Python 3.9. "
"Use ``bdist_wheel`` (wheel packages) instead. (Contributed by Hugo van "
"Kemenade in :issue:`45124`.)"
msgstr ""

#: whatsnew/3.11.rst:1944
msgid ""
"Removed the :meth:`~object.__getitem__` methods of :class:`xml.dom.pulldom."
"DOMEventStream`, :class:`wsgiref.util.FileWrapper` and :class:`fileinput."
"FileInput`, deprecated since Python 3.9. (Contributed by Hugo van Kemenade "
"in :issue:`45132`.)"
msgstr ""

#: whatsnew/3.11.rst:1949
msgid ""
"Removed the deprecated :mod:`gettext` functions :func:`!lgettext`, :func:`!"
"ldgettext`, :func:`!lngettext` and :func:`!ldngettext`. Also removed the :"
"func:`!bind_textdomain_codeset` function, the :meth:`!NullTranslations."
"output_charset` and :meth:`!NullTranslations.set_output_charset` methods, "
"and the *codeset* parameter of :func:`!translation` and :func:`!install`, "
"since they are only used for the :func:`!l*gettext` functions. (Contributed "
"by Dong-hee Na and Serhiy Storchaka in :issue:`44235`.)"
msgstr ""

#: whatsnew/3.11.rst:1959
msgid "Removed from the :mod:`inspect` module:"
msgstr ""

#: whatsnew/3.11.rst:1961
msgid ""
"The :func:`!getargspec` function, deprecated since Python 3.0; use :func:"
"`inspect.signature` or :func:`inspect.getfullargspec` instead."
msgstr ""

#: whatsnew/3.11.rst:1964
msgid ""
"The :func:`!formatargspec` function, deprecated since Python 3.5; use the :"
"func:`inspect.signature` function or the :class:`inspect.Signature` object "
"directly."
msgstr ""

#: whatsnew/3.11.rst:1968
msgid ""
"The undocumented :meth:`!Signature.from_builtin` and :meth:`!Signature."
"from_function` methods, deprecated since Python 3.5; use the :meth:"
"`Signature.from_callable() <inspect.Signature.from_callable>` method instead."
msgstr ""

#: whatsnew/3.11.rst:1973
msgid "(Contributed by Hugo van Kemenade in :issue:`45320`.)"
msgstr ""

#: whatsnew/3.11.rst:1975
msgid ""
"Removed the :meth:`~object.__class_getitem__` method from :class:`pathlib."
"PurePath`, because it was not used and added by mistake in previous "
"versions. (Contributed by Nikita Sobolev in :issue:`46483`.)"
msgstr ""

#: whatsnew/3.11.rst:1980
msgid ""
"Removed the :class:`!MailmanProxy` class in the :mod:`smtpd` module, as it "
"is unusable without the external :mod:`!mailman` package. (Contributed by "
"Dong-hee Na in :issue:`35800`.)"
msgstr ""

#: whatsnew/3.11.rst:1984
msgid ""
"Removed the deprecated :meth:`!split` method of :class:`!_tkinter."
"TkappType`. (Contributed by Erlend E. Aasland in :issue:`38371`.)"
msgstr ""

#: whatsnew/3.11.rst:1987
msgid ""
"Removed namespace package support from :mod:`unittest` discovery. It was "
"introduced in Python 3.4 but has been broken since Python 3.7. (Contributed "
"by Inada Naoki in :issue:`23882`.)"
msgstr ""

#: whatsnew/3.11.rst:1991
msgid ""
"Removed the undocumented private :meth:`!float.__set_format__()` method, "
"previously known as :meth:`!float.__setformat__()` in Python 3.7. Its "
"docstring said: \"You probably don't want to use this function. It exists "
"mainly to be used in Python's test suite.\" (Contributed by Victor Stinner "
"in :issue:`46852`.)"
msgstr ""

#: whatsnew/3.11.rst:1997
msgid ""
"The :option:`!--experimental-isolated-subinterpreters` configure flag (and "
"corresponding :c:macro:`!EXPERIMENTAL_ISOLATED_SUBINTERPRETERS` macro) have "
"been removed."
msgstr ""

#: whatsnew/3.11.rst:2001
msgid ""
"`Pynche <https://pypi.org/project/pynche/>`_ --- The Pythonically Natural "
"Color and Hue Editor --- has been moved out of ``Tools/scripts`` and is "
"`being developed independently <https://gitlab.com/warsaw/pynche/-/tree/"
"main>`_ from the Python source tree."
msgstr ""

#: whatsnew/3.11.rst:2241
msgid "Porting to Python 3.11"
msgstr "Portage vers Python 3.11"

#: whatsnew/3.11.rst:2013
msgid ""
"This section lists previously described changes and other bugfixes in the "
"Python API that may require changes to your Python code."
msgstr ""

#: whatsnew/3.11.rst:2016
msgid ""
"Porting notes for the C API are :ref:`listed separately <whatsnew311-c-api-"
"porting>`."
msgstr ""

#: whatsnew/3.11.rst:2019
msgid ""
":func:`open`, :func:`io.open`, :func:`codecs.open` and :class:`fileinput."
"FileInput` no longer accept ``'U'`` (\"universal newline\") in the file "
"mode. In Python 3, \"universal newline\" mode is used by default whenever a "
"file is opened in text mode, and the ``'U'`` flag has been deprecated since "
"Python 3.3. The :ref:`newline parameter <open-newline-parameter>` to these "
"functions controls how universal newlines work. (Contributed by Victor "
"Stinner in :issue:`37330`.)"
msgstr ""

#: whatsnew/3.11.rst:2028
msgid ""
":class:`ast.AST` node positions are now validated when provided to :func:"
"`compile` and other related functions. If invalid positions are detected, a :"
"exc:`ValueError` will be raised. (Contributed by Pablo Galindo in :gh:"
"`93351`)"
msgstr ""

#: whatsnew/3.11.rst:2032
msgid ""
"Prohibited passing non-:class:`concurrent.futures.ThreadPoolExecutor` "
"executors to :meth:`asyncio.loop.set_default_executor` following a "
"deprecation in Python 3.8. (Contributed by Illia Volochii in :issue:`43234`.)"
msgstr ""

#: whatsnew/3.11.rst:2037
msgid ""
":mod:`calendar`: The :class:`calendar.LocaleTextCalendar` and :class:"
"`calendar.LocaleHTMLCalendar` classes now use :func:`locale.getlocale`, "
"instead of using :func:`locale.getdefaultlocale`, if no locale is specified. "
"(Contributed by Victor Stinner in :issue:`46659`.)"
msgstr ""

#: whatsnew/3.11.rst:2043
msgid ""
"The :mod:`pdb` module now reads the :file:`.pdbrc` configuration file with "
"the ``'UTF-8'`` encoding. (Contributed by Srinivas Reddy Thatiparthy (శ్రీనివాస్  "
"రెడ్డి తాటిపర్తి) in :issue:`41137`.)"
msgstr ""

#: whatsnew/3.11.rst:2047
msgid ""
"The *population* parameter of :func:`random.sample` must be a sequence, and "
"automatic conversion of :class:`set`\\s to :class:`list`\\s is no longer "
"supported. Also, if the sample size is larger than the population size, a :"
"exc:`ValueError` is raised. (Contributed by Raymond Hettinger in :issue:"
"`40465`.)"
msgstr ""

#: whatsnew/3.11.rst:2053
msgid ""
"The *random* optional parameter of :func:`random.shuffle` was removed. It "
"was previously an arbitrary random function to use for the shuffle; now, :"
"func:`random.random` (its previous default) will always be used."
msgstr ""

#: whatsnew/3.11.rst:2057
msgid ""
"In :mod:`re` :ref:`re-syntax`, global inline flags (e.g. ``(?i)``) can now "
"only be used at the start of regular expressions. Using them elsewhere has "
"been deprecated since Python 3.6. (Contributed by Serhiy Storchaka in :issue:"
"`47066`.)"
msgstr ""

#: whatsnew/3.11.rst:2062
msgid ""
"In the :mod:`re` module, several long-standing bugs where fixed that, in "
"rare cases, could cause capture groups to get the wrong result. Therefore, "
"this could change the captured output in these cases. (Contributed by Ma Lin "
"in :issue:`35859`.)"
msgstr ""

#: whatsnew/3.11.rst:2071
msgid "Build Changes"
msgstr "Changements à la compilation"

#: whatsnew/3.11.rst:2073
msgid ""
"CPython now has :pep:`11` :pep:`Tier 3 support <11#tier-3>` for cross "
"compiling to the `WebAssembly <https://webassembly.org/>`_ platforms "
"`Emscripten <https://emscripten.org/>`_ (``wasm32-unknown-emscripten``, i.e. "
"Python in the browser) and `WebAssembly System Interface (WASI) <https://"
"wasi.dev/>`_ (``wasm32-unknown-wasi``). The effort is inspired by previous "
"work like `Pyodide <https://pyodide.org/>`_. These platforms provide a "
"limited subset of POSIX APIs; Python standard libraries features and modules "
"related to networking, processes, threading, signals, mmap, and users/groups "
"are not available or don't work. (Emscripten contributed by Christian Heimes "
"and Ethan Smith in :gh:`84461` and WASI contributed by Christian Heimes in :"
"gh:`90473`; platforms promoted in :gh:`95085`)"
msgstr ""

#: whatsnew/3.11.rst:2087
msgid "Building Python now requires:"
msgstr ""

#: whatsnew/3.11.rst:2089
msgid ""
"A `C11 <https://en.cppreference.com/w/c/11>`_ compiler. `Optional C11 "
"features <https://en.wikipedia.org/wiki/"
"C11_(C_standard_revision)#Optional_features>`_ are not required. "
"(Contributed by Victor Stinner in :issue:`46656`.)"
msgstr ""

#: whatsnew/3.11.rst:2095
msgid ""
"Support for `IEEE 754 <https://en.wikipedia.org/wiki/IEEE_754>`_ floating "
"point numbers. (Contributed by Victor Stinner in :issue:`46917`.)"
msgstr ""

#: whatsnew/3.11.rst:2099
msgid ""
"Support for `floating point Not-a-Number (NaN) <https://en.wikipedia.org/"
"wiki/NaN#Floating_point>`_, as the :c:macro:`!Py_NO_NAN` macro has been "
"removed. (Contributed by Victor Stinner in :issue:`46656`.)"
msgstr ""

#: whatsnew/3.11.rst:2104
msgid ""
"A `C99 <https://en.cppreference.com/w/c/99>`_ ``<math.h>`` header file "
"providing the :c:func:`!copysign`, :c:func:`!hypot`, :c:func:`!isfinite`, :c:"
"func:`!isinf`, :c:func:`!isnan`, and :c:func:`!round` functions (contributed "
"by Victor Stinner in :issue:`45440`); and a :c:data:`!NAN` constant or the :"
"c:func:`!__builtin_nan` function (Contributed by Victor Stinner in :issue:"
"`46640`)."
msgstr ""

#: whatsnew/3.11.rst:2112
msgid ""
"The :mod:`tkinter` package now requires `Tcl/Tk <https://www.tcl.tk>`_ "
"version 8.5.12 or newer. (Contributed by Serhiy Storchaka in :issue:`46996`.)"
msgstr ""

#: whatsnew/3.11.rst:2116
msgid ""
"Build dependencies, compiler flags, and linker flags for most stdlib "
"extension modules are now detected by :program:`configure`. libffi, libnsl, "
"libsqlite3, zlib, bzip2, liblzma, libcrypt, Tcl/Tk, and uuid flags are "
"detected by `pkg-config <https://www.freedesktop.org/wiki/Software/pkg-"
"config/>`_ (when available). :mod:`tkinter` now requires a pkg-config "
"command to detect development settings for `Tcl/Tk`_ headers and libraries. "
"(Contributed by Christian Heimes and Erlend Egeberg Aasland in :issue:"
"`45847`, :issue:`45747`, and :issue:`45763`.)"
msgstr ""

#: whatsnew/3.11.rst:2126
msgid ""
"libpython is no longer linked against libcrypt. (Contributed by Mike Gilbert "
"in :issue:`45433`.)"
msgstr ""

#: whatsnew/3.11.rst:2129
msgid ""
"CPython can now be built with the `ThinLTO <https://clang.llvm.org/docs/"
"ThinLTO.html>`_ option via passing ``thin`` to :option:`--with-lto`, i.e. "
"``--with-lto=thin``. (Contributed by Dong-hee Na and Brett Holman in :issue:"
"`44340`.)"
msgstr ""

#: whatsnew/3.11.rst:2134
msgid ""
"Freelists for object structs can now be disabled. A new :program:`configure` "
"option :option:`!--without-freelists` can be used to disable all freelists "
"except empty tuple singleton. (Contributed by Christian Heimes in :issue:"
"`45522`.)"
msgstr ""

#: whatsnew/3.11.rst:2139
msgid ""
"``Modules/Setup`` and ``Modules/makesetup`` have been improved and tied up. "
"Extension modules can now be built through ``makesetup``. All except some "
"test modules can be linked statically into a main binary or library. "
"(Contributed by Brett Cannon and Christian Heimes in :issue:`45548`, :issue:"
"`45570`, :issue:`45571`, and :issue:`43974`.)"
msgstr ""

#: whatsnew/3.11.rst:2146
msgid ""
"Use the environment variables :envvar:`!TCLTK_CFLAGS` and :envvar:`!"
"TCLTK_LIBS` to manually specify the location of Tcl/Tk headers and "
"libraries. The :program:`configure` options :option:`!--with-tcltk-includes` "
"and :option:`!--with-tcltk-libs` have been removed."
msgstr ""

#: whatsnew/3.11.rst:2152
msgid ""
"On RHEL 7 and CentOS 7 the development packages do not provide ``tcl.pc`` "
"and ``tk.pc``; use ``TCLTK_LIBS=\"-ltk8.5 -ltkstub8.5 -ltcl8.5\"``. The "
"directory ``Misc/rhel7`` contains ``.pc`` files and instructions on how to "
"build Python with RHEL 7's and CentOS 7's Tcl/Tk and OpenSSL."
msgstr ""

#: whatsnew/3.11.rst:2157
msgid ""
"CPython will now use 30-bit digits by default for the Python :class:`int` "
"implementation. Previously, the default was to use 30-bit digits on "
"platforms with ``SIZEOF_VOID_P >= 8``, and 15-bit digits otherwise. It's "
"still possible to explicitly request use of 15-bit digits via either the :"
"option:`--enable-big-digits` option to the configure script or (for Windows) "
"the ``PYLONG_BITS_IN_DIGIT`` variable in ``PC/pyconfig.h``, but this option "
"may be removed at some point in the future. (Contributed by Mark Dickinson "
"in :issue:`45569`.)"
msgstr ""

#: whatsnew/3.11.rst:2170
msgid "C API Changes"
msgstr "Changements à l'API C"

#: whatsnew/3.11.rst:2177
msgid ""
"Add a new :c:func:`PyType_GetName` function to get type's short name. "
"(Contributed by Hai Shi in :issue:`42035`.)"
msgstr ""

#: whatsnew/3.11.rst:2180
msgid ""
"Add a new :c:func:`PyType_GetQualName` function to get type's qualified "
"name. (Contributed by Hai Shi in :issue:`42035`.)"
msgstr ""

#: whatsnew/3.11.rst:2183
msgid ""
"Add new :c:func:`PyThreadState_EnterTracing` and :c:func:"
"`PyThreadState_LeaveTracing` functions to the limited C API to suspend and "
"resume tracing and profiling. (Contributed by Victor Stinner in :issue:"
"`43760`.)"
msgstr ""

#: whatsnew/3.11.rst:2188
msgid ""
"Added the :c:data:`Py_Version` constant which bears the same value as :c:"
"macro:`PY_VERSION_HEX`. (Contributed by  Gabriele N. Tornetta in :issue:"
"`43931`.)"
msgstr ""

#: whatsnew/3.11.rst:2192
msgid ""
":c:type:`Py_buffer` and APIs are now part of the limited API and the stable "
"ABI:"
msgstr ""

#: whatsnew/3.11.rst:2195
msgid ":c:func:`PyObject_CheckBuffer`"
msgstr ""

#: whatsnew/3.11.rst:2196
msgid ":c:func:`PyObject_GetBuffer`"
msgstr ""

#: whatsnew/3.11.rst:2197
msgid ":c:func:`PyBuffer_GetPointer`"
msgstr ""

#: whatsnew/3.11.rst:2198
msgid ":c:func:`PyBuffer_SizeFromFormat`"
msgstr ""

#: whatsnew/3.11.rst:2199
msgid ":c:func:`PyBuffer_ToContiguous`"
msgstr ""

#: whatsnew/3.11.rst:2200
msgid ":c:func:`PyBuffer_FromContiguous`"
msgstr ""

#: whatsnew/3.11.rst:2201
msgid ":c:func:`PyBuffer_CopyData`"
msgstr ""

#: whatsnew/3.11.rst:2202
msgid ":c:func:`PyBuffer_IsContiguous`"
msgstr ""

#: whatsnew/3.11.rst:2203
msgid ":c:func:`PyBuffer_FillContiguousStrides`"
msgstr ""

#: whatsnew/3.11.rst:2204
msgid ":c:func:`PyBuffer_FillInfo`"
msgstr ""

#: whatsnew/3.11.rst:2205
msgid ":c:func:`PyBuffer_Release`"
msgstr ""

#: whatsnew/3.11.rst:2206
msgid ":c:func:`PyMemoryView_FromBuffer`"
msgstr ""

#: whatsnew/3.11.rst:2207
msgid ""
":c:member:`~PyBufferProcs.bf_getbuffer` and :c:member:`~PyBufferProcs."
"bf_releasebuffer` type slots"
msgstr ""

#: whatsnew/3.11.rst:2210
msgid "(Contributed by Christian Heimes in :issue:`45459`.)"
msgstr ""

#: whatsnew/3.11.rst:2212
msgid ""
"Added the :c:data:`PyType_GetModuleByDef` function, used to get the module "
"in which a method was defined, in cases where this information is not "
"available directly (via :c:type:`PyCMethod`). (Contributed by Petr Viktorin "
"in :issue:`46613`.)"
msgstr ""

#: whatsnew/3.11.rst:2217
msgid ""
"Add new functions to pack and unpack C double (serialize and deserialize): :"
"c:func:`PyFloat_Pack2`, :c:func:`PyFloat_Pack4`, :c:func:`PyFloat_Pack8`, :c:"
"func:`PyFloat_Unpack2`, :c:func:`PyFloat_Unpack4` and :c:func:"
"`PyFloat_Unpack8`. (Contributed by Victor Stinner in :issue:`46906`.)"
msgstr ""

#: whatsnew/3.11.rst:2223
msgid ""
"Add new functions to get frame object attributes: :c:func:"
"`PyFrame_GetBuiltins`, :c:func:`PyFrame_GetGenerator`, :c:func:"
"`PyFrame_GetGlobals`, :c:func:`PyFrame_GetLasti`."
msgstr ""

#: whatsnew/3.11.rst:2227
msgid ""
"Added two new functions to get and set the active exception instance: :c:"
"func:`PyErr_GetHandledException` and :c:func:`PyErr_SetHandledException`. "
"These are alternatives to :c:func:`PyErr_SetExcInfo()` and :c:func:"
"`PyErr_GetExcInfo()` which work with the legacy 3-tuple representation of "
"exceptions. (Contributed by Irit Katriel in :issue:`46343`.)"
msgstr ""

#: whatsnew/3.11.rst:2234
msgid ""
"Added the :c:member:`PyConfig.safe_path` member. (Contributed by Victor "
"Stinner in :gh:`57684`.)"
msgstr ""

#: whatsnew/3.11.rst:2245
msgid ""
"Some macros have been converted to static inline functions to avoid `macro "
"pitfalls <https://gcc.gnu.org/onlinedocs/cpp/Macro-Pitfalls.html>`_. The "
"change should be mostly transparent to users, as the replacement functions "
"will cast their arguments to the expected types to avoid compiler warnings "
"due to static type checks. However, when the limited C API is set to >=3.11, "
"these casts are not done, and callers will need to cast arguments to their "
"expected types. See :pep:`670` for more details. (Contributed by Victor "
"Stinner and Erlend E. Aasland in :gh:`89653`.)"
msgstr ""

#: whatsnew/3.11.rst:2256
msgid ""
":c:func:`PyErr_SetExcInfo()` no longer uses the ``type`` and ``traceback`` "
"arguments, the interpreter now derives those values from the exception "
"instance (the ``value`` argument). The function still steals references of "
"all three arguments. (Contributed by Irit Katriel in :issue:`45711`.)"
msgstr ""

#: whatsnew/3.11.rst:2262
msgid ""
":c:func:`PyErr_GetExcInfo()` now derives the ``type`` and ``traceback`` "
"fields of the result from the exception instance (the ``value`` field). "
"(Contributed by Irit Katriel in :issue:`45711`.)"
msgstr ""

#: whatsnew/3.11.rst:2266
msgid ""
":c:struct:`_frozen` has a new ``is_package`` field to indicate whether or "
"not the frozen module is a package.  Previously, a negative value in the "
"``size`` field was the indicator.  Now only non-negative values be used for "
"``size``. (Contributed by Kumar Aditya in :issue:`46608`.)"
msgstr ""

#: whatsnew/3.11.rst:2272
msgid ""
":c:func:`_PyFrameEvalFunction` now takes ``_PyInterpreterFrame*`` as its "
"second parameter, instead of ``PyFrameObject*``. See :pep:`523` for more "
"details of how to use this function pointer type."
msgstr ""

#: whatsnew/3.11.rst:2276
msgid ""
":c:func:`PyCode_New` and :c:func:`PyCode_NewWithPosOnlyArgs` now take an "
"additional ``exception_table`` argument. Using these functions should be "
"avoided, if at all possible. To get a custom code object: create a code "
"object using the compiler, then get a modified version with the ``replace`` "
"method."
msgstr ""

#: whatsnew/3.11.rst:2282
msgid ""
":c:type:`PyCodeObject` no longer has the ``co_code``, ``co_varnames``, "
"``co_cellvars`` and ``co_freevars`` fields.  Instead, use :c:func:"
"`PyCode_GetCode`, :c:func:`PyCode_GetVarnames`, :c:func:`PyCode_GetCellvars` "
"and :c:func:`PyCode_GetFreevars` respectively to access them via the C API. "
"(Contributed by Brandt Bucher in :issue:`46841` and Ken Jin in :gh:`92154` "
"and :gh:`94936`.)"
msgstr ""

#: whatsnew/3.11.rst:2290
msgid ""
"The old trashcan macros (``Py_TRASHCAN_SAFE_BEGIN``/"
"``Py_TRASHCAN_SAFE_END``) are now deprecated. They should be replaced by the "
"new macros ``Py_TRASHCAN_BEGIN`` and ``Py_TRASHCAN_END``."
msgstr ""

#: whatsnew/3.11.rst:2294
msgid "A tp_dealloc function that has the old macros, such as::"
msgstr ""

#: whatsnew/3.11.rst:2305
msgid "should migrate to the new macros as follows::"
msgstr ""

#: whatsnew/3.11.rst:2316
msgid ""
"Note that ``Py_TRASHCAN_BEGIN`` has a second argument which should be the "
"deallocation function it is in."
msgstr ""

#: whatsnew/3.11.rst:2319
msgid ""
"To support older Python versions in the same codebase, you can define the "
"following macros and use them throughout the code (credit: these were copied "
"from the ``mypy`` codebase)::"
msgstr ""

#: whatsnew/3.11.rst:2331
msgid ""
"The :c:func:`PyType_Ready` function now raises an error if a type is defined "
"with the :const:`Py_TPFLAGS_HAVE_GC` flag set but has no traverse function (:"
"c:member:`PyTypeObject.tp_traverse`). (Contributed by Victor Stinner in :"
"issue:`44263`.)"
msgstr ""

#: whatsnew/3.11.rst:2336
msgid ""
"Heap types with the :const:`Py_TPFLAGS_IMMUTABLETYPE` flag can now inherit "
"the :pep:`590` vectorcall protocol.  Previously, this was only possible for :"
"ref:`static types <static-types>`. (Contributed by Erlend E. Aasland in :"
"issue:`43908`)"
msgstr ""

#: whatsnew/3.11.rst:2341
msgid ""
"Since :c:func:`Py_TYPE()` is changed to a inline static function, "
"``Py_TYPE(obj) = new_type`` must be replaced with ``Py_SET_TYPE(obj, "
"new_type)``: see the :c:func:`Py_SET_TYPE()` function (available since "
"Python 3.9). For backward compatibility, this macro can be used::"
msgstr ""

#: whatsnew/3.11.rst:2367
msgid "(Contributed by Victor Stinner in :issue:`39573`.)"
msgstr ""

#: whatsnew/3.11.rst:2355
msgid ""
"Since :c:func:`Py_SIZE()` is changed to a inline static function, "
"``Py_SIZE(obj) = new_size`` must be replaced with ``Py_SET_SIZE(obj, "
"new_size)``: see the :c:func:`Py_SET_SIZE()` function (available since "
"Python 3.9). For backward compatibility, this macro can be used::"
msgstr ""

#: whatsnew/3.11.rst:2369
msgid ""
"``<Python.h>`` no longer includes the header files ``<stdlib.h>``, ``<stdio."
"h>``, ``<errno.h>`` and ``<string.h>`` when the ``Py_LIMITED_API`` macro is "
"set to ``0x030b0000`` (Python 3.11) or higher. C extensions should "
"explicitly include the header files after ``#include <Python.h>``. "
"(Contributed by Victor Stinner in :issue:`45434`.)"
msgstr ""

#: whatsnew/3.11.rst:2375
msgid ""
"The non-limited API files ``cellobject.h``, ``classobject.h``, ``code.h``, "
"``context.h``, ``funcobject.h``, ``genobject.h`` and ``longintrepr.h`` have "
"been moved to the ``Include/cpython`` directory. Moreover, the ``eval.h`` "
"header file was removed. These files must not be included directly, as they "
"are already included in ``Python.h``: :ref:`Include Files <api-includes>`. "
"If they have been included directly, consider including ``Python.h`` "
"instead. (Contributed by Victor Stinner in :issue:`35134`.)"
msgstr ""

#: whatsnew/3.11.rst:2383
msgid ""
"The :c:func:`PyUnicode_CHECK_INTERNED` macro has been excluded from the "
"limited C API. It was never usable there, because it used internal "
"structures which are not available in the limited C API. (Contributed by "
"Victor Stinner in :issue:`46007`.)"
msgstr ""

#: whatsnew/3.11.rst:2388
msgid ""
"The following frame functions and type are now directly available with "
"``#include <Python.h>``, it's no longer needed to add ``#include "
"<frameobject.h>``:"
msgstr ""

#: whatsnew/3.11.rst:2392
msgid ":c:func:`PyFrame_Check`"
msgstr ""

#: whatsnew/3.11.rst:2393
msgid ":c:func:`PyFrame_GetBack`"
msgstr ""

#: whatsnew/3.11.rst:2394
msgid ":c:func:`PyFrame_GetBuiltins`"
msgstr ""

#: whatsnew/3.11.rst:2395
msgid ":c:func:`PyFrame_GetGenerator`"
msgstr ""

#: whatsnew/3.11.rst:2396
msgid ":c:func:`PyFrame_GetGlobals`"
msgstr ""

#: whatsnew/3.11.rst:2397
msgid ":c:func:`PyFrame_GetLasti`"
msgstr ""

#: whatsnew/3.11.rst:2398
msgid ":c:func:`PyFrame_GetLocals`"
msgstr ""

#: whatsnew/3.11.rst:2399
msgid ":c:type:`PyFrame_Type`"
msgstr ""

#: whatsnew/3.11.rst:2401
msgid "(Contributed by Victor Stinner in :gh:`93937`.)"
msgstr ""

#: whatsnew/3.11.rst:2405
msgid ""
"The :c:type:`PyFrameObject` structure members have been removed from the "
"public C API."
msgstr ""

#: whatsnew/3.11.rst:2408
msgid ""
"While the documentation notes that the :c:type:`PyFrameObject` fields are "
"subject to change at any time, they have been stable for a long time and "
"were used in several popular extensions."
msgstr ""

#: whatsnew/3.11.rst:2412
msgid ""
"In Python 3.11, the frame struct was reorganized to allow performance "
"optimizations. Some fields were removed entirely, as they were details of "
"the old implementation."
msgstr ""

#: whatsnew/3.11.rst:2416
msgid ":c:type:`PyFrameObject` fields:"
msgstr ""

#: whatsnew/3.11.rst:2418
msgid "``f_back``: use :c:func:`PyFrame_GetBack`."
msgstr ""

#: whatsnew/3.11.rst:2419
msgid "``f_blockstack``: removed."
msgstr ""

#: whatsnew/3.11.rst:2420
msgid "``f_builtins``: use :c:func:`PyFrame_GetBuiltins`."
msgstr ""

#: whatsnew/3.11.rst:2421
msgid "``f_code``: use :c:func:`PyFrame_GetCode`."
msgstr ""

#: whatsnew/3.11.rst:2422
msgid "``f_gen``: use :c:func:`PyFrame_GetGenerator`."
msgstr ""

#: whatsnew/3.11.rst:2423
msgid "``f_globals``: use :c:func:`PyFrame_GetGlobals`."
msgstr ""

#: whatsnew/3.11.rst:2424
msgid "``f_iblock``: removed."
msgstr ""

#: whatsnew/3.11.rst:2425
msgid ""
"``f_lasti``: use :c:func:`PyFrame_GetLasti`. Code using ``f_lasti`` with "
"``PyCode_Addr2Line()`` should use :c:func:`PyFrame_GetLineNumber` instead; "
"it may be faster."
msgstr ""

#: whatsnew/3.11.rst:2428
msgid "``f_lineno``: use :c:func:`PyFrame_GetLineNumber`"
msgstr ""

#: whatsnew/3.11.rst:2429
msgid "``f_locals``: use :c:func:`PyFrame_GetLocals`."
msgstr ""

#: whatsnew/3.11.rst:2430
msgid "``f_stackdepth``: removed."
msgstr ""

#: whatsnew/3.11.rst:2431
msgid "``f_state``: no public API (renamed to ``f_frame.f_state``)."
msgstr ""

#: whatsnew/3.11.rst:2432
msgid "``f_trace``: no public API."
msgstr ""

#: whatsnew/3.11.rst:2433
msgid ""
"``f_trace_lines``: use ``PyObject_GetAttrString((PyObject*)frame, "
"\"f_trace_lines\")``."
msgstr ""

#: whatsnew/3.11.rst:2434
msgid ""
"``f_trace_opcodes``: use ``PyObject_GetAttrString((PyObject*)frame, "
"\"f_trace_opcodes\")``."
msgstr ""

#: whatsnew/3.11.rst:2435
msgid "``f_localsplus``: no public API (renamed to ``f_frame.localsplus``)."
msgstr ""

#: whatsnew/3.11.rst:2436
msgid "``f_valuestack``: removed."
msgstr ""

#: whatsnew/3.11.rst:2438
msgid ""
"The Python frame object is now created lazily. A side effect is that the "
"``f_back`` member must not be accessed directly, since its value is now also "
"computed lazily. The :c:func:`PyFrame_GetBack` function must be called "
"instead."
msgstr ""

#: whatsnew/3.11.rst:2443
msgid ""
"Debuggers that accessed the ``f_locals`` directly *must* call :c:func:"
"`PyFrame_GetLocals` instead. They no longer need to call :c:func:"
"`PyFrame_FastToLocalsWithError` or :c:func:`PyFrame_LocalsToFast`, in fact "
"they should not call those functions. The necessary updating of the frame is "
"now managed by the virtual machine."
msgstr ""

#: whatsnew/3.11.rst:2449
msgid "Code defining ``PyFrame_GetCode()`` on Python 3.8 and older::"
msgstr ""

#: whatsnew/3.11.rst:2459
msgid "Code defining ``PyFrame_GetBack()`` on Python 3.8 and older::"
msgstr ""

#: whatsnew/3.11.rst:2469
msgid ""
"Or use the `pythoncapi_compat project <https://github.com/python/"
"pythoncapi_compat>`__ to get these two functions on older Python versions."
msgstr ""

#: whatsnew/3.11.rst:2473
msgid "Changes of the :c:type:`PyThreadState` structure members:"
msgstr ""

#: whatsnew/3.11.rst:2475
msgid ""
"``frame``: removed, use :c:func:`PyThreadState_GetFrame` (function added to "
"Python 3.9 by :issue:`40429`). Warning: the function returns a :term:`strong "
"reference`, need to call :c:func:`Py_XDECREF`."
msgstr ""

#: whatsnew/3.11.rst:2479
msgid ""
"``tracing``: changed, use :c:func:`PyThreadState_EnterTracing` and :c:func:"
"`PyThreadState_LeaveTracing` (functions added to Python 3.11 by :issue:"
"`43760`)."
msgstr ""

#: whatsnew/3.11.rst:2482
msgid ""
"``recursion_depth``: removed, use ``(tstate->recursion_limit - tstate-"
">recursion_remaining)`` instead."
msgstr ""

#: whatsnew/3.11.rst:2484
msgid "``stackcheck_counter``: removed."
msgstr ""

#: whatsnew/3.11.rst:2486
msgid "Code defining ``PyThreadState_GetFrame()`` on Python 3.8 and older::"
msgstr ""

#: whatsnew/3.11.rst:2496
msgid ""
"Code defining ``PyThreadState_EnterTracing()`` and "
"``PyThreadState_LeaveTracing()`` on Python 3.10 and older::"
msgstr ""

#: whatsnew/3.11.rst:2522
msgid ""
"Or use `the pythoncapi_compat project <https://github.com/python/"
"pythoncapi_compat>`__ to get these functions on old Python functions."
msgstr ""

#: whatsnew/3.11.rst:2526
msgid ""
"Distributors are encouraged to build Python with the optimized Blake2 "
"library `libb2`_."
msgstr ""

#: whatsnew/3.11.rst:2529
msgid ""
"The :c:member:`PyConfig.module_search_paths_set` field must now be set to 1 "
"for initialization to use :c:member:`PyConfig.module_search_paths` to "
"initialize :data:`sys.path`. Otherwise, initialization will recalculate the "
"path and replace any values added to ``module_search_paths``."
msgstr ""

#: whatsnew/3.11.rst:2534
msgid ""
":c:func:`PyConfig_Read` no longer calculates the initial search path, and "
"will not fill any values into :c:member:`PyConfig.module_search_paths`. To "
"calculate default paths and then modify them, finish initialization and use :"
"c:func:`PySys_GetObject` to retrieve :data:`sys.path` as a Python list "
"object and modify it directly."
msgstr ""

#: whatsnew/3.11.rst:2545
msgid ""
"Deprecate the following functions to configure the Python initialization:"
msgstr ""

#: whatsnew/3.11.rst:2547
msgid ":c:func:`PySys_AddWarnOptionUnicode`"
msgstr ""

#: whatsnew/3.11.rst:2548
msgid ":c:func:`PySys_AddWarnOption`"
msgstr ""

#: whatsnew/3.11.rst:2549
msgid ":c:func:`PySys_AddXOption`"
msgstr ""

#: whatsnew/3.11.rst:2550
msgid ":c:func:`PySys_HasWarnOptions`"
msgstr ""

#: whatsnew/3.11.rst:2551
msgid ":c:func:`PySys_SetArgvEx`"
msgstr ""

#: whatsnew/3.11.rst:2552
msgid ":c:func:`PySys_SetArgv`"
msgstr ""

#: whatsnew/3.11.rst:2553
msgid ":c:func:`PySys_SetPath`"
msgstr ""

#: whatsnew/3.11.rst:2554
msgid ":c:func:`Py_SetPath`"
msgstr ""

#: whatsnew/3.11.rst:2555
msgid ":c:func:`Py_SetProgramName`"
msgstr ""

#: whatsnew/3.11.rst:2556
msgid ":c:func:`Py_SetPythonHome`"
msgstr ""

#: whatsnew/3.11.rst:2557
msgid ":c:func:`Py_SetStandardStreamEncoding`"
msgstr ""

#: whatsnew/3.11.rst:2558
msgid ":c:func:`_Py_SetProgramFullPath`"
msgstr ""

#: whatsnew/3.11.rst:2560
msgid ""
"Use the new :c:type:`PyConfig` API of the :ref:`Python Initialization "
"Configuration <init-config>` instead (:pep:`587`). (Contributed by Victor "
"Stinner in :gh:`88279`.)"
msgstr ""

#: whatsnew/3.11.rst:2564
msgid ""
"Deprecate the ``ob_shash`` member of the :c:type:`PyBytesObject`. Use :c:"
"func:`PyObject_Hash` instead. (Contributed by Inada Naoki in :issue:`46864`.)"
msgstr ""

#: whatsnew/3.11.rst:2573
msgid ""
"The following C APIs have been deprecated in earlier Python releases, and "
"will be removed in Python 3.12."
msgstr ""

#: whatsnew/3.11.rst:2576
msgid ":c:func:`PyUnicode_AS_DATA`"
msgstr ""

#: whatsnew/3.11.rst:2577
msgid ":c:func:`PyUnicode_AS_UNICODE`"
msgstr ""

#: whatsnew/3.11.rst:2578
msgid ":c:func:`PyUnicode_AsUnicodeAndSize`"
msgstr ""

#: whatsnew/3.11.rst:2579
msgid ":c:func:`PyUnicode_AsUnicode`"
msgstr ""

#: whatsnew/3.11.rst:2580
msgid ":c:func:`PyUnicode_FromUnicode`"
msgstr ""

#: whatsnew/3.11.rst:2581
msgid ":c:func:`PyUnicode_GET_DATA_SIZE`"
msgstr ""

#: whatsnew/3.11.rst:2582
msgid ":c:func:`PyUnicode_GET_SIZE`"
msgstr ""

#: whatsnew/3.11.rst:2583
msgid ":c:func:`PyUnicode_GetSize`"
msgstr ""

#: whatsnew/3.11.rst:2584
msgid ":c:func:`PyUnicode_IS_COMPACT`"
msgstr ""

#: whatsnew/3.11.rst:2585
msgid ":c:func:`PyUnicode_IS_READY`"
msgstr ""

#: whatsnew/3.11.rst:2586
msgid ":c:func:`PyUnicode_READY`"
msgstr ""

#: whatsnew/3.11.rst:2587
msgid ":c:func:`Py_UNICODE_WSTR_LENGTH`"
msgstr ""

#: whatsnew/3.11.rst:2588
msgid ":c:func:`_PyUnicode_AsUnicode`"
msgstr ""

#: whatsnew/3.11.rst:2589
msgid ":c:macro:`PyUnicode_WCHAR_KIND`"
msgstr ""

#: whatsnew/3.11.rst:2590
msgid ":c:type:`PyUnicodeObject`"
msgstr ""

#: whatsnew/3.11.rst:2591
msgid ":c:func:`PyUnicode_InternImmortal()`"
msgstr ""

#: whatsnew/3.11.rst:2599
msgid ""
":c:func:`PyFrame_BlockSetup` and :c:func:`PyFrame_BlockPop` have been "
"removed. (Contributed by Mark Shannon in :issue:`40222`.)"
msgstr ""

#: whatsnew/3.11.rst:2603
msgid "Remove the following math macros using the ``errno`` variable:"
msgstr ""

#: whatsnew/3.11.rst:2605
msgid "``Py_ADJUST_ERANGE1()``"
msgstr ""

#: whatsnew/3.11.rst:2606
msgid "``Py_ADJUST_ERANGE2()``"
msgstr ""

#: whatsnew/3.11.rst:2607
msgid "``Py_OVERFLOWED()``"
msgstr ""

#: whatsnew/3.11.rst:2608
msgid "``Py_SET_ERANGE_IF_OVERFLOW()``"
msgstr ""

#: whatsnew/3.11.rst:2609
msgid "``Py_SET_ERRNO_ON_MATH_ERROR()``"
msgstr ""

#: whatsnew/3.11.rst:2611
msgid "(Contributed by Victor Stinner in :issue:`45412`.)"
msgstr ""

#: whatsnew/3.11.rst:2613
msgid ""
"Remove ``Py_UNICODE_COPY()`` and ``Py_UNICODE_FILL()`` macros, deprecated "
"since Python 3.3. Use ``PyUnicode_CopyCharacters()`` or ``memcpy()`` "
"(``wchar_t*`` string), and ``PyUnicode_Fill()`` functions instead. "
"(Contributed by Victor Stinner in :issue:`41123`.)"
msgstr ""

#: whatsnew/3.11.rst:2618
msgid ""
"Remove the ``pystrhex.h`` header file. It only contains private functions. C "
"extensions should only include the main ``<Python.h>`` header file. "
"(Contributed by Victor Stinner in :issue:`45434`.)"
msgstr ""

#: whatsnew/3.11.rst:2622
msgid ""
"Remove the ``Py_FORCE_DOUBLE()`` macro. It was used by the "
"``Py_IS_INFINITY()`` macro. (Contributed by Victor Stinner in :issue:"
"`45440`.)"
msgstr ""

#: whatsnew/3.11.rst:2626
msgid ""
"The following items are no longer available when :c:macro:`Py_LIMITED_API` "
"is defined:"
msgstr ""

#: whatsnew/3.11.rst:2629
msgid ":c:func:`PyMarshal_WriteLongToFile`"
msgstr ""

#: whatsnew/3.11.rst:2630
msgid ":c:func:`PyMarshal_WriteObjectToFile`"
msgstr ""

#: whatsnew/3.11.rst:2631
msgid ":c:func:`PyMarshal_ReadObjectFromString`"
msgstr ""

#: whatsnew/3.11.rst:2632
msgid ":c:func:`PyMarshal_WriteObjectToString`"
msgstr ""

#: whatsnew/3.11.rst:2633
msgid "the ``Py_MARSHAL_VERSION`` macro"
msgstr ""

#: whatsnew/3.11.rst:2635
msgid "These are not part of the :ref:`limited API <stable-abi-list>`."
msgstr ""

#: whatsnew/3.11.rst:2637
msgid "(Contributed by Victor Stinner in :issue:`45474`.)"
msgstr ""

#: whatsnew/3.11.rst:2639
msgid ""
"Exclude :c:func:`PyWeakref_GET_OBJECT` from the limited C API. It never "
"worked since the :c:type:`PyWeakReference` structure is opaque in the "
"limited C API. (Contributed by Victor Stinner in :issue:`35134`.)"
msgstr ""

#: whatsnew/3.11.rst:2644
msgid ""
"Remove the ``PyHeapType_GET_MEMBERS()`` macro. It was exposed in the public "
"C API by mistake, it must only be used by Python internally. Use the "
"``PyTypeObject.tp_members`` member instead. (Contributed by Victor Stinner "
"in :issue:`40170`.)"
msgstr ""

#: whatsnew/3.11.rst:2649
msgid ""
"Remove the ``HAVE_PY_SET_53BIT_PRECISION`` macro (moved to the internal C "
"API). (Contributed by Victor Stinner in :issue:`45412`.)"
msgstr ""

#: whatsnew/3.11.rst:2655
msgid ""
"Remove the :c:type:`Py_UNICODE` encoder APIs, as they have been deprecated "
"since Python 3.3, are little used and are inefficient relative to the "
"recommended alternatives."
msgstr ""

#: whatsnew/3.11.rst:2660
msgid "The removed functions are:"
msgstr ""

#: whatsnew/3.11.rst:2662
msgid ":func:`!PyUnicode_Encode`"
msgstr ""

#: whatsnew/3.11.rst:2663
msgid ":func:`!PyUnicode_EncodeASCII`"
msgstr ""

#: whatsnew/3.11.rst:2664
msgid ":func:`!PyUnicode_EncodeLatin1`"
msgstr ""

#: whatsnew/3.11.rst:2665
msgid ":func:`!PyUnicode_EncodeUTF7`"
msgstr ""

#: whatsnew/3.11.rst:2666
msgid ":func:`!PyUnicode_EncodeUTF8`"
msgstr ""

#: whatsnew/3.11.rst:2667
msgid ":func:`!PyUnicode_EncodeUTF16`"
msgstr ""

#: whatsnew/3.11.rst:2668
msgid ":func:`!PyUnicode_EncodeUTF32`"
msgstr ""

#: whatsnew/3.11.rst:2669
msgid ":func:`!PyUnicode_EncodeUnicodeEscape`"
msgstr ""

#: whatsnew/3.11.rst:2670
msgid ":func:`!PyUnicode_EncodeRawUnicodeEscape`"
msgstr ""

#: whatsnew/3.11.rst:2671
msgid ":func:`!PyUnicode_EncodeCharmap`"
msgstr ""

#: whatsnew/3.11.rst:2672
msgid ":func:`!PyUnicode_TranslateCharmap`"
msgstr ""

#: whatsnew/3.11.rst:2673
msgid ":func:`!PyUnicode_EncodeDecimal`"
msgstr ""

#: whatsnew/3.11.rst:2674
msgid ":func:`!PyUnicode_TransformDecimalToASCII`"
msgstr ""

#: whatsnew/3.11.rst:2676
msgid ""
"See :pep:`624` for details and :pep:`migration guidance <624#alternative-"
"apis>`. (Contributed by Inada Naoki in :issue:`44029`.)"
msgstr ""

#~ msgid ""
#~ ":pep:`654`: Exception Groups and ``except*``. (Contributed by Irit "
#~ "Katriel in :issue:`45292`.)"
#~ msgstr ""
#~ ":pep:`654` : Groupes d'exceptions et instruction ``except*`` "
#~ "(contribution d'*Irit Katriel* dans :issue:`45292`)."

#~ msgid ":pep:`646`: Variadic generics."
#~ msgstr ""
#~ ":pep:`673` : Type ``Self`` (contribution de *James Hilton-Balfe* et de "
#~ "*Pradeep Kumar* dans :issue:`30924`)."

#~ msgid "Column information for code objects"
#~ msgstr "Information de colonnes pour les objets code"

#~ msgid ""
#~ "The :option:`-X` ``no_debug_ranges`` option and the environment variable :"
#~ "envvar:`PYTHONNODEBUGRANGES` can be used to disable this feature."
#~ msgstr ""
#~ "L'option :option:`-X` ``no_debug_ranges`` et la variable d'environnement :"
#~ "envvar:`PYTHONNODEBUGRANGES` permettent de désactiver cette "
#~ "fonctionnalité."

#~ msgid ""
#~ "\"Zero-cost\" exceptions are implemented. The cost of ``try`` statements "
#~ "is almost eliminated when no exception is raised. (Contributed by Mark "
#~ "Shannon in :issue:`40222`.)"
#~ msgstr ""
#~ "Les exceptions « gratuites » sont maintenant implémentées. Le coût des "
#~ "instructions ``try`` est pratiquement éliminé quand aucune exception "
#~ "n'est levée (contribution de *Mark Shannon* dans :issue:`40222`)."

#~ msgid "Changes in the Python API"
#~ msgstr "Changements dans l'API Python"
