# 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: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2022-05-23 00:49+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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"
"Last-Translator: Yannick Gingras <ygingras@ygingras.net>\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:48
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:50
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:54
msgid ""
"Prerelease users should be aware that this document is currently in draft "
"form. It will be updated substantially as Python 3.11 moves towards release, "
"so it's worth checking back even after reading earlier versions."
msgstr ""

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

#: whatsnew/3.11.rst:65
msgid ""
"Python 3.11 is up to 10-60% faster than Python 3.10. On average, we measured "
"a 1.25x speedup on the standard benchmark suite. See `Faster CPython`_ for "
"details."
msgstr ""

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

#: whatsnew/3.11.rst:72
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`)."

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

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

#: whatsnew/3.11.rst:78
msgid ""
":pep:`655`: Marking individual TypedDict items as required or potentially-"
"missing."
msgstr ""

#: whatsnew/3.11.rst:79
msgid ":pep:`673`: ``Self`` type."
msgstr ""

#: whatsnew/3.11.rst:80
msgid ":pep:`675`: Arbitrary literal string type."
msgstr ""

#: whatsnew/3.11.rst:82
msgid "Security improvements:"
msgstr ""

#: whatsnew/3.11.rst:84
msgid ""
"New :option:`-P` command line option and :envvar:`PYTHONSAFEPATH` "
"environment variable to not prepend a potentially unsafe path to :data:`sys."
"path` such as the current directory, the script's directory or an empty "
"string."
msgstr ""

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

#: whatsnew/3.11.rst:95
msgid "Enhanced error locations in tracebacks"
msgstr "Amélioration de l'emplacement des erreurs dans les traces d'appels"

#: whatsnew/3.11.rst:97
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:111
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 dictionary 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:132
msgid "as well as complex arithmetic expressions:"
msgstr "de même qu'avec les expressions arithmétiques complexes :"

#: whatsnew/3.11.rst:166
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:146
msgid ""
"This feature requires storing column positions in code objects which may "
"result in a small increase of disk usage of compiled Python files or "
"interpreter memory usage. To avoid storing the extra information and/or "
"deactivate printing the extra traceback information, the :option:`-X` "
"``no_debug_ranges`` command line flag or the :envvar:`PYTHONNODEBUGRANGES` "
"environment variable can be used."
msgstr ""

#: whatsnew/3.11.rst:154
msgid "Column information for code objects"
msgstr "Information de colonnes pour les objets code"

#: whatsnew/3.11.rst:156
msgid ""
"The information used by the enhanced traceback feature is made available as "
"a general API that can be used to correlate bytecode instructions with "
"source code. 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:160
msgid "The :meth:`codeobject.co_positions` method in Python."
msgstr "la méthode :meth:`codeobject.co_positions` en Python ;"

#: whatsnew/3.11.rst:161
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:163
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é."

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

#: whatsnew/3.11.rst:172
msgid ""
"The :meth:`add_note` method was added to :exc:`BaseException`. It can be "
"used to enrich exceptions with context information which is not available at "
"the time when the exception is raised. The notes added appear in the default "
"traceback. See :pep:`678` for more details. (Contributed by Irit Katriel in :"
"issue:`45607`.)"
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:182
msgid "New Features Related to Type Hints"
msgstr ""

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

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

#: whatsnew/3.11.rst:190
msgid ""
":pep:`484` introduced :data:`~typing.TypeVar`, enabling creation of generics "
"parameterised with a single type. :pep:`646` introduces :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. 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:201
msgid "See :pep:`646` for more details."
msgstr ""

#: whatsnew/3.11.rst:203
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:208
msgid ""
"PEP 655: Marking individual ``TypedDict`` items as required or not-required"
msgstr ""

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

#: whatsnew/3.11.rst:215
msgid ""
"Fields are still required by default, unless the ``total=False`` parameter "
"is set. For example, the following specifies a dictionary with one required "
"and one not-required key::"
msgstr ""

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

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

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

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

#: whatsnew/3.11.rst:242
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 :data:`~typing.TypeVar`-based approach specified in :pep:`484` "
"but is more concise and easier to follow."
msgstr ""

