# 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-02-17 15:35+0100\n" "Last-Translator: Mouna Sebti \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 3.0\n" #: whatsnew/3.11.rst:3 msgid "What's New In Python 3.11" msgstr "Les nouveautés de Python 3.11" #: whatsnew/3.11.rst:0 msgid "Release" msgstr "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 `." msgstr "" "Pour plus de détails, voir le :ref:`journal des modifications `." #: 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" "benchmark standard. 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 `_ " "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 ` 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 " "` and will be removed in Python 3.13" msgstr "" ":pep:`594`: :ref:`De nombreux anciens modules de la bibliothèque standard sont" "devenus obsolètes ` 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 `" msgstr "" ":pep:`624`: :ref:`les API d'encodage Py_UNICODE ont été supprimées `" #: whatsnew/3.11.rst:103 msgid "" ":pep:`670`: :ref:`Macros converted to static inline functions `" msgstr "" #: whatsnew/3.11.rst:2175 msgid "New Features" msgstr "Nouvelles fonctionnalités" #: whatsnew/3.11.rst:115 #, fuzzy msgid "PEP 657: Fine-grained error locations in tracebacks" msgstr "Amélioration de l'emplacement des erreurs dans les traces d'appels" #: whatsnew/3.11.rst:117 #, fuzzy msgid "" "When printing tracebacks, the interpreter will now point to the exact " "expression that caused the error, instead of just the line. For example:" msgstr "" "Au moment d'afficher une trace d'appels, l'interpréteur indique maintenant " "quelle est l'expression exacte qui a causé l'erreur plutôt que seulement la " "ligne. Par exemple :" #: whatsnew/3.11.rst:131 #, fuzzy msgid "" "Previous versions of the interpreter would point to just the line, making it " "ambiguous which object was ``None``. These enhanced errors can also be " "helpful when dealing with deeply nested :class:`dict` objects and multiple " "function calls:" msgstr "" "Les versions précédentes de l'interpréteur indiquaient uniquement la ligne, " "ce qui rendait ambigu quel objet était ``None``. 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 ` 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* " "` 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:/`` argument instead of the limited ``-" ".``. This allows launching distributions other than " "``PythonCore``, the one hosted on `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 ``-``, ``-.``, ``--" "`` or ``-.-`` 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 `\\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 `-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 `) that was originally planned " "for release in Python 3.10 has been put on hold indefinitely. See `this " "message from the Steering Council `__ 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 ` are now allowed inside " "comprehensions in :ref:`asynchronous functions `. 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 " "` 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 `, ``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 ` " "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 `_. 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 " "` 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 `_. 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 ` 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__() ` (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 `." 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() `. 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 ` 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 ` 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 ` (*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 `_ 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 `. " "(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 ` 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() ` 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 ` 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 `_ than CPython 3.10 when measured with the " "`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__` 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* ` 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_* `" msgstr "" #: whatsnew/3.11.rst:0 msgid ":opcode:`POP_JUMP_FORWARD_IF_* `" 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 `." 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) ` 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 `. 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 `." 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 `" msgstr "" #: whatsnew/3.11.rst:1853 msgid "The :mod:`imp` module" msgstr "" #: whatsnew/3.11.rst:1854 msgid "The :class:`typing.io ` namespace" msgstr "" #: whatsnew/3.11.rst:1855 msgid "The :class:`typing.re ` 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 `." 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() ` 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 `_ --- The Pythonically Natural " "Color and Hue Editor --- has been moved out of ``Tools/scripts`` and is " "`being developed independently `_ 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" "modification dans votre code." #: whatsnew/3.11.rst:2016 msgid "" "Porting notes for the C API are :ref:`listed separately `." 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 ` 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 `_ platforms " "`Emscripten `_ (``wasm32-unknown-emscripten``, i.e. " "Python in the browser) and `WebAssembly System Interface (WASI) `_ (``wasm32-unknown-wasi``). The effort is inspired by previous " "work like `Pyodide `_. 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 `_ compiler. `Optional C11 " "features `_ are not required. " "(Contributed by Victor Stinner in :issue:`46656`.)" msgstr "" #: whatsnew/3.11.rst:2095 msgid "" "Support for `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) `_, 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 `_ ```` 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 `_ " "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 `_ (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 `_ 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 `_. 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 `. (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 "" "```` no longer includes the header files ````, ````, ```` and ```` 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 ``. " "(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 `. " "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 ``, it's no longer needed to add ``#include " "``:" 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 `__ 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 `__ 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 ` 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 ```` 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 `." 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"