1
0
Fork 0
python-docs-fr/whatsnew/3.11.po

4324 lines
129 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2023-03-05 23:15+0100\n"
"Last-Translator: Mouna Sebti <mounasb@proton.me>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 3.2.1\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 "Version"
#: whatsnew/3.11.rst:5
msgid "|release|"
msgstr ""
#: whatsnew/3.11.rst:0
msgid "Date"
msgstr "Date"
#: whatsnew/3.11.rst:6
msgid "|today|"
msgstr ""
#: whatsnew/3.11.rst:0
msgid "Editor"
msgstr "Éditeur"
#: whatsnew/3.11.rst:7
msgid "Pablo Galindo Salgado"
msgstr ""
#: whatsnew/3.11.rst:49
msgid ""
"This article explains the new features in Python 3.11, compared to 3.10."
msgstr ""
"Cet article explique les nouvelles fonctionnalités de Python 3.11 par "
"rapport à la version 3.10."
#: whatsnew/3.11.rst:51
msgid "For full details, see the :ref:`changelog <changelog>`."
msgstr ""
"Pour plus de détails, voir le :ref:`journal des modifications <changelog>`."
#: whatsnew/3.11.rst:57
msgid "Summary -- Release highlights"
msgstr "Résumé Points forts de la publication"
#: whatsnew/3.11.rst:62
msgid ""
"Python 3.11 is between 10-60% faster than Python 3.10. On average, we "
"measured a 1.25x speedup on the standard benchmark suite. See :ref:"
"`whatsnew311-faster-cpython` for details."
msgstr ""
"Python 3.11 est entre 10 et 60 % plus rapide que Python 3.10. En moyenne, "
"nous avons mesuré une multiplication de la vitesse par 1,25 sur la suite de "
"benchmarks standards. Voir les détails sur :ref:`whatsnew311-faster-cpython`."
#: whatsnew/3.11.rst:68
msgid "New syntax features:"
msgstr "Nouvelles fonctionnalités de syntaxe :"
#: whatsnew/3.11.rst:70
msgid ":ref:`whatsnew311-pep654`"
msgstr ""
#: whatsnew/3.11.rst:72
msgid "New built-in features:"
msgstr "Nouvelles fonctionnalités natives :"
#: whatsnew/3.11.rst:74
msgid ":ref:`whatsnew311-pep678`"
msgstr ""
#: whatsnew/3.11.rst:76
msgid "New standard library modules:"
msgstr "Nouveaux modules de bibliothèque standard :"
#: whatsnew/3.11.rst:78
msgid ""
":pep:`680`: :mod:`tomllib` — Support for parsing `TOML <https://toml.io/>`_ "
"in the Standard Library"
msgstr ""
#: whatsnew/3.11.rst:81
msgid "Interpreter improvements:"
msgstr "Améliorations de l'interpréteur :"
#: whatsnew/3.11.rst:83
msgid ":ref:`whatsnew311-pep657`"
msgstr ""
#: whatsnew/3.11.rst:84
msgid ""
"New :option:`-P` command line option and :envvar:`PYTHONSAFEPATH` "
"environment variable to :ref:`disable automatically prepending potentially "
"unsafe paths <whatsnew311-pythonsafepath>` to :data:`sys.path`"
msgstr ""
#: whatsnew/3.11.rst:88
msgid "New typing features:"
msgstr "Nouvelles fonctionnalités de typage :"
#: whatsnew/3.11.rst:90
msgid ":ref:`whatsnew311-pep646`"
msgstr ""
#: whatsnew/3.11.rst:91
msgid ":ref:`whatsnew311-pep655`"
msgstr ""
#: whatsnew/3.11.rst:92
msgid ":ref:`whatsnew311-pep673`"
msgstr ""
#: whatsnew/3.11.rst:93
msgid ":ref:`whatsnew311-pep675`"
msgstr ""
#: whatsnew/3.11.rst:94
msgid ":ref:`whatsnew311-pep681`"
msgstr ""
#: whatsnew/3.11.rst:96
msgid "Important deprecations, removals and restrictions:"
msgstr ""
#: whatsnew/3.11.rst:98
msgid ""
":pep:`594`: :ref:`Many legacy standard library modules have been deprecated "
"<whatsnew311-pep594>` and will be removed in Python 3.13"
msgstr ""
":pep:`594` : :ref:`De nombreux anciens modules de la bibliothèque standard "
"sontdevenus obsolètes <whatsnew311-pep594>` et seront supprimés dans la "
"version 3.13"
#: whatsnew/3.11.rst:101
msgid ""
":pep:`624`: :ref:`Py_UNICODE encoder APIs have been removed <whatsnew311-"
"pep624>`"
msgstr ""
":pep:`624` : :ref:`les API d'encodage Py_UNICODE ont été supprimées "
"<whatsnew311-pep624>`"
#: whatsnew/3.11.rst:103
msgid ""
":pep:`670`: :ref:`Macros converted to static inline functions <whatsnew311-"
"pep670>`"
msgstr ""
#: whatsnew/3.11.rst:2175
msgid "New Features"
msgstr "Nouvelles fonctionnalités"
#: whatsnew/3.11.rst:115
msgid "PEP 657: Fine-grained error locations in tracebacks"
msgstr ""
"PEP 657 : amélioration de l'emplacement des erreurs dans les traces d'appels"
#: whatsnew/3.11.rst:117
#, fuzzy
msgid ""
"When printing tracebacks, the interpreter will now point to the exact "
"expression that caused the error, instead of just the line. For example:"
msgstr ""
"Au moment d'afficher une trace d'appels, l'interpréteur indique maintenant "
"quelle est l'expression exacte qui a causé l'erreur plutôt que seulement la "
"ligne. Par exemple :"
#: whatsnew/3.11.rst:131
#, fuzzy
msgid ""
"Previous versions of the interpreter would point to just the line, making it "
"ambiguous which object was ``None``. These enhanced errors can also be "
"helpful when dealing with deeply nested :class:`dict` objects and multiple "
"function calls:"
msgstr ""
"Les versions précédentes de l'interpréteur indiquaient uniquement la ligne, "
"ce qui rendait ambigu quel objet était ``None``. Ces messages d'erreurs "
"améliorés sont aussi utiles quand on travaille avec des objets "
"dictionnaires :class:`dict` fortement imbriqués et des appels de fonction "
"multiples :"
#: whatsnew/3.11.rst:151
#, fuzzy
msgid "As well as complex arithmetic expressions:"
msgstr "de même qu'avec les expressions arithmétiques complexes :"
#: whatsnew/3.11.rst:161
#, fuzzy
msgid ""
"Additionally, the information used by the enhanced traceback feature is made "
"available via a general API, that can be used to correlate :term:`bytecode` :"
"ref:`instructions <bytecodes>` with source code location. This information "
"can be retrieved using:"
msgstr ""
"L'information utilisée par les traces d'appels améliorées est aussi "
"disponible dans une API générale qui peut être utilisée pour corréler des "
"instructions de code intermédiaire avec le code source. Cette information "
"peut être récupérée en utilisant :"
#: whatsnew/3.11.rst:166
msgid "The :meth:`codeobject.co_positions` method in Python."
msgstr "la méthode :meth:`codeobject.co_positions` en Python ;"
#: whatsnew/3.11.rst:167
#, fuzzy
msgid "The :c:func:`PyCode_Addr2Location` function in the C API."
msgstr "la fonction :c:func:`PyCode_Addr2Location` dans l'API C."
#: whatsnew/3.11.rst:169
msgid ""
"See :pep:`657` for more details. (Contributed by Pablo Galindo, Batuhan "
"Taskaya and Ammar Askar in :issue:`43950`.)"
msgstr ""
"Voir la :pep:`657` pour plus de détails (contribution de *Pablo Galindo*, "
"*Batuhan Taskaya* et *Ammar Askar* dans :issue:`43950`)."
#: whatsnew/3.11.rst:173
msgid ""
"This feature requires storing column positions in :ref:`codeobjects`, which "
"may result in a small increase in interpreter memory usage and disk usage "
"for compiled Python files. To avoid storing the extra information and "
"deactivate printing the extra traceback information, use the :option:`-X "
"no_debug_ranges <-X>` command line option or the :envvar:"
"`PYTHONNODEBUGRANGES` environment variable."
msgstr ""
#: whatsnew/3.11.rst:185
msgid "PEP 654: Exception Groups and ``except*``"
msgstr "PEP 654 : Groupes d'exception et ``except*``"
#: whatsnew/3.11.rst:187
msgid ""
":pep:`654` introduces language features that enable a program to raise and "
"handle multiple unrelated exceptions simultaneously. The builtin types :exc:"
"`ExceptionGroup` and :exc:`BaseExceptionGroup` make it possible to group "
"exceptions and raise them together, and the new :keyword:`except* "
"<except_star>` syntax generalizes :keyword:`except` to match subgroups of "
"exception groups."
msgstr ""
#: whatsnew/3.11.rst:194
msgid "See :pep:`654` for more details."
msgstr "Voir :pep:`654` pour plus de détails."
#: whatsnew/3.11.rst:196
msgid ""
"(Contributed by Irit Katriel in :issue:`45292`. PEP written by Irit Katriel, "
"Yury Selivanov and Guido van Rossum.)"
msgstr ""
#: whatsnew/3.11.rst:203
#, fuzzy
msgid "PEP 678: Exceptions can be enriched with notes"
msgstr "Les exceptions peuvent être enrichies avec des notes (PEP 678)"
#: whatsnew/3.11.rst:205
#, fuzzy
msgid ""
"The :meth:`~BaseException.add_note` method is added to :exc:`BaseException`. "
"It can be used to enrich exceptions with context information that is not "
"available at the time when the exception is raised. The added notes appear "
"in the default traceback."
msgstr ""
"Le champ ``__note__`` a été ajouté à :exc:`BaseException`. Il est ``None`` "
"par défaut, mais il peut être affecté à une chaîne qui est alors ajoutée à "
"la trace d'appel de l'exception (contribution d'*Irit Katriel* dans :issue:"
"`45607`)."
#: whatsnew/3.11.rst:210
msgid "See :pep:`678` for more details."
msgstr "Voir :pep:`678` pour plus de détails."
#: whatsnew/3.11.rst:212
msgid ""
"(Contributed by Irit Katriel in :issue:`45607`. PEP written by Zac Hatfield-"
"Dodds.)"
msgstr ""
#: whatsnew/3.11.rst:219
msgid "Windows ``py.exe`` launcher improvements"
msgstr "Améliorations du lanceur Windows ``py.exe``"
#: whatsnew/3.11.rst:221
msgid ""
"The copy of the :ref:`launcher` included with Python 3.11 has been "
"significantly updated. It now supports company/tag syntax as defined in :pep:"
"`514` using the ``-V:<company>/<tag>`` argument instead of the limited ``-"
"<major>.<minor>``. This allows launching distributions other than "
"``PythonCore``, the one hosted on `python.org <https://python.org>`_."
msgstr ""
#: whatsnew/3.11.rst:227
msgid ""
"When using ``-V:`` selectors, either company or tag can be omitted, but all "
"installs will be searched. For example, ``-V:OtherPython/`` will select the "
"\"best\" tag registered for ``OtherPython``, while ``-V:3.11`` or ``-"
"V:/3.11`` will select the \"best\" distribution with tag ``3.11``."
msgstr ""
#: whatsnew/3.11.rst:232
msgid ""
"When using the legacy ``-<major>``, ``-<major>.<minor>``, ``-<major>-"
"<bitness>`` or ``-<major>.<minor>-<bitness>`` arguments, all existing "
"behaviour should be preserved from past versions, and only releases from "
"``PythonCore`` will be selected. However, the ``-64`` suffix now implies "
"\"not 32-bit\" (not necessarily x86-64), as there are multiple supported 64-"
"bit platforms. 32-bit runtimes are detected by checking the runtime's tag "
"for a ``-32`` suffix. All releases of Python since 3.5 have included this in "
"their 32-bit builds."
msgstr ""
#: whatsnew/3.11.rst:246
msgid "New Features Related to Type Hints"
msgstr ""
#: whatsnew/3.11.rst:248
msgid ""
"This section covers major changes affecting :pep:`484` type hints and the :"
"mod:`typing` module."
msgstr ""
#: whatsnew/3.11.rst:255
msgid "PEP 646: Variadic generics"
msgstr ""
#: whatsnew/3.11.rst:257
msgid ""
":pep:`484` previously introduced :data:`~typing.TypeVar`, enabling creation "
"of generics parameterised with a single type. :pep:`646` adds :data:`~typing."
"TypeVarTuple`, enabling parameterisation with an *arbitrary* number of "
"types. In other words, a :data:`~typing.TypeVarTuple` is a *variadic* type "
"variable, enabling *variadic* generics."
msgstr ""
#: whatsnew/3.11.rst:264
msgid ""
"This enables a wide variety of use cases. In particular, it allows the type "
"of array-like structures in numerical computing libraries such as NumPy and "
"TensorFlow to be parameterised with the array *shape*. Static type checkers "
"will now be able to catch shape-related bugs in code that uses these "
"libraries."
msgstr ""
#: whatsnew/3.11.rst:270
msgid "See :pep:`646` for more details."
msgstr "Voir :pep:`646` pour plus de détails."
#: whatsnew/3.11.rst:272
msgid ""
"(Contributed by Matthew Rahtz in :issue:`43224`, with contributions by "
"Serhiy Storchaka and Jelle Zijlstra. PEP written by Mark Mendoza, Matthew "
"Rahtz, Pradeep Kumar Srinivasan, and Vincent Siles.)"
msgstr ""
#: whatsnew/3.11.rst:280
msgid ""
"PEP 655: Marking individual ``TypedDict`` items as required or not-required"
msgstr ""
#: whatsnew/3.11.rst:282
msgid ""
":data:`~typing.Required` and :data:`~typing.NotRequired` provide a "
"straightforward way to mark whether individual items in a :class:`~typing."
"TypedDict` must be present. Previously, this was only possible using "
"inheritance."
msgstr ""
#: whatsnew/3.11.rst:287
msgid ""
"All fields are still required by default, unless the *total* parameter is "
"set to ``False``, in which case all fields are still not-required by "
"default. For example, the following specifies a :class:`!TypedDict` with one "
"required and one not-required key::"
msgstr ""
#: whatsnew/3.11.rst:301
msgid "The following definition is equivalent::"
msgstr "La définition suivante est équivalente ::"
#: whatsnew/3.11.rst:307
msgid "See :pep:`655` for more details."
msgstr "Voir :pep:`655` pour plus de détails."
#: whatsnew/3.11.rst:309
msgid ""
"(Contributed by David Foster and Jelle Zijlstra in :issue:`47087`. PEP "
"written by David Foster.)"
msgstr ""
#: whatsnew/3.11.rst:316
msgid "PEP 673: ``Self`` type"
msgstr ""
#: whatsnew/3.11.rst:318
msgid ""
"The new :data:`~typing.Self` annotation provides a simple and intuitive way "
"to annotate methods that return an instance of their class. This behaves the "
"same as the :class:`~typing.TypeVar`-based approach :pep:`specified in PEP "
"484 <484#annotating-instance-and-class-methods>`, but is more concise and "
"easier to follow."
msgstr ""
#: whatsnew/3.11.rst:324
msgid ""
"Common use cases include alternative constructors provided as :func:"
"`classmethod <classmethod>`\\s, and :meth:`~object.__enter__` methods that "
"return ``self``::"
msgstr ""
#: whatsnew/3.11.rst:342
msgid ""
":data:`~typing.Self` can also be used to annotate method parameters or "
"attributes of the same type as their enclosing class."
msgstr ""
#: whatsnew/3.11.rst:345
msgid "See :pep:`673` for more details."
msgstr "Voir :pep:`673` pour plus de détails."
#: whatsnew/3.11.rst:347
msgid ""
"(Contributed by James Hilton-Balfe in :issue:`46534`. PEP written by Pradeep "
"Kumar Srinivasan and James Hilton-Balfe.)"
msgstr ""
#: whatsnew/3.11.rst:354
msgid "PEP 675: Arbitrary literal string type"
msgstr ""
#: whatsnew/3.11.rst:356
msgid ""
"The new :data:`~typing.LiteralString` annotation may be used to indicate "
"that a function parameter can be of any literal string type. This allows a "
"function to accept arbitrary literal string types, as well as strings "
"created from other literal strings. Type checkers can then enforce that "
"sensitive functions, such as those that execute SQL statements or shell "
"commands, are called only with static arguments, providing protection "
"against injection attacks."
msgstr ""
#: whatsnew/3.11.rst:364
msgid "For example, a SQL query function could be annotated as follows::"
msgstr ""
"Par exemple, une fonction de requête SQL pourrait être annotée de cette "
"façon ::"
#: whatsnew/3.11.rst:382
msgid "See :pep:`675` for more details."
msgstr "Voir :pep:`675` pour plus de détails."
#: whatsnew/3.11.rst:384
msgid ""
"(Contributed by Jelle Zijlstra in :issue:`47088`. PEP written by Pradeep "
"Kumar Srinivasan and Graham Bleaney.)"
msgstr ""
#: whatsnew/3.11.rst:391
msgid "PEP 681: Data class transforms"
msgstr ""
#: whatsnew/3.11.rst:393
msgid ""
":data:`~typing.dataclass_transform` may be used to decorate a class, "
"metaclass, or a function that is itself a decorator. The presence of "
"``@dataclass_transform()`` tells a static type checker that the decorated "
"object performs runtime \"magic\" that transforms a class, giving it :func:"
"`dataclass <dataclasses.dataclass>`-like behaviors."
msgstr ""
#: whatsnew/3.11.rst:399
msgid "For example::"
msgstr "Par exemple ::"
#: whatsnew/3.11.rst:417
msgid "See :pep:`681` for more details."
msgstr "Voir :pep:`681` pour plus de détails."
#: whatsnew/3.11.rst:419
msgid ""
"(Contributed by Jelle Zijlstra in :gh:`91860`. PEP written by Erik De Bonte "
"and Eric Traut.)"
msgstr ""
#: whatsnew/3.11.rst:426
msgid "PEP 563 may not be the future"
msgstr ""
#: whatsnew/3.11.rst:428
msgid ""
":pep:`563` Postponed Evaluation of Annotations (the ``from __future__ import "
"annotations`` :ref:`future statement <future>`) that was originally planned "
"for release in Python 3.10 has been put on hold indefinitely. See `this "
"message from the Steering Council <https://mail.python.org/archives/list/"
"python-dev@python.org/message/VIZEBX5EYMSYIJNDBF6DMUMZOCWHARSO/>`__ for more "
"information."
msgstr ""
#: whatsnew/3.11.rst:439
msgid "Other Language Changes"
msgstr "Autres changements au langage"
#: whatsnew/3.11.rst:441
msgid ""
"Starred unpacking expressions can now be used in :keyword:`for` statements. "
"(See :issue:`46725` for more details.)"
msgstr ""
#: whatsnew/3.11.rst:444
msgid ""
"Asynchronous :ref:`comprehensions <comprehensions>` are now allowed inside "
"comprehensions in :ref:`asynchronous functions <async def>`. Outer "
"comprehensions implicitly become asynchronous in this case. (Contributed by "
"Serhiy Storchaka in :issue:`33346`.)"
msgstr ""
#: whatsnew/3.11.rst:449
msgid ""
"A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` in :"
"keyword:`with` statements and :meth:`contextlib.ExitStack.enter_context` for "
"objects that do not support the :term:`context manager` protocol, and in :"
"keyword:`async with` statements and :meth:`contextlib.AsyncExitStack."
"enter_async_context` for objects not supporting the :term:`asynchronous "
"context manager` protocol. (Contributed by Serhiy Storchaka in :issue:"
"`12022` and :issue:`44471`.)"
msgstr ""
#: whatsnew/3.11.rst:457
msgid ""
"Added :meth:`object.__getstate__`, which provides the default implementation "
"of the :meth:`!__getstate__` method. :mod:`copy`\\ing and :mod:`pickle`\\ing "
"instances of subclasses of builtin types :class:`bytearray`, :class:`set`, :"
"class:`frozenset`, :class:`collections.OrderedDict`, :class:`collections."
"deque`, :class:`weakref.WeakSet`, and :class:`datetime.tzinfo` now copies "
"and pickles instance attributes implemented as :term:`slots <__slots__>`. "
"(Contributed by Serhiy Storchaka in :issue:`26579`.)"
msgstr ""
#: whatsnew/3.11.rst:468
msgid ""
"Added a :option:`-P` command line option and a :envvar:`PYTHONSAFEPATH` "
"environment variable, which disable the automatic prepending to :data:`sys."
"path` of the script's directory when running a script, or the current "
"directory when using :option:`-c` and :option:`-m`. This ensures only stdlib "
"and installed modules are picked up by :keyword:`import`, and avoids "
"unintentionally or maliciously shadowing modules with those in a local (and "
"typically user-writable) directory. (Contributed by Victor Stinner in :gh:"
"`57684`.)"
msgstr ""
#: whatsnew/3.11.rst:479
msgid ""
"A ``\"z\"`` option was added to the :ref:`formatspec` that coerces negative "
"to positive zero after rounding to the format precision. See :pep:`682` for "
"more details. (Contributed by John Belmonte in :gh:`90153`.)"
msgstr ""
#: whatsnew/3.11.rst:484
msgid ""
"Bytes are no longer accepted on :data:`sys.path`. Support broke sometime "
"between Python 3.2 and 3.6, with no one noticing until after Python 3.10.0 "
"was released. In addition, bringing back support would be problematic due to "
"interactions between :option:`-b` and :data:`sys.path_importer_cache` when "
"there is a mixture of :class:`str` and :class:`bytes` keys. (Contributed by "
"Thomas Grainger in :gh:`91181`.)"
msgstr ""
#: whatsnew/3.11.rst:495
msgid "Other CPython Implementation Changes"
msgstr "Autres changements à l'implémentation de CPython"
#: whatsnew/3.11.rst:497
msgid ""
"The special methods :meth:`~object.__complex__` for :class:`complex` and :"
"meth:`~object.__bytes__` for :class:`bytes` are implemented to support the :"
"class:`typing.SupportsComplex` and :class:`typing.SupportsBytes` protocols. "
"(Contributed by Mark Dickinson and Dong-hee Na in :issue:`24234`.)"
msgstr ""
#: whatsnew/3.11.rst:502
msgid ""
"``siphash13`` is added as a new internal hashing algorithm. It has similar "
"security properties as ``siphash24``, but it is slightly faster for long "
"inputs. :class:`str`, :class:`bytes`, and some other types now use it as the "
"default algorithm for :func:`hash`. :pep:`552` :ref:`hash-based .pyc files "
"<pyc-invalidation>` now use ``siphash13`` too. (Contributed by Inada Naoki "
"in :issue:`29410`.)"
msgstr ""
#: whatsnew/3.11.rst:511
msgid ""
"When an active exception is re-raised by a :keyword:`raise` statement with "
"no parameters, the traceback attached to this exception is now always ``sys."
"exc_info()[1].__traceback__``. This means that changes made to the traceback "
"in the current :keyword:`except` clause are reflected in the re-raised "
"exception. (Contributed by Irit Katriel in :issue:`45711`.)"
msgstr ""
#: whatsnew/3.11.rst:517
msgid ""
"The interpreter state's representation of handled exceptions (aka "
"``exc_info`` or ``_PyErr_StackItem``) now only has the ``exc_value`` field; "
"``exc_type`` and ``exc_traceback`` have been removed, as they can be derived "
"from ``exc_value``. (Contributed by Irit Katriel in :issue:`45711`.)"
msgstr ""
#: whatsnew/3.11.rst:523
msgid ""
"A new :ref:`command line option <install-quiet-option>`, ``AppendPath``, has "
"been added for the Windows installer. It behaves similarly to "
"``PrependPath``, but appends the install and scripts directories instead of "
"prepending them. (Contributed by Bastian Neuburger in :issue:`44934`.)"
msgstr ""
#: whatsnew/3.11.rst:529
msgid ""
"The :c:member:`PyConfig.module_search_paths_set` field must now be set to "
"``1`` for initialization to use :c:member:`PyConfig.module_search_paths` to "
"initialize :data:`sys.path`. Otherwise, initialization will recalculate the "
"path and replace any values added to ``module_search_paths``."
msgstr ""
#: whatsnew/3.11.rst:534
msgid ""
"The output of the :option:`--help` option now fits in 50 lines/80 columns. "
"Information about :ref:`Python environment variables <using-on-envvars>` "
"and :option:`-X` options is now available using the respective :option:`--"
"help-env` and :option:`--help-xoptions` flags, and with the new :option:`--"
"help-all`. (Contributed by Éric Araujo in :issue:`46142`.)"
msgstr ""
#: whatsnew/3.11.rst:541
msgid ""
"Converting between :class:`int` and :class:`str` in bases other than 2 "
"(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) "
"now raises a :exc:`ValueError` if the number of digits in string form is "
"above a limit to avoid potential denial of service attacks due to the "
"algorithmic complexity. This is a mitigation for `CVE-2020-10735 <https://"
"cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735>`_. This limit can be "
"configured or disabled by environment variable, command line flag, or :mod:"
"`sys` APIs. See the :ref:`integer string conversion length limitation "
"<int_max_str_digits>` documentation. The default limit is 4300 digits in "
"string form."
msgstr ""
#: whatsnew/3.11.rst:556
msgid "New Modules"
msgstr "Nouveaux modules"
#: whatsnew/3.11.rst:558
#, fuzzy
msgid ""
":mod:`tomllib`: For parsing `TOML <https://toml.io/>`_. See :pep:`680` for "
"more details. (Contributed by Taneli Hukkinen in :issue:`40059`.)"
msgstr ""
"Un nouveau module :mod:`tomllib` a été ajouté pour faire l'analyse du format "
"*TOML* (contribution de *Taneli Hukkinen* dans :issue:`40059`)."
#: whatsnew/3.11.rst:562
msgid ""
":mod:`wsgiref.types`: :pep:`WSGI <3333>`-specific types for static type "
"checking. (Contributed by Sebastian Rittau in :issue:`42012`.)"
msgstr ""
#: whatsnew/3.11.rst:570
msgid "Improved Modules"
msgstr "Modules améliorés"
#: whatsnew/3.11.rst:575
msgid "asyncio"
msgstr "``asyncio``"
#: whatsnew/3.11.rst:577
msgid ""
"Added the :class:`~asyncio.TaskGroup` class, an :ref:`asynchronous context "
"manager <async-context-managers>` holding a group of tasks that will wait "
"for all of them upon exit. For new code this is recommended over using :func:"
"`~asyncio.create_task` and :func:`~asyncio.gather` directly. (Contributed by "
"Yury Selivanov and others in :gh:`90908`.)"
msgstr ""
#: whatsnew/3.11.rst:584
msgid ""
"Added :func:`~asyncio.timeout`, an asynchronous context manager for setting "
"a timeout on asynchronous operations. For new code this is recommended over "
"using :func:`~asyncio.wait_for` directly. (Contributed by Andrew Svetlov in :"
"gh:`90927`.)"
msgstr ""
#: whatsnew/3.11.rst:589
msgid ""
"Added the :class:`~asyncio.Runner` class, which exposes the machinery used "
"by :func:`~asyncio.run`. (Contributed by Andrew Svetlov in :gh:`91218`.)"
msgstr ""
#: whatsnew/3.11.rst:593
msgid ""
"Added the :class:`~asyncio.Barrier` class to the synchronization primitives "
"in the asyncio library, and the related :exc:`~asyncio.BrokenBarrierError` "
"exception. (Contributed by Yves Duprat and Andrew Svetlov in :gh:`87518`.)"
msgstr ""
#: whatsnew/3.11.rst:598
msgid ""
"Added keyword argument *all_errors* to :meth:`asyncio.loop."
"create_connection` so that multiple connection errors can be raised as an :"
"exc:`ExceptionGroup`."
msgstr ""
#: whatsnew/3.11.rst:601
msgid ""
"Added the :meth:`asyncio.StreamWriter.start_tls` method for upgrading "
"existing stream-based connections to TLS. (Contributed by Ian Good in :issue:"
"`34975`.)"
msgstr ""
#: whatsnew/3.11.rst:605
msgid ""
"Added raw datagram socket functions to the event loop: :meth:`~asyncio.loop."
"sock_sendto`, :meth:`~asyncio.loop.sock_recvfrom` and :meth:`~asyncio.loop."
"sock_recvfrom_into`. These have implementations in :class:`~asyncio."
"SelectorEventLoop` and :class:`~asyncio.ProactorEventLoop`. (Contributed by "
"Alex Grönholm in :issue:`46805`.)"
msgstr ""
#: whatsnew/3.11.rst:613
msgid ""
"Added :meth:`~asyncio.Task.cancelling` and :meth:`~asyncio.Task.uncancel` "
"methods to :class:`~asyncio.Task`. These are primarily intended for internal "
"use, notably by :class:`~asyncio.TaskGroup`."
msgstr ""
#: whatsnew/3.11.rst:622
msgid "contextlib"
msgstr ""
#: whatsnew/3.11.rst:624
msgid ""
"Added non parallel-safe :func:`~contextlib.chdir` context manager to change "
"the current working directory and then restore it on exit. Simple wrapper "
"around :func:`~os.chdir`. (Contributed by Filipe Laíns in :issue:`25625`)"
msgstr ""
#: whatsnew/3.11.rst:632
msgid "dataclasses"
msgstr ""
#: whatsnew/3.11.rst:634
msgid ""
"Change field default mutability check, allowing only defaults which are :"
"term:`hashable` instead of any object which is not an instance of :class:"
"`dict`, :class:`list` or :class:`set`. (Contributed by Eric V. Smith in :"
"issue:`44674`.)"
msgstr ""
#: whatsnew/3.11.rst:643
msgid "datetime"
msgstr ""
#: whatsnew/3.11.rst:645
msgid ""
"Add :attr:`datetime.UTC`, a convenience alias for :attr:`datetime.timezone."
"utc`. (Contributed by Kabir Kwatra in :gh:`91973`.)"
msgstr ""
#: whatsnew/3.11.rst:648
msgid ""
":meth:`datetime.date.fromisoformat`, :meth:`datetime.time.fromisoformat` "
"and :meth:`datetime.datetime.fromisoformat` can now be used to parse most "
"ISO 8601 formats (barring only those that support fractional hours and "
"minutes). (Contributed by Paul Ganssle in :gh:`80010`.)"
msgstr ""
#: whatsnew/3.11.rst:657
msgid "enum"
msgstr ""
#: whatsnew/3.11.rst:659
msgid ""
"Renamed :class:`!EnumMeta` to :class:`~enum.EnumType` (:class:`!EnumMeta` "
"kept as an alias)."
msgstr ""
#: whatsnew/3.11.rst:662
msgid ""
"Added :class:`~enum.StrEnum`, with members that can be used as (and must be) "
"strings."
msgstr ""
#: whatsnew/3.11.rst:665
msgid ""
"Added :class:`~enum.ReprEnum`, which only modifies the :meth:`~object."
"__repr__` of members while returning their literal values (rather than "
"names) for :meth:`~object.__str__` and :meth:`~object.__format__` (used by :"
"func:`str`, :func:`format` and :term:`f-string`\\s)."
msgstr ""
#: whatsnew/3.11.rst:671
msgid ""
"Changed :class:`~enum.IntEnum`, :class:`~enum.IntFlag` and :class:`~enum."
"StrEnum` to now inherit from :class:`~enum.ReprEnum`, so their :func:`str` "
"output now matches :func:`format` (both ``str(AnIntEnum.ONE)`` and "
"``format(AnIntEnum.ONE)`` return ``'1'``, whereas before ``str(AnIntEnum."
"ONE)`` returned ``'AnIntEnum.ONE'``."
msgstr ""
#: whatsnew/3.11.rst:677
msgid ""
"Changed :meth:`Enum.__format__() <enum.Enum.__format__>` (the default for :"
"func:`format`, :meth:`str.format` and :term:`f-string`\\s) of enums with "
"mixed-in types (e.g. :class:`int`, :class:`str`) to also include the class "
"name in the output, not just the member's key. This matches the existing "
"behavior of :meth:`enum.Enum.__str__`, returning e.g. ``'AnEnum.MEMBER'`` "
"for an enum ``AnEnum(str, Enum)`` instead of just ``'MEMBER'``."
msgstr ""
#: whatsnew/3.11.rst:685
msgid ""
"Added a new *boundary* class parameter to :class:`~enum.Flag` enums and the :"
"class:`~enum.FlagBoundary` enum with its options, to control how to handle "
"out-of-range flag values."
msgstr ""
#: whatsnew/3.11.rst:689
msgid ""
"Added the :func:`~enum.verify` enum decorator and the :class:`~enum."
"EnumCheck` enum with its options, to check enum classes against several "
"specific constraints."
msgstr ""
#: whatsnew/3.11.rst:693
msgid ""
"Added the :func:`~enum.member` and :func:`~enum.nonmember` decorators, to "
"ensure the decorated object is/is not converted to an enum member."
msgstr ""
#: whatsnew/3.11.rst:696
msgid ""
"Added the :func:`~enum.property` decorator, which works like :func:"
"`property` except for enums. Use this instead of :func:`types."
"DynamicClassAttribute`."
msgstr ""
#: whatsnew/3.11.rst:700
msgid ""
"Added the :func:`~enum.global_enum` enum decorator, which adjusts :meth:"
"`~object.__repr__` and :meth:`~object.__str__` to show values as members of "
"their module rather than the enum class. For example, ``'re.ASCII'`` for "
"the :data:`~re.ASCII` member of :class:`re.RegexFlag` rather than "
"``'RegexFlag.ASCII'``."
msgstr ""
#: whatsnew/3.11.rst:706
msgid ""
"Enhanced :class:`~enum.Flag` to support :func:`len`, iteration and :keyword:"
"`in`/:keyword:`not in` on its members. For example, the following now works: "
"``len(AFlag(3)) == 2 and list(AFlag(3)) == (AFlag.ONE, AFlag.TWO)``"
msgstr ""
#: whatsnew/3.11.rst:711
msgid ""
"Changed :class:`~enum.Enum` and :class:`~enum.Flag` so that members are now "
"defined before :meth:`~object.__init_subclass__` is called; :func:`dir` now "
"includes methods, etc., from mixed-in data types."
msgstr ""
#: whatsnew/3.11.rst:716
msgid ""
"Changed :class:`~enum.Flag` to only consider primary values (power of two) "
"canonical while composite values (``3``, ``6``, ``10``, etc.) are considered "
"aliases; inverted flags are coerced to their positive equivalent."
msgstr ""
#: whatsnew/3.11.rst:725
msgid "fcntl"
msgstr "``fcntl``"
#: whatsnew/3.11.rst:727
msgid ""
"On FreeBSD, the :data:`!F_DUP2FD` and :data:`!F_DUP2FD_CLOEXEC` flags "
"respectively are supported, the former equals to ``dup2`` usage while the "
"latter set the ``FD_CLOEXEC`` flag in addition."
msgstr ""
#: whatsnew/3.11.rst:735
msgid "fractions"
msgstr "``fractions``"
#: whatsnew/3.11.rst:737
msgid ""
"Support :PEP:`515`-style initialization of :class:`~fractions.Fraction` from "
"string. (Contributed by Sergey B Kirpichev in :issue:`44258`.)"
msgstr ""
"Prise en charge de l'initialisation de :class:`~fractions.Fraction` à partir "
"d'une chaîne suivant le style de la :PEP:`515` (contribution de *Sergey B "
"Kirpichev* dans :issue:`44258`)."
#: whatsnew/3.11.rst:740
msgid ""
":class:`~fractions.Fraction` now implements an ``__int__`` method, so that "
"an ``isinstance(some_fraction, typing.SupportsInt)`` check passes. "
"(Contributed by Mark Dickinson in :issue:`44547`.)"
msgstr ""
":class:`~fractions.Fraction` implémente maintenant la méthode ``__int__``, "
"ce qui permet au test ``isinstance(ma_fraction, typing.SupportsInt)`` de "
"passer avec succès (contribution de *Mark Dickinson* dans :issue:`44547`)."
#: whatsnew/3.11.rst:748
msgid "functools"
msgstr ""
#: whatsnew/3.11.rst:750
msgid ""
":func:`functools.singledispatch` now supports :data:`types.UnionType` and :"
"data:`typing.Union` as annotations to the dispatch argument.::"
msgstr ""
#: whatsnew/3.11.rst:775
msgid "(Contributed by Yurii Karabas in :issue:`46014`.)"
msgstr ""
#: whatsnew/3.11.rst:781
msgid "hashlib"
msgstr ""
#: whatsnew/3.11.rst:783
msgid ""
":func:`hashlib.blake2b` and :func:`hashlib.blake2s` now prefer `libb2`_ over "
"Python's vendored copy. (Contributed by Christian Heimes in :issue:`47095`.)"
msgstr ""
#: whatsnew/3.11.rst:787
msgid ""
"The internal ``_sha3`` module with SHA3 and SHAKE algorithms now uses "
"*tiny_sha3* instead of the *Keccak Code Package* to reduce code and binary "
"size. The :mod:`hashlib` module prefers optimized SHA3 and SHAKE "
"implementations from OpenSSL. The change affects only installations without "
"OpenSSL support. (Contributed by Christian Heimes in :issue:`47098`.)"
msgstr ""
#: whatsnew/3.11.rst:794
msgid ""
"Add :func:`hashlib.file_digest`, a helper function for efficient hashing of "
"files or file-like objects. (Contributed by Christian Heimes in :gh:`89313`.)"
msgstr ""
#: whatsnew/3.11.rst:802
msgid "IDLE and idlelib"
msgstr "``IDLE`` et ``idlelib``"
#: whatsnew/3.11.rst:804
msgid ""
"Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood "
"and Terry Jan Reedy in :issue:`45447`.)"
msgstr ""
"Applique la coloration syntaxique aux fichiers ``.pyi`` (contribution "
"d'*Alex Waygood* et de *Terry Jan Reedy* dans :issue:`45447`)."
#: whatsnew/3.11.rst:807
msgid ""
"Include prompts when saving Shell with inputs and outputs. (Contributed by "
"Terry Jan Reedy in :gh:`95191`.)"
msgstr ""
#: whatsnew/3.11.rst:814
msgid "inspect"
msgstr "``inspect``"
#: whatsnew/3.11.rst:816
#, fuzzy
msgid ""
"Add :func:`~inspect.getmembers_static` to return all members without "
"triggering dynamic lookup via the descriptor protocol. (Contributed by "
"Weipeng Hong in :issue:`30533`.)"
msgstr ""
"Ajout de :func:`inspect.getmembers_static` : renvoie tous les membres sans "
"invoquer la recherche dynamique du protocole des descripteurs (contribution "
"de *Weipeng Hong* dans :issue:`30533`)."
#: whatsnew/3.11.rst:820
#, fuzzy
msgid ""
"Add :func:`~inspect.ismethodwrapper` for checking if the type of an object "
"is a :class:`~types.MethodWrapperType`. (Contributed by Hakan Çelik in :"
"issue:`29418`.)"
msgstr ""
"Ajout de :func:`inspect.ismethodwrapper` pour vérifier si le type d'un objet "
"est un :class:`~types.MethodWrapperType` (contribution de *Hakan Çelik* "
"dans :issue:`29418`)."
#: whatsnew/3.11.rst:824
msgid ""
"Change the frame-related functions in the :mod:`inspect` module to return "
"new :class:`~inspect.FrameInfo` and :class:`~inspect.Traceback` class "
"instances (backwards compatible with the previous :term:`named tuple`-like "
"interfaces) that includes the extended :pep:`657` position information (end "
"line number, column and end column). The affected functions are:"
msgstr ""
#: whatsnew/3.11.rst:830
msgid ":func:`inspect.getframeinfo`"
msgstr ""
#: whatsnew/3.11.rst:831
msgid ":func:`inspect.getouterframes`"
msgstr ""
#: whatsnew/3.11.rst:832
msgid ":func:`inspect.getinnerframes`,"
msgstr ""
#: whatsnew/3.11.rst:833
msgid ":func:`inspect.stack`"
msgstr ""
#: whatsnew/3.11.rst:834
msgid ":func:`inspect.trace`"
msgstr ""
#: whatsnew/3.11.rst:836
msgid "(Contributed by Pablo Galindo in :gh:`88116`.)"
msgstr ""
#: whatsnew/3.11.rst:842
msgid "locale"
msgstr ""
#: whatsnew/3.11.rst:844
msgid ""
"Add :func:`locale.getencoding` to get the current locale encoding. It is "
"similar to ``locale.getpreferredencoding(False)`` but ignores the :ref:"
"`Python UTF-8 Mode <utf8-mode>`."
msgstr ""
#: whatsnew/3.11.rst:852
msgid "logging"
msgstr ""
#: whatsnew/3.11.rst:854
msgid ""
"Added :func:`~logging.getLevelNamesMapping` to return a mapping from logging "
"level names (e.g. ``'CRITICAL'``) to the values of their corresponding :ref:"
"`levels` (e.g. ``50``, by default). (Contributed by Andrei Kulakovin in :gh:"
"`88024`.)"
msgstr ""
#: whatsnew/3.11.rst:859
msgid ""
"Added a :meth:`~logging.handlers.SysLogHandler.createSocket` method to :"
"class:`~logging.handlers.SysLogHandler`, to match :meth:`SocketHandler."
"createSocket() <logging.handlers.SocketHandler.createSocket>`. It is called "
"automatically during handler initialization and when emitting an event, if "
"there is no active socket. (Contributed by Kirill Pinchuk in :gh:`88457`.)"
msgstr ""
#: whatsnew/3.11.rst:871
msgid "math"
msgstr "``math``"
#: whatsnew/3.11.rst:873
msgid ""
"Add :func:`math.exp2`: return 2 raised to the power of x. (Contributed by "
"Gideon Mitchell in :issue:`45917`.)"
msgstr ""
"Ajout de :func:`math.exp2` : renvoie 2 élevé à la puissance ``x`` "
"(contribution de *Gideon Mitchell* dans :issue:`45917`)."
#: whatsnew/3.11.rst:876
msgid ""
"Add :func:`math.cbrt`: return the cube root of x. (Contributed by Ajith "
"Ramachandran in :issue:`44357`.)"
msgstr ""
"Ajout de :func:`math.cbrt` : renvoie la racine cubique de ``x`` "
"(contribution d'*Ajith Ramachandran* dans :issue:`44357`)."
#: whatsnew/3.11.rst:879
msgid ""
"The behaviour of two :func:`math.pow` corner cases was changed, for "
"consistency with the IEEE 754 specification. The operations ``math.pow(0.0, -"
"math.inf)`` and ``math.pow(-0.0, -math.inf)`` now return ``inf``. Previously "
"they raised :exc:`ValueError`. (Contributed by Mark Dickinson in :issue:"
"`44339`.)"
msgstr ""
"Le comportement de :func:`math.pow` dans deux cas particuliers a été changé "
"pour être cohérent avec la spécification *IEEE 754*. Les opérations ``math."
"pow(0.0, -math.inf)`` et ``math.pow(-0.0, -math.inf)`` renvoient maintenant "
"``inf``. Elles levaient précédemment :exc:`ValueError` (contribution de "
"*Mark Dickinson* dans :issue:`44339`)."
#: whatsnew/3.11.rst:885
msgid ""
"The :data:`math.nan` value is now always available. (Contributed by Victor "
"Stinner in :issue:`46917`.)"
msgstr ""
"La valeur :data:`math.nan` est maintenant toujours disponible (contribution "
"de *Victor Stinner* dans :issue:`46917`)."
#: whatsnew/3.11.rst:892
msgid "operator"
msgstr "``operator``"
#: whatsnew/3.11.rst:894
msgid ""
"A new function ``operator.call`` has been added, such that ``operator."
"call(obj, *args, **kwargs) == obj(*args, **kwargs)``. (Contributed by Antony "
"Lee in :issue:`44019`.)"
msgstr ""
#: whatsnew/3.11.rst:902
msgid "os"
msgstr "``os``"
#: whatsnew/3.11.rst:904
msgid ""
"On Windows, :func:`os.urandom` now uses ``BCryptGenRandom()``, instead of "
"``CryptGenRandom()`` which is deprecated. (Contributed by Dong-hee Na in :"
"issue:`44611`.)"
msgstr ""
"Sur Windows, :func:`os.urandom` utilise maintenant ``BCryptGenRandom()``, "
"plutôt que ``CryptGenRandom()`` qui est obsolète (contribution de *Dong-hee "
"Na* dans :issue:`44611`)."
#: whatsnew/3.11.rst:912
msgid "pathlib"
msgstr ""
#: whatsnew/3.11.rst:914
msgid ""
":meth:`~pathlib.Path.glob` and :meth:`~pathlib.Path.rglob` return only "
"directories if *pattern* ends with a pathname components separator: :data:"
"`~os.sep` or :data:`~os.altsep`. (Contributed by Eisuke Kawasima in :issue:"
"`22276` and :issue:`33392`.)"
msgstr ""
#: whatsnew/3.11.rst:923
msgid "re"
msgstr "``re``"
#: whatsnew/3.11.rst:925
msgid ""
"Atomic grouping (``(?>...)``) and possessive quantifiers (``*+``, ``++``, ``?"
"+``, ``{m,n}+``) are now supported in regular expressions. (Contributed by "
"Jeffrey C. Jacobs and Serhiy Storchaka in :issue:`433030`.)"
msgstr ""
"Le groupement atomique (``(?>...)``) et les quantificateurs possessifs "
"(``*+``, ``++``, ``?+``, ``{m,n}+``) sont maintenant pris en charge dans les "
"expressions régulières (contribution de *Jeffrey C. Jacobs* et de *Serhiy "
"Storchaka* dans :issue:`433030`)."
#: whatsnew/3.11.rst:933
msgid "shutil"
msgstr "``shutils``"
#: whatsnew/3.11.rst:935
msgid ""
"Add optional parameter *dir_fd* in :func:`shutil.rmtree`. (Contributed by "
"Serhiy Storchaka in :issue:`46245`.)"
msgstr ""
"Ajout du paramètre optionnel *dir_fd* dans :func:`shutil.rmtree` "
"(contribution de *Serhiy Storchaka* dans :issue:`46245`)."
#: whatsnew/3.11.rst:942
msgid "socket"
msgstr "``socket``"
#: whatsnew/3.11.rst:944
msgid ""
"Add CAN Socket support for NetBSD. (Contributed by Thomas Klausner in :issue:"
"`30512`.)"
msgstr ""
#: whatsnew/3.11.rst:947
msgid ""
":meth:`~socket.create_connection` has an option to raise, in case of failure "
"to connect, an :exc:`ExceptionGroup` containing all errors instead of only "
"raising the last error. (Contributed by Irit Katriel in :issue:`29980`.)"
msgstr ""
#: whatsnew/3.11.rst:956
msgid "sqlite3"
msgstr "``sqlite3``"
#: whatsnew/3.11.rst:958
msgid ""
"You can now disable the authorizer by passing :const:`None` to :meth:"
"`~sqlite3.Connection.set_authorizer`. (Contributed by Erlend E. Aasland in :"
"issue:`44491`.)"
msgstr ""
#: whatsnew/3.11.rst:962
msgid ""
"Collation name :meth:`~sqlite3.Connection.create_collation` can now contain "
"any Unicode character. Collation names with invalid characters now raise :"
"exc:`UnicodeEncodeError` instead of :exc:`sqlite3.ProgrammingError`. "
"(Contributed by Erlend E. Aasland in :issue:`44688`.)"
msgstr ""
#: whatsnew/3.11.rst:967
msgid ""
":mod:`sqlite3` exceptions now include the SQLite extended error code as :"
"attr:`~sqlite3.Error.sqlite_errorcode` and the SQLite error name as :attr:"
"`~sqlite3.Error.sqlite_errorname`. (Contributed by Aviv Palivoda, Daniel "
"Shahaf, and Erlend E. Aasland in :issue:`16379` and :issue:`24139`.)"
msgstr ""
#: whatsnew/3.11.rst:973
msgid ""
"Add :meth:`~sqlite3.Connection.setlimit` and :meth:`~sqlite3.Connection."
"getlimit` to :class:`sqlite3.Connection` for setting and getting SQLite "
"limits by connection basis. (Contributed by Erlend E. Aasland in :issue:"
"`45243`.)"
msgstr ""
"Ajout des méthodes :meth:`~sqlite3.Connection.setlimit` et :meth:`~sqlite3."
"Connection.getlimit` à la classe :class:`sqlite3.Connection` pour affecter "
"et demander les limites de *SQLite* pour une connexion (contribution "
"d'*Erlend E. Aasland* dans :issue:`45243`)."
#: whatsnew/3.11.rst:978
msgid ""
":mod:`sqlite3` now sets :attr:`sqlite3.threadsafety` based on the default "
"threading mode the underlying SQLite library has been compiled with. "
"(Contributed by Erlend E. Aasland in :issue:`45613`.)"
msgstr ""
":mod:`sqlite3` affecte maintenant :attr:`sqlite3.threadsafety` selon le mode "
"d'exécution à fils multiples (*threading* en anglais) par défaut qui a été "
"compilé dans la bibliothèque *SQLite* sous-jacente (contribution d'*Erlend "
"E. Aasland* dans :issue:`45613`)."
#: whatsnew/3.11.rst:982
msgid ""
":mod:`sqlite3` C callbacks now use unraisable exceptions if callback "
"tracebacks are enabled. Users can now register an :func:`unraisable hook "
"handler <sys.unraisablehook>` to improve their debug experience. "
"(Contributed by Erlend E. Aasland in :issue:`45828`.)"
msgstr ""
#: whatsnew/3.11.rst:988
msgid ""
"Fetch across rollback no longer raises :exc:`~sqlite3.InterfaceError`. "
"Instead we leave it to the SQLite library to handle these cases. "
"(Contributed by Erlend E. Aasland in :issue:`44092`.)"
msgstr ""
#: whatsnew/3.11.rst:992
msgid ""
"Add :meth:`~sqlite3.Connection.serialize` and :meth:`~sqlite3.Connection."
"deserialize` to :class:`sqlite3.Connection` for serializing and "
"deserializing databases. (Contributed by Erlend E. Aasland in :issue:"
"`41930`.)"
msgstr ""
#: whatsnew/3.11.rst:997
msgid ""
"Add :meth:`~sqlite3.Connection.create_window_function` to :class:`sqlite3."
"Connection` for creating aggregate window functions. (Contributed by Erlend "
"E. Aasland in :issue:`34916`.)"
msgstr ""
#: whatsnew/3.11.rst:1001
#, fuzzy
msgid ""
"Add :meth:`~sqlite3.Connection.blobopen` to :class:`sqlite3.Connection`. :"
"class:`sqlite3.Blob` allows incremental I/O operations on blobs. "
"(Contributed by Aviv Palivoda and Erlend E. Aasland in :issue:`24905`.)"
msgstr ""
"Ajout des méthodes :meth:`~sqlite3.Connection.setlimit` et :meth:`~sqlite3."
"Connection.getlimit` à la classe :class:`sqlite3.Connection` pour affecter "
"et demander les limites de *SQLite* pour une connexion (contribution "
"d'*Erlend E. Aasland* dans :issue:`45243`)."
#: whatsnew/3.11.rst:1009
msgid "string"
msgstr ""
#: whatsnew/3.11.rst:1011
msgid ""
"Add :meth:`~string.Template.get_identifiers` and :meth:`~string.Template."
"is_valid` to :class:`string.Template`, which respectively return all valid "
"placeholders, and whether any invalid placeholders are present. (Contributed "
"by Ben Kehoe in :gh:`90465`.)"
msgstr ""
#: whatsnew/3.11.rst:1021
msgid "sys"
msgstr "``sys``"
#: whatsnew/3.11.rst:1023
msgid ""
":func:`sys.exc_info` now derives the ``type`` and ``traceback`` fields from "
"the ``value`` (the exception instance), so when an exception is modified "
"while it is being handled, the changes are reflected in the results of "
"subsequent calls to :func:`!exc_info`. (Contributed by Irit Katriel in :"
"issue:`45711`.)"
msgstr ""
#: whatsnew/3.11.rst:1029
msgid ""
"Add :func:`sys.exception` which returns the active exception instance "
"(equivalent to ``sys.exc_info()[1]``). (Contributed by Irit Katriel in :"
"issue:`46328`.)"
msgstr ""
"Ajout de :func:`sys.exception` qui renvoie l'instance de l'exception active "
"(équivalent à ``sys.exc_info()[1]``) (contribution d'*Irit Katriel* dans :"
"issue:`46328`)."
#: whatsnew/3.11.rst:1033
msgid ""
"Add the :data:`sys.flags.safe_path <sys.flags>` flag. (Contributed by Victor "
"Stinner in :gh:`57684`.)"
msgstr ""
#: whatsnew/3.11.rst:1040
msgid "sysconfig"
msgstr "``sysconfig``"
#: whatsnew/3.11.rst:1042
msgid ""
"Three new :ref:`installation schemes <installation_paths>` (*posix_venv*, "
"*nt_venv* and *venv*) were added and are used when Python creates new "
"virtual environments or when it is running from a virtual environment. The "
"first two schemes (*posix_venv* and *nt_venv*) are OS-specific for non-"
"Windows and Windows, the *venv* is essentially an alias to one of them "
"according to the OS Python runs on. This is useful for downstream "
"distributors who modify :func:`sysconfig.get_preferred_scheme`. Third party "
"code that creates new virtual environments should use the new *venv* "
"installation scheme to determine the paths, as does :mod:`venv`. "
"(Contributed by Miro Hrončok in :issue:`45413`.)"
msgstr ""
#: whatsnew/3.11.rst:1059
#, fuzzy
msgid "tempfile"
msgstr "``zipfile``"
#: whatsnew/3.11.rst:1061
msgid ""
":class:`~tempfile.SpooledTemporaryFile` objects now fully implement the "
"methods of :class:`io.BufferedIOBase` or :class:`io.TextIOBase` (depending "
"on file mode). This lets them work correctly with APIs that expect file-like "
"objects, such as compression modules. (Contributed by Carey Metcalfe in :gh:"
"`70363`.)"
msgstr ""
#: whatsnew/3.11.rst:1072
msgid "threading"
msgstr "``threading``"
#: whatsnew/3.11.rst:1074
msgid ""
"On Unix, if the ``sem_clockwait()`` function is available in the C library "
"(glibc 2.30 and newer), the :meth:`threading.Lock.acquire` method now uses "
"the monotonic clock (:data:`time.CLOCK_MONOTONIC`) for the timeout, rather "
"than using the system clock (:data:`time.CLOCK_REALTIME`), to not be "
"affected by system clock changes. (Contributed by Victor Stinner in :issue:"
"`41710`.)"
msgstr ""
#: whatsnew/3.11.rst:1085
msgid "time"
msgstr "``time``"
#: whatsnew/3.11.rst:1087
msgid ""
"On Unix, :func:`time.sleep` now uses the ``clock_nanosleep()`` or "
"``nanosleep()`` function, if available, which has a resolution of 1 "
"nanosecond (10\\ :sup:`-9` seconds), rather than using ``select()`` which "
"has a resolution of 1 microsecond (10\\ :sup:`-6` seconds). (Contributed by "
"Benjamin Szőke and Victor Stinner in :issue:`21302`.)"
msgstr ""
"Sur Unix, :func:`time.sleep` utilise maintenant une des fonctions "
"``clock_nanosleep()`` ou ``nanosleep()``, quand elles sont disponibles, qui "
"ont une résolution de 1 nanoseconde (10\\ :sup:`-9` secondes), plutôt que "
"d'utiliser ``select()`` qui a une résolution de 1 microseconde (10\\ :sup:"
"`-6` secondes) (contribution de *Benjamin Szőke* et de *Victor Stinner* "
"dans :issue:`21302`)."
#: whatsnew/3.11.rst:1093
msgid ""
"On Windows 8.1 and newer, :func:`time.sleep` now uses a waitable timer based "
"on `high-resolution timers <https://docs.microsoft.com/en-us/windows-"
"hardware/drivers/kernel/high-resolution-timers>`_ which has a resolution of "
"100 nanoseconds (10\\ :sup:`-7` seconds). Previously, it had a resolution of "
"1 millisecond (10\\ :sup:`-3` seconds). (Contributed by Benjamin Szőke, Dong-"
"hee Na, Eryk Sun and Victor Stinner in :issue:`21302` and :issue:`45429`.)"
msgstr ""
#: whatsnew/3.11.rst:1104
msgid "tkinter"
msgstr ""
#: whatsnew/3.11.rst:1106
msgid ""
"Added method ``info_patchlevel()`` which returns the exact version of the "
"Tcl library as a named tuple similar to :data:`sys.version_info`. "
"(Contributed by Serhiy Storchaka in :gh:`91827`.)"
msgstr ""
#: whatsnew/3.11.rst:1114
msgid "traceback"
msgstr ""
#: whatsnew/3.11.rst:1116
msgid ""
"Add :func:`traceback.StackSummary.format_frame_summary` to allow users to "
"override which frames appear in the traceback, and how they are formatted. "
"(Contributed by Ammar Askar in :issue:`44569`.)"
msgstr ""
#: whatsnew/3.11.rst:1121
#, fuzzy
msgid ""
"Add :func:`traceback.TracebackException.print`, which prints the formatted :"
"exc:`~traceback.TracebackException` instance to a file. (Contributed by Irit "
"Katriel in :issue:`33809`.)"
msgstr ""
"Ajout de :func:`sys.exception` qui renvoie l'instance de l'exception active "
"(équivalent à ``sys.exc_info()[1]``) (contribution d'*Irit Katriel* dans :"
"issue:`46328`)."
#: whatsnew/3.11.rst:1129
msgid "typing"
msgstr ""
#: whatsnew/3.11.rst:1131
msgid "For major changes, see :ref:`new-feat-related-type-hints-311`."
msgstr ""
"Pour les modifications majeures, voir :ref:`new-feat-related-type-hints-311`."
#: whatsnew/3.11.rst:1133
msgid ""
"Add :func:`typing.assert_never` and :class:`typing.Never`. :func:`typing."
"assert_never` is useful for asking a type checker to confirm that a line of "
"code is not reachable. At runtime, it raises an :exc:`AssertionError`. "
"(Contributed by Jelle Zijlstra in :gh:`90633`.)"
msgstr ""
#: whatsnew/3.11.rst:1139
msgid ""
"Add :func:`typing.reveal_type`. This is useful for asking a type checker "
"what type it has inferred for a given expression. At runtime it prints the "
"type of the received value. (Contributed by Jelle Zijlstra in :gh:`90572`.)"
msgstr ""
#: whatsnew/3.11.rst:1144
msgid ""
"Add :func:`typing.assert_type`. This is useful for asking a type checker to "
"confirm that the type it has inferred for a given expression matches the "
"given type. At runtime it simply returns the received value. (Contributed by "
"Jelle Zijlstra in :gh:`90638`.)"
msgstr ""
#: whatsnew/3.11.rst:1149
msgid ""
":data:`typing.TypedDict` types can now be generic. (Contributed by Samodya "
"Abeysiriwardane in :gh:`89026`.)"
msgstr ""
#: whatsnew/3.11.rst:1152
msgid ""
":class:`~typing.NamedTuple` types can now be generic. (Contributed by Serhiy "
"Storchaka in :issue:`43923`.)"
msgstr ""
#: whatsnew/3.11.rst:1155
msgid ""
"Allow subclassing of :class:`typing.Any`. This is useful for avoiding type "
"checker errors related to highly dynamic class, such as mocks. (Contributed "
"by Shantanu Jain in :gh:`91154`.)"
msgstr ""
#: whatsnew/3.11.rst:1159
msgid ""
"The :func:`typing.final` decorator now sets the ``__final__`` attributed on "
"the decorated object. (Contributed by Jelle Zijlstra in :gh:`90500`.)"
msgstr ""
#: whatsnew/3.11.rst:1163
msgid ""
"The :func:`typing.get_overloads` function can be used for introspecting the "
"overloads of a function. :func:`typing.clear_overloads` can be used to clear "
"all registered overloads of a function. (Contributed by Jelle Zijlstra in :"
"gh:`89263`.)"
msgstr ""
#: whatsnew/3.11.rst:1168
msgid ""
"The :meth:`~object.__init__` method of :class:`~typing.Protocol` subclasses "
"is now preserved. (Contributed by Adrian Garcia Badarasco in :gh:`88970`.)"
msgstr ""
#: whatsnew/3.11.rst:1171
msgid ""
"The representation of empty tuple types (``Tuple[()]``) is simplified. This "
"affects introspection, e.g. ``get_args(Tuple[()])`` now evaluates to ``()`` "
"instead of ``((),)``. (Contributed by Serhiy Storchaka in :gh:`91137`.)"
msgstr ""
#: whatsnew/3.11.rst:1176
msgid ""
"Loosen runtime requirements for type annotations by removing the callable "
"check in the private ``typing._type_check`` function. (Contributed by "
"Gregory Beauregard in :gh:`90802`.)"
msgstr ""
#: whatsnew/3.11.rst:1180
msgid ""
":func:`typing.get_type_hints` now supports evaluating strings as forward "
"references in :ref:`PEP 585 generic aliases <types-genericalias>`. "
"(Contributed by Niklas Rosenstein in :gh:`85542`.)"
msgstr ""
#: whatsnew/3.11.rst:1184
msgid ""
":func:`typing.get_type_hints` no longer adds :data:`~typing.Optional` to "
"parameters with ``None`` as a default. (Contributed by Nikita Sobolev in :gh:"
"`90353`.)"
msgstr ""
#: whatsnew/3.11.rst:1188
msgid ""
":func:`typing.get_type_hints` now supports evaluating bare stringified :data:"
"`~typing.ClassVar` annotations. (Contributed by Gregory Beauregard in :gh:"
"`90711`.)"
msgstr ""
#: whatsnew/3.11.rst:1192
msgid ""
":func:`typing.no_type_check` no longer modifies external classes and "
"functions. It also now correctly marks classmethods as not to be type "
"checked. (Contributed by Nikita Sobolev in :gh:`90729`.)"
msgstr ""
#: whatsnew/3.11.rst:1200
msgid "unicodedata"
msgstr "``unicodedata``"
#: whatsnew/3.11.rst:1202
#, fuzzy
msgid ""
"The Unicode database has been updated to version 14.0.0. (Contributed by "
"Benjamin Peterson in :issue:`45190`)."
msgstr ""
"La base de donnée Unicode a été mise à jour à la version 14.0.0 (:issue:"
"`45190`)."
#: whatsnew/3.11.rst:1209
msgid "unittest"
msgstr ""
#: whatsnew/3.11.rst:1211
msgid ""
"Added methods :meth:`~unittest.TestCase.enterContext` and :meth:`~unittest."
"TestCase.enterClassContext` of class :class:`~unittest.TestCase`, method :"
"meth:`~unittest.IsolatedAsyncioTestCase.enterAsyncContext` of class :class:"
"`~unittest.IsolatedAsyncioTestCase` and function :func:`unittest."
"enterModuleContext`. (Contributed by Serhiy Storchaka in :issue:`45046`.)"
msgstr ""
#: whatsnew/3.11.rst:1223
msgid "venv"
msgstr "``venv``"
#: whatsnew/3.11.rst:1225
msgid ""
"When new Python virtual environments are created, the *venv* :ref:`sysconfig "
"installation scheme <installation_paths>` is used to determine the paths "
"inside the environment. When Python runs in a virtual environment, the same "
"installation scheme is the default. That means that downstream distributors "
"can change the default sysconfig install scheme without changing behavior of "
"virtual environments. Third party code that also creates new virtual "
"environments should do the same. (Contributed by Miro Hrončok in :issue:"
"`45413`.)"
msgstr ""
#: whatsnew/3.11.rst:1239
msgid "warnings"
msgstr ""
#: whatsnew/3.11.rst:1241
msgid ""
":func:`warnings.catch_warnings` now accepts arguments for :func:`warnings."
"simplefilter`, providing a more concise way to locally ignore warnings or "
"convert them to errors. (Contributed by Zac Hatfield-Dodds in :issue:"
"`47074`.)"
msgstr ""
#: whatsnew/3.11.rst:1249
msgid "zipfile"
msgstr "``zipfile``"
#: whatsnew/3.11.rst:1251
msgid ""
"Added support for specifying member name encoding for reading metadata in a :"
"class:`~zipfile.ZipFile`'s directory and file headers. (Contributed by "
"Stephen J. Turnbull and Serhiy Storchaka in :issue:`28080`.)"
msgstr ""
#: whatsnew/3.11.rst:1255
msgid ""
"Added :meth:`ZipFile.mkdir() <zipfile.ZipFile.mkdir>` for creating new "
"directories inside ZIP archives. (Contributed by Sam Ezeh in :gh:`49083`.)"
msgstr ""
#: whatsnew/3.11.rst:1259
msgid ""
"Added :attr:`~zipfile.Path.stem`, :attr:`~zipfile.Path.suffix` and :attr:"
"`~zipfile.Path.suffixes` to :class:`zipfile.Path`. (Contributed by Miguel "
"Brito in :gh:`88261`.)"
msgstr ""
#: whatsnew/3.11.rst:1267
msgid "Optimizations"
msgstr "Optimisations"
#: whatsnew/3.11.rst:1269
msgid ""
"This section covers specific optimizations independent of the :ref:"
"`whatsnew311-faster-cpython` project, which is covered in its own section."
msgstr ""
#: whatsnew/3.11.rst:1272
msgid ""
"The compiler now optimizes simple :ref:`printf-style % formatting <old-"
"string-formatting>` on string literals containing only the format codes "
"``%s``, ``%r`` and ``%a`` and makes it as fast as a corresponding :term:`f-"
"string` expression. (Contributed by Serhiy Storchaka in :issue:`28307`.)"
msgstr ""
#: whatsnew/3.11.rst:1278
msgid ""
"Integer division (``//``) is better tuned for optimization by compilers. It "
"is now around 20% faster on x86-64 when dividing an :class:`int` by a value "
"smaller than ``2**30``. (Contributed by Gregory P. Smith and Tim Peters in :"
"gh:`90564`.)"
msgstr ""
#: whatsnew/3.11.rst:1283
msgid ""
":func:`sum` is now nearly 30% faster for integers smaller than ``2**30``. "
"(Contributed by Stefan Behnel in :gh:`68264`.)"
msgstr ""
#: whatsnew/3.11.rst:1286
msgid ""
"Resizing lists is streamlined for the common case, speeding up :meth:`list."
"append` by ≈15% and simple :term:`list comprehension`\\s by up to 20-30% "
"(Contributed by Dennis Sweeney in :gh:`91165`.)"
msgstr ""
#: whatsnew/3.11.rst:1291
msgid ""
"Dictionaries don't store hash values when all keys are Unicode objects, "
"decreasing :class:`dict` size. For example, ``sys.getsizeof(dict."
"fromkeys(\"abcdefg\"))`` is reduced from 352 bytes to 272 bytes (23% "
"smaller) on 64-bit platforms. (Contributed by Inada Naoki in :issue:`46845`.)"
msgstr ""
#: whatsnew/3.11.rst:1297
msgid ""
"Using :class:`asyncio.DatagramProtocol` is now orders of magnitude faster "
"when transferring large files over UDP, with speeds over 100 times higher "
"for a ≈60 MiB file. (Contributed by msoxzw in :gh:`91487`.)"
msgstr ""
#: whatsnew/3.11.rst:1302
msgid ""
":mod:`math` functions :func:`~math.comb` and :func:`~math.perm` are now ≈10 "
"times faster for large arguments (with a larger speedup for larger *k*). "
"(Contributed by Serhiy Storchaka in :issue:`37295`.)"
msgstr ""
#: whatsnew/3.11.rst:1306
msgid ""
"The :mod:`statistics` functions :func:`~statistics.mean`, :func:`~statistics."
"variance` and :func:`~statistics.stdev` now consume iterators in one pass "
"rather than converting them to a :class:`list` first. This is twice as fast "
"and can save substantial memory. (Contributed by Raymond Hettinger in :gh:"
"`90415`.)"
msgstr ""
#: whatsnew/3.11.rst:1312
msgid ""
":func:`unicodedata.normalize` now normalizes pure-ASCII strings in constant "
"time. (Contributed by Dong-hee Na in :issue:`44987`.)"
msgstr ""
#: whatsnew/3.11.rst:1320
msgid "Faster CPython"
msgstr ""
#: whatsnew/3.11.rst:1322
msgid ""
"CPython 3.11 is on average `25% faster <https://github.com/faster-cpython/"
"ideas#published-results>`_ than CPython 3.10 when measured with the "
"`pyperformance <https://github.com/python/pyperformance>`_ benchmark suite, "
"and compiled with GCC on Ubuntu Linux. Depending on your workload, the "
"speedup could be up to 10-60% faster."
msgstr ""
#: whatsnew/3.11.rst:1328
msgid ""
"This project focuses on two major areas in Python: faster startup and faster "
"runtime. Other optimizations not under this project are listed in "
"`Optimizations`_."
msgstr ""
#: whatsnew/3.11.rst:1335
msgid "Faster Startup"
msgstr ""
#: whatsnew/3.11.rst:1340
msgid "Frozen imports / Static code objects"
msgstr ""
#: whatsnew/3.11.rst:1342
msgid ""
"Python caches bytecode in the :ref:`__pycache__<tut-pycache>` directory to "
"speed up module loading."
msgstr ""
#: whatsnew/3.11.rst:1345
msgid "Previously in 3.10, Python module execution looked like this:"
msgstr ""
#: whatsnew/3.11.rst:1351
msgid ""
"In Python 3.11, the core modules essential for Python startup are "
"\"frozen\". This means that their code objects (and bytecode) are statically "
"allocated by the interpreter. This reduces the steps in module execution "
"process to this:"
msgstr ""
#: whatsnew/3.11.rst:1359
msgid ""
"Interpreter startup is now 10-15% faster in Python 3.11. This has a big "
"impact for short-running programs using Python."
msgstr ""
"Le lancement de l'interpréteur est 10 à 15 % plus rapide dans la version "
"3.11. Cela a un grand impact pour les programmes courts utilisant Python."
#: whatsnew/3.11.rst:1362
msgid ""
"(Contributed by Eric Snow, Guido van Rossum and Kumar Aditya in numerous "
"issues.)"
msgstr ""
#: whatsnew/3.11.rst:1368
msgid "Faster Runtime"
msgstr ""
#: whatsnew/3.11.rst:1373
msgid "Cheaper, lazy Python frames"
msgstr ""
#: whatsnew/3.11.rst:1375
msgid ""
"Python frames are created whenever Python calls a Python function. This "
"frame holds execution information. The following are new frame optimizations:"
msgstr ""
#: whatsnew/3.11.rst:1378
msgid "Streamlined the frame creation process."
msgstr ""
#: whatsnew/3.11.rst:1379
msgid ""
"Avoided memory allocation by generously re-using frame space on the C stack."
msgstr ""
#: whatsnew/3.11.rst:1380
msgid ""
"Streamlined the internal frame struct to contain only essential information. "
"Frames previously held extra debugging and memory management information."
msgstr ""
#: whatsnew/3.11.rst:1383
msgid ""
"Old-style frame objects are now created only when requested by debuggers or "
"by Python introspection functions such as ``sys._getframe`` or ``inspect."
"currentframe``. For most user code, no frame objects are created at all. As "
"a result, nearly all Python functions calls have sped up significantly. We "
"measured a 3-7% speedup in pyperformance."
msgstr ""
#: whatsnew/3.11.rst:1389
msgid "(Contributed by Mark Shannon in :issue:`44590`.)"
msgstr ""
#: whatsnew/3.11.rst:1396
msgid "Inlined Python function calls"
msgstr ""
#: whatsnew/3.11.rst:1398
msgid ""
"During a Python function call, Python will call an evaluating C function to "
"interpret that function's code. This effectively limits pure Python "
"recursion to what's safe for the C stack."
msgstr ""
#: whatsnew/3.11.rst:1402
msgid ""
"In 3.11, when CPython detects Python code calling another Python function, "
"it sets up a new frame, and \"jumps\" to the new code inside the new frame. "
"This avoids calling the C interpreting function altogether."
msgstr ""
#: whatsnew/3.11.rst:1406
msgid ""
"Most Python function calls now consume no C stack space. This speeds up most "
"of such calls. In simple recursive functions like fibonacci or factorial, a "
"1.7x speedup was observed. This also means recursive functions can recurse "
"significantly deeper (if the user increases the recursion limit). We "
"measured a 1-3% improvement in pyperformance."
msgstr ""
#: whatsnew/3.11.rst:1412
msgid "(Contributed by Pablo Galindo and Mark Shannon in :issue:`45256`.)"
msgstr ""
#: whatsnew/3.11.rst:1418
msgid "PEP 659: Specializing Adaptive Interpreter"
msgstr ""
#: whatsnew/3.11.rst:1420
msgid ""
":pep:`659` is one of the key parts of the faster CPython project. The "
"general idea is that while Python is a dynamic language, most code has "
"regions where objects and types rarely change. This concept is known as "
"*type stability*."
msgstr ""
#: whatsnew/3.11.rst:1424
msgid ""
"At runtime, Python will try to look for common patterns and type stability "
"in the executing code. Python will then replace the current operation with a "
"more specialized one. This specialized operation uses fast paths available "
"only to those use cases/types, which generally outperform their generic "
"counterparts. This also brings in another concept called *inline caching*, "
"where Python caches the results of expensive operations directly in the "
"bytecode."
msgstr ""
#: whatsnew/3.11.rst:1431
msgid ""
"The specializer will also combine certain common instruction pairs into one "
"superinstruction. This reduces the overhead during execution."
msgstr ""
#: whatsnew/3.11.rst:1434
msgid ""
"Python will only specialize when it sees code that is \"hot\" (executed "
"multiple times). This prevents Python from wasting time for run-once code. "
"Python can also de-specialize when code is too dynamic or when the use "
"changes. Specialization is attempted periodically, and specialization "
"attempts are not too expensive. This allows specialization to adapt to new "
"circumstances."
msgstr ""
#: whatsnew/3.11.rst:1441
msgid ""
"(PEP written by Mark Shannon, with ideas inspired by Stefan Brunthaler. See :"
"pep:`659` for more information. Implementation by Mark Shannon and Brandt "
"Bucher, with additional help from Irit Katriel and Dennis Sweeney.)"
msgstr ""
#: whatsnew/3.11.rst:1449
msgid "Operation"
msgstr ""
#: whatsnew/3.11.rst:1449
msgid "Form"
msgstr ""
#: whatsnew/3.11.rst:1449
msgid "Specialization"
msgstr ""
#: whatsnew/3.11.rst:1449
msgid "Operation speedup (up to)"
msgstr ""
#: whatsnew/3.11.rst:1449
msgid "Contributor(s)"
msgstr ""
#: whatsnew/3.11.rst:1452
msgid "Binary operations"
msgstr ""
#: whatsnew/3.11.rst:1452
msgid "``x+x; x*x; x-x;``"
msgstr ""
#: whatsnew/3.11.rst:1452
msgid ""
"Binary add, multiply and subtract for common types such as ``int``, "
"``float``, and ``str`` take custom fast paths for their underlying types."
msgstr ""
#: whatsnew/3.11.rst:1452
msgid "10%"
msgstr ""
#: whatsnew/3.11.rst:1452
msgid "Mark Shannon, Dong-hee Na, Brandt Bucher, Dennis Sweeney"
msgstr ""
#: whatsnew/3.11.rst:1457
msgid "Subscript"
msgstr ""
#: whatsnew/3.11.rst:1457
msgid "``a[i]``"
msgstr ""
#: whatsnew/3.11.rst:1457
msgid ""
"Subscripting container types such as ``list``, ``tuple`` and ``dict`` "
"directly index the underlying data structures."
msgstr ""
#: whatsnew/3.11.rst:1461
msgid ""
"Subscripting custom ``__getitem__`` is also inlined similar to :ref:`inline-"
"calls`."
msgstr ""
#: whatsnew/3.11.rst:1464
msgid "10-25%"
msgstr ""
#: whatsnew/3.11.rst:1457
msgid "Irit Katriel, Mark Shannon"
msgstr ""
#: whatsnew/3.11.rst:1464
msgid "Store subscript"
msgstr ""
#: whatsnew/3.11.rst:1464
msgid "``a[i] = z``"
msgstr ""
#: whatsnew/3.11.rst:1464
msgid "Similar to subscripting specialization above."
msgstr ""
#: whatsnew/3.11.rst:1464
msgid "Dennis Sweeney"
msgstr ""
#: whatsnew/3.11.rst:1467
msgid "Calls"
msgstr "Appels"
#: whatsnew/3.11.rst:1467
msgid "``f(arg)`` ``C(arg)``"
msgstr ""
#: whatsnew/3.11.rst:1467
msgid ""
"Calls to common builtin (C) functions and types such as ``len`` and ``str`` "
"directly call their underlying C version. This avoids going through the "
"internal calling convention."
msgstr ""
#: whatsnew/3.11.rst:1467
msgid "20%"
msgstr ""
#: whatsnew/3.11.rst:1467
msgid "Mark Shannon, Ken Jin"
msgstr ""
#: whatsnew/3.11.rst:1473
msgid "Load global variable"
msgstr ""
#: whatsnew/3.11.rst:1473
msgid "``print`` ``len``"
msgstr ""
#: whatsnew/3.11.rst:1473
msgid ""
"The object's index in the globals/builtins namespace is cached. Loading "
"globals and builtins require zero namespace lookups."
msgstr ""
#: whatsnew/3.11.rst:1473
msgid "[1]_"
msgstr ""
#: whatsnew/3.11.rst:1477 whatsnew/3.11.rst:1486
msgid "Mark Shannon"
msgstr ""
#: whatsnew/3.11.rst:1477
msgid "Load attribute"
msgstr ""
#: whatsnew/3.11.rst:1477
msgid "``o.attr``"
msgstr ""
#: whatsnew/3.11.rst:1477
msgid ""
"Similar to loading global variables. The attribute's index inside the class/"
"object's namespace is cached. In most cases, attribute loading will require "
"zero namespace lookups."
msgstr ""
#: whatsnew/3.11.rst:1477
msgid "[2]_"
msgstr ""
#: whatsnew/3.11.rst:1482
msgid "Load methods for call"
msgstr ""
#: whatsnew/3.11.rst:1482
msgid "``o.meth()``"
msgstr ""
#: whatsnew/3.11.rst:1482
msgid ""
"The actual address of the method is cached. Method loading now has no "
"namespace lookups -- even for classes with long inheritance chains."
msgstr ""
#: whatsnew/3.11.rst:1482
msgid "10-20%"
msgstr ""
#: whatsnew/3.11.rst:1482
msgid "Ken Jin, Mark Shannon"
msgstr ""
#: whatsnew/3.11.rst:1486
msgid "Store attribute"
msgstr ""
#: whatsnew/3.11.rst:1486
msgid "``o.attr = z``"
msgstr ""
#: whatsnew/3.11.rst:1486
msgid "Similar to load attribute optimization."
msgstr ""
#: whatsnew/3.11.rst:1486
msgid "2% in pyperformance"
msgstr ""
#: whatsnew/3.11.rst:1489
msgid "Unpack Sequence"
msgstr ""
#: whatsnew/3.11.rst:1489
msgid "``*seq``"
msgstr ""
#: whatsnew/3.11.rst:1489
msgid ""
"Specialized for common containers such as ``list`` and ``tuple``. Avoids "
"internal calling convention."
msgstr ""
#: whatsnew/3.11.rst:1489
msgid "8%"
msgstr ""
#: whatsnew/3.11.rst:1489
msgid "Brandt Bucher"
msgstr ""
#: whatsnew/3.11.rst:1493
msgid ""
"A similar optimization already existed since Python 3.8. 3.11 specializes "
"for more forms and reduces some overhead."
msgstr ""
#: whatsnew/3.11.rst:1496
msgid ""
"A similar optimization already existed since Python 3.10. 3.11 specializes "
"for more forms. Furthermore, all attribute loads should be sped up by :issue:"
"`45947`."
msgstr ""
#: whatsnew/3.11.rst:1504
msgid "Misc"
msgstr ""
#: whatsnew/3.11.rst:1506
msgid ""
"Objects now require less memory due to lazily created object namespaces. "
"Their namespace dictionaries now also share keys more freely. (Contributed "
"Mark Shannon in :issue:`45340` and :issue:`40116`.)"
msgstr ""
#: whatsnew/3.11.rst:1510
msgid ""
"A more concise representation of exceptions in the interpreter reduced the "
"time required for catching an exception by about 10%. (Contributed by Irit "
"Katriel in :issue:`45711`.)"
msgstr ""
#: whatsnew/3.11.rst:1518
msgid "FAQ"
msgstr ""
#: whatsnew/3.11.rst:1520
msgid "Q: How should I write my code to utilize these speedups?"
msgstr ""
#: whatsnew/3.11.rst:1524
msgid ""
"A: You don't have to change your code. Write Pythonic code that follows "
"common best practices. The Faster CPython project optimizes for common code "
"patterns we observe."
msgstr ""
#: whatsnew/3.11.rst:1527
msgid "Q: Will CPython 3.11 use more memory?"
msgstr ""
#: whatsnew/3.11.rst:1531
msgid ""
"A: Maybe not. We don't expect memory use to exceed 20% more than 3.10. This "
"is offset by memory optimizations for frame objects and object dictionaries "
"as mentioned above."
msgstr ""
#: whatsnew/3.11.rst:1534
msgid "Q: I don't see any speedups in my workload. Why?"
msgstr ""
#: whatsnew/3.11.rst:1539
msgid ""
"A: Certain code won't have noticeable benefits. If your code spends most of "
"its time on I/O operations, or already does most of its computation in a C "
"extension library like numpy, there won't be significant speedup. This "
"project currently benefits pure-Python workloads the most."
msgstr ""
#: whatsnew/3.11.rst:1543
msgid ""
"Furthermore, the pyperformance figures are a geometric mean. Even within the "
"pyperformance benchmarks, certain benchmarks have slowed down slightly, "
"while others have sped up by nearly 2x!"
msgstr ""
#: whatsnew/3.11.rst:1546
msgid "Q: Is there a JIT compiler?"
msgstr ""
#: whatsnew/3.11.rst:1548
msgid "A: No. We're still exploring other optimizations."
msgstr ""
#: whatsnew/3.11.rst:1554
msgid "About"
msgstr "À propos"
#: whatsnew/3.11.rst:1556
msgid ""
"Faster CPython explores optimizations for :term:`CPython`. The main team is "
"funded by Microsoft to work on this full-time. Pablo Galindo Salgado is also "
"funded by Bloomberg LP to work on the project part-time. Finally, many "
"contributors are volunteers from the community."
msgstr ""
#: whatsnew/3.11.rst:1565
msgid "CPython bytecode changes"
msgstr ""
#: whatsnew/3.11.rst:1567
msgid ""
"The bytecode now contains inline cache entries, which take the form of the "
"newly-added :opcode:`CACHE` instructions. Many opcodes expect to be followed "
"by an exact number of caches, and instruct the interpreter to skip over them "
"at runtime. Populated caches can look like arbitrary instructions, so great "
"care should be taken when reading or modifying raw, adaptive bytecode "
"containing quickened data."
msgstr ""
#: whatsnew/3.11.rst:1579
#, fuzzy
msgid "New opcodes"
msgstr "Nouveaux modules"
#: whatsnew/3.11.rst:1581
msgid ""
":opcode:`ASYNC_GEN_WRAP`, :opcode:`RETURN_GENERATOR` and :opcode:`SEND`, "
"used in generators and co-routines."
msgstr ""
#: whatsnew/3.11.rst:1584
msgid ""
":opcode:`COPY_FREE_VARS`, which avoids needing special caller-side code for "
"closures."
msgstr ""
#: whatsnew/3.11.rst:1587
msgid ""
":opcode:`JUMP_BACKWARD_NO_INTERRUPT`, for use in certain loops where "
"handling interrupts is undesirable."
msgstr ""
#: whatsnew/3.11.rst:1590
msgid ":opcode:`MAKE_CELL`, to create :ref:`cell-objects`."
msgstr ""
#: whatsnew/3.11.rst:1592
msgid ""
":opcode:`CHECK_EG_MATCH` and :opcode:`PREP_RERAISE_STAR`, to handle the :"
"ref:`new exception groups and except* <whatsnew311-pep654>` added in :pep:"
"`654`."
msgstr ""
#: whatsnew/3.11.rst:1596
msgid ":opcode:`PUSH_EXC_INFO`, for use in exception handlers."
msgstr ""
#: whatsnew/3.11.rst:1598
msgid ""
":opcode:`RESUME`, a no-op, for internal tracing, debugging and optimization "
"checks."
msgstr ""
#: whatsnew/3.11.rst:1605
msgid "Replaced opcodes"
msgstr ""
#: whatsnew/3.11.rst:1608
msgid "Replaced Opcode(s)"
msgstr ""
#: whatsnew/3.11.rst:1608
#, fuzzy
msgid "New Opcode(s)"
msgstr "Nouveaux modules"
#: whatsnew/3.11.rst:1608
msgid "Notes"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!BINARY_*`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!INPLACE_*`"
msgstr ""
#: whatsnew/3.11.rst:1610
msgid ":opcode:`BINARY_OP`"
msgstr ""
#: whatsnew/3.11.rst:1610
msgid "Replaced all numeric binary/in-place opcodes with a single opcode"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!CALL_FUNCTION`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!CALL_FUNCTION_KW`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!CALL_METHOD`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`CALL`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`KW_NAMES`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`PRECALL`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`PUSH_NULL`"
msgstr ""
#: whatsnew/3.11.rst:1613
msgid ""
"Decouples argument shifting for methods from handling of keyword arguments; "
"allows better specialization of calls"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!DUP_TOP`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!DUP_TOP_TWO`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!ROT_TWO`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!ROT_THREE`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!ROT_FOUR`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!ROT_N`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`COPY`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`SWAP`"
msgstr ""
#: whatsnew/3.11.rst:1618
msgid "Stack manipulation instructions"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!JUMP_IF_NOT_EXC_MATCH`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`CHECK_EXC_MATCH`"
msgstr ""
#: whatsnew/3.11.rst:1625
msgid "Now performs check but doesn't jump"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!JUMP_ABSOLUTE`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!POP_JUMP_IF_FALSE`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!POP_JUMP_IF_TRUE`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`JUMP_BACKWARD`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`POP_JUMP_BACKWARD_IF_* <POP_JUMP_BACKWARD_IF_TRUE>`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`POP_JUMP_FORWARD_IF_* <POP_JUMP_FORWARD_IF_TRUE>`"
msgstr ""
#: whatsnew/3.11.rst:1627
msgid ""
"See [#bytecode-jump]_; ``TRUE``, ``FALSE``, ``NONE`` and ``NOT_NONE`` "
"variants for each direction"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!SETUP_WITH`"
msgstr ""
#: whatsnew/3.11.rst:0
msgid ":opcode:`!SETUP_ASYNC_WITH`"
msgstr ""
#: whatsnew/3.11.rst:1633
msgid ":opcode:`BEFORE_WITH`"
msgstr ""
#: whatsnew/3.11.rst:1633
msgid ":keyword:`with` block setup"
msgstr ""
#: whatsnew/3.11.rst:1637
msgid ""
"All jump opcodes are now relative, including the existing :opcode:"
"`JUMP_IF_TRUE_OR_POP` and :opcode:`JUMP_IF_FALSE_OR_POP`. The argument is "
"now an offset from the current instruction rather than an absolute location."
msgstr ""
#: whatsnew/3.11.rst:1648
msgid "Changed/removed opcodes"
msgstr ""
#: whatsnew/3.11.rst:1650
msgid ""
"Changed :opcode:`MATCH_CLASS` and :opcode:`MATCH_KEYS` to no longer push an "
"additional boolean value to indicate success/failure. Instead, ``None`` is "
"pushed on failure in place of the tuple of extracted values."
msgstr ""
#: whatsnew/3.11.rst:1655
msgid ""
"Changed opcodes that work with exceptions to reflect them now being "
"represented as one item on the stack instead of three (see :gh:`89874`)."
msgstr ""
#: whatsnew/3.11.rst:1659
msgid ""
"Removed :opcode:`!COPY_DICT_WITHOUT_KEYS`, :opcode:`!GEN_START`, :opcode:`!"
"POP_BLOCK`, :opcode:`!SETUP_FINALLY` and :opcode:`!YIELD_FROM`."
msgstr ""
#: whatsnew/3.11.rst:2543
msgid "Deprecated"
msgstr "Obsolescence"
#: whatsnew/3.11.rst:1669
msgid ""
"This section lists Python APIs that have been deprecated in Python 3.11."
msgstr ""
"Cette section liste les API Python qui sont devenues obsolètes dans la "
"version 3.11."
#: whatsnew/3.11.rst:1671
msgid ""
"Deprecated C APIs are :ref:`listed separately <whatsnew311-c-api-"
"deprecated>`."
msgstr ""
#: whatsnew/3.11.rst:1678
msgid "Language/Builtins"
msgstr ""
#: whatsnew/3.11.rst:1680
msgid ""
"Chaining :class:`classmethod` descriptors (introduced in :issue:`19072`) is "
"now deprecated. It can no longer be used to wrap other descriptors such as :"
"class:`property`. The core design of this feature was flawed and caused a "
"number of downstream problems. To \"pass-through\" a :class:`classmethod`, "
"consider using the :attr:`!__wrapped__` attribute that was added in Python "
"3.10. (Contributed by Raymond Hettinger in :gh:`89519`.)"
msgstr ""
#: whatsnew/3.11.rst:1688
msgid ""
"Octal escapes in string and bytes literals with values larger than ``0o377`` "
"(255 in decimal) now produce a :exc:`DeprecationWarning`. In a future Python "
"version, they will raise a :exc:`SyntaxWarning` and eventually a :exc:"
"`SyntaxError`. (Contributed by Serhiy Storchaka in :gh:`81548`.)"
msgstr ""
#: whatsnew/3.11.rst:1694
msgid ""
"The delegation of :func:`int` to :meth:`~object.__trunc__` is now "
"deprecated. Calling ``int(a)`` when ``type(a)`` implements :meth:`!"
"__trunc__` but not :meth:`~object.__int__` or :meth:`~object.__index__` now "
"raises a :exc:`DeprecationWarning`. (Contributed by Zackery Spytz in :issue:"
"`44977`.)"
msgstr ""
#: whatsnew/3.11.rst:1704
#, fuzzy
msgid "Modules"
msgstr "Nouveaux modules"
#: whatsnew/3.11.rst:1708
msgid ""
":pep:`594` led to the deprecations of the following modules slated for "
"removal in Python 3.13:"
msgstr ""
#: whatsnew/3.11.rst:1712
msgid ":mod:`aifc`"
msgstr ""
#: whatsnew/3.11.rst:1712
msgid ":mod:`chunk`"
msgstr ""
#: whatsnew/3.11.rst:1712
msgid ":mod:`msilib`"
msgstr ""
#: whatsnew/3.11.rst:1712
msgid ":mod:`pipes`"
msgstr ""
#: whatsnew/3.11.rst:1712
msgid ":mod:`telnetlib`"
msgstr ""
#: whatsnew/3.11.rst:1714
msgid ":mod:`audioop`"
msgstr ""
#: whatsnew/3.11.rst:1714
msgid ":mod:`crypt`"
msgstr ""
#: whatsnew/3.11.rst:1714
msgid ":mod:`nis`"
msgstr ""
#: whatsnew/3.11.rst:1714
msgid ":mod:`sndhdr`"
msgstr ""
#: whatsnew/3.11.rst:1714
msgid ":mod:`uu`"
msgstr ""
#: whatsnew/3.11.rst:1716
msgid ":mod:`cgi`"
msgstr ""
#: whatsnew/3.11.rst:1716
msgid ":mod:`imghdr`"
msgstr ""
#: whatsnew/3.11.rst:1716
msgid ":mod:`nntplib`"
msgstr ""
#: whatsnew/3.11.rst:1716
msgid ":mod:`spwd`"
msgstr ""
#: whatsnew/3.11.rst:1716
msgid ":mod:`xdrlib`"
msgstr ""
#: whatsnew/3.11.rst:1718
msgid ":mod:`cgitb`"
msgstr ""
#: whatsnew/3.11.rst:1718
msgid ":mod:`mailcap`"
msgstr ""
#: whatsnew/3.11.rst:1718
msgid ":mod:`ossaudiodev`"
msgstr ""
#: whatsnew/3.11.rst:1718
msgid ":mod:`sunau`"
msgstr ""
#: whatsnew/3.11.rst:1721
msgid ""
"(Contributed by Brett Cannon in :issue:`47061` and Victor Stinner in :gh:"
"`68966`.)"
msgstr ""
#: whatsnew/3.11.rst:1724
msgid ""
"The :mod:`asynchat`, :mod:`asyncore` and :mod:`smtpd` modules have been "
"deprecated since at least Python 3.6. Their documentation and deprecation "
"warnings have now been updated to note they will be removed in Python 3.12. "
"(Contributed by Hugo van Kemenade in :issue:`47022`.)"
msgstr ""
#: whatsnew/3.11.rst:1729
msgid ""
"The :mod:`lib2to3` package and :ref:`2to3 <2to3-reference>` tool are now "
"deprecated and may not be able to parse Python 3.10 or newer. See :pep:"
"`617`, introducing the new PEG parser, for details. (Contributed by Victor "
"Stinner in :issue:`40360`.)"
msgstr ""
#: whatsnew/3.11.rst:1734
msgid ""
"Undocumented modules :mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!"
"sre_parse` are now deprecated. (Contributed by Serhiy Storchaka in :issue:"
"`47152`.)"
msgstr ""
#: whatsnew/3.11.rst:1742
msgid "Standard Library"
msgstr "Bibliothèque Standard"
#: whatsnew/3.11.rst:1744
msgid ""
"The following have been deprecated in :mod:`configparser` since Python 3.2. "
"Their deprecation warnings have now been updated to note they will be "
"removed in Python 3.12:"
msgstr ""
#: whatsnew/3.11.rst:1748
msgid "the :class:`!configparser.SafeConfigParser` class"
msgstr ""
#: whatsnew/3.11.rst:1749
msgid "the :attr:`!configparser.ParsingError.filename` property"
msgstr ""
#: whatsnew/3.11.rst:1750
msgid "the :meth:`configparser.RawConfigParser.readfp` method"
msgstr ""
#: whatsnew/3.11.rst:1752
msgid "(Contributed by Hugo van Kemenade in :issue:`45173`.)"
msgstr ""
#: whatsnew/3.11.rst:1754
msgid ""
":class:`!configparser.LegacyInterpolation` has been deprecated in the "
"docstring since Python 3.2, and is not listed in the :mod:`configparser` "
"documentation. It now emits a :exc:`DeprecationWarning` and will be removed "
"in Python 3.13. Use :class:`configparser.BasicInterpolation` or :class:"
"`configparser.ExtendedInterpolation` instead. (Contributed by Hugo van "
"Kemenade in :issue:`46607`.)"
msgstr ""
#: whatsnew/3.11.rst:1761
msgid ""
"The older set of :mod:`importlib.resources` functions were deprecated in "
"favor of the replacements added in Python 3.9 and will be removed in a "
"future Python version, due to not supporting resources located within "
"package subdirectories:"
msgstr ""
#: whatsnew/3.11.rst:1766
msgid ":func:`importlib.resources.contents`"
msgstr ""
#: whatsnew/3.11.rst:1767
msgid ":func:`importlib.resources.is_resource`"
msgstr ""
#: whatsnew/3.11.rst:1768
msgid ":func:`importlib.resources.open_binary`"
msgstr ""
#: whatsnew/3.11.rst:1769
msgid ":func:`importlib.resources.open_text`"
msgstr ""
#: whatsnew/3.11.rst:1770
msgid ":func:`importlib.resources.read_binary`"
msgstr ""
#: whatsnew/3.11.rst:1771
msgid ":func:`importlib.resources.read_text`"
msgstr ""
#: whatsnew/3.11.rst:1772
msgid ":func:`importlib.resources.path`"
msgstr ""
#: whatsnew/3.11.rst:1774
msgid ""
"The :func:`locale.getdefaultlocale` function is deprecated and will be "
"removed in Python 3.13. Use :func:`locale.setlocale`, :func:`locale."
"getpreferredencoding(False) <locale.getpreferredencoding>` and :func:`locale."
"getlocale` functions instead. (Contributed by Victor Stinner in :gh:`90817`.)"
msgstr ""
#: whatsnew/3.11.rst:1780
msgid ""
"The :func:`locale.resetlocale` function is deprecated and will be removed in "
"Python 3.13. Use ``locale.setlocale(locale.LC_ALL, \"\")`` instead. "
"(Contributed by Victor Stinner in :gh:`90817`.)"
msgstr ""
#: whatsnew/3.11.rst:1784
msgid ""
"Stricter rules will now be applied for numerical group references and group "
"names in :ref:`regular expressions <re-syntax>`. Only sequences of ASCII "
"digits will now be accepted as a numerical reference, and the group name in :"
"class:`bytes` patterns and replacement strings can only contain ASCII "
"letters, digits and underscores. For now, a deprecation warning is raised "
"for syntax violating these rules. (Contributed by Serhiy Storchaka in :gh:"
"`91760`.)"
msgstr ""
#: whatsnew/3.11.rst:1792
msgid ""
"In the :mod:`re` module, the :func:`!re.template` function and the "
"corresponding :data:`!re.TEMPLATE` and :data:`!re.T` flags are deprecated, "
"as they were undocumented and lacked an obvious purpose. They will be "
"removed in Python 3.13. (Contributed by Serhiy Storchaka and Miro Hrončok "
"in :gh:`92728`.)"
msgstr ""
#: whatsnew/3.11.rst:1798
msgid ""
":func:`turtle.settiltangle` has been deprecated since Python 3.1; it now "
"emits a deprecation warning and will be removed in Python 3.13. Use :func:"
"`turtle.tiltangle` instead (it was earlier incorrectly marked as deprecated, "
"and its docstring is now corrected). (Contributed by Hugo van Kemenade in :"
"issue:`45837`.)"
msgstr ""
#: whatsnew/3.11.rst:1804
msgid ""
":class:`typing.Text`, which exists solely to provide compatibility support "
"between Python 2 and Python 3 code, is now deprecated. Its removal is "
"currently unplanned, but users are encouraged to use :class:`str` instead "
"wherever possible. (Contributed by Alex Waygood in :gh:`92332`.)"
msgstr ""
#: whatsnew/3.11.rst:1810
msgid ""
"The keyword argument syntax for constructing :data:`typing.TypedDict` types "
"is now deprecated. Support will be removed in Python 3.13. (Contributed by "
"Jingchen Ye in :gh:`90224`.)"
msgstr ""
#: whatsnew/3.11.rst:1814
msgid ""
":class:`!webbrowser.MacOSX` is deprecated and will be removed in Python "
"3.13. It is untested, undocumented, and not used by :mod:`webbrowser` "
"itself. (Contributed by Dong-hee Na in :issue:`42255`.)"
msgstr ""
#: whatsnew/3.11.rst:1818
msgid ""
"The behavior of returning a value from a :class:`~unittest.TestCase` and :"
"class:`~unittest.IsolatedAsyncioTestCase` test methods (other than the "
"default ``None`` value) is now deprecated."
msgstr ""
#: whatsnew/3.11.rst:1822
msgid ""
"Deprecated the following not-formally-documented :mod:`unittest` functions, "
"scheduled for removal in Python 3.13:"
msgstr ""
#: whatsnew/3.11.rst:1825
msgid ":func:`!unittest.findTestCases`"
msgstr ""
#: whatsnew/3.11.rst:1826
msgid ":func:`!unittest.makeSuite`"
msgstr ""
#: whatsnew/3.11.rst:1827
msgid ":func:`!unittest.getTestCaseNames`"
msgstr ""
#: whatsnew/3.11.rst:1829
msgid "Use :class:`~unittest.TestLoader` methods instead:"
msgstr ""
#: whatsnew/3.11.rst:1831
msgid ":meth:`unittest.TestLoader.loadTestsFromModule`"
msgstr ""
#: whatsnew/3.11.rst:1832
msgid ":meth:`unittest.TestLoader.loadTestsFromTestCase`"
msgstr ""
#: whatsnew/3.11.rst:1833
msgid ":meth:`unittest.TestLoader.getTestCaseNames`"
msgstr ""
#: whatsnew/3.11.rst:1835
msgid "(Contributed by Erlend E. Aasland in :issue:`5846`.)"
msgstr ""
#: whatsnew/3.11.rst:2571
msgid "Pending Removal in Python 3.12"
msgstr ""
#: whatsnew/3.11.rst:1844
msgid ""
"The following Python APIs have been deprecated in earlier Python releases, "
"and will be removed in Python 3.12."
msgstr ""
"Les API Python suivantes sont devenues obsolètes dans des versions "
"précédentes, et seront supprimées dans la version 3.12."
#: whatsnew/3.11.rst:1847
msgid ""
"C APIs pending removal are :ref:`listed separately <whatsnew311-c-api-"
"pending-removal>`."
msgstr ""
#: whatsnew/3.11.rst:1850
msgid "The :mod:`asynchat` module"
msgstr ""
#: whatsnew/3.11.rst:1851
msgid "The :mod:`asyncore` module"
msgstr ""
#: whatsnew/3.11.rst:1852
msgid "The :ref:`entire distutils package <distutils-deprecated>`"
msgstr ""
#: whatsnew/3.11.rst:1853
msgid "The :mod:`imp` module"
msgstr ""
#: whatsnew/3.11.rst:1854
msgid "The :class:`typing.io <typing.IO>` namespace"
msgstr ""
#: whatsnew/3.11.rst:1855
msgid "The :class:`typing.re <typing.Pattern>` namespace"
msgstr ""
#: whatsnew/3.11.rst:1856
msgid ":func:`!cgi.log`"
msgstr ""
#: whatsnew/3.11.rst:1857
msgid ":func:`importlib.find_loader`"
msgstr ""
#: whatsnew/3.11.rst:1858
msgid ":meth:`importlib.abc.Loader.module_repr`"
msgstr ""
#: whatsnew/3.11.rst:1859
msgid ":meth:`importlib.abc.MetaPathFinder.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1860
msgid ":meth:`importlib.abc.PathEntryFinder.find_loader`"
msgstr ""
#: whatsnew/3.11.rst:1861
msgid ":meth:`importlib.abc.PathEntryFinder.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1862
msgid ":meth:`!importlib.machinery.BuiltinImporter.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1863
msgid ":meth:`!importlib.machinery.BuiltinLoader.module_repr`"
msgstr ""
#: whatsnew/3.11.rst:1864
msgid ":meth:`!importlib.machinery.FileFinder.find_loader`"
msgstr ""
#: whatsnew/3.11.rst:1865
msgid ":meth:`!importlib.machinery.FileFinder.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1866
msgid ":meth:`!importlib.machinery.FrozenImporter.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1867
msgid ":meth:`!importlib.machinery.FrozenLoader.module_repr`"
msgstr ""
#: whatsnew/3.11.rst:1868
msgid ":meth:`importlib.machinery.PathFinder.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1869
msgid ":meth:`!importlib.machinery.WindowsRegistryFinder.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1870
msgid ":func:`importlib.util.module_for_loader`"
msgstr ""
#: whatsnew/3.11.rst:1871
msgid ":func:`!importlib.util.set_loader_wrapper`"
msgstr ""
#: whatsnew/3.11.rst:1872
msgid ":func:`!importlib.util.set_package_wrapper`"
msgstr ""
#: whatsnew/3.11.rst:1873
msgid ":class:`pkgutil.ImpImporter`"
msgstr ""
#: whatsnew/3.11.rst:1874
msgid ":class:`pkgutil.ImpLoader`"
msgstr ""
#: whatsnew/3.11.rst:1875
msgid ":meth:`pathlib.Path.link_to`"
msgstr ""
#: whatsnew/3.11.rst:1876
msgid ":func:`!sqlite3.enable_shared_cache`"
msgstr ""
#: whatsnew/3.11.rst:1877
msgid ":func:`!sqlite3.OptimizedUnicode`"
msgstr ""
#: whatsnew/3.11.rst:1878
msgid ":envvar:`PYTHONTHREADDEBUG` environment variable"
msgstr ""
#: whatsnew/3.11.rst:1879
msgid "The following deprecated aliases in :mod:`unittest`:"
msgstr ""
#: whatsnew/3.11.rst:1882
#, fuzzy
msgid "Deprecated alias"
msgstr "Obsolescence"
#: whatsnew/3.11.rst:1882
msgid "Method Name"
msgstr ""
#: whatsnew/3.11.rst:1882
#, fuzzy
msgid "Deprecated in"
msgstr "Obsolescence"
#: whatsnew/3.11.rst:1884
msgid "``failUnless``"
msgstr ""
#: whatsnew/3.11.rst:1891
msgid ":meth:`.assertTrue`"
msgstr ""
#: whatsnew/3.11.rst:1885 whatsnew/3.11.rst:1887 whatsnew/3.11.rst:1889
#: whatsnew/3.11.rst:1890
msgid "3.1"
msgstr ""
#: whatsnew/3.11.rst:1885
msgid "``failIf``"
msgstr ""
#: whatsnew/3.11.rst:1885
msgid ":meth:`.assertFalse`"
msgstr ""
#: whatsnew/3.11.rst:1886
msgid "``failUnlessEqual``"
msgstr ""
#: whatsnew/3.11.rst:1892
msgid ":meth:`.assertEqual`"
msgstr ""
#: whatsnew/3.11.rst:1887
msgid "``failIfEqual``"
msgstr ""
#: whatsnew/3.11.rst:1893
msgid ":meth:`.assertNotEqual`"
msgstr ""
#: whatsnew/3.11.rst:1888
msgid "``failUnlessAlmostEqual``"
msgstr ""
#: whatsnew/3.11.rst:1894
msgid ":meth:`.assertAlmostEqual`"
msgstr ""
#: whatsnew/3.11.rst:1889
msgid "``failIfAlmostEqual``"
msgstr ""
#: whatsnew/3.11.rst:1895
msgid ":meth:`.assertNotAlmostEqual`"
msgstr ""
#: whatsnew/3.11.rst:1890
msgid "``failUnlessRaises``"
msgstr ""
#: whatsnew/3.11.rst:1890
msgid ":meth:`.assertRaises`"
msgstr ""
#: whatsnew/3.11.rst:1891
msgid "``assert_``"
msgstr ""
#: whatsnew/3.11.rst:1892 whatsnew/3.11.rst:1894 whatsnew/3.11.rst:1896
#: whatsnew/3.11.rst:1897
msgid "3.2"
msgstr ""
#: whatsnew/3.11.rst:1892
msgid "``assertEquals``"
msgstr ""
#: whatsnew/3.11.rst:1893
msgid "``assertNotEquals``"
msgstr ""
#: whatsnew/3.11.rst:1894
msgid "``assertAlmostEquals``"
msgstr ""
#: whatsnew/3.11.rst:1895
msgid "``assertNotAlmostEquals``"
msgstr ""
#: whatsnew/3.11.rst:1896
msgid "``assertRegexpMatches``"
msgstr ""
#: whatsnew/3.11.rst:1896
msgid ":meth:`.assertRegex`"
msgstr ""
#: whatsnew/3.11.rst:1897
msgid "``assertRaisesRegexp``"
msgstr ""
#: whatsnew/3.11.rst:1897
msgid ":meth:`.assertRaisesRegex`"
msgstr ""
#: whatsnew/3.11.rst:1898
msgid "``assertNotRegexpMatches``"
msgstr ""
#: whatsnew/3.11.rst:1898
msgid ":meth:`.assertNotRegex`"
msgstr ""
#: whatsnew/3.11.rst:1898
msgid "3.5"
msgstr ""
#: whatsnew/3.11.rst:2597
msgid "Removed"
msgstr "Retraits"
#: whatsnew/3.11.rst:1907
msgid "This section lists Python APIs that have been removed in Python 3.11."
msgstr ""
"Cette section liste les API Python qui ont été supprimées dans la version "
"3.11."
#: whatsnew/3.11.rst:1909
msgid ""
"Removed C APIs are :ref:`listed separately <whatsnew311-c-api-removed>`."
msgstr ""
#: whatsnew/3.11.rst:1911
msgid ""
"Removed the :func:`!@asyncio.coroutine` :term:`decorator` enabling legacy "
"generator-based coroutines to be compatible with :keyword:`async` / :keyword:"
"`await` code. The function has been deprecated since Python 3.8 and the "
"removal was initially scheduled for Python 3.10. Use :keyword:`async def` "
"instead. (Contributed by Illia Volochii in :issue:`43216`.)"
msgstr ""
#: whatsnew/3.11.rst:1918
msgid ""
"Removed :class:`!asyncio.coroutines.CoroWrapper` used for wrapping legacy "
"generator-based coroutine objects in the debug mode. (Contributed by Illia "
"Volochii in :issue:`43216`.)"
msgstr ""
#: whatsnew/3.11.rst:1922
msgid ""
"Due to significant security concerns, the *reuse_address* parameter of :meth:"
"`asyncio.loop.create_datagram_endpoint`, disabled in Python 3.9, is now "
"entirely removed. This is because of the behavior of the socket option "
"``SO_REUSEADDR`` in UDP. (Contributed by Hugo van Kemenade in :issue:"
"`45129`.)"
msgstr ""
#: whatsnew/3.11.rst:1928
msgid ""
"Removed the :mod:`!binhex` module, deprecated in Python 3.9. Also removed "
"the related, similarly-deprecated :mod:`binascii` functions:"
msgstr ""
#: whatsnew/3.11.rst:1931
msgid ":func:`!binascii.a2b_hqx`"
msgstr ""
#: whatsnew/3.11.rst:1932
msgid ":func:`!binascii.b2a_hqx`"
msgstr ""
#: whatsnew/3.11.rst:1933
msgid ":func:`!binascii.rlecode_hqx`"
msgstr ""
#: whatsnew/3.11.rst:1934
msgid ":func:`!binascii.rldecode_hqx`"
msgstr ""
#: whatsnew/3.11.rst:1936
msgid "The :func:`binascii.crc_hqx` function remains available."
msgstr ""
#: whatsnew/3.11.rst:1938
msgid "(Contributed by Victor Stinner in :issue:`45085`.)"
msgstr ""
#: whatsnew/3.11.rst:1940
msgid ""
"Removed the :mod:`distutils` ``bdist_msi`` command deprecated in Python 3.9. "
"Use ``bdist_wheel`` (wheel packages) instead. (Contributed by Hugo van "
"Kemenade in :issue:`45124`.)"
msgstr ""
#: whatsnew/3.11.rst:1944
msgid ""
"Removed the :meth:`~object.__getitem__` methods of :class:`xml.dom.pulldom."
"DOMEventStream`, :class:`wsgiref.util.FileWrapper` and :class:`fileinput."
"FileInput`, deprecated since Python 3.9. (Contributed by Hugo van Kemenade "
"in :issue:`45132`.)"
msgstr ""
#: whatsnew/3.11.rst:1949
msgid ""
"Removed the deprecated :mod:`gettext` functions :func:`!lgettext`, :func:`!"
"ldgettext`, :func:`!lngettext` and :func:`!ldngettext`. Also removed the :"
"func:`!bind_textdomain_codeset` function, the :meth:`!NullTranslations."
"output_charset` and :meth:`!NullTranslations.set_output_charset` methods, "
"and the *codeset* parameter of :func:`!translation` and :func:`!install`, "
"since they are only used for the :func:`!l*gettext` functions. (Contributed "
"by Dong-hee Na and Serhiy Storchaka in :issue:`44235`.)"
msgstr ""
#: whatsnew/3.11.rst:1959
msgid "Removed from the :mod:`inspect` module:"
msgstr ""
#: whatsnew/3.11.rst:1961
msgid ""
"The :func:`!getargspec` function, deprecated since Python 3.0; use :func:"
"`inspect.signature` or :func:`inspect.getfullargspec` instead."
msgstr ""
#: whatsnew/3.11.rst:1964
msgid ""
"The :func:`!formatargspec` function, deprecated since Python 3.5; use the :"
"func:`inspect.signature` function or the :class:`inspect.Signature` object "
"directly."
msgstr ""
#: whatsnew/3.11.rst:1968
msgid ""
"The undocumented :meth:`!Signature.from_builtin` and :meth:`!Signature."
"from_function` methods, deprecated since Python 3.5; use the :meth:"
"`Signature.from_callable() <inspect.Signature.from_callable>` method instead."
msgstr ""
#: whatsnew/3.11.rst:1973
msgid "(Contributed by Hugo van Kemenade in :issue:`45320`.)"
msgstr ""
#: whatsnew/3.11.rst:1975
msgid ""
"Removed the :meth:`~object.__class_getitem__` method from :class:`pathlib."
"PurePath`, because it was not used and added by mistake in previous "
"versions. (Contributed by Nikita Sobolev in :issue:`46483`.)"
msgstr ""
#: whatsnew/3.11.rst:1980
msgid ""
"Removed the :class:`!MailmanProxy` class in the :mod:`smtpd` module, as it "
"is unusable without the external :mod:`!mailman` package. (Contributed by "
"Dong-hee Na in :issue:`35800`.)"
msgstr ""
#: whatsnew/3.11.rst:1984
msgid ""
"Removed the deprecated :meth:`!split` method of :class:`!_tkinter."
"TkappType`. (Contributed by Erlend E. Aasland in :issue:`38371`.)"
msgstr ""
#: whatsnew/3.11.rst:1987
msgid ""
"Removed namespace package support from :mod:`unittest` discovery. It was "
"introduced in Python 3.4 but has been broken since Python 3.7. (Contributed "
"by Inada Naoki in :issue:`23882`.)"
msgstr ""
#: whatsnew/3.11.rst:1991
msgid ""
"Removed the undocumented private :meth:`!float.__set_format__()` method, "
"previously known as :meth:`!float.__setformat__()` in Python 3.7. Its "
"docstring said: \"You probably don't want to use this function. It exists "
"mainly to be used in Python's test suite.\" (Contributed by Victor Stinner "
"in :issue:`46852`.)"
msgstr ""
#: whatsnew/3.11.rst:1997
msgid ""
"The :option:`!--experimental-isolated-subinterpreters` configure flag (and "
"corresponding :c:macro:`!EXPERIMENTAL_ISOLATED_SUBINTERPRETERS` macro) have "
"been removed."
msgstr ""
#: whatsnew/3.11.rst:2001
msgid ""
"`Pynche <https://pypi.org/project/pynche/>`_ --- The Pythonically Natural "
"Color and Hue Editor --- has been moved out of ``Tools/scripts`` and is "
"`being developed independently <https://gitlab.com/warsaw/pynche/-/tree/"
"main>`_ from the Python source tree."
msgstr ""
#: whatsnew/3.11.rst:2241
msgid "Porting to Python 3.11"
msgstr "Portage vers Python 3.11"
#: whatsnew/3.11.rst:2013
msgid ""
"This section lists previously described changes and other bugfixes in the "
"Python API that may require changes to your Python code."
msgstr ""
"Cette section liste les modifications précédemment décrites et d'autres "
"corrections de bogues dans l'API Python qui pourraient nécessiter des "
"modifications dans votre code."
#: whatsnew/3.11.rst:2016
msgid ""
"Porting notes for the C API are :ref:`listed separately <whatsnew311-c-api-"
"porting>`."
msgstr ""
#: whatsnew/3.11.rst:2019
msgid ""
":func:`open`, :func:`io.open`, :func:`codecs.open` and :class:`fileinput."
"FileInput` no longer accept ``'U'`` (\"universal newline\") in the file "
"mode. In Python 3, \"universal newline\" mode is used by default whenever a "
"file is opened in text mode, and the ``'U'`` flag has been deprecated since "
"Python 3.3. The :ref:`newline parameter <open-newline-parameter>` to these "
"functions controls how universal newlines work. (Contributed by Victor "
"Stinner in :issue:`37330`.)"
msgstr ""
#: whatsnew/3.11.rst:2028
msgid ""
":class:`ast.AST` node positions are now validated when provided to :func:"
"`compile` and other related functions. If invalid positions are detected, a :"
"exc:`ValueError` will be raised. (Contributed by Pablo Galindo in :gh:"
"`93351`)"
msgstr ""
#: whatsnew/3.11.rst:2032
msgid ""
"Prohibited passing non-:class:`concurrent.futures.ThreadPoolExecutor` "
"executors to :meth:`asyncio.loop.set_default_executor` following a "
"deprecation in Python 3.8. (Contributed by Illia Volochii in :issue:`43234`.)"
msgstr ""
#: whatsnew/3.11.rst:2037
msgid ""
":mod:`calendar`: The :class:`calendar.LocaleTextCalendar` and :class:"
"`calendar.LocaleHTMLCalendar` classes now use :func:`locale.getlocale`, "
"instead of using :func:`locale.getdefaultlocale`, if no locale is specified. "
"(Contributed by Victor Stinner in :issue:`46659`.)"
msgstr ""
#: whatsnew/3.11.rst:2043
msgid ""
"The :mod:`pdb` module now reads the :file:`.pdbrc` configuration file with "
"the ``'UTF-8'`` encoding. (Contributed by Srinivas Reddy Thatiparthy (శ్రీనివాస్ "
"రెడ్డి తాటిపర్తి) in :issue:`41137`.)"
msgstr ""
#: whatsnew/3.11.rst:2047
msgid ""
"The *population* parameter of :func:`random.sample` must be a sequence, and "
"automatic conversion of :class:`set`\\s to :class:`list`\\s is no longer "
"supported. Also, if the sample size is larger than the population size, a :"
"exc:`ValueError` is raised. (Contributed by Raymond Hettinger in :issue:"
"`40465`.)"
msgstr ""
#: whatsnew/3.11.rst:2053
msgid ""
"The *random* optional parameter of :func:`random.shuffle` was removed. It "
"was previously an arbitrary random function to use for the shuffle; now, :"
"func:`random.random` (its previous default) will always be used."
msgstr ""
#: whatsnew/3.11.rst:2057
msgid ""
"In :mod:`re` :ref:`re-syntax`, global inline flags (e.g. ``(?i)``) can now "
"only be used at the start of regular expressions. Using them elsewhere has "
"been deprecated since Python 3.6. (Contributed by Serhiy Storchaka in :issue:"
"`47066`.)"
msgstr ""
#: whatsnew/3.11.rst:2062
msgid ""
"In the :mod:`re` module, several long-standing bugs where fixed that, in "
"rare cases, could cause capture groups to get the wrong result. Therefore, "
"this could change the captured output in these cases. (Contributed by Ma Lin "
"in :issue:`35859`.)"
msgstr ""
#: whatsnew/3.11.rst:2071
msgid "Build Changes"
msgstr "Changements à la compilation"
#: whatsnew/3.11.rst:2073
msgid ""
"CPython now has :pep:`11` :pep:`Tier 3 support <11#tier-3>` for cross "
"compiling to the `WebAssembly <https://webassembly.org/>`_ platforms "
"`Emscripten <https://emscripten.org/>`_ (``wasm32-unknown-emscripten``, i.e. "
"Python in the browser) and `WebAssembly System Interface (WASI) <https://"
"wasi.dev/>`_ (``wasm32-unknown-wasi``). The effort is inspired by previous "
"work like `Pyodide <https://pyodide.org/>`_. These platforms provide a "
"limited subset of POSIX APIs; Python standard libraries features and modules "
"related to networking, processes, threading, signals, mmap, and users/groups "
"are not available or don't work. (Emscripten contributed by Christian Heimes "
"and Ethan Smith in :gh:`84461` and WASI contributed by Christian Heimes in :"
"gh:`90473`; platforms promoted in :gh:`95085`)"
msgstr ""
#: whatsnew/3.11.rst:2087
msgid "Building Python now requires:"
msgstr "Compiler Python nécessite à présent :"
#: whatsnew/3.11.rst:2089
msgid ""
"A `C11 <https://en.cppreference.com/w/c/11>`_ compiler. `Optional C11 "
"features <https://en.wikipedia.org/wiki/"
"C11_(C_standard_revision)#Optional_features>`_ are not required. "
"(Contributed by Victor Stinner in :issue:`46656`.)"
msgstr ""
#: whatsnew/3.11.rst:2095
msgid ""
"Support for `IEEE 754 <https://en.wikipedia.org/wiki/IEEE_754>`_ floating "
"point numbers. (Contributed by Victor Stinner in :issue:`46917`.)"
msgstr ""
#: whatsnew/3.11.rst:2099
msgid ""
"Support for `floating point Not-a-Number (NaN) <https://en.wikipedia.org/"
"wiki/NaN#Floating_point>`_, as the :c:macro:`!Py_NO_NAN` macro has been "
"removed. (Contributed by Victor Stinner in :issue:`46656`.)"
msgstr ""
#: whatsnew/3.11.rst:2104
msgid ""
"A `C99 <https://en.cppreference.com/w/c/99>`_ ``<math.h>`` header file "
"providing the :c:func:`!copysign`, :c:func:`!hypot`, :c:func:`!isfinite`, :c:"
"func:`!isinf`, :c:func:`!isnan`, and :c:func:`!round` functions (contributed "
"by Victor Stinner in :issue:`45440`); and a :c:data:`!NAN` constant or the :"
"c:func:`!__builtin_nan` function (Contributed by Victor Stinner in :issue:"
"`46640`)."
msgstr ""
#: whatsnew/3.11.rst:2112
msgid ""
"The :mod:`tkinter` package now requires `Tcl/Tk <https://www.tcl.tk>`_ "
"version 8.5.12 or newer. (Contributed by Serhiy Storchaka in :issue:`46996`.)"
msgstr ""
#: whatsnew/3.11.rst:2116
msgid ""
"Build dependencies, compiler flags, and linker flags for most stdlib "
"extension modules are now detected by :program:`configure`. libffi, libnsl, "
"libsqlite3, zlib, bzip2, liblzma, libcrypt, Tcl/Tk, and uuid flags are "
"detected by `pkg-config <https://www.freedesktop.org/wiki/Software/pkg-"
"config/>`_ (when available). :mod:`tkinter` now requires a pkg-config "
"command to detect development settings for `Tcl/Tk`_ headers and libraries. "
"(Contributed by Christian Heimes and Erlend Egeberg Aasland in :issue:"
"`45847`, :issue:`45747`, and :issue:`45763`.)"
msgstr ""
#: whatsnew/3.11.rst:2126
msgid ""
"libpython is no longer linked against libcrypt. (Contributed by Mike Gilbert "
"in :issue:`45433`.)"
msgstr ""
#: whatsnew/3.11.rst:2129
msgid ""
"CPython can now be built with the `ThinLTO <https://clang.llvm.org/docs/"
"ThinLTO.html>`_ option via passing ``thin`` to :option:`--with-lto`, i.e. "
"``--with-lto=thin``. (Contributed by Dong-hee Na and Brett Holman in :issue:"
"`44340`.)"
msgstr ""
#: whatsnew/3.11.rst:2134
msgid ""
"Freelists for object structs can now be disabled. A new :program:`configure` "
"option :option:`!--without-freelists` can be used to disable all freelists "
"except empty tuple singleton. (Contributed by Christian Heimes in :issue:"
"`45522`.)"
msgstr ""
#: whatsnew/3.11.rst:2139
msgid ""
"``Modules/Setup`` and ``Modules/makesetup`` have been improved and tied up. "
"Extension modules can now be built through ``makesetup``. All except some "
"test modules can be linked statically into a main binary or library. "
"(Contributed by Brett Cannon and Christian Heimes in :issue:`45548`, :issue:"
"`45570`, :issue:`45571`, and :issue:`43974`.)"
msgstr ""
#: whatsnew/3.11.rst:2146
msgid ""
"Use the environment variables :envvar:`!TCLTK_CFLAGS` and :envvar:`!"
"TCLTK_LIBS` to manually specify the location of Tcl/Tk headers and "
"libraries. The :program:`configure` options :option:`!--with-tcltk-includes` "
"and :option:`!--with-tcltk-libs` have been removed."
msgstr ""
#: whatsnew/3.11.rst:2152
msgid ""
"On RHEL 7 and CentOS 7 the development packages do not provide ``tcl.pc`` "
"and ``tk.pc``; use ``TCLTK_LIBS=\"-ltk8.5 -ltkstub8.5 -ltcl8.5\"``. The "
"directory ``Misc/rhel7`` contains ``.pc`` files and instructions on how to "
"build Python with RHEL 7's and CentOS 7's Tcl/Tk and OpenSSL."
msgstr ""
#: whatsnew/3.11.rst:2157
msgid ""
"CPython will now use 30-bit digits by default for the Python :class:`int` "
"implementation. Previously, the default was to use 30-bit digits on "
"platforms with ``SIZEOF_VOID_P >= 8``, and 15-bit digits otherwise. It's "
"still possible to explicitly request use of 15-bit digits via either the :"
"option:`--enable-big-digits` option to the configure script or (for Windows) "
"the ``PYLONG_BITS_IN_DIGIT`` variable in ``PC/pyconfig.h``, but this option "
"may be removed at some point in the future. (Contributed by Mark Dickinson "
"in :issue:`45569`.)"
msgstr ""
#: whatsnew/3.11.rst:2170
msgid "C API Changes"
msgstr "Changements à l'API C"
#: whatsnew/3.11.rst:2177
msgid ""
"Add a new :c:func:`PyType_GetName` function to get type's short name. "
"(Contributed by Hai Shi in :issue:`42035`.)"
msgstr ""
#: whatsnew/3.11.rst:2180
msgid ""
"Add a new :c:func:`PyType_GetQualName` function to get type's qualified "
"name. (Contributed by Hai Shi in :issue:`42035`.)"
msgstr ""
#: whatsnew/3.11.rst:2183
msgid ""
"Add new :c:func:`PyThreadState_EnterTracing` and :c:func:"
"`PyThreadState_LeaveTracing` functions to the limited C API to suspend and "
"resume tracing and profiling. (Contributed by Victor Stinner in :issue:"
"`43760`.)"
msgstr ""
#: whatsnew/3.11.rst:2188
msgid ""
"Added the :c:data:`Py_Version` constant which bears the same value as :c:"
"macro:`PY_VERSION_HEX`. (Contributed by Gabriele N. Tornetta in :issue:"
"`43931`.)"
msgstr ""
#: whatsnew/3.11.rst:2192
msgid ""
":c:type:`Py_buffer` and APIs are now part of the limited API and the stable "
"ABI:"
msgstr ""
#: whatsnew/3.11.rst:2195
msgid ":c:func:`PyObject_CheckBuffer`"
msgstr ""
#: whatsnew/3.11.rst:2196
msgid ":c:func:`PyObject_GetBuffer`"
msgstr ""
#: whatsnew/3.11.rst:2197
msgid ":c:func:`PyBuffer_GetPointer`"
msgstr ""
#: whatsnew/3.11.rst:2198
msgid ":c:func:`PyBuffer_SizeFromFormat`"
msgstr ""
#: whatsnew/3.11.rst:2199
msgid ":c:func:`PyBuffer_ToContiguous`"
msgstr ""
#: whatsnew/3.11.rst:2200
msgid ":c:func:`PyBuffer_FromContiguous`"
msgstr ""
#: whatsnew/3.11.rst:2201
msgid ":c:func:`PyBuffer_CopyData`"
msgstr ""
#: whatsnew/3.11.rst:2202
msgid ":c:func:`PyBuffer_IsContiguous`"
msgstr ""
#: whatsnew/3.11.rst:2203
msgid ":c:func:`PyBuffer_FillContiguousStrides`"
msgstr ""
#: whatsnew/3.11.rst:2204
msgid ":c:func:`PyBuffer_FillInfo`"
msgstr ""
#: whatsnew/3.11.rst:2205
msgid ":c:func:`PyBuffer_Release`"
msgstr ""
#: whatsnew/3.11.rst:2206
msgid ":c:func:`PyMemoryView_FromBuffer`"
msgstr ""
#: whatsnew/3.11.rst:2207
msgid ""
":c:member:`~PyBufferProcs.bf_getbuffer` and :c:member:`~PyBufferProcs."
"bf_releasebuffer` type slots"
msgstr ""
#: whatsnew/3.11.rst:2210
msgid "(Contributed by Christian Heimes in :issue:`45459`.)"
msgstr ""
#: whatsnew/3.11.rst:2212
msgid ""
"Added the :c:data:`PyType_GetModuleByDef` function, used to get the module "
"in which a method was defined, in cases where this information is not "
"available directly (via :c:type:`PyCMethod`). (Contributed by Petr Viktorin "
"in :issue:`46613`.)"
msgstr ""
#: whatsnew/3.11.rst:2217
msgid ""
"Add new functions to pack and unpack C double (serialize and deserialize): :"
"c:func:`PyFloat_Pack2`, :c:func:`PyFloat_Pack4`, :c:func:`PyFloat_Pack8`, :c:"
"func:`PyFloat_Unpack2`, :c:func:`PyFloat_Unpack4` and :c:func:"
"`PyFloat_Unpack8`. (Contributed by Victor Stinner in :issue:`46906`.)"
msgstr ""
#: whatsnew/3.11.rst:2223
msgid ""
"Add new functions to get frame object attributes: :c:func:"
"`PyFrame_GetBuiltins`, :c:func:`PyFrame_GetGenerator`, :c:func:"
"`PyFrame_GetGlobals`, :c:func:`PyFrame_GetLasti`."
msgstr ""
#: whatsnew/3.11.rst:2227
msgid ""
"Added two new functions to get and set the active exception instance: :c:"
"func:`PyErr_GetHandledException` and :c:func:`PyErr_SetHandledException`. "
"These are alternatives to :c:func:`PyErr_SetExcInfo()` and :c:func:"
"`PyErr_GetExcInfo()` which work with the legacy 3-tuple representation of "
"exceptions. (Contributed by Irit Katriel in :issue:`46343`.)"
msgstr ""
#: whatsnew/3.11.rst:2234
msgid ""
"Added the :c:member:`PyConfig.safe_path` member. (Contributed by Victor "
"Stinner in :gh:`57684`.)"
msgstr ""
#: whatsnew/3.11.rst:2245
msgid ""
"Some macros have been converted to static inline functions to avoid `macro "
"pitfalls <https://gcc.gnu.org/onlinedocs/cpp/Macro-Pitfalls.html>`_. The "
"change should be mostly transparent to users, as the replacement functions "
"will cast their arguments to the expected types to avoid compiler warnings "
"due to static type checks. However, when the limited C API is set to >=3.11, "
"these casts are not done, and callers will need to cast arguments to their "
"expected types. See :pep:`670` for more details. (Contributed by Victor "
"Stinner and Erlend E. Aasland in :gh:`89653`.)"
msgstr ""
#: whatsnew/3.11.rst:2256
msgid ""
":c:func:`PyErr_SetExcInfo()` no longer uses the ``type`` and ``traceback`` "
"arguments, the interpreter now derives those values from the exception "
"instance (the ``value`` argument). The function still steals references of "
"all three arguments. (Contributed by Irit Katriel in :issue:`45711`.)"
msgstr ""
#: whatsnew/3.11.rst:2262
msgid ""
":c:func:`PyErr_GetExcInfo()` now derives the ``type`` and ``traceback`` "
"fields of the result from the exception instance (the ``value`` field). "
"(Contributed by Irit Katriel in :issue:`45711`.)"
msgstr ""
#: whatsnew/3.11.rst:2266
msgid ""
":c:struct:`_frozen` has a new ``is_package`` field to indicate whether or "
"not the frozen module is a package. Previously, a negative value in the "
"``size`` field was the indicator. Now only non-negative values be used for "
"``size``. (Contributed by Kumar Aditya in :issue:`46608`.)"
msgstr ""
#: whatsnew/3.11.rst:2272
msgid ""
":c:func:`_PyFrameEvalFunction` now takes ``_PyInterpreterFrame*`` as its "
"second parameter, instead of ``PyFrameObject*``. See :pep:`523` for more "
"details of how to use this function pointer type."
msgstr ""
#: whatsnew/3.11.rst:2276
msgid ""
":c:func:`PyCode_New` and :c:func:`PyCode_NewWithPosOnlyArgs` now take an "
"additional ``exception_table`` argument. Using these functions should be "
"avoided, if at all possible. To get a custom code object: create a code "
"object using the compiler, then get a modified version with the ``replace`` "
"method."
msgstr ""
#: whatsnew/3.11.rst:2282
msgid ""
":c:type:`PyCodeObject` no longer has the ``co_code``, ``co_varnames``, "
"``co_cellvars`` and ``co_freevars`` fields. Instead, use :c:func:"
"`PyCode_GetCode`, :c:func:`PyCode_GetVarnames`, :c:func:`PyCode_GetCellvars` "
"and :c:func:`PyCode_GetFreevars` respectively to access them via the C API. "
"(Contributed by Brandt Bucher in :issue:`46841` and Ken Jin in :gh:`92154` "
"and :gh:`94936`.)"
msgstr ""
#: whatsnew/3.11.rst:2290
msgid ""
"The old trashcan macros (``Py_TRASHCAN_SAFE_BEGIN``/"
"``Py_TRASHCAN_SAFE_END``) are now deprecated. They should be replaced by the "
"new macros ``Py_TRASHCAN_BEGIN`` and ``Py_TRASHCAN_END``."
msgstr ""
#: whatsnew/3.11.rst:2294
msgid "A tp_dealloc function that has the old macros, such as::"
msgstr ""
#: whatsnew/3.11.rst:2305
msgid "should migrate to the new macros as follows::"
msgstr ""
#: whatsnew/3.11.rst:2316
msgid ""
"Note that ``Py_TRASHCAN_BEGIN`` has a second argument which should be the "
"deallocation function it is in."
msgstr ""
#: whatsnew/3.11.rst:2319
msgid ""
"To support older Python versions in the same codebase, you can define the "
"following macros and use them throughout the code (credit: these were copied "
"from the ``mypy`` codebase)::"
msgstr ""
#: whatsnew/3.11.rst:2331
msgid ""
"The :c:func:`PyType_Ready` function now raises an error if a type is defined "
"with the :const:`Py_TPFLAGS_HAVE_GC` flag set but has no traverse function (:"
"c:member:`PyTypeObject.tp_traverse`). (Contributed by Victor Stinner in :"
"issue:`44263`.)"
msgstr ""
#: whatsnew/3.11.rst:2336
msgid ""
"Heap types with the :const:`Py_TPFLAGS_IMMUTABLETYPE` flag can now inherit "
"the :pep:`590` vectorcall protocol. Previously, this was only possible for :"
"ref:`static types <static-types>`. (Contributed by Erlend E. Aasland in :"
"issue:`43908`)"
msgstr ""
#: whatsnew/3.11.rst:2341
msgid ""
"Since :c:func:`Py_TYPE()` is changed to a inline static function, "
"``Py_TYPE(obj) = new_type`` must be replaced with ``Py_SET_TYPE(obj, "
"new_type)``: see the :c:func:`Py_SET_TYPE()` function (available since "
"Python 3.9). For backward compatibility, this macro can be used::"
msgstr ""
#: whatsnew/3.11.rst:2367
msgid "(Contributed by Victor Stinner in :issue:`39573`.)"
msgstr ""
#: whatsnew/3.11.rst:2355
msgid ""
"Since :c:func:`Py_SIZE()` is changed to a inline static function, "
"``Py_SIZE(obj) = new_size`` must be replaced with ``Py_SET_SIZE(obj, "
"new_size)``: see the :c:func:`Py_SET_SIZE()` function (available since "
"Python 3.9). For backward compatibility, this macro can be used::"
msgstr ""
#: whatsnew/3.11.rst:2369
msgid ""
"``<Python.h>`` no longer includes the header files ``<stdlib.h>``, ``<stdio."
"h>``, ``<errno.h>`` and ``<string.h>`` when the ``Py_LIMITED_API`` macro is "
"set to ``0x030b0000`` (Python 3.11) or higher. C extensions should "
"explicitly include the header files after ``#include <Python.h>``. "
"(Contributed by Victor Stinner in :issue:`45434`.)"
msgstr ""
#: whatsnew/3.11.rst:2375
msgid ""
"The non-limited API files ``cellobject.h``, ``classobject.h``, ``code.h``, "
"``context.h``, ``funcobject.h``, ``genobject.h`` and ``longintrepr.h`` have "
"been moved to the ``Include/cpython`` directory. Moreover, the ``eval.h`` "
"header file was removed. These files must not be included directly, as they "
"are already included in ``Python.h``: :ref:`Include Files <api-includes>`. "
"If they have been included directly, consider including ``Python.h`` "
"instead. (Contributed by Victor Stinner in :issue:`35134`.)"
msgstr ""
#: whatsnew/3.11.rst:2383
msgid ""
"The :c:func:`PyUnicode_CHECK_INTERNED` macro has been excluded from the "
"limited C API. It was never usable there, because it used internal "
"structures which are not available in the limited C API. (Contributed by "
"Victor Stinner in :issue:`46007`.)"
msgstr ""
#: whatsnew/3.11.rst:2388
msgid ""
"The following frame functions and type are now directly available with "
"``#include <Python.h>``, it's no longer needed to add ``#include "
"<frameobject.h>``:"
msgstr ""
#: whatsnew/3.11.rst:2392
msgid ":c:func:`PyFrame_Check`"
msgstr ""
#: whatsnew/3.11.rst:2393
msgid ":c:func:`PyFrame_GetBack`"
msgstr ""
#: whatsnew/3.11.rst:2394
msgid ":c:func:`PyFrame_GetBuiltins`"
msgstr ""
#: whatsnew/3.11.rst:2395
msgid ":c:func:`PyFrame_GetGenerator`"
msgstr ""
#: whatsnew/3.11.rst:2396
msgid ":c:func:`PyFrame_GetGlobals`"
msgstr ""
#: whatsnew/3.11.rst:2397
msgid ":c:func:`PyFrame_GetLasti`"
msgstr ""
#: whatsnew/3.11.rst:2398
msgid ":c:func:`PyFrame_GetLocals`"
msgstr ""
#: whatsnew/3.11.rst:2399
msgid ":c:type:`PyFrame_Type`"
msgstr ""
#: whatsnew/3.11.rst:2401
msgid "(Contributed by Victor Stinner in :gh:`93937`.)"
msgstr ""
#: whatsnew/3.11.rst:2405
msgid ""
"The :c:type:`PyFrameObject` structure members have been removed from the "
"public C API."
msgstr ""
#: whatsnew/3.11.rst:2408
msgid ""
"While the documentation notes that the :c:type:`PyFrameObject` fields are "
"subject to change at any time, they have been stable for a long time and "
"were used in several popular extensions."
msgstr ""
#: whatsnew/3.11.rst:2412
msgid ""
"In Python 3.11, the frame struct was reorganized to allow performance "
"optimizations. Some fields were removed entirely, as they were details of "
"the old implementation."
msgstr ""
#: whatsnew/3.11.rst:2416
msgid ":c:type:`PyFrameObject` fields:"
msgstr ""
#: whatsnew/3.11.rst:2418
msgid "``f_back``: use :c:func:`PyFrame_GetBack`."
msgstr ""
#: whatsnew/3.11.rst:2419
msgid "``f_blockstack``: removed."
msgstr ""
#: whatsnew/3.11.rst:2420
msgid "``f_builtins``: use :c:func:`PyFrame_GetBuiltins`."
msgstr ""
#: whatsnew/3.11.rst:2421
msgid "``f_code``: use :c:func:`PyFrame_GetCode`."
msgstr ""
#: whatsnew/3.11.rst:2422
msgid "``f_gen``: use :c:func:`PyFrame_GetGenerator`."
msgstr ""
#: whatsnew/3.11.rst:2423
msgid "``f_globals``: use :c:func:`PyFrame_GetGlobals`."
msgstr ""
#: whatsnew/3.11.rst:2424
msgid "``f_iblock``: removed."
msgstr ""
#: whatsnew/3.11.rst:2425
msgid ""
"``f_lasti``: use :c:func:`PyFrame_GetLasti`. Code using ``f_lasti`` with "
"``PyCode_Addr2Line()`` should use :c:func:`PyFrame_GetLineNumber` instead; "
"it may be faster."
msgstr ""
#: whatsnew/3.11.rst:2428
msgid "``f_lineno``: use :c:func:`PyFrame_GetLineNumber`"
msgstr ""
#: whatsnew/3.11.rst:2429
msgid "``f_locals``: use :c:func:`PyFrame_GetLocals`."
msgstr ""
#: whatsnew/3.11.rst:2430
msgid "``f_stackdepth``: removed."
msgstr ""
#: whatsnew/3.11.rst:2431
msgid "``f_state``: no public API (renamed to ``f_frame.f_state``)."
msgstr ""
#: whatsnew/3.11.rst:2432
msgid "``f_trace``: no public API."
msgstr ""
#: whatsnew/3.11.rst:2433
msgid ""
"``f_trace_lines``: use ``PyObject_GetAttrString((PyObject*)frame, "
"\"f_trace_lines\")``."
msgstr ""
#: whatsnew/3.11.rst:2434
msgid ""
"``f_trace_opcodes``: use ``PyObject_GetAttrString((PyObject*)frame, "
"\"f_trace_opcodes\")``."
msgstr ""
#: whatsnew/3.11.rst:2435
msgid "``f_localsplus``: no public API (renamed to ``f_frame.localsplus``)."
msgstr ""
#: whatsnew/3.11.rst:2436
msgid "``f_valuestack``: removed."
msgstr ""
#: whatsnew/3.11.rst:2438
msgid ""
"The Python frame object is now created lazily. A side effect is that the "
"``f_back`` member must not be accessed directly, since its value is now also "
"computed lazily. The :c:func:`PyFrame_GetBack` function must be called "
"instead."
msgstr ""
#: whatsnew/3.11.rst:2443
msgid ""
"Debuggers that accessed the ``f_locals`` directly *must* call :c:func:"
"`PyFrame_GetLocals` instead. They no longer need to call :c:func:"
"`PyFrame_FastToLocalsWithError` or :c:func:`PyFrame_LocalsToFast`, in fact "
"they should not call those functions. The necessary updating of the frame is "
"now managed by the virtual machine."
msgstr ""
#: whatsnew/3.11.rst:2449
msgid "Code defining ``PyFrame_GetCode()`` on Python 3.8 and older::"
msgstr ""
#: whatsnew/3.11.rst:2459
msgid "Code defining ``PyFrame_GetBack()`` on Python 3.8 and older::"
msgstr ""
#: whatsnew/3.11.rst:2469
msgid ""
"Or use the `pythoncapi_compat project <https://github.com/python/"
"pythoncapi_compat>`__ to get these two functions on older Python versions."
msgstr ""
#: whatsnew/3.11.rst:2473
msgid "Changes of the :c:type:`PyThreadState` structure members:"
msgstr ""
#: whatsnew/3.11.rst:2475
msgid ""
"``frame``: removed, use :c:func:`PyThreadState_GetFrame` (function added to "
"Python 3.9 by :issue:`40429`). Warning: the function returns a :term:`strong "
"reference`, need to call :c:func:`Py_XDECREF`."
msgstr ""
#: whatsnew/3.11.rst:2479
msgid ""
"``tracing``: changed, use :c:func:`PyThreadState_EnterTracing` and :c:func:"
"`PyThreadState_LeaveTracing` (functions added to Python 3.11 by :issue:"
"`43760`)."
msgstr ""
#: whatsnew/3.11.rst:2482
msgid ""
"``recursion_depth``: removed, use ``(tstate->recursion_limit - tstate-"
">recursion_remaining)`` instead."
msgstr ""
#: whatsnew/3.11.rst:2484
msgid "``stackcheck_counter``: removed."
msgstr ""
#: whatsnew/3.11.rst:2486
msgid "Code defining ``PyThreadState_GetFrame()`` on Python 3.8 and older::"
msgstr ""
#: whatsnew/3.11.rst:2496
msgid ""
"Code defining ``PyThreadState_EnterTracing()`` and "
"``PyThreadState_LeaveTracing()`` on Python 3.10 and older::"
msgstr ""
#: whatsnew/3.11.rst:2522
msgid ""
"Or use `the pythoncapi_compat project <https://github.com/python/"
"pythoncapi_compat>`__ to get these functions on old Python functions."
msgstr ""
#: whatsnew/3.11.rst:2526
msgid ""
"Distributors are encouraged to build Python with the optimized Blake2 "
"library `libb2`_."
msgstr ""
#: whatsnew/3.11.rst:2529
msgid ""
"The :c:member:`PyConfig.module_search_paths_set` field must now be set to 1 "
"for initialization to use :c:member:`PyConfig.module_search_paths` to "
"initialize :data:`sys.path`. Otherwise, initialization will recalculate the "
"path and replace any values added to ``module_search_paths``."
msgstr ""
#: whatsnew/3.11.rst:2534
msgid ""
":c:func:`PyConfig_Read` no longer calculates the initial search path, and "
"will not fill any values into :c:member:`PyConfig.module_search_paths`. To "
"calculate default paths and then modify them, finish initialization and use :"
"c:func:`PySys_GetObject` to retrieve :data:`sys.path` as a Python list "
"object and modify it directly."
msgstr ""
#: whatsnew/3.11.rst:2545
msgid ""
"Deprecate the following functions to configure the Python initialization:"
msgstr ""
#: whatsnew/3.11.rst:2547
msgid ":c:func:`PySys_AddWarnOptionUnicode`"
msgstr ""
#: whatsnew/3.11.rst:2548
msgid ":c:func:`PySys_AddWarnOption`"
msgstr ""
#: whatsnew/3.11.rst:2549
msgid ":c:func:`PySys_AddXOption`"
msgstr ""
#: whatsnew/3.11.rst:2550
msgid ":c:func:`PySys_HasWarnOptions`"
msgstr ""
#: whatsnew/3.11.rst:2551
msgid ":c:func:`PySys_SetArgvEx`"
msgstr ""
#: whatsnew/3.11.rst:2552
msgid ":c:func:`PySys_SetArgv`"
msgstr ""
#: whatsnew/3.11.rst:2553
msgid ":c:func:`PySys_SetPath`"
msgstr ""
#: whatsnew/3.11.rst:2554
msgid ":c:func:`Py_SetPath`"
msgstr ""
#: whatsnew/3.11.rst:2555
msgid ":c:func:`Py_SetProgramName`"
msgstr ""
#: whatsnew/3.11.rst:2556
msgid ":c:func:`Py_SetPythonHome`"
msgstr ""
#: whatsnew/3.11.rst:2557
msgid ":c:func:`Py_SetStandardStreamEncoding`"
msgstr ""
#: whatsnew/3.11.rst:2558
msgid ":c:func:`_Py_SetProgramFullPath`"
msgstr ""
#: whatsnew/3.11.rst:2560
msgid ""
"Use the new :c:type:`PyConfig` API of the :ref:`Python Initialization "
"Configuration <init-config>` instead (:pep:`587`). (Contributed by Victor "
"Stinner in :gh:`88279`.)"
msgstr ""
#: whatsnew/3.11.rst:2564
msgid ""
"Deprecate the ``ob_shash`` member of the :c:type:`PyBytesObject`. Use :c:"
"func:`PyObject_Hash` instead. (Contributed by Inada Naoki in :issue:`46864`.)"
msgstr ""
#: whatsnew/3.11.rst:2573
msgid ""
"The following C APIs have been deprecated in earlier Python releases, and "
"will be removed in Python 3.12."
msgstr ""
#: whatsnew/3.11.rst:2576
msgid ":c:func:`PyUnicode_AS_DATA`"
msgstr ""
#: whatsnew/3.11.rst:2577
msgid ":c:func:`PyUnicode_AS_UNICODE`"
msgstr ""
#: whatsnew/3.11.rst:2578
msgid ":c:func:`PyUnicode_AsUnicodeAndSize`"
msgstr ""
#: whatsnew/3.11.rst:2579
msgid ":c:func:`PyUnicode_AsUnicode`"
msgstr ""
#: whatsnew/3.11.rst:2580
msgid ":c:func:`PyUnicode_FromUnicode`"
msgstr ""
#: whatsnew/3.11.rst:2581
msgid ":c:func:`PyUnicode_GET_DATA_SIZE`"
msgstr ""
#: whatsnew/3.11.rst:2582
msgid ":c:func:`PyUnicode_GET_SIZE`"
msgstr ""
#: whatsnew/3.11.rst:2583
msgid ":c:func:`PyUnicode_GetSize`"
msgstr ""
#: whatsnew/3.11.rst:2584
msgid ":c:func:`PyUnicode_IS_COMPACT`"
msgstr ""
#: whatsnew/3.11.rst:2585
msgid ":c:func:`PyUnicode_IS_READY`"
msgstr ""
#: whatsnew/3.11.rst:2586
msgid ":c:func:`PyUnicode_READY`"
msgstr ""
#: whatsnew/3.11.rst:2587
msgid ":c:func:`Py_UNICODE_WSTR_LENGTH`"
msgstr ""
#: whatsnew/3.11.rst:2588
msgid ":c:func:`_PyUnicode_AsUnicode`"
msgstr ""
#: whatsnew/3.11.rst:2589
msgid ":c:macro:`PyUnicode_WCHAR_KIND`"
msgstr ""
#: whatsnew/3.11.rst:2590
msgid ":c:type:`PyUnicodeObject`"
msgstr ""
#: whatsnew/3.11.rst:2591
msgid ":c:func:`PyUnicode_InternImmortal()`"
msgstr ""
#: whatsnew/3.11.rst:2599
msgid ""
":c:func:`PyFrame_BlockSetup` and :c:func:`PyFrame_BlockPop` have been "
"removed. (Contributed by Mark Shannon in :issue:`40222`.)"
msgstr ""
#: whatsnew/3.11.rst:2603
msgid "Remove the following math macros using the ``errno`` variable:"
msgstr ""
#: whatsnew/3.11.rst:2605
msgid "``Py_ADJUST_ERANGE1()``"
msgstr ""
#: whatsnew/3.11.rst:2606
msgid "``Py_ADJUST_ERANGE2()``"
msgstr ""
#: whatsnew/3.11.rst:2607
msgid "``Py_OVERFLOWED()``"
msgstr ""
#: whatsnew/3.11.rst:2608
msgid "``Py_SET_ERANGE_IF_OVERFLOW()``"
msgstr ""
#: whatsnew/3.11.rst:2609
msgid "``Py_SET_ERRNO_ON_MATH_ERROR()``"
msgstr ""
#: whatsnew/3.11.rst:2611
msgid "(Contributed by Victor Stinner in :issue:`45412`.)"
msgstr ""
#: whatsnew/3.11.rst:2613
msgid ""
"Remove ``Py_UNICODE_COPY()`` and ``Py_UNICODE_FILL()`` macros, deprecated "
"since Python 3.3. Use ``PyUnicode_CopyCharacters()`` or ``memcpy()`` "
"(``wchar_t*`` string), and ``PyUnicode_Fill()`` functions instead. "
"(Contributed by Victor Stinner in :issue:`41123`.)"
msgstr ""
#: whatsnew/3.11.rst:2618
msgid ""
"Remove the ``pystrhex.h`` header file. It only contains private functions. C "
"extensions should only include the main ``<Python.h>`` header file. "
"(Contributed by Victor Stinner in :issue:`45434`.)"
msgstr ""
#: whatsnew/3.11.rst:2622
msgid ""
"Remove the ``Py_FORCE_DOUBLE()`` macro. It was used by the "
"``Py_IS_INFINITY()`` macro. (Contributed by Victor Stinner in :issue:"
"`45440`.)"
msgstr ""
#: whatsnew/3.11.rst:2626
msgid ""
"The following items are no longer available when :c:macro:`Py_LIMITED_API` "
"is defined:"
msgstr ""
#: whatsnew/3.11.rst:2629
msgid ":c:func:`PyMarshal_WriteLongToFile`"
msgstr ""
#: whatsnew/3.11.rst:2630
msgid ":c:func:`PyMarshal_WriteObjectToFile`"
msgstr ""
#: whatsnew/3.11.rst:2631
msgid ":c:func:`PyMarshal_ReadObjectFromString`"
msgstr ""
#: whatsnew/3.11.rst:2632
msgid ":c:func:`PyMarshal_WriteObjectToString`"
msgstr ""
#: whatsnew/3.11.rst:2633
msgid "the ``Py_MARSHAL_VERSION`` macro"
msgstr ""
#: whatsnew/3.11.rst:2635
msgid "These are not part of the :ref:`limited API <stable-abi-list>`."
msgstr ""
#: whatsnew/3.11.rst:2637
msgid "(Contributed by Victor Stinner in :issue:`45474`.)"
msgstr ""
#: whatsnew/3.11.rst:2639
msgid ""
"Exclude :c:func:`PyWeakref_GET_OBJECT` from the limited C API. It never "
"worked since the :c:type:`PyWeakReference` structure is opaque in the "
"limited C API. (Contributed by Victor Stinner in :issue:`35134`.)"
msgstr ""
#: whatsnew/3.11.rst:2644
msgid ""
"Remove the ``PyHeapType_GET_MEMBERS()`` macro. It was exposed in the public "
"C API by mistake, it must only be used by Python internally. Use the "
"``PyTypeObject.tp_members`` member instead. (Contributed by Victor Stinner "
"in :issue:`40170`.)"
msgstr ""
#: whatsnew/3.11.rst:2649
msgid ""
"Remove the ``HAVE_PY_SET_53BIT_PRECISION`` macro (moved to the internal C "
"API). (Contributed by Victor Stinner in :issue:`45412`.)"
msgstr ""
#: whatsnew/3.11.rst:2655
msgid ""
"Remove the :c:type:`Py_UNICODE` encoder APIs, as they have been deprecated "
"since Python 3.3, are little used and are inefficient relative to the "
"recommended alternatives."
msgstr ""
#: whatsnew/3.11.rst:2660
msgid "The removed functions are:"
msgstr ""
#: whatsnew/3.11.rst:2662
msgid ":func:`!PyUnicode_Encode`"
msgstr ""
#: whatsnew/3.11.rst:2663
msgid ":func:`!PyUnicode_EncodeASCII`"
msgstr ""
#: whatsnew/3.11.rst:2664
msgid ":func:`!PyUnicode_EncodeLatin1`"
msgstr ""
#: whatsnew/3.11.rst:2665
msgid ":func:`!PyUnicode_EncodeUTF7`"
msgstr ""
#: whatsnew/3.11.rst:2666
msgid ":func:`!PyUnicode_EncodeUTF8`"
msgstr ""
#: whatsnew/3.11.rst:2667
msgid ":func:`!PyUnicode_EncodeUTF16`"
msgstr ""
#: whatsnew/3.11.rst:2668
msgid ":func:`!PyUnicode_EncodeUTF32`"
msgstr ""
#: whatsnew/3.11.rst:2669
msgid ":func:`!PyUnicode_EncodeUnicodeEscape`"
msgstr ""
#: whatsnew/3.11.rst:2670
msgid ":func:`!PyUnicode_EncodeRawUnicodeEscape`"
msgstr ""
#: whatsnew/3.11.rst:2671
msgid ":func:`!PyUnicode_EncodeCharmap`"
msgstr ""
#: whatsnew/3.11.rst:2672
msgid ":func:`!PyUnicode_TranslateCharmap`"
msgstr ""
#: whatsnew/3.11.rst:2673
msgid ":func:`!PyUnicode_EncodeDecimal`"
msgstr ""
#: whatsnew/3.11.rst:2674
msgid ":func:`!PyUnicode_TransformDecimalToASCII`"
msgstr ""
#: whatsnew/3.11.rst:2676
msgid ""
"See :pep:`624` for details and :pep:`migration guidance <624#alternative-"
"apis>`. (Contributed by Inada Naoki in :issue:`44029`.)"
msgstr ""
#~ msgid ""
#~ ":pep:`654`: Exception Groups and ``except*``. (Contributed by Irit "
#~ "Katriel in :issue:`45292`.)"
#~ msgstr ""
#~ ":pep:`654` : Groupes d'exceptions et instruction ``except*`` "
#~ "(contribution d'*Irit Katriel* dans :issue:`45292`)."
#~ msgid ":pep:`646`: Variadic generics."
#~ msgstr ""
#~ ":pep:`673` : Type ``Self`` (contribution de *James Hilton-Balfe* et de "
#~ "*Pradeep Kumar* dans :issue:`30924`)."
#~ msgid "Column information for code objects"
#~ msgstr "Information de colonnes pour les objets code"
#~ msgid ""
#~ "The :option:`-X` ``no_debug_ranges`` option and the environment variable :"
#~ "envvar:`PYTHONNODEBUGRANGES` can be used to disable this feature."
#~ msgstr ""
#~ "L'option :option:`-X` ``no_debug_ranges`` et la variable d'environnement :"
#~ "envvar:`PYTHONNODEBUGRANGES` permettent de désactiver cette "
#~ "fonctionnalité."
#~ msgid ""
#~ "\"Zero-cost\" exceptions are implemented. The cost of ``try`` statements "
#~ "is almost eliminated when no exception is raised. (Contributed by Mark "
#~ "Shannon in :issue:`40222`.)"
#~ msgstr ""
#~ "Les exceptions « gratuites » sont maintenant implémentées. Le coût des "
#~ "instructions ``try`` est pratiquement éliminé quand aucune exception "
#~ "n'est levée (contribution de *Mark Shannon* dans :issue:`40222`)."
#~ msgid "Changes in the Python API"
#~ msgstr "Changements dans l'API Python"