#: whatsnew/3.11.rst:247
msgid ""
"Common use cases include alternative constructors provided as classmethods "
"and :meth:`~object.__enter__` methods that return ``self``::"
msgstr ""

#: whatsnew/3.11.rst:264
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:267
msgid "See :pep:`673` for more details."
msgstr ""

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

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

#: whatsnew/3.11.rst:275
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:283
msgid "For example, a SQL query function could be annotated as follows::"
msgstr ""

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

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

#: whatsnew/3.11.rst:307
msgid "PEP 681: Data Class Transforms"
msgstr ""

#: whatsnew/3.11.rst:309
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:"
"`dataclasses.dataclass`-like behaviors."
msgstr ""

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

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

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

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

#: whatsnew/3.11.rst:342
msgid ""
"Starred expressions can be used in :ref:`for statements<for>`. (See :issue:"
"`46725` for more details.)"
msgstr ""

#: whatsnew/3.11.rst:345
msgid ""
"Asynchronous comprehensions are now allowed inside comprehensions in "
"asynchronous functions. Outer comprehensions implicitly become asynchronous. "
"(Contributed by Serhiy Storchaka in :issue:`33346`.)"
msgstr ""

#: whatsnew/3.11.rst:349
msgid ""
"A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` in :"
"meth:`contextlib.ExitStack.enter_context` and :meth:`contextlib."
"AsyncExitStack.enter_async_context` for objects which do not support the :"
"term:`context manager` or :term:`asynchronous context manager` protocols "
"correspondingly. (Contributed by Serhiy Storchaka in :issue:`44471`.)"
msgstr ""

#: whatsnew/3.11.rst:356
msgid ""
"A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` in :"
"keyword:`with` and :keyword:`async with` statements for objects which do not "
"support the :term:`context manager` or :term:`asynchronous context manager` "
"protocols correspondingly. (Contributed by Serhiy Storchaka in :issue:"
"`12022`.)"
msgstr ""

#: whatsnew/3.11.rst:362
msgid ""
"Added :meth:`object.__getstate__` which provides the default implementation "
"of the ``__getstate__()`` method.  :mod:`Copying <copy>` and :mod:`pickling "
"<pickle>` 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:371
msgid ""
"Add :option:`-P` command line option and :envvar:`PYTHONSAFEPATH` "
"environment variable to not prepend a potentially unsafe path to :data:`sys."
"path` such as the current directory, the script's directory or an empty "
"string. (Contributed by Victor Stinner in :gh:`57684`.)"
msgstr ""

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

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

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

#: whatsnew/3.11.rst:390
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:396
msgid ""
"The interpreter state's representation of handled exceptions (a.k.a "
"exc_info, or _PyErr_StackItem) now has only the ``exc_value`` field, "
"``exc_type`` and ``exc_traceback`` have been removed as their values can be "
"derived from ``exc_value``. (Contributed by Irit Katriel in :issue:`45711`.)"
msgstr ""

#: whatsnew/3.11.rst:401
msgid ""
"A new command line option for the Windows installer ``AppendPath`` has been "
"added. It behaves similiar 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:1869
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:413
msgid "New Modules"
msgstr "Nouveaux modules"

#: whatsnew/3.11.rst:415
msgid ""
"A new module, :mod:`tomllib`, was added for parsing TOML. (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:418
msgid ""
":mod:`wsgiref.types`, containing WSGI-specific types for static type "
"checking, was added. (Contributed by Sebastian Rittau in :issue:`42012`.)"
msgstr ""

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

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

#: whatsnew/3.11.rst:429
msgid ""
"Add raw datagram socket functions to the event loop: :meth:`~asyncio."
"AbstractEventLoop.sock_sendto`, :meth:`~asyncio.AbstractEventLoop."
"sock_recvfrom` and :meth:`~asyncio.AbstractEventLoop.sock_recvfrom_into`. "
"(Contributed by Alex Grönholm in :issue:`46805`.)"
msgstr ""

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

#: whatsnew/3.11.rst:439
msgid ""
"Add :class:`~asyncio.Barrier` class to the synchronization primitives of the "
"asyncio library. (Contributed by Yves Duprat and Andrew Svetlov in :gh:"
"`87518`.)"
msgstr ""

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

