# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" "PO-Revision-Date: 2023-03-05 23:15+0100\n" "Last-Translator: Mouna Sebti \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.2.1\n" #: whatsnew/3.11.rst:3 msgid "What's New In Python 3.11" msgstr "Les nouveautés de Python 3.11" #: whatsnew/3.11.rst:0 msgid "Release" msgstr "Version" #: whatsnew/3.11.rst:5 msgid "|release|" msgstr "" #: whatsnew/3.11.rst:0 msgid "Date" msgstr "Date" #: whatsnew/3.11.rst:6 msgid "|today|" msgstr "" #: whatsnew/3.11.rst:0 msgid "Editor" msgstr "Éditeur" #: whatsnew/3.11.rst:7 msgid "Pablo Galindo Salgado" msgstr "" #: whatsnew/3.11.rst:49 msgid "" "This article explains the new features in Python 3.11, compared to 3.10." msgstr "" "Cet article explique les nouvelles fonctionnalités de Python 3.11 par " "rapport à la version 3.10." #: whatsnew/3.11.rst:51 msgid "For full details, see the :ref:`changelog `." 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 " "benchmarks standards. Voir les détails sur :ref:`whatsnew311-faster-cpython`." #: whatsnew/3.11.rst:68 msgid "New syntax features:" msgstr "Nouvelles fonctionnalités de syntaxe :" #: whatsnew/3.11.rst:70 msgid ":ref:`whatsnew311-pep654`" msgstr "" #: whatsnew/3.11.rst:72 msgid "New built-in features:" msgstr "Nouvelles fonctionnalités natives :" #: whatsnew/3.11.rst:74 msgid ":ref:`whatsnew311-pep678`" msgstr "" #: whatsnew/3.11.rst:76 msgid "New standard library modules:" msgstr "Nouveaux modules de bibliothèque standard :" #: whatsnew/3.11.rst:78 msgid "" ":pep:`680`: :mod:`tomllib` — Support for parsing `TOML `_ " "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 " "sontdevenus 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 msgid "PEP 657: Fine-grained error locations in tracebacks" msgstr "" "PEP 657 : amélioration de l'emplacement des erreurs dans les traces d'appels" #: whatsnew/3.11.rst:117 #, fuzzy msgid "" "When printing tracebacks, the interpreter will now point to the exact " "expression that caused the error, instead of just the line. For example:" msgstr "" "Au moment d'afficher une trace d'appels, l'interpréteur indique maintenant " "quelle est l'expression exacte qui a causé l'erreur plutôt que seulement la " "ligne. Par exemple :" #: whatsnew/3.11.rst:131 #, fuzzy msgid "" "Previous versions of the interpreter would point to just the line, making it " "ambiguous which object was ``None``. These enhanced errors can also be " "helpful when dealing with deeply nested :class:`dict` objects and multiple " "function calls:" msgstr "" "Les versions précédentes de l'interpréteur indiquaient uniquement la ligne, " "ce qui rendait ambigu quel objet était ``None``. Ces messages d'erreurs " "améliorés sont aussi utiles quand on travaille avec des objets " "dictionnaires :class:`dict` fortement imbriqués et des appels de fonction " "multiples :" #: whatsnew/3.11.rst:151 #, fuzzy msgid "As well as complex arithmetic expressions:" msgstr "de même qu'avec les expressions arithmétiques complexes :" #: whatsnew/3.11.rst:161 #, fuzzy msgid "" "Additionally, the information used by the enhanced traceback feature is made " "available via a general API, that can be used to correlate :term:`bytecode` :" "ref:`instructions ` 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 " "modifications 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"