#: whatsnew/3.11.rst:446
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:448
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:454
msgid "fractions"
msgstr "``fractions``"

#: whatsnew/3.11.rst:456
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:459
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:464
msgid "functools"
msgstr ""

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

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

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

#: whatsnew/3.11.rst:496
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:500
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:508
msgid "IDLE and idlelib"
msgstr "``IDLE`` et ``idlelib``"

#: whatsnew/3.11.rst:510
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:514
msgid "inspect"
msgstr "``inspect``"

#: whatsnew/3.11.rst:515
msgid ""
"Add :func:`inspect.getmembers_static`: 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:519
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:522
msgid ""
"Change the frame-related functions in the :mod:`inspect` module to return a "
"regular object (that is backwards compatible with the old tuple-like "
"interface) that include the extended :pep:`657` position information (end "
"line number, column and end column). The affected functions are: :func:"
"`inspect.getframeinfo`, :func:`inspect.getouterframes`, :func:`inspect."
"getinnerframes`, :func:`inspect.stack` and :func:`inspect.trace`. "
"(Contributed by Pablo Galindo in :gh:`88116`)"
msgstr ""

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

#: whatsnew/3.11.rst:533
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:538
msgid "math"
msgstr "``math``"

#: whatsnew/3.11.rst:540
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:543
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:546
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:552
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:557
msgid "operator"
msgstr "``operator``"

#: whatsnew/3.11.rst:559
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:565
msgid "os"
msgstr "``os``"

#: whatsnew/3.11.rst:567
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:573
msgid "pathlib"
msgstr ""

#: whatsnew/3.11.rst:575
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:581
msgid "re"
msgstr "``re``"

#: whatsnew/3.11.rst:583
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:588
msgid "shutil"
msgstr "``shutils``"

#: whatsnew/3.11.rst:590
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:595
msgid "socket"
msgstr "``socket``"

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

#: whatsnew/3.11.rst:600
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:606
msgid "sqlite3"
msgstr "``sqlite3``"

#: whatsnew/3.11.rst:608
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:612
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:617
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:623
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:628
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:632
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:638
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:642
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:647
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:651
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 ""

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

#: whatsnew/3.11.rst:659
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:665
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:669
msgid ""
"Add the :data:`sys.flags.safe_path <sys.flags>` flag. (Contributed by Victor "
"Stinner in :gh:`57684`.)"
msgstr ""

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

#: whatsnew/3.11.rst:676
msgid ""
"Two 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:691
msgid "threading"
msgstr "``threading``"

#: whatsnew/3.11.rst:693
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:702
msgid "time"
msgstr "``time``"

#: whatsnew/3.11.rst:704
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:710
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:718
msgid "typing"
msgstr ""

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

#: whatsnew/3.11.rst:722
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:728
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:733
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:738
msgid ""
":data:`typing.TypedDict` types can now be generic. (Contributed by Samodya "
"Abey in :gh:`89026`.)"
msgstr ""

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

#: whatsnew/3.11.rst:744
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:748
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:752
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:757
msgid ""
"The :meth:`__init__` method of :class:`~typing.Protocol` subclasses is now "
"preserved. (Contributed by Adrian Garcia Badarasco in :gh:`88970`.)"
msgstr ""

#: whatsnew/3.11.rst:760
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:765
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:769
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:773
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:777
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:781
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:787
msgid "tkinter"
msgstr ""

#: whatsnew/3.11.rst:789
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:795
msgid "unicodedata"
msgstr "``unicodedata``"

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

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

#: whatsnew/3.11.rst:803
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:813
msgid "venv"
msgstr "``venv``"

#: whatsnew/3.11.rst:815
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:826
msgid "warnings"
msgstr ""

#: whatsnew/3.11.rst:828
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:833
msgid "zipfile"
msgstr "``zipfile``"

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

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

#: whatsnew/3.11.rst:842
msgid ""
"On FreeBSD, the :attr:`F_DUP2FD` and :attr:`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:848
msgid "Optimizations"
msgstr "Optimisations"

#: whatsnew/3.11.rst:850
msgid ""
"Compiler now optimizes simple C-style formatting with literal format "
"containing only format codes ``%s``, ``%r`` and ``%a`` and makes it as fast "
"as corresponding f-string expression. (Contributed by Serhiy Storchaka in :"
"issue:`28307`.)"
msgstr ""

#: whatsnew/3.11.rst:855
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`)."

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

#: whatsnew/3.11.rst:862
msgid ""
":mod:`math` functions :func:`~math.comb` and :func:`~math.perm` are now up "
"to 10 times or more faster for large arguments (the speed up is larger for "
"larger *k*). (Contributed by Serhiy Storchaka in :issue:`37295`.)"
msgstr ""

#: whatsnew/3.11.rst:867
msgid ""
"Dict don't store hash value when all inserted keys are Unicode objects. This "
"reduces dict size. For example, ``sys.getsizeof(dict.fromkeys(\"abcdefg"
"\"))`` becomes 272 bytes from 352 bytes on 64bit platform. (Contributed by "
"Inada Naoki in :issue:`46845`.)"
msgstr ""

#: whatsnew/3.11.rst:872
msgid ""
":mod:`re`'s regular expression matching engine has been partially "
"refactored, and now uses computed gotos (or \"threaded code\") on supported "
"platforms. As a result, Python 3.11 executes the `pyperformance regular "
"expression benchmarks <https://pyperformance.readthedocs.io/benchmarks."
"html#regex-dna>`_ up to 10% faster than Python 3.10."
msgstr ""

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

#: whatsnew/3.11.rst:882
msgid ""
"CPython 3.11 is on average `25% faster <https://github.com/faster-cpython/"
"ideas/blob/main/main-vs-310.rst>`_ 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:888
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:892
msgid "Faster Startup"
msgstr ""

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

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

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

#: whatsnew/3.11.rst:906
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:914
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:917
msgid ""
"(Contributed by Eric Snow, Guido van Rossum and Kumar Aditya in numerous "
"issues.)"
msgstr ""

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

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

#: whatsnew/3.11.rst:925
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:928
msgid "Streamlined the frame creation process."
msgstr ""

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

#: whatsnew/3.11.rst:930
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:933
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:939
msgid "(Contributed by Mark Shannon in :issue:`44590`.)"
msgstr ""

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

#: whatsnew/3.11.rst:945
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:949
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:953
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:959
msgid "(Contributed by Pablo Galindo and Mark Shannon in :issue:`45256`.)"
msgstr ""

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

#: whatsnew/3.11.rst:963
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:967
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:974
msgid ""
"The specializer will also combine certain common instruction pairs into one "
"superinstruction. This reduces the overhead during execution."
msgstr ""

#: whatsnew/3.11.rst:977
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:984
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:992
msgid "Operation"
msgstr ""

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

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

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

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

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

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

#: whatsnew/3.11.rst:995
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:995
msgid "10%"
msgstr ""

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

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

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

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

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

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

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

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

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

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

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

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

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

#: whatsnew/3.11.rst:1010
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:1010
msgid "20%"
msgstr ""

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

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

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

#: whatsnew/3.11.rst:1016
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:1016
msgid "[1]_"
msgstr ""

#: whatsnew/3.11.rst:1020 whatsnew/3.11.rst:1029
msgid "Mark Shannon"
msgstr ""

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

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

#: whatsnew/3.11.rst:1020
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:1020
msgid "[2]_"
msgstr ""

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

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

#: whatsnew/3.11.rst:1025
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:1025
msgid "10-20%"
msgstr ""

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

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

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

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

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

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

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

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

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

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

#: whatsnew/3.11.rst:1036
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:1039
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:1045
msgid "Misc"
msgstr ""

#: whatsnew/3.11.rst:1047
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:1051
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:1056
msgid "FAQ"
msgstr ""

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

#: whatsnew/3.11.rst:1062
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:1065
msgid "Q: Will CPython 3.11 use more memory?"
msgstr ""

#: whatsnew/3.11.rst:1069
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:1072
msgid "Q: I don't see any speedups in my workload. Why?"
msgstr ""

#: whatsnew/3.11.rst:1077
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:1081
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:1084
msgid "Q: Is there a JIT compiler?"
msgstr ""

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

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

#: whatsnew/3.11.rst:1092
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:1099
msgid "CPython bytecode changes"
msgstr ""

#: whatsnew/3.11.rst:1101
msgid ""
"Replaced all numeric ``BINARY_*`` and ``INPLACE_*`` instructions with a "
"single :opcode:`BINARY_OP` implementation."
msgstr ""

#: whatsnew/3.11.rst:1104
msgid ""
"Replaced the three call instructions: :opcode:`CALL_FUNCTION`, :opcode:"
"`CALL_FUNCTION_KW` and :opcode:`CALL_METHOD` with :opcode:`PUSH_NULL`, :"
"opcode:`PRECALL`, :opcode:`CALL`, and :opcode:`KW_NAMES`. This decouples the "
"argument shifting for methods from the handling of keyword arguments and "
"allows better specialization of calls."
msgstr ""

#: whatsnew/3.11.rst:1111
msgid "Removed ``COPY_DICT_WITHOUT_KEYS`` and ``GEN_START``."
msgstr ""

#: whatsnew/3.11.rst:1113
msgid ""
":opcode:`MATCH_CLASS` and :opcode:`MATCH_KEYS` no longer push an additional "
"boolean value indicating whether the match succeeded or failed. Instead, "
"they indicate failure with :const:`None` (where a tuple of extracted values "
"would otherwise be)."
msgstr ""

#: whatsnew/3.11.rst:1118
msgid ""
"Replace several stack manipulation instructions (``DUP_TOP``, "
"``DUP_TOP_TWO``, ``ROT_TWO``, ``ROT_THREE``, ``ROT_FOUR``, and ``ROT_N``) "
"with new :opcode:`COPY` and :opcode:`SWAP` instructions."
msgstr ""

#: whatsnew/3.11.rst:1122
msgid ""
"Replaced :opcode:`JUMP_IF_NOT_EXC_MATCH` by :opcode:`CHECK_EXC_MATCH` which "
"performs the check but does not jump."
msgstr ""

#: whatsnew/3.11.rst:1125
msgid ""
"Replaced :opcode:`JUMP_IF_NOT_EG_MATCH` by :opcode:`CHECK_EG_MATCH` which "
"performs the check but does not jump."
msgstr ""

#: whatsnew/3.11.rst:1128
msgid ""
"Replaced :opcode:`JUMP_ABSOLUTE` by the relative :opcode:`JUMP_BACKWARD`."
msgstr ""

#: whatsnew/3.11.rst:1130
msgid ""
"Added :opcode:`JUMP_BACKWARD_NO_INTERRUPT`, which is used in certain loops "
"where it is undesirable to handle interrupts."
msgstr ""

#: whatsnew/3.11.rst:1133
msgid ""
"Replaced :opcode:`POP_JUMP_IF_TRUE` and :opcode:`POP_JUMP_IF_FALSE` by the "
"relative :opcode:`POP_JUMP_FORWARD_IF_TRUE`, :opcode:"
"`POP_JUMP_BACKWARD_IF_TRUE`, :opcode:`POP_JUMP_FORWARD_IF_FALSE` and :opcode:"
"`POP_JUMP_BACKWARD_IF_FALSE`."
msgstr ""

#: whatsnew/3.11.rst:1137
msgid ""
"Added :opcode:`POP_JUMP_FORWARD_IF_NOT_NONE`, :opcode:"
"`POP_JUMP_BACKWARD_IF_NOT_NONE`, :opcode:`POP_JUMP_FORWARD_IF_NONE` and :"
"opcode:`POP_JUMP_BACKWARD_IF_NONE` opcodes to speed up conditional jumps."
msgstr ""

#: whatsnew/3.11.rst:1141
msgid ""
":opcode:`JUMP_IF_TRUE_OR_POP` and :opcode:`JUMP_IF_FALSE_OR_POP` are now "
"relative rather than absolute."
msgstr ""

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

#: whatsnew/3.11.rst:1148
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 ``__wrapped__`` attribute that was added in Python 3.10. "
"(Contributed by Raymond Hettinger in :gh:`89519`.)"
msgstr ""

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

#: whatsnew/3.11.rst:1162
msgid ""
"The :mod:`lib2to3` package and ``2to3`` tool are now deprecated and may not "
"be able to parse Python 3.10 or newer. See the :pep:`617` (New PEG parser "
"for CPython).  (Contributed by Victor Stinner in :issue:`40360`.)"
msgstr ""

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

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

#: whatsnew/3.11.rst:1174
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:1178
msgid ""
"Deprecated the following :mod:`unittest` functions, scheduled for removal in "
"Python 3.13:"
msgstr ""

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: whatsnew/3.11.rst:1214
msgid ""
":class:`configparser.LegacyInterpolation` has been deprecated in the "
"docstring since Python 3.2. 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:1220
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 :issue:"
"`46659`.)"
msgstr ""

#: whatsnew/3.11.rst:1226
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 removed in Python 3.12 (:"
"pep:`594`). (Contributed by Hugo van Kemenade in :issue:`47022`.)"
msgstr ""

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: whatsnew/3.11.rst:1258
msgid ""
"More strict rules will be applied now applied for numerical group references "
"and group names in regular expressions in future Python versions. Only "
"sequence of ASCII digits will be now accepted as a numerical reference. The "
"group name in bytes patterns and replacement strings could only contain "
"ASCII letters and digits and underscore. For now, a deprecation warning is "
"raised for such syntax. (Contributed by Serhiy Storchaka in :gh:`91760`.)"
msgstr ""

#: whatsnew/3.11.rst:1266
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:1272
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:1278
msgid "Pending Removal in Python 3.12"
msgstr ""

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

#: whatsnew/3.11.rst:1283
msgid "Python API:"
msgstr ""

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

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

#: whatsnew/3.11.rst:1287
msgid ":envvar:`PYTHONTHREADDEBUG`"
msgstr ""

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

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

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

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

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

#: whatsnew/3.11.rst:1293
msgid ":meth:`importlib.abc.Loadermodule_repr`"
msgstr ""

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: whatsnew/3.11.rst:1312
msgid "C API:"
msgstr ""

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: whatsnew/3.11.rst:1335
msgid ""
":class:`smtpd.MailmanProxy` is now removed as it is unusable without an "
"external module, ``mailman``. (Contributed by Dong-hee Na in :issue:`35800`.)"
msgstr ""

#: whatsnew/3.11.rst:1338
msgid ""
"The ``binhex`` module, deprecated in Python 3.9, is now removed. The "
"following :mod:`binascii` functions, deprecated in Python 3.9, are now also "
"removed:"
msgstr ""

#: whatsnew/3.11.rst:1342
msgid "``a2b_hqx()``, ``b2a_hqx()``;"
msgstr ""

#: whatsnew/3.11.rst:1343
msgid "``rlecode_hqx()``, ``rledecode_hqx()``."
msgstr ""

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

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

#: whatsnew/3.11.rst:1349
msgid ""
"The distutils ``bdist_msi`` command, deprecated in Python 3.9, is now "
"removed. Use ``bdist_wheel`` (wheel packages) instead. (Contributed by Hugo "
"van Kemenade in :issue:`45124`.)"
msgstr ""

#: whatsnew/3.11.rst:1353
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:1359
msgid ""
"Removed :meth:`__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:1364
msgid ""
"The following deprecated functions and methods are removed in the :mod:"
"`gettext` module: :func:`~gettext.lgettext`, :func:`~gettext.ldgettext`, :"
"func:`~gettext.lngettext` and :func:`~gettext.ldngettext`."
msgstr ""

#: whatsnew/3.11.rst:1368
msgid ""
"Function :func:`~gettext.bind_textdomain_codeset`, methods :meth:`~gettext."
"NullTranslations.output_charset` and :meth:`~gettext.NullTranslations."
"set_output_charset`, and the *codeset* parameter of functions :func:"
"`~gettext.translation` and :func:`~gettext.install` are also removed, since "
"they are only used for the ``l*gettext()`` functions. (Contributed by Dong-"
"hee Na and Serhiy Storchaka in :issue:`44235`.)"
msgstr ""

#: whatsnew/3.11.rst:1376
msgid ""
"The :func:`@asyncio.coroutine <asyncio.coroutine>` :term:`decorator` "
"enabling legacy generator-based coroutines to be compatible with async/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:1382
msgid ""
":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:1386
msgid ""
"Removed the deprecated ``split()`` method of :class:`_tkinter.TkappType`. "
"(Contributed by Erlend E. Aasland in :issue:`38371`.)"
msgstr ""

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

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

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

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

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

#: whatsnew/3.11.rst:1405
msgid ""
"Remove namespace package support from 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:1409
msgid ""
"Remove ``__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:1413
msgid ""
"Remove the undocumented private ``float.__set_format__()`` method, "
"previously known as ``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:1612
msgid "Porting to Python 3.11"
msgstr "Portage vers Python 3.11"

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

#: whatsnew/3.11.rst:1427
msgid "Changes in the Python API"
msgstr "Changements dans l'API Python"

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

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

#: whatsnew/3.11.rst:1442
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:1446
msgid ""
"When sorting using tuples as keys, the order of the result may differ from "
"earlier releases if the tuple elements don't define a total ordering (see :"
"ref:`expressions-value-comparisons` for information on total ordering).  "
"It's generally true that the result of sorting simply isn't well-defined in "
"the absence of a total ordering on list elements."
msgstr ""

#: whatsnew/3.11.rst:1453
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:1459
msgid ""
"Global inline flags (e.g. ``(?i)``) can now only be used at the start of the "
"regular expressions.  Using them not at the start of expression was "
"deprecated since Python 3.6. (Contributed by Serhiy Storchaka in :issue:"
"`47066`.)"
msgstr ""

#: whatsnew/3.11.rst:1464
msgid ""
":mod:`re` module: Fix a few long-standing bugs where, in rare cases, "
"capturing group could get wrong result. So the result may be different than "
"before. (Contributed by Ma Lin in :issue:`35859`.)"
msgstr ""

#: whatsnew/3.11.rst:1469
msgid ""
"The *population* parameter of :func:`random.sample` must be a sequence. "
"Automatic conversion of sets to lists is no longer supported. 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:1476
msgid "Build Changes"
msgstr "Changements à la compilation"

#: whatsnew/3.11.rst:1478
msgid ""
"Building Python now requires a C11 compiler without optional C11 features. "
"(Contributed by Victor Stinner in :issue:`46656`.)"
msgstr ""

#: whatsnew/3.11.rst:1481
msgid ""
"Building Python now requires support of IEEE 754 floating point numbers. "
"(Contributed by Victor Stinner in :issue:`46917`.)"
msgstr ""

#: whatsnew/3.11.rst:1484
msgid ""
"CPython can now be built with the ThinLTO option via ``--with-lto=thin``. "
"(Contributed by Dong-hee Na and Brett Holman in :issue:`44340`.)"
msgstr ""

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

#: whatsnew/3.11.rst:1490
msgid ""
"Building Python now requires a C99 ``<math.h>`` header file providing the "
"following functions: ``copysign()``, ``hypot()``, ``isfinite()``, "
"``isinf()``, ``isnan()``, ``round()``. (Contributed by Victor Stinner in :"
"issue:`45440`.)"
msgstr ""

#: whatsnew/3.11.rst:1495
msgid ""
"Building Python now requires a C99 ``<math.h>`` header file providing a "
"``NAN`` constant, or the ``__builtin_nan()`` built-in function. (Contributed "
"by Victor Stinner in :issue:`46640`.)"
msgstr ""

#: whatsnew/3.11.rst:1499
msgid ""
"Building Python now requires support for floating point Not-a-Number (NaN): "
"remove the ``Py_NO_NAN`` macro. (Contributed by Victor Stinner in :issue:"
"`46656`.)"
msgstr ""

#: whatsnew/3.11.rst:1503
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:1508
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 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:1514
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 libs, and uuid flags are "
"detected by ``pkg-config`` (when available). (Contributed by Christian "
"Heimes and Erlend Egeberg Aasland in :issue:`45847`, :issue:`45747`, and :"
"issue:`45763`.)"
msgstr ""

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

#: whatsnew/3.11.rst:1527
msgid ""
"CPython now has experimental support for cross compiling to WebAssembly "
"platform ``wasm32-emscripten``. The effort is inspired by previous work like "
"Pyodide. (Contributed by Christian Heimes and Ethan Smith in :issue:`40280`.)"
msgstr ""

#: whatsnew/3.11.rst:1532
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 ``--"
"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:1541
msgid ""
"The :mod:`tkinter` package now requires Tcl/Tk version 8.5.12 or newer. "
"(Contributed by Serhiy Storchaka in :issue:`46996`.)"
msgstr ""

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

#: whatsnew/3.11.rst:1551
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:1554
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:1557
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:1562
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:1566
msgid ""
":c:type:`Py_buffer` and APIs are now part of the limited API and the stable "
"ABI:"
msgstr ""

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: whatsnew/3.11.rst:1586
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:1591
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:1597
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:1601
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:1608
msgid ""
"Added the :c:member:`PyConfig.safe_path` member. (Contributed by Victor "
"Stinner in :gh:`57684`.)"
msgstr ""

#: whatsnew/3.11.rst:1614
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:1620
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:1624
msgid ""
":c:type:`_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:1630
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:1634
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:1640
msgid ""
":c:type:`PyCodeObject` no longer has a ``co_code`` field.  Instead, use "
"``PyObject_GetAttrString(code_object, \"co_code\")`` or :c:func:"
"`PyCode_GetCode` to get the underlying bytes object. (Contributed by Brandt "
"Bucher in :issue:`46841` and Ken Jin in :gh:`92154`.)"
msgstr ""

#: whatsnew/3.11.rst:1645
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:1649
msgid "A tp_dealloc function that has the old macros, such as::"
msgstr ""

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

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

#: whatsnew/3.11.rst:1674
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:1686
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:1691
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:1696
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:1722
msgid "(Contributed by Victor Stinner in :issue:`39573`.)"
msgstr ""

#: whatsnew/3.11.rst:1710
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:1724
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:1730
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:1738
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:1745
msgid ""
"The :c:type:`PyFrameObject` structure members have been removed from the "
"public C API."
msgstr ""

#: whatsnew/3.11.rst:1748
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:1752
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:1756
msgid ":c:type:`PyFrameObject` fields:"
msgstr ""

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

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

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

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

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

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

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

#: whatsnew/3.11.rst:1765
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:1768
msgid "``f_lineno``: use :c:func:`PyFrame_GetLineNumber`"
msgstr ""

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

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

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

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

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

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

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

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

#: whatsnew/3.11.rst:1778
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:1783
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:1789
msgid "Code defining ``PyFrame_GetCode()`` on Python 3.8 and older::"
msgstr ""

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

#: whatsnew/3.11.rst:1809
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:1813
msgid "Changes of the :c:type:`PyThreadState` structure members:"
msgstr ""

#: whatsnew/3.11.rst:1815
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:1819
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:1822
msgid ""
"``recursion_depth``: removed, use ``(tstate->recursion_limit - tstate-"
">recursion_remaining)`` instead."
msgstr ""

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

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

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

#: whatsnew/3.11.rst:1862
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:1866
msgid ""
"Distributors are encouraged to build Python with the optimized Blake2 "
"library `libb2`_."
msgstr ""

#: whatsnew/3.11.rst:1874
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:1883
msgid ""
"Deprecate the following functions to configure the Python initialization:"
msgstr ""

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

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

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

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

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

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

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

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

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

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

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

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

#: whatsnew/3.11.rst:1898
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:1902
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:1908
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:1912
msgid "Remove the following math macros using the ``errno`` variable:"
msgstr ""

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

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

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

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

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

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

#: whatsnew/3.11.rst:1922
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:1927
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:1931
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:1935
msgid ""
"The following items are no longer available when :c:macro:`Py_LIMITED_API` "
"is defined:"
msgstr ""

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

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

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

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

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

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

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

#: whatsnew/3.11.rst:1948
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:1953
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:1958
msgid ""
"Remove the ``HAVE_PY_SET_53BIT_PRECISION`` macro (moved to the internal C "
"API). (Contributed by Victor Stinner in :issue:`45412`.)"
msgstr ""
