python-docs-fr/whatsnew/3.11.po

3204 lines
97 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

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

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

# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2022, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.11\n"
"Report-Msgid-Bugs-To:\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2022-11-14 15:35+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Last-Translator: Yannick Gingras <ygingras@ygingras.net>\n"
"X-Generator: Poedit 3.0\n"
#: whatsnew/3.11.rst:3
msgid "What's New In Python 3.11"
msgstr "Les nouveautés de Python 3.11"
#: whatsnew/3.11.rst:0
msgid "Release"
msgstr ""
#: whatsnew/3.11.rst:5
msgid "|release|"
msgstr ""
#: whatsnew/3.11.rst:0
msgid "Date"
msgstr "Date"
#: whatsnew/3.11.rst:6
msgid "|today|"
msgstr ""
#: whatsnew/3.11.rst:48
msgid ""
"This article explains the new features in Python 3.11, compared to 3.10."
msgstr ""
"Cet article explique les nouvelles fonctionnalités de Python 3.11 par "
"rapport à la version 3.10."
#: whatsnew/3.11.rst:50
msgid "For full details, see the :ref:`changelog <changelog>`."
msgstr ""
"Pour plus de détails, voir le :ref:`journal des modifications <changelog>`."
#: whatsnew/3.11.rst:54
msgid ""
"Prerelease users should be aware that this document is currently in draft "
"form. It will be updated substantially as Python 3.11 moves towards release, "
"so it's worth checking back even after reading earlier versions."
msgstr ""
#: whatsnew/3.11.rst:60
msgid "Summary -- Release highlights"
msgstr "Résumé Points forts de la publication"
#: whatsnew/3.11.rst:65
msgid ""
"Python 3.11 is up to 10-60% faster than Python 3.10. On average, we measured "
"a 1.25x speedup on the standard benchmark suite. See `Faster CPython`_ for "
"details."
msgstr ""
#: whatsnew/3.11.rst:70
msgid "New syntax features:"
msgstr "Nouvelles fonctionnalités de syntaxe :"
#: whatsnew/3.11.rst:72
msgid ""
":pep:`654`: Exception Groups and ``except*``. (Contributed by Irit Katriel "
"in :issue:`45292`.)"
msgstr ""
":pep:`654` : Groupes d'exceptions et instruction ``except*`` (contribution "
"d'*Irit Katriel* dans :issue:`45292`)."
#: whatsnew/3.11.rst:75
msgid "New typing features:"
msgstr "Nouvelles fonctionnalités de typage :"
#: whatsnew/3.11.rst:77
msgid ":pep:`646`: Variadic generics."
msgstr ""
":pep:`673` : Type ``Self`` (contribution de *James Hilton-Balfe* et de "
"*Pradeep Kumar* dans :issue:`30924`)."
#: whatsnew/3.11.rst:78
msgid ""
":pep:`655`: Marking individual TypedDict items as required or potentially-"
"missing."
msgstr ""
#: whatsnew/3.11.rst:79
msgid ":pep:`673`: ``Self`` type."
msgstr ""
#: whatsnew/3.11.rst:80
msgid ":pep:`675`: Arbitrary literal string type."
msgstr ""
#: whatsnew/3.11.rst:82
msgid "Security improvements:"
msgstr ""
#: whatsnew/3.11.rst:84
msgid ""
"New :option:`-P` command line option and :envvar:`PYTHONSAFEPATH` "
"environment variable to not prepend a potentially unsafe path to :data:`sys."
"path` such as the current directory, the script's directory or an empty "
"string."
msgstr ""
#: whatsnew/3.11.rst:1549
msgid "New Features"
msgstr "Nouvelles fonctionnalités"
#: whatsnew/3.11.rst:95
msgid "Enhanced error locations in tracebacks"
msgstr "Amélioration de l'emplacement des erreurs dans les traces d'appels"
#: whatsnew/3.11.rst:97
msgid ""
"When printing tracebacks, the interpreter will now point to the exact "
"expression that caused the error instead of just the line. For example:"
msgstr ""
"Au moment d'afficher une trace d'appels, l'interpréteur indique maintenant "
"quelle est l'expression exacte qui a causé l'erreur plutôt que seulement la "
"ligne. Par exemple :"
#: whatsnew/3.11.rst:111
msgid ""
"Previous versions of the interpreter would point to just the line making it "
"ambiguous which object was ``None``. These enhanced errors can also be "
"helpful when dealing with deeply nested dictionary objects and multiple "
"function calls,"
msgstr ""
"Les versions précédentes de l'interpréteur indiquaient uniquement la ligne, "
"ce qui rendait ambigu quel objet était ``None``. Les messages d'erreurs "
"améliorés sont aussi utiles quand on travaille avec des objets dictionnaires "
"fortement imbriqués et des appels de fonction multiples,"
#: whatsnew/3.11.rst:132
msgid "as well as complex arithmetic expressions:"
msgstr "de même qu'avec les expressions arithmétiques complexes :"
#: whatsnew/3.11.rst:166
msgid ""
"See :pep:`657` for more details. (Contributed by Pablo Galindo, Batuhan "
"Taskaya and Ammar Askar in :issue:`43950`.)"
msgstr ""
"Voir la :pep:`657` pour plus de détails (contribution de *Pablo Galindo*, "
"*Batuhan Taskaya* et *Ammar Askar* dans :issue:`43950`)."
#: whatsnew/3.11.rst:146
msgid ""
"This feature requires storing column positions in code objects which may "
"result in a small increase of disk usage of compiled Python files or "
"interpreter memory usage. To avoid storing the extra information and/or "
"deactivate printing the extra traceback information, the :option:`-X` "
"``no_debug_ranges`` command line flag or the :envvar:`PYTHONNODEBUGRANGES` "
"environment variable can be used."
msgstr ""
#: whatsnew/3.11.rst:154
msgid "Column information for code objects"
msgstr "Information de colonnes pour les objets code"
#: whatsnew/3.11.rst:156
msgid ""
"The information used by the enhanced traceback feature is made available as "
"a general API that can be used to correlate bytecode instructions with "
"source code. This information can be retrieved using:"
msgstr ""
"L'information utilisée par les traces d'appels améliorées est aussi "
"disponible dans une API générale qui peut être utilisée pour corréler des "
"instructions de code intermédiaire avec le code source. Cette information "
"peut être récupérée en utilisant :"
#: whatsnew/3.11.rst:160
msgid "The :meth:`codeobject.co_positions` method in Python."
msgstr "la méthode :meth:`codeobject.co_positions` en Python ;"
#: whatsnew/3.11.rst:161
msgid "The :c:func:`PyCode_Addr2Location` function in the C-API."
msgstr "la fonction :c:func:`PyCode_Addr2Location` dans l'API C."
#: whatsnew/3.11.rst:163
msgid ""
"The :option:`-X` ``no_debug_ranges`` option and the environment variable :"
"envvar:`PYTHONNODEBUGRANGES` can be used to disable this feature."
msgstr ""
"L'option :option:`-X` ``no_debug_ranges`` et la variable d'environnement :"
"envvar:`PYTHONNODEBUGRANGES` permettent de désactiver cette fonctionnalité."
#: whatsnew/3.11.rst:170
msgid "Exceptions can be enriched with notes (PEP 678)"
msgstr "Les exceptions peuvent être enrichies avec des notes (PEP 678)"
#: whatsnew/3.11.rst:172
#, fuzzy
msgid ""
"The :meth:`add_note` method was added to :exc:`BaseException`. It can be "
"used to enrich exceptions with context information which is not available at "
"the time when the exception is raised. The notes added appear in the default "
"traceback. See :pep:`678` for more details. (Contributed by Irit Katriel in :"
"issue:`45607`.)"
msgstr ""
"Le champ ``__note__`` a été ajouté à :exc:`BaseException`. Il est ``None`` "
"par défaut, mais il peut être affecté à une chaîne qui est alors ajoutée à "
"la trace d'appel de l'exception (contribution d'*Irit Katriel* dans :issue:"
"`45607`)."
#: whatsnew/3.11.rst:182
msgid "New Features Related to Type Hints"
msgstr ""
#: whatsnew/3.11.rst:184
msgid ""
"This section covers major changes affecting :pep:`484` type hints and the :"
"mod:`typing` module."
msgstr ""
#: whatsnew/3.11.rst:188
msgid "PEP 646: Variadic generics"
msgstr ""
#: whatsnew/3.11.rst:190
msgid ""
":pep:`484` introduced :data:`~typing.TypeVar`, enabling creation of generics "
"parameterised with a single type. :pep:`646` introduces :data:`~typing."
"TypeVarTuple`, enabling parameterisation with an *arbitrary* number of "
"types. In other words, a :data:`~typing.TypeVarTuple` is a *variadic* type "
"variable, enabling *variadic* generics. This enables a wide variety of use "
"cases. In particular, it allows the type of array-like structures in "
"numerical computing libraries such as NumPy and TensorFlow to be "
"parameterised with the array *shape*. Static type checkers will now be able "
"to catch shape-related bugs in code that uses these libraries."
msgstr ""
#: whatsnew/3.11.rst:201
msgid "See :pep:`646` for more details."
msgstr ""
#: whatsnew/3.11.rst:203
msgid ""
"(Contributed by Matthew Rahtz in :issue:`43224`, with contributions by "
"Serhiy Storchaka and Jelle Zijlstra. PEP written by Mark Mendoza, Matthew "
"Rahtz, Pradeep Kumar Srinivasan, and Vincent Siles.)"
msgstr ""
#: whatsnew/3.11.rst:208
msgid ""
"PEP 655: Marking individual ``TypedDict`` items as required or not-required"
msgstr ""
#: whatsnew/3.11.rst:210
msgid ""
":data:`~typing.Required` and :data:`~typing.NotRequired` provide a "
"straightforward way to mark whether individual items in a :data:`~typing."
"TypedDict` must be present. Previously this was only possible using "
"inheritance."
msgstr ""
#: whatsnew/3.11.rst:215
msgid ""
"Fields are still required by default, unless the ``total=False`` parameter "
"is set. For example, the following specifies a dictionary with one required "
"and one not-required key::"
msgstr ""
#: whatsnew/3.11.rst:228
msgid "The following definition is equivalent::"
msgstr ""
#: whatsnew/3.11.rst:234
msgid "See :pep:`655` for more details."
msgstr ""
#: whatsnew/3.11.rst:236
msgid ""
"(Contributed by David Foster and Jelle Zijlstra in :issue:`47087`. PEP "
"written by David Foster.)"
msgstr ""
#: whatsnew/3.11.rst:240
msgid "PEP 673: ``Self`` type"
msgstr ""
#: whatsnew/3.11.rst:242
msgid ""
"The new :data:`~typing.Self` annotation provides a simple and intuitive way "
"to annotate methods that return an instance of their class. This behaves the "
"same as the :data:`~typing.TypeVar`-based approach specified in :pep:`484` "
"but is more concise and easier to follow."
msgstr ""
#: whatsnew/3.11.rst:247
msgid ""
"Common use cases include alternative constructors provided as classmethods "
"and :meth:`~object.__enter__` methods that return ``self``::"
msgstr ""
#: whatsnew/3.11.rst:264
msgid ""
":data:`~typing.Self` can also be used to annotate method parameters or "
"attributes of the same type as their enclosing class."
msgstr ""
#: whatsnew/3.11.rst:267
msgid "See :pep:`673` for more details."
msgstr ""
#: whatsnew/3.11.rst:269
msgid ""
"(Contributed by James Hilton-Balfe in :issue:`46534`. PEP written by Pradeep "
"Kumar Srinivasan and James Hilton-Balfe.)"
msgstr ""
#: whatsnew/3.11.rst:273
msgid "PEP 675: Arbitrary literal string type"
msgstr ""
#: whatsnew/3.11.rst:275
msgid ""
"The new :data:`~typing.LiteralString` annotation may be used to indicate "
"that a function parameter can be of any literal string type. This allows a "
"function to accept arbitrary literal string types, as well as strings "
"created from other literal strings. Type checkers can then enforce that "
"sensitive functions, such as those that execute SQL statements or shell "
"commands, are called only with static arguments, providing protection "
"against injection attacks."
msgstr ""
#: whatsnew/3.11.rst:283
msgid "For example, a SQL query function could be annotated as follows::"
msgstr ""
#: whatsnew/3.11.rst:301
msgid "See :pep:`675` for more details."
msgstr ""
#: whatsnew/3.11.rst:303
msgid ""
"(Contributed by Jelle Zijlstra in :issue:`47088`. PEP written by Pradeep "
"Kumar Srinivasan and Graham Bleaney.)"
msgstr ""
#: whatsnew/3.11.rst:307
msgid "PEP 681: Data Class Transforms"
msgstr ""
#: whatsnew/3.11.rst:309
msgid ""
":data:`~typing.dataclass_transform` may be used to decorate a class, "
"metaclass, or a function that is itself a decorator. The presence of "
"``@dataclass_transform()`` tells a static type checker that the decorated "
"object performs runtime \"magic\" that transforms a class, giving it :func:"
"`dataclasses.dataclass`-like behaviors."
msgstr ""
#: whatsnew/3.11.rst:315
msgid "For example::"
msgstr ""
#: whatsnew/3.11.rst:334
msgid "See :pep:`681` for more details."
msgstr ""
#: whatsnew/3.11.rst:336
msgid ""
"(Contributed by Jelle Zijlstra in :gh:`91860`. PEP written by Erik De Bonte "
"and Eric Traut.)"
msgstr ""
#: whatsnew/3.11.rst:340
msgid "Other Language Changes"
msgstr "Autres changements au langage"
#: whatsnew/3.11.rst:342
msgid ""
"Starred expressions can be used in :ref:`for statements<for>`. (See :issue:"
"`46725` for more details.)"
msgstr ""
#: whatsnew/3.11.rst:345
msgid ""
"Asynchronous comprehensions are now allowed inside comprehensions in "
"asynchronous functions. Outer comprehensions implicitly become asynchronous. "
"(Contributed by Serhiy Storchaka in :issue:`33346`.)"
msgstr ""
#: whatsnew/3.11.rst:349
msgid ""
"A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` in :"
"meth:`contextlib.ExitStack.enter_context` and :meth:`contextlib."
"AsyncExitStack.enter_async_context` for objects which do not support the :"
"term:`context manager` or :term:`asynchronous context manager` protocols "
"correspondingly. (Contributed by Serhiy Storchaka in :issue:`44471`.)"
msgstr ""
#: whatsnew/3.11.rst:356
msgid ""
"A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` in :"
"keyword:`with` and :keyword:`async with` statements for objects which do not "
"support the :term:`context manager` or :term:`asynchronous context manager` "
"protocols correspondingly. (Contributed by Serhiy Storchaka in :issue:"
"`12022`.)"
msgstr ""
#: whatsnew/3.11.rst:362
msgid ""
"Added :meth:`object.__getstate__` which provides the default implementation "
"of the ``__getstate__()`` method. :mod:`Copying <copy>` and :mod:`pickling "
"<pickle>` instances of subclasses of builtin types :class:`bytearray`, :"
"class:`set`, :class:`frozenset`, :class:`collections.OrderedDict`, :class:"
"`collections.deque`, :class:`weakref.WeakSet`, and :class:`datetime.tzinfo` "
"now copies and pickles instance attributes implemented as :term:`slots "
"<__slots__>`. (Contributed by Serhiy Storchaka in :issue:`26579`.)"
msgstr ""
#: whatsnew/3.11.rst:371
msgid ""
"Add :option:`-P` command line option and :envvar:`PYTHONSAFEPATH` "
"environment variable to not prepend a potentially unsafe path to :data:`sys."
"path` such as the current directory, the script's directory or an empty "
"string. (Contributed by Victor Stinner in :gh:`57684`.)"
msgstr ""
#: whatsnew/3.11.rst:378
msgid "Other CPython Implementation Changes"
msgstr "Autres changements à l'implémentation de CPython"
#: whatsnew/3.11.rst:380
msgid ""
"Special methods :meth:`complex.__complex__` and :meth:`bytes.__bytes__` are "
"implemented to support :class:`typing.SupportsComplex` and :class:`typing."
"SupportsBytes` protocols. (Contributed by Mark Dickinson and Dong-hee Na in :"
"issue:`24234`.)"
msgstr ""
#: whatsnew/3.11.rst:384
msgid ""
"``siphash13`` is added as a new internal hashing algorithms. It has similar "
"security properties as ``siphash24`` but it is slightly faster for long "
"inputs. ``str``, ``bytes``, and some other types now use it as default "
"algorithm for :func:`hash`. :pep:`552` hash-based pyc files now use "
"``siphash13``, too. (Contributed by Inada Naoki in :issue:`29410`.)"
msgstr ""
#: whatsnew/3.11.rst:390
msgid ""
"When an active exception is re-raised by a :keyword:`raise` statement with "
"no parameters, the traceback attached to this exception is now always ``sys."
"exc_info()[1].__traceback__``. This means that changes made to the traceback "
"in the current :keyword:`except` clause are reflected in the re-raised "
"exception. (Contributed by Irit Katriel in :issue:`45711`.)"
msgstr ""
#: whatsnew/3.11.rst:396
msgid ""
"The interpreter state's representation of handled exceptions (a.k.a "
"exc_info, or _PyErr_StackItem) now has only the ``exc_value`` field, "
"``exc_type`` and ``exc_traceback`` have been removed as their values can be "
"derived from ``exc_value``. (Contributed by Irit Katriel in :issue:`45711`.)"
msgstr ""
#: whatsnew/3.11.rst:401
msgid ""
"A new command line option for the Windows installer ``AppendPath`` has been "
"added. It behaves similiar to ``PrependPath`` but appends the install and "
"scripts directories instead of prepending them. (Contributed by Bastian "
"Neuburger in :issue:`44934`.)"
msgstr ""
#: whatsnew/3.11.rst:1869
msgid ""
"The :c:member:`PyConfig.module_search_paths_set` field must now be set to 1 "
"for initialization to use :c:member:`PyConfig.module_search_paths` to "
"initialize :data:`sys.path`. Otherwise, initialization will recalculate the "
"path and replace any values added to ``module_search_paths``."
msgstr ""
#: whatsnew/3.11.rst:413
msgid "New Modules"
msgstr "Nouveaux modules"
#: whatsnew/3.11.rst:415
msgid ""
"A new module, :mod:`tomllib`, was added for parsing TOML. (Contributed by "
"Taneli Hukkinen in :issue:`40059`.)"
msgstr ""
"Un nouveau module :mod:`tomllib` a été ajouté pour faire l'analyse du format "
"*TOML* (contribution de *Taneli Hukkinen* dans :issue:`40059`)."
#: whatsnew/3.11.rst:418
msgid ""
":mod:`wsgiref.types`, containing WSGI-specific types for static type "
"checking, was added. (Contributed by Sebastian Rittau in :issue:`42012`.)"
msgstr ""
#: whatsnew/3.11.rst:424
msgid "Improved Modules"
msgstr "Modules améliorés"
#: whatsnew/3.11.rst:427
msgid "asyncio"
msgstr "``asyncio``"
#: whatsnew/3.11.rst:429
msgid ""
"Add raw datagram socket functions to the event loop: :meth:`~asyncio."
"AbstractEventLoop.sock_sendto`, :meth:`~asyncio.AbstractEventLoop."
"sock_recvfrom` and :meth:`~asyncio.AbstractEventLoop.sock_recvfrom_into`. "
"(Contributed by Alex Grönholm in :issue:`46805`.)"
msgstr ""
#: whatsnew/3.11.rst:435
msgid ""
"Add :meth:`~asyncio.streams.StreamWriter.start_tls` method for upgrading "
"existing stream-based connections to TLS. (Contributed by Ian Good in :issue:"
"`34975`.)"
msgstr ""
#: whatsnew/3.11.rst:439
msgid ""
"Add :class:`~asyncio.Barrier` class to the synchronization primitives of the "
"asyncio library. (Contributed by Yves Duprat and Andrew Svetlov in :gh:"
"`87518`.)"
msgstr ""
#: whatsnew/3.11.rst:444
msgid "datetime"
msgstr ""
#: whatsnew/3.11.rst:446
msgid ""
"Add :attr:`datetime.UTC`, a convenience alias for :attr:`datetime.timezone."
"utc`. (Contributed by Kabir Kwatra in :gh:`91973`.)"
msgstr ""
#: whatsnew/3.11.rst:448
msgid ""
":meth:`datetime.date.fromisoformat`, :meth:`datetime.time.fromisoformat` "
"and :meth:`datetime.datetime.fromisoformat` can now be used to parse most "
"ISO 8601 formats (barring only those that support fractional hours and "
"minutes). (Contributed by Paul Ganssle in :gh:`80010`.)"
msgstr ""
#: whatsnew/3.11.rst:454
msgid "fractions"
msgstr "``fractions``"
#: whatsnew/3.11.rst:456
msgid ""
"Support :PEP:`515`-style initialization of :class:`~fractions.Fraction` from "
"string. (Contributed by Sergey B Kirpichev in :issue:`44258`.)"
msgstr ""
"Prise en charge de l'initialisation de :class:`~fractions.Fraction` à partir "
"d'une chaîne suivant le style de la :PEP:`515` (contribution de *Sergey B "
"Kirpichev* dans :issue:`44258`)."
#: whatsnew/3.11.rst:459
msgid ""
":class:`~fractions.Fraction` now implements an ``__int__`` method, so that "
"an ``isinstance(some_fraction, typing.SupportsInt)`` check passes. "
"(Contributed by Mark Dickinson in :issue:`44547`.)"
msgstr ""
":class:`~fractions.Fraction` implémente maintenant la méthode ``__int__``, "
"ce qui permet au test ``isinstance(ma_fraction, typing.SupportsInt)`` de "
"passer avec succès (contribution de *Mark Dickinson* dans :issue:`44547`)."
#: whatsnew/3.11.rst:464
msgid "functools"
msgstr ""
#: whatsnew/3.11.rst:466
msgid ""
":func:`functools.singledispatch` now supports :data:`types.UnionType` and :"
"data:`typing.Union` as annotations to the dispatch argument.::"
msgstr ""
#: whatsnew/3.11.rst:491
msgid "(Contributed by Yurii Karabas in :issue:`46014`.)"
msgstr ""
#: whatsnew/3.11.rst:494
msgid "hashlib"
msgstr ""
#: whatsnew/3.11.rst:496
msgid ""
":func:`hashlib.blake2b` and :func:`hashlib.blake2s` now prefer `libb2`_ over "
"Python's vendored copy. (Contributed by Christian Heimes in :issue:`47095`.)"
msgstr ""
#: whatsnew/3.11.rst:500
msgid ""
"The internal ``_sha3`` module with SHA3 and SHAKE algorithms now uses "
"*tiny_sha3* instead of the *Keccak Code Package* to reduce code and binary "
"size. The :mod:`hashlib` module prefers optimized SHA3 and SHAKE "
"implementations from OpenSSL. The change affects only installations without "
"OpenSSL support. (Contributed by Christian Heimes in :issue:`47098`.)"
msgstr ""
#: whatsnew/3.11.rst:508
msgid "IDLE and idlelib"
msgstr "``IDLE`` et ``idlelib``"
#: whatsnew/3.11.rst:510
msgid ""
"Apply syntax highlighting to `.pyi` files. (Contributed by Alex Waygood and "
"Terry Jan Reedy in :issue:`45447`.)"
msgstr ""
"Fait la coloration syntaxique des fichiers ``.pyi`` (contribution d'*Alex "
"Waygood* et de *Terry Jan Reedy* dans :issue:`45447`)."
#: whatsnew/3.11.rst:514
msgid "inspect"
msgstr "``inspect``"
#: whatsnew/3.11.rst:515
msgid ""
"Add :func:`inspect.getmembers_static`: return all members without triggering "
"dynamic lookup via the descriptor protocol. (Contributed by Weipeng Hong in :"
"issue:`30533`.)"
msgstr ""
"Ajout de :func:`inspect.getmembers_static` : renvoie tous les membres sans "
"invoquer la recherche dynamique du protocole des descripteurs (contribution "
"de *Weipeng Hong* dans :issue:`30533`)."
#: whatsnew/3.11.rst:519
msgid ""
"Add :func:`inspect.ismethodwrapper` for checking if the type of an object is "
"a :class:`~types.MethodWrapperType`. (Contributed by Hakan Çelik in :issue:"
"`29418`.)"
msgstr ""
"Ajout de :func:`inspect.ismethodwrapper` pour vérifier si le type d'un objet "
"est un :class:`~types.MethodWrapperType` (contribution de *Hakan Çelik* "
"dans :issue:`29418`)."
#: whatsnew/3.11.rst:522
msgid ""
"Change the frame-related functions in the :mod:`inspect` module to return a "
"regular object (that is backwards compatible with the old tuple-like "
"interface) that include the extended :pep:`657` position information (end "
"line number, column and end column). The affected functions are: :func:"
"`inspect.getframeinfo`, :func:`inspect.getouterframes`, :func:`inspect."
"getinnerframes`, :func:`inspect.stack` and :func:`inspect.trace`. "
"(Contributed by Pablo Galindo in :gh:`88116`)"
msgstr ""
#: whatsnew/3.11.rst:531
msgid "locale"
msgstr ""
#: whatsnew/3.11.rst:533
msgid ""
"Add :func:`locale.getencoding` to get the current locale encoding. It is "
"similar to ``locale.getpreferredencoding(False)`` but ignores the :ref:"
"`Python UTF-8 Mode <utf8-mode>`."
msgstr ""
#: whatsnew/3.11.rst:538
msgid "math"
msgstr "``math``"
#: whatsnew/3.11.rst:540
msgid ""
"Add :func:`math.exp2`: return 2 raised to the power of x. (Contributed by "
"Gideon Mitchell in :issue:`45917`.)"
msgstr ""
"Ajout de :func:`math.exp2` : renvoie 2 élevé à la puissance ``x`` "
"(contribution de *Gideon Mitchell* dans :issue:`45917`)."
#: whatsnew/3.11.rst:543
msgid ""
"Add :func:`math.cbrt`: return the cube root of x. (Contributed by Ajith "
"Ramachandran in :issue:`44357`.)"
msgstr ""
"Ajout de :func:`math.cbrt` : renvoie la racine cubique de ``x`` "
"(contribution d'*Ajith Ramachandran* dans :issue:`44357`)."
#: whatsnew/3.11.rst:546
msgid ""
"The behaviour of two :func:`math.pow` corner cases was changed, for "
"consistency with the IEEE 754 specification. The operations ``math.pow(0.0, -"
"math.inf)`` and ``math.pow(-0.0, -math.inf)`` now return ``inf``. Previously "
"they raised :exc:`ValueError`. (Contributed by Mark Dickinson in :issue:"
"`44339`.)"
msgstr ""
"Le comportement de :func:`math.pow` dans deux cas particuliers a été changé "
"pour être cohérent avec la spécification *IEEE 754*. Les opérations ``math."
"pow(0.0, -math.inf)`` et ``math.pow(-0.0, -math.inf)`` renvoient maintenant "
"``inf``. Elles levaient précédemment :exc:`ValueError` (contribution de "
"*Mark Dickinson* dans :issue:`44339`)."
#: whatsnew/3.11.rst:552
msgid ""
"The :data:`math.nan` value is now always available. (Contributed by Victor "
"Stinner in :issue:`46917`.)"
msgstr ""
"La valeur :data:`math.nan` est maintenant toujours disponible (contribution "
"de *Victor Stinner* dans :issue:`46917`)."
#: whatsnew/3.11.rst:557
msgid "operator"
msgstr "``operator``"
#: whatsnew/3.11.rst:559
msgid ""
"A new function ``operator.call`` has been added, such that ``operator."
"call(obj, *args, **kwargs) == obj(*args, **kwargs)``. (Contributed by Antony "
"Lee in :issue:`44019`.)"
msgstr ""
#: whatsnew/3.11.rst:565
msgid "os"
msgstr "``os``"
#: whatsnew/3.11.rst:567
msgid ""
"On Windows, :func:`os.urandom` now uses ``BCryptGenRandom()``, instead of "
"``CryptGenRandom()`` which is deprecated. (Contributed by Dong-hee Na in :"
"issue:`44611`.)"
msgstr ""
"Sur Windows, :func:`os.urandom` utilise maintenant ``BCryptGenRandom()``, "
"plutôt que ``CryptGenRandom()`` qui est obsolète (contribution de *Dong-hee "
"Na* dans :issue:`44611`)."
#: whatsnew/3.11.rst:573
msgid "pathlib"
msgstr ""
#: whatsnew/3.11.rst:575
msgid ""
":meth:`~pathlib.Path.glob` and :meth:`~pathlib.Path.rglob` return only "
"directories if *pattern* ends with a pathname components separator: :data:"
"`~os.sep` or :data:`~os.altsep`. (Contributed by Eisuke Kawasima in :issue:"
"`22276` and :issue:`33392`.)"
msgstr ""
#: whatsnew/3.11.rst:581
msgid "re"
msgstr "``re``"
#: whatsnew/3.11.rst:583
msgid ""
"Atomic grouping (``(?>...)``) and possessive quantifiers (``*+``, ``++``, ``?"
"+``, ``{m,n}+``) are now supported in regular expressions. (Contributed by "
"Jeffrey C. Jacobs and Serhiy Storchaka in :issue:`433030`.)"
msgstr ""
"Le groupement atomique (``(?>...)``) et les quantificateurs possessifs "
"(``*+``, ``++``, ``?+``, ``{m,n}+``) sont maintenant pris en charge dans les "
"expressions régulières (contribution de *Jeffrey C. Jacobs* et de *Serhiy "
"Storchaka* dans :issue:`433030`)."
#: whatsnew/3.11.rst:588
msgid "shutil"
msgstr "``shutils``"
#: whatsnew/3.11.rst:590
msgid ""
"Add optional parameter *dir_fd* in :func:`shutil.rmtree`. (Contributed by "
"Serhiy Storchaka in :issue:`46245`.)"
msgstr ""
"Ajout du paramètre optionnel *dir_fd* dans :func:`shutil.rmtree` "
"(contribution de *Serhiy Storchaka* dans :issue:`46245`)."
#: whatsnew/3.11.rst:595
msgid "socket"
msgstr "``socket``"
#: whatsnew/3.11.rst:597
msgid ""
"Add CAN Socket support for NetBSD. (Contributed by Thomas Klausner in :issue:"
"`30512`.)"
msgstr ""
#: whatsnew/3.11.rst:600
msgid ""
":meth:`~socket.create_connection` has an option to raise, in case of failure "
"to connect, an :exc:`ExceptionGroup` containing all errors instead of only "
"raising the last error. (Contributed by Irit Katriel in :issue:`29980`)."
msgstr ""
#: whatsnew/3.11.rst:606
msgid "sqlite3"
msgstr "``sqlite3``"
#: whatsnew/3.11.rst:608
msgid ""
"You can now disable the authorizer by passing :const:`None` to :meth:"
"`~sqlite3.Connection.set_authorizer`. (Contributed by Erlend E. Aasland in :"
"issue:`44491`.)"
msgstr ""
#: whatsnew/3.11.rst:612
msgid ""
"Collation name :meth:`~sqlite3.Connection.create_collation` can now contain "
"any Unicode character. Collation names with invalid characters now raise :"
"exc:`UnicodeEncodeError` instead of :exc:`sqlite3.ProgrammingError`. "
"(Contributed by Erlend E. Aasland in :issue:`44688`.)"
msgstr ""
#: whatsnew/3.11.rst:617
msgid ""
":mod:`sqlite3` exceptions now include the SQLite extended error code as :"
"attr:`~sqlite3.Error.sqlite_errorcode` and the SQLite error name as :attr:"
"`~sqlite3.Error.sqlite_errorname`. (Contributed by Aviv Palivoda, Daniel "
"Shahaf, and Erlend E. Aasland in :issue:`16379` and :issue:`24139`.)"
msgstr ""
#: whatsnew/3.11.rst:623
msgid ""
"Add :meth:`~sqlite3.Connection.setlimit` and :meth:`~sqlite3.Connection."
"getlimit` to :class:`sqlite3.Connection` for setting and getting SQLite "
"limits by connection basis. (Contributed by Erlend E. Aasland in :issue:"
"`45243`.)"
msgstr ""
"Ajout des méthodes :meth:`~sqlite3.Connection.setlimit` et :meth:`~sqlite3."
"Connection.getlimit` à la classe :class:`sqlite3.Connection` pour affecter "
"et demander les limites de *SQLite* pour une connexion (contribution "
"d'*Erlend E. Aasland* dans :issue:`45243`)."
#: whatsnew/3.11.rst:628
msgid ""
":mod:`sqlite3` now sets :attr:`sqlite3.threadsafety` based on the default "
"threading mode the underlying SQLite library has been compiled with. "
"(Contributed by Erlend E. Aasland in :issue:`45613`.)"
msgstr ""
":mod:`sqlite3` affecte maintenant :attr:`sqlite3.threadsafety` selon le mode "
"d'exécution à fils multiples (*threading* en anglais) par défaut qui a été "
"compilé dans la bibliothèque *SQLite* sous-jacente (contribution d'*Erlend "
"E. Aasland* dans :issue:`45613`)."
#: whatsnew/3.11.rst:632
msgid ""
":mod:`sqlite3` C callbacks now use unraisable exceptions if callback "
"tracebacks are enabled. Users can now register an :func:`unraisable hook "
"handler <sys.unraisablehook>` to improve their debug experience. "
"(Contributed by Erlend E. Aasland in :issue:`45828`.)"
msgstr ""
#: whatsnew/3.11.rst:638
msgid ""
"Fetch across rollback no longer raises :exc:`~sqlite3.InterfaceError`. "
"Instead we leave it to the SQLite library to handle these cases. "
"(Contributed by Erlend E. Aasland in :issue:`44092`.)"
msgstr ""
#: whatsnew/3.11.rst:642
msgid ""
"Add :meth:`~sqlite3.Connection.serialize` and :meth:`~sqlite3.Connection."
"deserialize` to :class:`sqlite3.Connection` for serializing and "
"deserializing databases. (Contributed by Erlend E. Aasland in :issue:"
"`41930`.)"
msgstr ""
#: whatsnew/3.11.rst:647
msgid ""
"Add :meth:`~sqlite3.Connection.create_window_function` to :class:`sqlite3."
"Connection` for creating aggregate window functions. (Contributed by Erlend "
"E. Aasland in :issue:`34916`.)"
msgstr ""
#: whatsnew/3.11.rst:651
msgid ""
"Add :meth:`~sqlite3.Connection.blobopen` to :class:`sqlite3.Connection`. :"
"class:`sqlite3.Blob` allows incremental I/O operations on blobs. "
"(Contributed by Aviv Palivoda and Erlend E. Aasland in :issue:`24905`)"
msgstr ""
#: whatsnew/3.11.rst:657
msgid "sys"
msgstr "``sys``"
#: whatsnew/3.11.rst:659
msgid ""
":func:`sys.exc_info` now derives the ``type`` and ``traceback`` fields from "
"the ``value`` (the exception instance), so when an exception is modified "
"while it is being handled, the changes are reflected in the results of "
"subsequent calls to :func:`exc_info`. (Contributed by Irit Katriel in :issue:"
"`45711`.)"
msgstr ""
#: whatsnew/3.11.rst:665
msgid ""
"Add :func:`sys.exception` which returns the active exception instance "
"(equivalent to ``sys.exc_info()[1]``). (Contributed by Irit Katriel in :"
"issue:`46328`.)"
msgstr ""
"Ajout de :func:`sys.exception` qui renvoie l'instance de l'exception active "
"(équivalent à ``sys.exc_info()[1]``) (contribution d'*Irit Katriel* dans :"
"issue:`46328`)."
#: whatsnew/3.11.rst:669
msgid ""
"Add the :data:`sys.flags.safe_path <sys.flags>` flag. (Contributed by Victor "
"Stinner in :gh:`57684`.)"
msgstr ""
#: whatsnew/3.11.rst:674
msgid "sysconfig"
msgstr "``sysconfig``"
#: whatsnew/3.11.rst:676
msgid ""
"Two new :ref:`installation schemes <installation_paths>` (*posix_venv*, "
"*nt_venv* and *venv*) were added and are used when Python creates new "
"virtual environments or when it is running from a virtual environment. The "
"first two schemes (*posix_venv* and *nt_venv*) are OS-specific for non-"
"Windows and Windows, the *venv* is essentially an alias to one of them "
"according to the OS Python runs on. This is useful for downstream "
"distributors who modify :func:`sysconfig.get_preferred_scheme`. Third party "
"code that creates new virtual environments should use the new *venv* "
"installation scheme to determine the paths, as does :mod:`venv`. "
"(Contributed by Miro Hrončok in :issue:`45413`.)"
msgstr ""
#: whatsnew/3.11.rst:691
msgid "threading"
msgstr "``threading``"
#: whatsnew/3.11.rst:693
msgid ""
"On Unix, if the ``sem_clockwait()`` function is available in the C library "
"(glibc 2.30 and newer), the :meth:`threading.Lock.acquire` method now uses "
"the monotonic clock (:data:`time.CLOCK_MONOTONIC`) for the timeout, rather "
"than using the system clock (:data:`time.CLOCK_REALTIME`), to not be "
"affected by system clock changes. (Contributed by Victor Stinner in :issue:"
"`41710`.)"
msgstr ""
#: whatsnew/3.11.rst:702
msgid "time"
msgstr "``time``"
#: whatsnew/3.11.rst:704
msgid ""
"On Unix, :func:`time.sleep` now uses the ``clock_nanosleep()`` or "
"``nanosleep()`` function, if available, which has a resolution of 1 "
"nanosecond (10\\ :sup:`-9` seconds), rather than using ``select()`` which "
"has a resolution of 1 microsecond (10\\ :sup:`-6` seconds). (Contributed by "
"Benjamin Szőke and Victor Stinner in :issue:`21302`.)"
msgstr ""
"Sur Unix, :func:`time.sleep` utilise maintenant une des fonctions "
"``clock_nanosleep()`` ou ``nanosleep()``, quand elles sont disponibles, qui "
"ont une résolution de 1 nanoseconde (10\\ :sup:`-9` secondes), plutôt que "
"d'utiliser ``select()`` qui a une résolution de 1 microseconde (10\\ :sup:"
"`-6` secondes) (contribution de *Benjamin Szőke* et de *Victor Stinner* "
"dans :issue:`21302`)."
#: whatsnew/3.11.rst:710
msgid ""
"On Windows 8.1 and newer, :func:`time.sleep` now uses a waitable timer based "
"on `high-resolution timers <https://docs.microsoft.com/en-us/windows-"
"hardware/drivers/kernel/high-resolution-timers>`_ which has a resolution of "
"100 nanoseconds (10\\ :sup:`-7` seconds). Previously, it had a resolution of "
"1 millisecond (10\\ :sup:`-3` seconds). (Contributed by Benjamin Szőke, Dong-"
"hee Na, Eryk Sun and Victor Stinner in :issue:`21302` and :issue:`45429`.)"
msgstr ""
#: whatsnew/3.11.rst:718
msgid "typing"
msgstr ""
#: whatsnew/3.11.rst:720
msgid "For major changes, see :ref:`new-feat-related-type-hints-311`."
msgstr ""
#: whatsnew/3.11.rst:722
msgid ""
"Add :func:`typing.assert_never` and :class:`typing.Never`. :func:`typing."
"assert_never` is useful for asking a type checker to confirm that a line of "
"code is not reachable. At runtime, it raises an :exc:`AssertionError`. "
"(Contributed by Jelle Zijlstra in :gh:`90633`.)"
msgstr ""
#: whatsnew/3.11.rst:728
msgid ""
"Add :func:`typing.reveal_type`. This is useful for asking a type checker "
"what type it has inferred for a given expression. At runtime it prints the "
"type of the received value. (Contributed by Jelle Zijlstra in :gh:`90572`.)"
msgstr ""
#: whatsnew/3.11.rst:733
msgid ""
"Add :func:`typing.assert_type`. This is useful for asking a type checker to "
"confirm that the type it has inferred for a given expression matches the "
"given type. At runtime it simply returns the received value. (Contributed by "
"Jelle Zijlstra in :gh:`90638`.)"
msgstr ""
#: whatsnew/3.11.rst:738
msgid ""
":data:`typing.TypedDict` types can now be generic. (Contributed by Samodya "
"Abey in :gh:`89026`.)"
msgstr ""
#: whatsnew/3.11.rst:741
msgid ""
":class:`~typing.NamedTuple` types can now be generic. (Contributed by Serhiy "
"Storchaka in :issue:`43923`.)"
msgstr ""
#: whatsnew/3.11.rst:744
msgid ""
"Allow subclassing of :class:`typing.Any`. This is useful for avoiding type "
"checker errors related to highly dynamic class, such as mocks. (Contributed "
"by Shantanu Jain in :gh:`91154`.)"
msgstr ""
#: whatsnew/3.11.rst:748
msgid ""
"The :func:`typing.final` decorator now sets the ``__final__`` attributed on "
"the decorated object. (Contributed by Jelle Zijlstra in :gh:`90500`.)"
msgstr ""
#: whatsnew/3.11.rst:752
msgid ""
"The :func:`typing.get_overloads` function can be used for introspecting the "
"overloads of a function. :func:`typing.clear_overloads` can be used to clear "
"all registered overloads of a function. (Contributed by Jelle Zijlstra in :"
"gh:`89263`.)"
msgstr ""
#: whatsnew/3.11.rst:757
msgid ""
"The :meth:`__init__` method of :class:`~typing.Protocol` subclasses is now "
"preserved. (Contributed by Adrian Garcia Badarasco in :gh:`88970`.)"
msgstr ""
#: whatsnew/3.11.rst:760
msgid ""
"The representation of empty tuple types (``Tuple[()]``) is simplified. This "
"affects introspection, e.g. ``get_args(Tuple[()])`` now evaluates to ``()`` "
"instead of ``((),)``. (Contributed by Serhiy Storchaka in :gh:`91137`.)"
msgstr ""
#: whatsnew/3.11.rst:765
msgid ""
"Loosen runtime requirements for type annotations by removing the callable "
"check in the private ``typing._type_check`` function. (Contributed by "
"Gregory Beauregard in :gh:`90802`.)"
msgstr ""
#: whatsnew/3.11.rst:769
msgid ""
":func:`typing.get_type_hints` now supports evaluating strings as forward "
"references in :ref:`PEP 585 generic aliases <types-genericalias>`. "
"(Contributed by Niklas Rosenstein in :gh:`85542`.)"
msgstr ""
#: whatsnew/3.11.rst:773
msgid ""
":func:`typing.get_type_hints` no longer adds :data:`~typing.Optional` to "
"parameters with ``None`` as a default. (Contributed by Nikita Sobolev in :gh:"
"`90353`.)"
msgstr ""
#: whatsnew/3.11.rst:777
msgid ""
":func:`typing.get_type_hints` now supports evaluating bare stringified :data:"
"`~typing.ClassVar` annotations. (Contributed by Gregory Beauregard in :gh:"
"`90711`.)"
msgstr ""
#: whatsnew/3.11.rst:781
msgid ""
":func:`typing.no_type_check` no longer modifies external classes and "
"functions. It also now correctly marks classmethods as not to be type "
"checked. (Contributed by Nikita Sobolev in :gh:`90729`.)"
msgstr ""
#: whatsnew/3.11.rst:787
msgid "tkinter"
msgstr ""
#: whatsnew/3.11.rst:789
msgid ""
"Added method ``info_patchlevel()`` which returns the exact version of the "
"Tcl library as a named tuple similar to :data:`sys.version_info`. "
"(Contributed by Serhiy Storchaka in :gh:`91827`.)"
msgstr ""
#: whatsnew/3.11.rst:795
msgid "unicodedata"
msgstr "``unicodedata``"
#: whatsnew/3.11.rst:797
msgid ""
"The Unicode database has been updated to version 14.0.0. (:issue:`45190`)."
msgstr ""
"La base de donnée Unicode a été mise à jour à la version 14.0.0 (:issue:"
"`45190`)."
#: whatsnew/3.11.rst:801
msgid "unittest"
msgstr ""
#: whatsnew/3.11.rst:803
msgid ""
"Added methods :meth:`~unittest.TestCase.enterContext` and :meth:`~unittest."
"TestCase.enterClassContext` of class :class:`~unittest.TestCase`, method :"
"meth:`~unittest.IsolatedAsyncioTestCase.enterAsyncContext` of class :class:"
"`~unittest.IsolatedAsyncioTestCase` and function :func:`unittest."
"enterModuleContext`. (Contributed by Serhiy Storchaka in :issue:`45046`.)"
msgstr ""
#: whatsnew/3.11.rst:813
msgid "venv"
msgstr "``venv``"
#: whatsnew/3.11.rst:815
msgid ""
"When new Python virtual environments are created, the *venv* :ref:`sysconfig "
"installation scheme <installation_paths>` is used to determine the paths "
"inside the environment. When Python runs in a virtual environment, the same "
"installation scheme is the default. That means that downstream distributors "
"can change the default sysconfig install scheme without changing behavior of "
"virtual environments. Third party code that also creates new virtual "
"environments should do the same. (Contributed by Miro Hrončok in :issue:"
"`45413`.)"
msgstr ""
#: whatsnew/3.11.rst:826
msgid "warnings"
msgstr ""
#: whatsnew/3.11.rst:828
msgid ""
":func:`warnings.catch_warnings` now accepts arguments for :func:`warnings."
"simplefilter`, providing a more concise way to locally ignore warnings or "
"convert them to errors. (Contributed by Zac Hatfield-Dodds in :issue:"
"`47074`.)"
msgstr ""
#: whatsnew/3.11.rst:833
msgid "zipfile"
msgstr "``zipfile``"
#: whatsnew/3.11.rst:835
msgid ""
"Added support for specifying member name encoding for reading metadata in "
"the zipfile's directory and file headers. (Contributed by Stephen J. "
"Turnbull and Serhiy Storchaka in :issue:`28080`.)"
msgstr ""
#: whatsnew/3.11.rst:840
msgid "fcntl"
msgstr "``fcntl``"
#: whatsnew/3.11.rst:842
msgid ""
"On FreeBSD, the :attr:`F_DUP2FD` and :attr:`F_DUP2FD_CLOEXEC` flags "
"respectively are supported, the former equals to ``dup2`` usage while the "
"latter set the ``FD_CLOEXEC`` flag in addition."
msgstr ""
#: whatsnew/3.11.rst:848
msgid "Optimizations"
msgstr "Optimisations"
#: whatsnew/3.11.rst:850
msgid ""
"Compiler now optimizes simple C-style formatting with literal format "
"containing only format codes ``%s``, ``%r`` and ``%a`` and makes it as fast "
"as corresponding f-string expression. (Contributed by Serhiy Storchaka in :"
"issue:`28307`.)"
msgstr ""
#: whatsnew/3.11.rst:855
msgid ""
"\"Zero-cost\" exceptions are implemented. The cost of ``try`` statements is "
"almost eliminated when no exception is raised. (Contributed by Mark Shannon "
"in :issue:`40222`.)"
msgstr ""
"Les exceptions « gratuites » sont maintenant implémentées. Le coût des "
"instructions ``try`` est pratiquement éliminé quand aucune exception n'est "
"levée (contribution de *Mark Shannon* dans :issue:`40222`)."
#: whatsnew/3.11.rst:859
msgid ""
"Pure ASCII strings are now normalized in constant time by :func:`unicodedata."
"normalize`. (Contributed by Dong-hee Na in :issue:`44987`.)"
msgstr ""
#: whatsnew/3.11.rst:862
msgid ""
":mod:`math` functions :func:`~math.comb` and :func:`~math.perm` are now up "
"to 10 times or more faster for large arguments (the speed up is larger for "
"larger *k*). (Contributed by Serhiy Storchaka in :issue:`37295`.)"
msgstr ""
#: whatsnew/3.11.rst:867
msgid ""
"Dict don't store hash value when all inserted keys are Unicode objects. This "
"reduces dict size. For example, ``sys.getsizeof(dict."
"fromkeys(\"abcdefg\"))`` becomes 272 bytes from 352 bytes on 64bit platform. "
"(Contributed by Inada Naoki in :issue:`46845`.)"
msgstr ""
#: whatsnew/3.11.rst:872
msgid ""
":mod:`re`'s regular expression matching engine has been partially "
"refactored, and now uses computed gotos (or \"threaded code\") on supported "
"platforms. As a result, Python 3.11 executes the `pyperformance regular "
"expression benchmarks <https://pyperformance.readthedocs.io/benchmarks."
"html#regex-dna>`_ up to 10% faster than Python 3.10."
msgstr ""
#: whatsnew/3.11.rst:880
msgid "Faster CPython"
msgstr ""
#: whatsnew/3.11.rst:882
msgid ""
"CPython 3.11 is on average `25% faster <https://github.com/faster-cpython/"
"ideas/blob/main/main-vs-310.rst>`_ than CPython 3.10 when measured with the "
"`pyperformance <https://github.com/python/pyperformance>`_ benchmark suite, "
"and compiled with GCC on Ubuntu Linux. Depending on your workload, the "
"speedup could be up to 10-60% faster."
msgstr ""
#: whatsnew/3.11.rst:888
msgid ""
"This project focuses on two major areas in Python: faster startup and faster "
"runtime. Other optimizations not under this project are listed in "
"`Optimizations`_."
msgstr ""
#: whatsnew/3.11.rst:892
msgid "Faster Startup"
msgstr ""
#: whatsnew/3.11.rst:895
msgid "Frozen imports / Static code objects"
msgstr ""
#: whatsnew/3.11.rst:897
msgid ""
"Python caches bytecode in the :ref:`__pycache__<tut-pycache>` directory to "
"speed up module loading."
msgstr ""
#: whatsnew/3.11.rst:900
msgid "Previously in 3.10, Python module execution looked like this:"
msgstr ""
#: whatsnew/3.11.rst:906
msgid ""
"In Python 3.11, the core modules essential for Python startup are "
"\"frozen\". This means that their code objects (and bytecode) are statically "
"allocated by the interpreter. This reduces the steps in module execution "
"process to this:"
msgstr ""
#: whatsnew/3.11.rst:914
msgid ""
"Interpreter startup is now 10-15% faster in Python 3.11. This has a big "
"impact for short-running programs using Python."
msgstr ""
#: whatsnew/3.11.rst:917
msgid ""
"(Contributed by Eric Snow, Guido van Rossum and Kumar Aditya in numerous "
"issues.)"
msgstr ""
#: whatsnew/3.11.rst:921
msgid "Faster Runtime"
msgstr ""
#: whatsnew/3.11.rst:924
msgid "Cheaper, lazy Python frames"
msgstr ""
#: whatsnew/3.11.rst:925
msgid ""
"Python frames are created whenever Python calls a Python function. This "
"frame holds execution information. The following are new frame optimizations:"
msgstr ""
#: whatsnew/3.11.rst:928
msgid "Streamlined the frame creation process."
msgstr ""
#: whatsnew/3.11.rst:929
msgid ""
"Avoided memory allocation by generously re-using frame space on the C stack."
msgstr ""
#: whatsnew/3.11.rst:930
msgid ""
"Streamlined the internal frame struct to contain only essential information. "
"Frames previously held extra debugging and memory management information."
msgstr ""
#: whatsnew/3.11.rst:933
msgid ""
"Old-style frame objects are now created only when requested by debuggers or "
"by Python introspection functions such as ``sys._getframe`` or ``inspect."
"currentframe``. For most user code, no frame objects are created at all. As "
"a result, nearly all Python functions calls have sped up significantly. We "
"measured a 3-7% speedup in pyperformance."
msgstr ""
#: whatsnew/3.11.rst:939
msgid "(Contributed by Mark Shannon in :issue:`44590`.)"
msgstr ""
#: whatsnew/3.11.rst:944
msgid "Inlined Python function calls"
msgstr ""
#: whatsnew/3.11.rst:945
msgid ""
"During a Python function call, Python will call an evaluating C function to "
"interpret that function's code. This effectively limits pure Python "
"recursion to what's safe for the C stack."
msgstr ""
#: whatsnew/3.11.rst:949
msgid ""
"In 3.11, when CPython detects Python code calling another Python function, "
"it sets up a new frame, and \"jumps\" to the new code inside the new frame. "
"This avoids calling the C interpreting function altogether."
msgstr ""
#: whatsnew/3.11.rst:953
msgid ""
"Most Python function calls now consume no C stack space. This speeds up most "
"of such calls. In simple recursive functions like fibonacci or factorial, a "
"1.7x speedup was observed. This also means recursive functions can recurse "
"significantly deeper (if the user increases the recursion limit). We "
"measured a 1-3% improvement in pyperformance."
msgstr ""
#: whatsnew/3.11.rst:959
msgid "(Contributed by Pablo Galindo and Mark Shannon in :issue:`45256`.)"
msgstr ""
#: whatsnew/3.11.rst:962
msgid "PEP 659: Specializing Adaptive Interpreter"
msgstr ""
#: whatsnew/3.11.rst:963
msgid ""
":pep:`659` is one of the key parts of the faster CPython project. The "
"general idea is that while Python is a dynamic language, most code has "
"regions where objects and types rarely change. This concept is known as "
"*type stability*."
msgstr ""
#: whatsnew/3.11.rst:967
msgid ""
"At runtime, Python will try to look for common patterns and type stability "
"in the executing code. Python will then replace the current operation with a "
"more specialized one. This specialized operation uses fast paths available "
"only to those use cases/types, which generally outperform their generic "
"counterparts. This also brings in another concept called *inline caching*, "
"where Python caches the results of expensive operations directly in the "
"bytecode."
msgstr ""
#: whatsnew/3.11.rst:974
msgid ""
"The specializer will also combine certain common instruction pairs into one "
"superinstruction. This reduces the overhead during execution."
msgstr ""
#: whatsnew/3.11.rst:977
msgid ""
"Python will only specialize when it sees code that is \"hot\" (executed "
"multiple times). This prevents Python from wasting time for run-once code. "
"Python can also de-specialize when code is too dynamic or when the use "
"changes. Specialization is attempted periodically, and specialization "
"attempts are not too expensive. This allows specialization to adapt to new "
"circumstances."
msgstr ""
#: whatsnew/3.11.rst:984
msgid ""
"(PEP written by Mark Shannon, with ideas inspired by Stefan Brunthaler. See :"
"pep:`659` for more information. Implementation by Mark Shannon and Brandt "
"Bucher, with additional help from Irit Katriel and Dennis Sweeney.)"
msgstr ""
#: whatsnew/3.11.rst:992
msgid "Operation"
msgstr ""
#: whatsnew/3.11.rst:992
msgid "Form"
msgstr ""
#: whatsnew/3.11.rst:992
msgid "Specialization"
msgstr ""
#: whatsnew/3.11.rst:992
msgid "Operation speedup (up to)"
msgstr ""
#: whatsnew/3.11.rst:992
msgid "Contributor(s)"
msgstr ""
#: whatsnew/3.11.rst:995
msgid "Binary operations"
msgstr ""
#: whatsnew/3.11.rst:995
msgid "``x+x; x*x; x-x;``"
msgstr ""
#: whatsnew/3.11.rst:995
msgid ""
"Binary add, multiply and subtract for common types such as ``int``, "
"``float``, and ``str`` take custom fast paths for their underlying types."
msgstr ""
#: whatsnew/3.11.rst:995
msgid "10%"
msgstr ""
#: whatsnew/3.11.rst:995
msgid "Mark Shannon, Dong-hee Na, Brandt Bucher, Dennis Sweeney"
msgstr ""
#: whatsnew/3.11.rst:1000
msgid "Subscript"
msgstr ""
#: whatsnew/3.11.rst:1000
msgid "``a[i]``"
msgstr ""
#: whatsnew/3.11.rst:1000
msgid ""
"Subscripting container types such as ``list``, ``tuple`` and ``dict`` "
"directly index the underlying data structures."
msgstr ""
#: whatsnew/3.11.rst:1004
msgid ""
"Subscripting custom ``__getitem__`` is also inlined similar to :ref:`inline-"
"calls`."
msgstr ""
#: whatsnew/3.11.rst:1007
msgid "10-25%"
msgstr ""
#: whatsnew/3.11.rst:1000
msgid "Irit Katriel, Mark Shannon"
msgstr ""
#: whatsnew/3.11.rst:1007
msgid "Store subscript"
msgstr ""
#: whatsnew/3.11.rst:1007
msgid "``a[i] = z``"
msgstr ""
#: whatsnew/3.11.rst:1007
msgid "Similar to subscripting specialization above."
msgstr ""
#: whatsnew/3.11.rst:1007
msgid "Dennis Sweeney"
msgstr ""
#: whatsnew/3.11.rst:1010
msgid "Calls"
msgstr ""
#: whatsnew/3.11.rst:1010
msgid "``f(arg)`` ``C(arg)``"
msgstr ""
#: whatsnew/3.11.rst:1010
msgid ""
"Calls to common builtin (C) functions and types such as ``len`` and ``str`` "
"directly call their underlying C version. This avoids going through the "
"internal calling convention."
msgstr ""
#: whatsnew/3.11.rst:1010
msgid "20%"
msgstr ""
#: whatsnew/3.11.rst:1010
msgid "Mark Shannon, Ken Jin"
msgstr ""
#: whatsnew/3.11.rst:1016
msgid "Load global variable"
msgstr ""
#: whatsnew/3.11.rst:1016
msgid "``print`` ``len``"
msgstr ""
#: whatsnew/3.11.rst:1016
msgid ""
"The object's index in the globals/builtins namespace is cached. Loading "
"globals and builtins require zero namespace lookups."
msgstr ""
#: whatsnew/3.11.rst:1016
msgid "[1]_"
msgstr ""
#: whatsnew/3.11.rst:1020 whatsnew/3.11.rst:1029
msgid "Mark Shannon"
msgstr ""
#: whatsnew/3.11.rst:1020
msgid "Load attribute"
msgstr ""
#: whatsnew/3.11.rst:1020
msgid "``o.attr``"
msgstr ""
#: whatsnew/3.11.rst:1020
msgid ""
"Similar to loading global variables. The attribute's index inside the class/"
"object's namespace is cached. In most cases, attribute loading will require "
"zero namespace lookups."
msgstr ""
#: whatsnew/3.11.rst:1020
msgid "[2]_"
msgstr ""
#: whatsnew/3.11.rst:1025
msgid "Load methods for call"
msgstr ""
#: whatsnew/3.11.rst:1025
msgid "``o.meth()``"
msgstr ""
#: whatsnew/3.11.rst:1025
msgid ""
"The actual address of the method is cached. Method loading now has no "
"namespace lookups -- even for classes with long inheritance chains."
msgstr ""
#: whatsnew/3.11.rst:1025
msgid "10-20%"
msgstr ""
#: whatsnew/3.11.rst:1025
msgid "Ken Jin, Mark Shannon"
msgstr ""
#: whatsnew/3.11.rst:1029
msgid "Store attribute"
msgstr ""
#: whatsnew/3.11.rst:1029
msgid "``o.attr = z``"
msgstr ""
#: whatsnew/3.11.rst:1029
msgid "Similar to load attribute optimization."
msgstr ""
#: whatsnew/3.11.rst:1029
msgid "2% in pyperformance"
msgstr ""
#: whatsnew/3.11.rst:1032
msgid "Unpack Sequence"
msgstr ""
#: whatsnew/3.11.rst:1032
msgid "``*seq``"
msgstr ""
#: whatsnew/3.11.rst:1032
msgid ""
"Specialized for common containers such as ``list`` and ``tuple``. Avoids "
"internal calling convention."
msgstr ""
#: whatsnew/3.11.rst:1032
msgid "8%"
msgstr ""
#: whatsnew/3.11.rst:1032
msgid "Brandt Bucher"
msgstr ""
#: whatsnew/3.11.rst:1036
msgid ""
"A similar optimization already existed since Python 3.8. 3.11 specializes "
"for more forms and reduces some overhead."
msgstr ""
#: whatsnew/3.11.rst:1039
msgid ""
"A similar optimization already existed since Python 3.10. 3.11 specializes "
"for more forms. Furthermore, all attribute loads should be sped up by :issue:"
"`45947`."
msgstr ""
#: whatsnew/3.11.rst:1045
msgid "Misc"
msgstr ""
#: whatsnew/3.11.rst:1047
msgid ""
"Objects now require less memory due to lazily created object namespaces. "
"Their namespace dictionaries now also share keys more freely. (Contributed "
"Mark Shannon in :issue:`45340` and :issue:`40116`.)"
msgstr ""
#: whatsnew/3.11.rst:1051
msgid ""
"A more concise representation of exceptions in the interpreter reduced the "
"time required for catching an exception by about 10%. (Contributed by Irit "
"Katriel in :issue:`45711`.)"
msgstr ""
#: whatsnew/3.11.rst:1056
msgid "FAQ"
msgstr ""
#: whatsnew/3.11.rst:1058
msgid "Q: How should I write my code to utilize these speedups?"
msgstr ""
#: whatsnew/3.11.rst:1062
msgid ""
"A: You don't have to change your code. Write Pythonic code that follows "
"common best practices. The Faster CPython project optimizes for common code "
"patterns we observe."
msgstr ""
#: whatsnew/3.11.rst:1065
msgid "Q: Will CPython 3.11 use more memory?"
msgstr ""
#: whatsnew/3.11.rst:1069
msgid ""
"A: Maybe not. We don't expect memory use to exceed 20% more than 3.10. This "
"is offset by memory optimizations for frame objects and object dictionaries "
"as mentioned above."
msgstr ""
#: whatsnew/3.11.rst:1072
msgid "Q: I don't see any speedups in my workload. Why?"
msgstr ""
#: whatsnew/3.11.rst:1077
msgid ""
"A: Certain code won't have noticeable benefits. If your code spends most of "
"its time on I/O operations, or already does most of its computation in a C "
"extension library like numpy, there won't be significant speedup. This "
"project currently benefits pure-Python workloads the most."
msgstr ""
#: whatsnew/3.11.rst:1081
msgid ""
"Furthermore, the pyperformance figures are a geometric mean. Even within the "
"pyperformance benchmarks, certain benchmarks have slowed down slightly, "
"while others have sped up by nearly 2x!"
msgstr ""
#: whatsnew/3.11.rst:1084
msgid "Q: Is there a JIT compiler?"
msgstr ""
#: whatsnew/3.11.rst:1086
msgid "A: No. We're still exploring other optimizations."
msgstr ""
#: whatsnew/3.11.rst:1090
msgid "About"
msgstr ""
#: whatsnew/3.11.rst:1092
msgid ""
"Faster CPython explores optimizations for :term:`CPython`. The main team is "
"funded by Microsoft to work on this full-time. Pablo Galindo Salgado is also "
"funded by Bloomberg LP to work on the project part-time. Finally, many "
"contributors are volunteers from the community."
msgstr ""
#: whatsnew/3.11.rst:1099
msgid "CPython bytecode changes"
msgstr ""
#: whatsnew/3.11.rst:1101
msgid ""
"Replaced all numeric ``BINARY_*`` and ``INPLACE_*`` instructions with a "
"single :opcode:`BINARY_OP` implementation."
msgstr ""
#: whatsnew/3.11.rst:1104
msgid ""
"Replaced the three call instructions: :opcode:`CALL_FUNCTION`, :opcode:"
"`CALL_FUNCTION_KW` and :opcode:`CALL_METHOD` with :opcode:`PUSH_NULL`, :"
"opcode:`PRECALL`, :opcode:`CALL`, and :opcode:`KW_NAMES`. This decouples the "
"argument shifting for methods from the handling of keyword arguments and "
"allows better specialization of calls."
msgstr ""
#: whatsnew/3.11.rst:1111
msgid "Removed ``COPY_DICT_WITHOUT_KEYS`` and ``GEN_START``."
msgstr ""
#: whatsnew/3.11.rst:1113
msgid ""
":opcode:`MATCH_CLASS` and :opcode:`MATCH_KEYS` no longer push an additional "
"boolean value indicating whether the match succeeded or failed. Instead, "
"they indicate failure with :const:`None` (where a tuple of extracted values "
"would otherwise be)."
msgstr ""
#: whatsnew/3.11.rst:1118
msgid ""
"Replace several stack manipulation instructions (``DUP_TOP``, "
"``DUP_TOP_TWO``, ``ROT_TWO``, ``ROT_THREE``, ``ROT_FOUR``, and ``ROT_N``) "
"with new :opcode:`COPY` and :opcode:`SWAP` instructions."
msgstr ""
#: whatsnew/3.11.rst:1122
msgid ""
"Replaced :opcode:`JUMP_IF_NOT_EXC_MATCH` by :opcode:`CHECK_EXC_MATCH` which "
"performs the check but does not jump."
msgstr ""
#: whatsnew/3.11.rst:1125
msgid ""
"Replaced :opcode:`JUMP_IF_NOT_EG_MATCH` by :opcode:`CHECK_EG_MATCH` which "
"performs the check but does not jump."
msgstr ""
#: whatsnew/3.11.rst:1128
msgid ""
"Replaced :opcode:`JUMP_ABSOLUTE` by the relative :opcode:`JUMP_BACKWARD`."
msgstr ""
#: whatsnew/3.11.rst:1130
msgid ""
"Added :opcode:`JUMP_BACKWARD_NO_INTERRUPT`, which is used in certain loops "
"where it is undesirable to handle interrupts."
msgstr ""
#: whatsnew/3.11.rst:1133
msgid ""
"Replaced :opcode:`POP_JUMP_IF_TRUE` and :opcode:`POP_JUMP_IF_FALSE` by the "
"relative :opcode:`POP_JUMP_FORWARD_IF_TRUE`, :opcode:"
"`POP_JUMP_BACKWARD_IF_TRUE`, :opcode:`POP_JUMP_FORWARD_IF_FALSE` and :opcode:"
"`POP_JUMP_BACKWARD_IF_FALSE`."
msgstr ""
#: whatsnew/3.11.rst:1137
msgid ""
"Added :opcode:`POP_JUMP_FORWARD_IF_NOT_NONE`, :opcode:"
"`POP_JUMP_BACKWARD_IF_NOT_NONE`, :opcode:`POP_JUMP_FORWARD_IF_NONE` and :"
"opcode:`POP_JUMP_BACKWARD_IF_NONE` opcodes to speed up conditional jumps."
msgstr ""
#: whatsnew/3.11.rst:1141
msgid ""
":opcode:`JUMP_IF_TRUE_OR_POP` and :opcode:`JUMP_IF_FALSE_OR_POP` are now "
"relative rather than absolute."
msgstr ""
#: whatsnew/3.11.rst:1881
msgid "Deprecated"
msgstr "Obsolescence"
#: whatsnew/3.11.rst:1148
msgid ""
"Chaining :class:`classmethod` descriptors (introduced in :issue:`19072`) is "
"now deprecated. It can no longer be used to wrap other descriptors such as :"
"class:`property`. The core design of this feature was flawed and caused a "
"number of downstream problems. To \"pass-through\" a :class:`classmethod`, "
"consider using the ``__wrapped__`` attribute that was added in Python 3.10. "
"(Contributed by Raymond Hettinger in :gh:`89519`.)"
msgstr ""
#: whatsnew/3.11.rst:1156
msgid ""
"Octal escapes in string and bytes literals with value larger than ``0o377`` "
"now produce :exc:`DeprecationWarning`. In a future Python version they will "
"be a :exc:`SyntaxWarning` and eventually a :exc:`SyntaxError`. (Contributed "
"by Serhiy Storchaka in :gh:`81548`.)"
msgstr ""
#: whatsnew/3.11.rst:1162
msgid ""
"The :mod:`lib2to3` package and ``2to3`` tool are now deprecated and may not "
"be able to parse Python 3.10 or newer. See the :pep:`617` (New PEG parser "
"for CPython). (Contributed by Victor Stinner in :issue:`40360`.)"
msgstr ""
#: whatsnew/3.11.rst:1166
msgid ""
"Undocumented modules ``sre_compile``, ``sre_constants`` and ``sre_parse`` "
"are now deprecated. (Contributed by Serhiy Storchaka in :issue:`47152`.)"
msgstr ""
#: whatsnew/3.11.rst:1170
msgid ""
":class:`webbrowser.MacOSX` is deprecated and will be removed in Python 3.13. "
"It is untested and undocumented and also not used by webbrowser itself. "
"(Contributed by Dong-hee Na in :issue:`42255`.)"
msgstr ""
#: whatsnew/3.11.rst:1174
msgid ""
"The behavior of returning a value from a :class:`~unittest.TestCase` and :"
"class:`~unittest.IsolatedAsyncioTestCase` test methods (other than the "
"default ``None`` value), is now deprecated."
msgstr ""
#: whatsnew/3.11.rst:1178
msgid ""
"Deprecated the following :mod:`unittest` functions, scheduled for removal in "
"Python 3.13:"
msgstr ""
#: whatsnew/3.11.rst:1181
msgid ":func:`unittest.findTestCases`"
msgstr ""
#: whatsnew/3.11.rst:1182
msgid ":func:`unittest.makeSuite`"
msgstr ""
#: whatsnew/3.11.rst:1183
msgid ":func:`unittest.getTestCaseNames`"
msgstr ""
#: whatsnew/3.11.rst:1185
msgid "Use :class:`~unittest.TestLoader` method instead:"
msgstr ""
#: whatsnew/3.11.rst:1187
msgid ":meth:`unittest.TestLoader.loadTestsFromModule`"
msgstr ""
#: whatsnew/3.11.rst:1188
msgid ":meth:`unittest.TestLoader.loadTestsFromTestCase`"
msgstr ""
#: whatsnew/3.11.rst:1189
msgid ":meth:`unittest.TestLoader.getTestCaseNames`"
msgstr ""
#: whatsnew/3.11.rst:1191
msgid "(Contributed by Erlend E. Aasland in :issue:`5846`.)"
msgstr ""
#: whatsnew/3.11.rst:1193
msgid ""
"The :meth:`turtle.RawTurtle.settiltangle` is deprecated since Python 3.1, it "
"now emits a deprecation warning and will be removed in Python 3.13. Use :"
"meth:`turtle.RawTurtle.tiltangle` instead (it was earlier incorrectly marked "
"as deprecated, its docstring is now corrected). (Contributed by Hugo van "
"Kemenade in :issue:`45837`.)"
msgstr ""
#: whatsnew/3.11.rst:1199
msgid ""
"The delegation of :func:`int` to :meth:`__trunc__` is now deprecated. "
"Calling ``int(a)`` when ``type(a)`` implements :meth:`__trunc__` but not :"
"meth:`__int__` or :meth:`__index__` now raises a :exc:`DeprecationWarning`. "
"(Contributed by Zackery Spytz in :issue:`44977`.)"
msgstr ""
#: whatsnew/3.11.rst:1204
msgid ""
"The following have been deprecated in :mod:`configparser` since Python 3.2. "
"Their deprecation warnings have now been updated to note they will removed "
"in Python 3.12:"
msgstr ""
#: whatsnew/3.11.rst:1208
msgid "the :class:`configparser.SafeConfigParser` class"
msgstr ""
#: whatsnew/3.11.rst:1209
msgid "the :attr:`configparser.ParsingError.filename` property"
msgstr ""
#: whatsnew/3.11.rst:1210
msgid "the :meth:`configparser.RawConfigParser.readfp` method"
msgstr ""
#: whatsnew/3.11.rst:1212
msgid "(Contributed by Hugo van Kemenade in :issue:`45173`.)"
msgstr ""
#: whatsnew/3.11.rst:1214
msgid ""
":class:`configparser.LegacyInterpolation` has been deprecated in the "
"docstring since Python 3.2. It now emits a :exc:`DeprecationWarning` and "
"will be removed in Python 3.13. Use :class:`configparser.BasicInterpolation` "
"or :class:`configparser.ExtendedInterpolation` instead. (Contributed by Hugo "
"van Kemenade in :issue:`46607`.)"
msgstr ""
#: whatsnew/3.11.rst:1220
msgid ""
"The :func:`locale.getdefaultlocale` function is deprecated and will be "
"removed in Python 3.13. Use :func:`locale.setlocale`, :func:`locale."
"getpreferredencoding(False) <locale.getpreferredencoding>` and :func:`locale."
"getlocale` functions instead. (Contributed by Victor Stinner in :issue:"
"`46659`.)"
msgstr ""
#: whatsnew/3.11.rst:1226
msgid ""
"The :mod:`asynchat`, :mod:`asyncore` and :mod:`smtpd` modules have been "
"deprecated since at least Python 3.6. Their documentation and deprecation "
"warnings have now been updated to note they will removed in Python 3.12 (:"
"pep:`594`). (Contributed by Hugo van Kemenade in :issue:`47022`.)"
msgstr ""
#: whatsnew/3.11.rst:1232
msgid ""
":pep:`594` led to the deprecations of the following modules which are slated "
"for removal in Python 3.13:"
msgstr ""
#: whatsnew/3.11.rst:1235
msgid ":mod:`aifc`"
msgstr ""
#: whatsnew/3.11.rst:1236
msgid ":mod:`audioop`"
msgstr ""
#: whatsnew/3.11.rst:1237
msgid ":mod:`cgi`"
msgstr ""
#: whatsnew/3.11.rst:1238
msgid ":mod:`cgitb`"
msgstr ""
#: whatsnew/3.11.rst:1239
msgid ":mod:`chunk`"
msgstr ""
#: whatsnew/3.11.rst:1240
msgid ":mod:`crypt`"
msgstr ""
#: whatsnew/3.11.rst:1241
msgid ":mod:`imghdr`"
msgstr ""
#: whatsnew/3.11.rst:1242
msgid ":mod:`mailcap`"
msgstr ""
#: whatsnew/3.11.rst:1243
msgid ":mod:`msilib`"
msgstr ""
#: whatsnew/3.11.rst:1244
msgid ":mod:`nis`"
msgstr ""
#: whatsnew/3.11.rst:1245
msgid ":mod:`nntplib`"
msgstr ""
#: whatsnew/3.11.rst:1246
msgid ":mod:`ossaudiodev`"
msgstr ""
#: whatsnew/3.11.rst:1247
msgid ":mod:`pipes`"
msgstr ""
#: whatsnew/3.11.rst:1248
msgid ":mod:`sndhdr`"
msgstr ""
#: whatsnew/3.11.rst:1249
msgid ":mod:`spwd`"
msgstr ""
#: whatsnew/3.11.rst:1250
msgid ":mod:`sunau`"
msgstr ""
#: whatsnew/3.11.rst:1251
msgid ":mod:`telnetlib`"
msgstr ""
#: whatsnew/3.11.rst:1252
msgid ":mod:`uu`"
msgstr ""
#: whatsnew/3.11.rst:1253
msgid ":mod:`xdrlib`"
msgstr ""
#: whatsnew/3.11.rst:1255
msgid ""
"(Contributed by Brett Cannon in :issue:`47061` and Victor Stinner in :gh:"
"`68966`.)"
msgstr ""
#: whatsnew/3.11.rst:1258
msgid ""
"More strict rules will be applied now applied for numerical group references "
"and group names in regular expressions in future Python versions. Only "
"sequence of ASCII digits will be now accepted as a numerical reference. The "
"group name in bytes patterns and replacement strings could only contain "
"ASCII letters and digits and underscore. For now, a deprecation warning is "
"raised for such syntax. (Contributed by Serhiy Storchaka in :gh:`91760`.)"
msgstr ""
#: whatsnew/3.11.rst:1266
msgid ""
":class:`typing.Text`, which exists solely to provide compatibility support "
"between Python 2 and Python 3 code, is now deprecated. Its removal is "
"currently unplanned, but users are encouraged to use :class:`str` instead "
"wherever possible. (Contributed by Alex Waygood in :gh:`92332`.)"
msgstr ""
#: whatsnew/3.11.rst:1272
msgid ""
"The keyword argument syntax for constructing :data:`~typing.TypedDict` types "
"is now deprecated. Support will be removed in Python 3.13. (Contributed by "
"Jingchen Ye in :gh:`90224`.)"
msgstr ""
#: whatsnew/3.11.rst:1278
msgid "Pending Removal in Python 3.12"
msgstr ""
#: whatsnew/3.11.rst:1280
msgid ""
"The following APIs have been deprecated in earlier Python releases, and will "
"be removed in Python 3.12."
msgstr ""
#: whatsnew/3.11.rst:1283
msgid "Python API:"
msgstr ""
#: whatsnew/3.11.rst:1285
msgid ":class:`pkgutil.ImpImporter`"
msgstr ""
#: whatsnew/3.11.rst:1286
msgid ":class:`pkgutil.ImpLoader`"
msgstr ""
#: whatsnew/3.11.rst:1287
msgid ":envvar:`PYTHONTHREADDEBUG`"
msgstr ""
#: whatsnew/3.11.rst:1288
msgid ":func:`importlib.find_loader`"
msgstr ""
#: whatsnew/3.11.rst:1289
msgid ":func:`importlib.util.module_for_loader`"
msgstr ""
#: whatsnew/3.11.rst:1290
msgid ":func:`importlib.util.set_loader_wrapper`"
msgstr ""
#: whatsnew/3.11.rst:1291
msgid ":func:`importlib.util.set_package_wrapper`"
msgstr ""
#: whatsnew/3.11.rst:1292
msgid ":meth:`importlib.abc.Loader.module_repr`"
msgstr ""
#: whatsnew/3.11.rst:1293
msgid ":meth:`importlib.abc.Loadermodule_repr`"
msgstr ""
#: whatsnew/3.11.rst:1295
msgid ":meth:`importlib.abc.MetaPathFinder.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1296
msgid ":meth:`importlib.abc.PathEntryFinder.find_loader`"
msgstr ""
#: whatsnew/3.11.rst:1297
msgid ":meth:`importlib.abc.PathEntryFinder.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1298
msgid ":meth:`importlib.machinery.BuiltinImporter.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1299
msgid ":meth:`importlib.machinery.BuiltinLoader.module_repr`"
msgstr ""
#: whatsnew/3.11.rst:1300
msgid ":meth:`importlib.machinery.FileFinder.find_loader`"
msgstr ""
#: whatsnew/3.11.rst:1301
msgid ":meth:`importlib.machinery.FileFinder.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1302
msgid ":meth:`importlib.machinery.FrozenImporter.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1303
msgid ":meth:`importlib.machinery.FrozenLoader.module_repr`"
msgstr ""
#: whatsnew/3.11.rst:1304
msgid ":meth:`importlib.machinery.PathFinder.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1305
msgid ":meth:`importlib.machinery.WindowsRegistryFinder.find_module`"
msgstr ""
#: whatsnew/3.11.rst:1306
msgid ":meth:`pathlib.Path.link_to`"
msgstr ""
#: whatsnew/3.11.rst:1307
msgid "The entire :ref:`distutils namespace <distutils-deprecated>`"
msgstr ""
#: whatsnew/3.11.rst:1308
msgid ":func:`cgi.log`"
msgstr ""
#: whatsnew/3.11.rst:1309
msgid ":func:`sqlite3.OptimizedUnicode`"
msgstr ""
#: whatsnew/3.11.rst:1310
msgid ":func:`sqlite3.enable_shared_cache`"
msgstr ""
#: whatsnew/3.11.rst:1312
msgid "C API:"
msgstr ""
#: whatsnew/3.11.rst:1314
msgid ":c:func:`PyUnicode_AS_DATA`"
msgstr ""
#: whatsnew/3.11.rst:1315
msgid ":c:func:`PyUnicode_AS_UNICODE`"
msgstr ""
#: whatsnew/3.11.rst:1316
msgid ":c:func:`PyUnicode_AsUnicodeAndSize`"
msgstr ""
#: whatsnew/3.11.rst:1317
msgid ":c:func:`PyUnicode_AsUnicode`"
msgstr ""
#: whatsnew/3.11.rst:1318
msgid ":c:func:`PyUnicode_FromUnicode`"
msgstr ""
#: whatsnew/3.11.rst:1319
msgid ":c:func:`PyUnicode_GET_DATA_SIZE`"
msgstr ""
#: whatsnew/3.11.rst:1320
msgid ":c:func:`PyUnicode_GET_SIZE`"
msgstr ""
#: whatsnew/3.11.rst:1321
msgid ":c:func:`PyUnicode_GetSize`"
msgstr ""
#: whatsnew/3.11.rst:1322
msgid ":c:func:`PyUnicode_IS_COMPACT`"
msgstr ""
#: whatsnew/3.11.rst:1323
msgid ":c:func:`PyUnicode_IS_READY`"
msgstr ""
#: whatsnew/3.11.rst:1324
msgid ":c:func:`PyUnicode_READY`"
msgstr ""
#: whatsnew/3.11.rst:1325
msgid ":c:func:`Py_UNICODE_WSTR_LENGTH`"
msgstr ""
#: whatsnew/3.11.rst:1326
msgid ":c:func:`_PyUnicode_AsUnicode`"
msgstr ""
#: whatsnew/3.11.rst:1327
msgid ":c:macro:`PyUnicode_WCHAR_KIND`"
msgstr ""
#: whatsnew/3.11.rst:1328
msgid ":c:type:`PyUnicodeObject`"
msgstr ""
#: whatsnew/3.11.rst:1329
msgid ":c:func:`PyUnicode_InternImmortal()`"
msgstr ""
#: whatsnew/3.11.rst:1906
msgid "Removed"
msgstr "Retraits"
#: whatsnew/3.11.rst:1335
msgid ""
":class:`smtpd.MailmanProxy` is now removed as it is unusable without an "
"external module, ``mailman``. (Contributed by Dong-hee Na in :issue:`35800`.)"
msgstr ""
#: whatsnew/3.11.rst:1338
msgid ""
"The ``binhex`` module, deprecated in Python 3.9, is now removed. The "
"following :mod:`binascii` functions, deprecated in Python 3.9, are now also "
"removed:"
msgstr ""
#: whatsnew/3.11.rst:1342
msgid "``a2b_hqx()``, ``b2a_hqx()``;"
msgstr ""
#: whatsnew/3.11.rst:1343
msgid "``rlecode_hqx()``, ``rledecode_hqx()``."
msgstr ""
#: whatsnew/3.11.rst:1345
msgid "The :func:`binascii.crc_hqx` function remains available."
msgstr ""
#: whatsnew/3.11.rst:1347
msgid "(Contributed by Victor Stinner in :issue:`45085`.)"
msgstr ""
#: whatsnew/3.11.rst:1349
msgid ""
"The distutils ``bdist_msi`` command, deprecated in Python 3.9, is now "
"removed. Use ``bdist_wheel`` (wheel packages) instead. (Contributed by Hugo "
"van Kemenade in :issue:`45124`.)"
msgstr ""
#: whatsnew/3.11.rst:1353
msgid ""
"Due to significant security concerns, the *reuse_address* parameter of :meth:"
"`asyncio.loop.create_datagram_endpoint`, disabled in Python 3.9, is now "
"entirely removed. This is because of the behavior of the socket option "
"``SO_REUSEADDR`` in UDP. (Contributed by Hugo van Kemenade in :issue:"
"`45129`.)"
msgstr ""
#: whatsnew/3.11.rst:1359
msgid ""
"Removed :meth:`__getitem__` methods of :class:`xml.dom.pulldom."
"DOMEventStream`, :class:`wsgiref.util.FileWrapper` and :class:`fileinput."
"FileInput`, deprecated since Python 3.9. (Contributed by Hugo van Kemenade "
"in :issue:`45132`.)"
msgstr ""
#: whatsnew/3.11.rst:1364
msgid ""
"The following deprecated functions and methods are removed in the :mod:"
"`gettext` module: :func:`~gettext.lgettext`, :func:`~gettext.ldgettext`, :"
"func:`~gettext.lngettext` and :func:`~gettext.ldngettext`."
msgstr ""
#: whatsnew/3.11.rst:1368
msgid ""
"Function :func:`~gettext.bind_textdomain_codeset`, methods :meth:`~gettext."
"NullTranslations.output_charset` and :meth:`~gettext.NullTranslations."
"set_output_charset`, and the *codeset* parameter of functions :func:"
"`~gettext.translation` and :func:`~gettext.install` are also removed, since "
"they are only used for the ``l*gettext()`` functions. (Contributed by Dong-"
"hee Na and Serhiy Storchaka in :issue:`44235`.)"
msgstr ""
#: whatsnew/3.11.rst:1376
msgid ""
"The :func:`@asyncio.coroutine <asyncio.coroutine>` :term:`decorator` "
"enabling legacy generator-based coroutines to be compatible with async/await "
"code. The function has been deprecated since Python 3.8 and the removal was "
"initially scheduled for Python 3.10. Use :keyword:`async def` instead. "
"(Contributed by Illia Volochii in :issue:`43216`.)"
msgstr ""
#: whatsnew/3.11.rst:1382
msgid ""
":class:`asyncio.coroutines.CoroWrapper` used for wrapping legacy generator-"
"based coroutine objects in the debug mode. (Contributed by Illia Volochii "
"in :issue:`43216`.)"
msgstr ""
#: whatsnew/3.11.rst:1386
msgid ""
"Removed the deprecated ``split()`` method of :class:`_tkinter.TkappType`. "
"(Contributed by Erlend E. Aasland in :issue:`38371`.)"
msgstr ""
#: whatsnew/3.11.rst:1389
msgid "Removed from the :mod:`inspect` module:"
msgstr ""
#: whatsnew/3.11.rst:1391
msgid ""
"the ``getargspec`` function, deprecated since Python 3.0; use :func:`inspect."
"signature` or :func:`inspect.getfullargspec` instead."
msgstr ""
#: whatsnew/3.11.rst:1394
msgid ""
"the ``formatargspec`` function, deprecated since Python 3.5; use the :func:"
"`inspect.signature` function and :class:`Signature` object directly."
msgstr ""
#: whatsnew/3.11.rst:1398
msgid ""
"the undocumented ``Signature.from_builtin`` and ``Signature.from_function`` "
"functions, deprecated since Python 3.5; use the :meth:`Signature."
"from_callable() <inspect.Signature.from_callable>` method instead."
msgstr ""
#: whatsnew/3.11.rst:1403
msgid "(Contributed by Hugo van Kemenade in :issue:`45320`.)"
msgstr ""
#: whatsnew/3.11.rst:1405
msgid ""
"Remove namespace package support from unittest discovery. It was introduced "
"in Python 3.4 but has been broken since Python 3.7. (Contributed by Inada "
"Naoki in :issue:`23882`.)"
msgstr ""
#: whatsnew/3.11.rst:1409
msgid ""
"Remove ``__class_getitem__`` method from :class:`pathlib.PurePath`, because "
"it was not used and added by mistake in previous versions. (Contributed by "
"Nikita Sobolev in :issue:`46483`.)"
msgstr ""
#: whatsnew/3.11.rst:1413
msgid ""
"Remove the undocumented private ``float.__set_format__()`` method, "
"previously known as ``float.__setformat__()`` in Python 3.7. Its docstring "
"said: \"You probably don't want to use this function. It exists mainly to be "
"used in Python's test suite.\" (Contributed by Victor Stinner in :issue:"
"`46852`.)"
msgstr ""
#: whatsnew/3.11.rst:1612
msgid "Porting to Python 3.11"
msgstr "Portage vers Python 3.11"
#: whatsnew/3.11.rst:1422
msgid ""
"This section lists previously described changes and other bugfixes that may "
"require changes to your code."
msgstr ""
#: whatsnew/3.11.rst:1427
msgid "Changes in the Python API"
msgstr "Changements dans l'API Python"
#: whatsnew/3.11.rst:1429
msgid ""
"Prohibited passing non-:class:`concurrent.futures.ThreadPoolExecutor` "
"executors to :meth:`loop.set_default_executor` following a deprecation in "
"Python 3.8. (Contributed by Illia Volochii in :issue:`43234`.)"
msgstr ""
#: whatsnew/3.11.rst:1434
msgid ""
":func:`open`, :func:`io.open`, :func:`codecs.open` and :class:`fileinput."
"FileInput` no longer accept ``'U'`` (\"universal newline\") in the file "
"mode. This flag was deprecated since Python 3.3. In Python 3, the "
"\"universal newline\" is used by default when a file is open in text mode. "
"The :ref:`newline parameter <open-newline-parameter>` of :func:`open` "
"controls how universal newlines works. (Contributed by Victor Stinner in :"
"issue:`37330`.)"
msgstr ""
#: whatsnew/3.11.rst:1442
msgid ""
"The :mod:`pdb` module now reads the :file:`.pdbrc` configuration file with "
"the ``'utf-8'`` encoding. (Contributed by Srinivas Reddy Thatiparthy (శ్రీనివాస్ "
"రెడ్డి తాటిపర్తి) in :issue:`41137`.)"
msgstr ""
#: whatsnew/3.11.rst:1446
msgid ""
"When sorting using tuples as keys, the order of the result may differ from "
"earlier releases if the tuple elements don't define a total ordering (see :"
"ref:`expressions-value-comparisons` for information on total ordering). "
"It's generally true that the result of sorting simply isn't well-defined in "
"the absence of a total ordering on list elements."
msgstr ""
#: whatsnew/3.11.rst:1453
msgid ""
":mod:`calendar`: The :class:`calendar.LocaleTextCalendar` and :class:"
"`calendar.LocaleHTMLCalendar` classes now use :func:`locale.getlocale`, "
"instead of using :func:`locale.getdefaultlocale`, if no locale is specified. "
"(Contributed by Victor Stinner in :issue:`46659`.)"
msgstr ""
#: whatsnew/3.11.rst:1459
msgid ""
"Global inline flags (e.g. ``(?i)``) can now only be used at the start of the "
"regular expressions. Using them not at the start of expression was "
"deprecated since Python 3.6. (Contributed by Serhiy Storchaka in :issue:"
"`47066`.)"
msgstr ""
#: whatsnew/3.11.rst:1464
msgid ""
":mod:`re` module: Fix a few long-standing bugs where, in rare cases, "
"capturing group could get wrong result. So the result may be different than "
"before. (Contributed by Ma Lin in :issue:`35859`.)"
msgstr ""
#: whatsnew/3.11.rst:1469
msgid ""
"The *population* parameter of :func:`random.sample` must be a sequence. "
"Automatic conversion of sets to lists is no longer supported. If the sample "
"size is larger than the population size, a :exc:`ValueError` is raised. "
"(Contributed by Raymond Hettinger in :issue:`40465`.)"
msgstr ""
#: whatsnew/3.11.rst:1476
msgid "Build Changes"
msgstr "Changements à la compilation"
#: whatsnew/3.11.rst:1478
msgid ""
"Building Python now requires a C11 compiler without optional C11 features. "
"(Contributed by Victor Stinner in :issue:`46656`.)"
msgstr ""
#: whatsnew/3.11.rst:1481
msgid ""
"Building Python now requires support of IEEE 754 floating point numbers. "
"(Contributed by Victor Stinner in :issue:`46917`.)"
msgstr ""
#: whatsnew/3.11.rst:1484
msgid ""
"CPython can now be built with the ThinLTO option via ``--with-lto=thin``. "
"(Contributed by Dong-hee Na and Brett Holman in :issue:`44340`.)"
msgstr ""
#: whatsnew/3.11.rst:1487
msgid ""
"libpython is no longer linked against libcrypt. (Contributed by Mike Gilbert "
"in :issue:`45433`.)"
msgstr ""
#: whatsnew/3.11.rst:1490
msgid ""
"Building Python now requires a C99 ``<math.h>`` header file providing the "
"following functions: ``copysign()``, ``hypot()``, ``isfinite()``, "
"``isinf()``, ``isnan()``, ``round()``. (Contributed by Victor Stinner in :"
"issue:`45440`.)"
msgstr ""
#: whatsnew/3.11.rst:1495
msgid ""
"Building Python now requires a C99 ``<math.h>`` header file providing a "
"``NAN`` constant, or the ``__builtin_nan()`` built-in function. (Contributed "
"by Victor Stinner in :issue:`46640`.)"
msgstr ""
#: whatsnew/3.11.rst:1499
msgid ""
"Building Python now requires support for floating point Not-a-Number (NaN): "
"remove the ``Py_NO_NAN`` macro. (Contributed by Victor Stinner in :issue:"
"`46656`.)"
msgstr ""
#: whatsnew/3.11.rst:1503
msgid ""
"Freelists for object structs can now be disabled. A new :program:`configure` "
"option :option:`!--without-freelists` can be used to disable all freelists "
"except empty tuple singleton. (Contributed by Christian Heimes in :issue:"
"`45522`)"
msgstr ""
#: whatsnew/3.11.rst:1508
msgid ""
"``Modules/Setup`` and ``Modules/makesetup`` have been improved and tied up. "
"Extension modules can now be built through ``makesetup``. All except some "
"test modules can be linked statically into main binary or library. "
"(Contributed by Brett Cannon and Christian Heimes in :issue:`45548`, :issue:"
"`45570`, :issue:`45571`, and :issue:`43974`.)"
msgstr ""
#: whatsnew/3.11.rst:1514
msgid ""
"Build dependencies, compiler flags, and linker flags for most stdlib "
"extension modules are now detected by :program:`configure`. libffi, libnsl, "
"libsqlite3, zlib, bzip2, liblzma, libcrypt, Tcl/Tk libs, and uuid flags are "
"detected by ``pkg-config`` (when available). (Contributed by Christian "
"Heimes and Erlend Egeberg Aasland in :issue:`45847`, :issue:`45747`, and :"
"issue:`45763`.)"
msgstr ""
#: whatsnew/3.11.rst:1522
msgid ""
"Use the environment variables ``TCLTK_CFLAGS`` and ``TCLTK_LIBS`` to "
"manually specify the location of Tcl/Tk headers and libraries. The :program:"
"`configure` options ``--with-tcltk-includes`` and ``--with-tcltk-libs`` have "
"been removed."
msgstr ""
#: whatsnew/3.11.rst:1527
msgid ""
"CPython now has experimental support for cross compiling to WebAssembly "
"platform ``wasm32-emscripten``. The effort is inspired by previous work like "
"Pyodide. (Contributed by Christian Heimes and Ethan Smith in :issue:`40280`.)"
msgstr ""
#: whatsnew/3.11.rst:1532
msgid ""
"CPython will now use 30-bit digits by default for the Python :class:`int` "
"implementation. Previously, the default was to use 30-bit digits on "
"platforms with ``SIZEOF_VOID_P >= 8``, and 15-bit digits otherwise. It's "
"still possible to explicitly request use of 15-bit digits via either the ``--"
"enable-big-digits`` option to the configure script or (for Windows) the "
"``PYLONG_BITS_IN_DIGIT`` variable in ``PC/pyconfig.h``, but this option may "
"be removed at some point in the future. (Contributed by Mark Dickinson in :"
"issue:`45569`.)"
msgstr ""
#: whatsnew/3.11.rst:1541
msgid ""
"The :mod:`tkinter` package now requires Tcl/Tk version 8.5.12 or newer. "
"(Contributed by Serhiy Storchaka in :issue:`46996`.)"
msgstr ""
#: whatsnew/3.11.rst:1546
msgid "C API Changes"
msgstr "Changements à l'API C"
#: whatsnew/3.11.rst:1551
msgid ""
"Add a new :c:func:`PyType_GetName` function to get type's short name. "
"(Contributed by Hai Shi in :issue:`42035`.)"
msgstr ""
#: whatsnew/3.11.rst:1554
msgid ""
"Add a new :c:func:`PyType_GetQualName` function to get type's qualified "
"name. (Contributed by Hai Shi in :issue:`42035`.)"
msgstr ""
#: whatsnew/3.11.rst:1557
msgid ""
"Add new :c:func:`PyThreadState_EnterTracing` and :c:func:"
"`PyThreadState_LeaveTracing` functions to the limited C API to suspend and "
"resume tracing and profiling. (Contributed by Victor Stinner in :issue:"
"`43760`.)"
msgstr ""
#: whatsnew/3.11.rst:1562
msgid ""
"Added the :c:data:`Py_Version` constant which bears the same value as :c:"
"macro:`PY_VERSION_HEX`. (Contributed by Gabriele N. Tornetta in :issue:"
"`43931`.)"
msgstr ""
#: whatsnew/3.11.rst:1566
msgid ""
":c:type:`Py_buffer` and APIs are now part of the limited API and the stable "
"ABI:"
msgstr ""
#: whatsnew/3.11.rst:1569
msgid ":c:func:`PyObject_CheckBuffer`"
msgstr ""
#: whatsnew/3.11.rst:1570
msgid ":c:func:`PyObject_GetBuffer`"
msgstr ""
#: whatsnew/3.11.rst:1571
msgid ":c:func:`PyBuffer_GetPointer`"
msgstr ""
#: whatsnew/3.11.rst:1572
msgid ":c:func:`PyBuffer_SizeFromFormat`"
msgstr ""
#: whatsnew/3.11.rst:1573
msgid ":c:func:`PyBuffer_ToContiguous`"
msgstr ""
#: whatsnew/3.11.rst:1574
msgid ":c:func:`PyBuffer_FromContiguous`"
msgstr ""
#: whatsnew/3.11.rst:1575
msgid ":c:func:`PyBuffer_CopyData`"
msgstr ""
#: whatsnew/3.11.rst:1576
msgid ":c:func:`PyBuffer_IsContiguous`"
msgstr ""
#: whatsnew/3.11.rst:1577
msgid ":c:func:`PyBuffer_FillContiguousStrides`"
msgstr ""
#: whatsnew/3.11.rst:1578
msgid ":c:func:`PyBuffer_FillInfo`"
msgstr ""
#: whatsnew/3.11.rst:1579
msgid ":c:func:`PyBuffer_Release`"
msgstr ""
#: whatsnew/3.11.rst:1580
msgid ":c:func:`PyMemoryView_FromBuffer`"
msgstr ""
#: whatsnew/3.11.rst:1581
msgid ""
":c:member:`~PyBufferProcs.bf_getbuffer` and :c:member:`~PyBufferProcs."
"bf_releasebuffer` type slots"
msgstr ""
#: whatsnew/3.11.rst:1584
msgid "(Contributed by Christian Heimes in :issue:`45459`.)"
msgstr ""
#: whatsnew/3.11.rst:1586
msgid ""
"Added the :c:data:`PyType_GetModuleByDef` function, used to get the module "
"in which a method was defined, in cases where this information is not "
"available directly (via :c:type:`PyCMethod`). (Contributed by Petr Viktorin "
"in :issue:`46613`.)"
msgstr ""
#: whatsnew/3.11.rst:1591
msgid ""
"Add new functions to pack and unpack C double (serialize and deserialize): :"
"c:func:`PyFloat_Pack2`, :c:func:`PyFloat_Pack4`, :c:func:`PyFloat_Pack8`, :c:"
"func:`PyFloat_Unpack2`, :c:func:`PyFloat_Unpack4` and :c:func:"
"`PyFloat_Unpack8`. (Contributed by Victor Stinner in :issue:`46906`.)"
msgstr ""
#: whatsnew/3.11.rst:1597
msgid ""
"Add new functions to get frame object attributes: :c:func:"
"`PyFrame_GetBuiltins`, :c:func:`PyFrame_GetGenerator`, :c:func:"
"`PyFrame_GetGlobals`, :c:func:`PyFrame_GetLasti`."
msgstr ""
#: whatsnew/3.11.rst:1601
msgid ""
"Added two new functions to get and set the active exception instance: :c:"
"func:`PyErr_GetHandledException` and :c:func:`PyErr_SetHandledException`. "
"These are alternatives to :c:func:`PyErr_SetExcInfo()` and :c:func:"
"`PyErr_GetExcInfo()` which work with the legacy 3-tuple representation of "
"exceptions. (Contributed by Irit Katriel in :issue:`46343`.)"
msgstr ""
#: whatsnew/3.11.rst:1608
msgid ""
"Added the :c:member:`PyConfig.safe_path` member. (Contributed by Victor "
"Stinner in :gh:`57684`.)"
msgstr ""
#: whatsnew/3.11.rst:1614
msgid ""
":c:func:`PyErr_SetExcInfo()` no longer uses the ``type`` and ``traceback`` "
"arguments, the interpreter now derives those values from the exception "
"instance (the ``value`` argument). The function still steals references of "
"all three arguments. (Contributed by Irit Katriel in :issue:`45711`.)"
msgstr ""
#: whatsnew/3.11.rst:1620
msgid ""
":c:func:`PyErr_GetExcInfo()` now derives the ``type`` and ``traceback`` "
"fields of the result from the exception instance (the ``value`` field). "
"(Contributed by Irit Katriel in :issue:`45711`.)"
msgstr ""
#: whatsnew/3.11.rst:1624
msgid ""
":c:type:`_frozen` has a new ``is_package`` field to indicate whether or not "
"the frozen module is a package. Previously, a negative value in the "
"``size`` field was the indicator. Now only non-negative values be used for "
"``size``. (Contributed by Kumar Aditya in :issue:`46608`.)"
msgstr ""
#: whatsnew/3.11.rst:1630
msgid ""
":c:func:`_PyFrameEvalFunction` now takes ``_PyInterpreterFrame*`` as its "
"second parameter, instead of ``PyFrameObject*``. See :pep:`523` for more "
"details of how to use this function pointer type."
msgstr ""
#: whatsnew/3.11.rst:1634
msgid ""
":c:func:`PyCode_New` and :c:func:`PyCode_NewWithPosOnlyArgs` now take an "
"additional ``exception_table`` argument. Using these functions should be "
"avoided, if at all possible. To get a custom code object: create a code "
"object using the compiler, then get a modified version with the ``replace`` "
"method."
msgstr ""
#: whatsnew/3.11.rst:1640
msgid ""
":c:type:`PyCodeObject` no longer has a ``co_code`` field. Instead, use "
"``PyObject_GetAttrString(code_object, \"co_code\")`` or :c:func:"
"`PyCode_GetCode` to get the underlying bytes object. (Contributed by Brandt "
"Bucher in :issue:`46841` and Ken Jin in :gh:`92154`.)"
msgstr ""
#: whatsnew/3.11.rst:1645
msgid ""
"The old trashcan macros (``Py_TRASHCAN_SAFE_BEGIN``/"
"``Py_TRASHCAN_SAFE_END``) are now deprecated. They should be replaced by the "
"new macros ``Py_TRASHCAN_BEGIN`` and ``Py_TRASHCAN_END``."
msgstr ""
#: whatsnew/3.11.rst:1649
msgid "A tp_dealloc function that has the old macros, such as::"
msgstr ""
#: whatsnew/3.11.rst:1660
msgid "should migrate to the new macros as follows::"
msgstr ""
#: whatsnew/3.11.rst:1671
msgid ""
"Note that ``Py_TRASHCAN_BEGIN`` has a second argument which should be the "
"deallocation function it is in."
msgstr ""
#: whatsnew/3.11.rst:1674
msgid ""
"To support older Python versions in the same codebase, you can define the "
"following macros and use them throughout the code (credit: these were copied "
"from the ``mypy`` codebase)::"
msgstr ""
#: whatsnew/3.11.rst:1686
msgid ""
"The :c:func:`PyType_Ready` function now raises an error if a type is defined "
"with the :const:`Py_TPFLAGS_HAVE_GC` flag set but has no traverse function (:"
"c:member:`PyTypeObject.tp_traverse`). (Contributed by Victor Stinner in :"
"issue:`44263`.)"
msgstr ""
#: whatsnew/3.11.rst:1691
msgid ""
"Heap types with the :const:`Py_TPFLAGS_IMMUTABLETYPE` flag can now inherit "
"the :pep:`590` vectorcall protocol. Previously, this was only possible for :"
"ref:`static types <static-types>`. (Contributed by Erlend E. Aasland in :"
"issue:`43908`)"
msgstr ""
#: whatsnew/3.11.rst:1696
msgid ""
"Since :c:func:`Py_TYPE()` is changed to a inline static function, "
"``Py_TYPE(obj) = new_type`` must be replaced with ``Py_SET_TYPE(obj, "
"new_type)``: see the :c:func:`Py_SET_TYPE()` function (available since "
"Python 3.9). For backward compatibility, this macro can be used::"
msgstr ""
#: whatsnew/3.11.rst:1722
msgid "(Contributed by Victor Stinner in :issue:`39573`.)"
msgstr ""
#: whatsnew/3.11.rst:1710
msgid ""
"Since :c:func:`Py_SIZE()` is changed to a inline static function, "
"``Py_SIZE(obj) = new_size`` must be replaced with ``Py_SET_SIZE(obj, "
"new_size)``: see the :c:func:`Py_SET_SIZE()` function (available since "
"Python 3.9). For backward compatibility, this macro can be used::"
msgstr ""
#: whatsnew/3.11.rst:1724
msgid ""
"``<Python.h>`` no longer includes the header files ``<stdlib.h>``, ``<stdio."
"h>``, ``<errno.h>`` and ``<string.h>`` when the ``Py_LIMITED_API`` macro is "
"set to ``0x030b0000`` (Python 3.11) or higher. C extensions should "
"explicitly include the header files after ``#include <Python.h>``. "
"(Contributed by Victor Stinner in :issue:`45434`.)"
msgstr ""
#: whatsnew/3.11.rst:1730
msgid ""
"The non-limited API files ``cellobject.h``, ``classobject.h``, ``code.h``, "
"``context.h``, ``funcobject.h``, ``genobject.h`` and ``longintrepr.h`` have "
"been moved to the ``Include/cpython`` directory. Moreover, the ``eval.h`` "
"header file was removed. These files must not be included directly, as they "
"are already included in ``Python.h``: :ref:`Include Files <api-includes>`. "
"If they have been included directly, consider including ``Python.h`` "
"instead. (Contributed by Victor Stinner in :issue:`35134`.)"
msgstr ""
#: whatsnew/3.11.rst:1738
msgid ""
"The :c:func:`PyUnicode_CHECK_INTERNED` macro has been excluded from the "
"limited C API. It was never usable there, because it used internal "
"structures which are not available in the limited C API. (Contributed by "
"Victor Stinner in :issue:`46007`.)"
msgstr ""
#: whatsnew/3.11.rst:1745
msgid ""
"The :c:type:`PyFrameObject` structure members have been removed from the "
"public C API."
msgstr ""
#: whatsnew/3.11.rst:1748
msgid ""
"While the documentation notes that the :c:type:`PyFrameObject` fields are "
"subject to change at any time, they have been stable for a long time and "
"were used in several popular extensions."
msgstr ""
#: whatsnew/3.11.rst:1752
msgid ""
"In Python 3.11, the frame struct was reorganized to allow performance "
"optimizations. Some fields were removed entirely, as they were details of "
"the old implementation."
msgstr ""
#: whatsnew/3.11.rst:1756
msgid ":c:type:`PyFrameObject` fields:"
msgstr ""
#: whatsnew/3.11.rst:1758
msgid "``f_back``: use :c:func:`PyFrame_GetBack`."
msgstr ""
#: whatsnew/3.11.rst:1759
msgid "``f_blockstack``: removed."
msgstr ""
#: whatsnew/3.11.rst:1760
msgid "``f_builtins``: use :c:func:`PyFrame_GetBuiltins`."
msgstr ""
#: whatsnew/3.11.rst:1761
msgid "``f_code``: use :c:func:`PyFrame_GetCode`."
msgstr ""
#: whatsnew/3.11.rst:1762
msgid "``f_gen``: use :c:func:`PyFrame_GetGenerator`."
msgstr ""
#: whatsnew/3.11.rst:1763
msgid "``f_globals``: use :c:func:`PyFrame_GetGlobals`."
msgstr ""
#: whatsnew/3.11.rst:1764
msgid "``f_iblock``: removed."
msgstr ""
#: whatsnew/3.11.rst:1765
msgid ""
"``f_lasti``: use :c:func:`PyFrame_GetLasti`. Code using ``f_lasti`` with "
"``PyCode_Addr2Line()`` should use :c:func:`PyFrame_GetLineNumber` instead; "
"it may be faster."
msgstr ""
#: whatsnew/3.11.rst:1768
msgid "``f_lineno``: use :c:func:`PyFrame_GetLineNumber`"
msgstr ""
#: whatsnew/3.11.rst:1769
msgid "``f_locals``: use :c:func:`PyFrame_GetLocals`."
msgstr ""
#: whatsnew/3.11.rst:1770
msgid "``f_stackdepth``: removed."
msgstr ""
#: whatsnew/3.11.rst:1771
msgid "``f_state``: no public API (renamed to ``f_frame.f_state``)."
msgstr ""
#: whatsnew/3.11.rst:1772
msgid "``f_trace``: no public API."
msgstr ""
#: whatsnew/3.11.rst:1773
msgid ""
"``f_trace_lines``: use ``PyObject_GetAttrString((PyObject*)frame, "
"\"f_trace_lines\")``."
msgstr ""
#: whatsnew/3.11.rst:1774
msgid ""
"``f_trace_opcodes``: use ``PyObject_GetAttrString((PyObject*)frame, "
"\"f_trace_opcodes\")``."
msgstr ""
#: whatsnew/3.11.rst:1775
msgid "``f_localsplus``: no public API (renamed to ``f_frame.localsplus``)."
msgstr ""
#: whatsnew/3.11.rst:1776
msgid "``f_valuestack``: removed."
msgstr ""
#: whatsnew/3.11.rst:1778
msgid ""
"The Python frame object is now created lazily. A side effect is that the "
"``f_back`` member must not be accessed directly, since its value is now also "
"computed lazily. The :c:func:`PyFrame_GetBack` function must be called "
"instead."
msgstr ""
#: whatsnew/3.11.rst:1783
msgid ""
"Debuggers that accessed the ``f_locals`` directly *must* call :c:func:"
"`PyFrame_GetLocals` instead. They no longer need to call :c:func:"
"`PyFrame_FastToLocalsWithError` or :c:func:`PyFrame_LocalsToFast`, in fact "
"they should not call those functions. The necessary updating of the frame is "
"now managed by the virtual machine."
msgstr ""
#: whatsnew/3.11.rst:1789
msgid "Code defining ``PyFrame_GetCode()`` on Python 3.8 and older::"
msgstr ""
#: whatsnew/3.11.rst:1799
msgid "Code defining ``PyFrame_GetBack()`` on Python 3.8 and older::"
msgstr ""
#: whatsnew/3.11.rst:1809
msgid ""
"Or use the `pythoncapi_compat project <https://github.com/python/"
"pythoncapi_compat>`__ to get these two functions on older Python versions."
msgstr ""
#: whatsnew/3.11.rst:1813
msgid "Changes of the :c:type:`PyThreadState` structure members:"
msgstr ""
#: whatsnew/3.11.rst:1815
msgid ""
"``frame``: removed, use :c:func:`PyThreadState_GetFrame` (function added to "
"Python 3.9 by :issue:`40429`). Warning: the function returns a :term:`strong "
"reference`, need to call :c:func:`Py_XDECREF`."
msgstr ""
#: whatsnew/3.11.rst:1819
msgid ""
"``tracing``: changed, use :c:func:`PyThreadState_EnterTracing` and :c:func:"
"`PyThreadState_LeaveTracing` (functions added to Python 3.11 by :issue:"
"`43760`)."
msgstr ""
#: whatsnew/3.11.rst:1822
msgid ""
"``recursion_depth``: removed, use ``(tstate->recursion_limit - tstate-"
">recursion_remaining)`` instead."
msgstr ""
#: whatsnew/3.11.rst:1824
msgid "``stackcheck_counter``: removed."
msgstr ""
#: whatsnew/3.11.rst:1826
msgid "Code defining ``PyThreadState_GetFrame()`` on Python 3.8 and older::"
msgstr ""
#: whatsnew/3.11.rst:1836
msgid ""
"Code defining ``PyThreadState_EnterTracing()`` and "
"``PyThreadState_LeaveTracing()`` on Python 3.10 and older::"
msgstr ""
#: whatsnew/3.11.rst:1862
msgid ""
"Or use `the pythoncapi_compat project <https://github.com/python/"
"pythoncapi_compat>`__ to get these functions on old Python functions."
msgstr ""
#: whatsnew/3.11.rst:1866
msgid ""
"Distributors are encouraged to build Python with the optimized Blake2 "
"library `libb2`_."
msgstr ""
#: whatsnew/3.11.rst:1874
msgid ""
":c:func:`PyConfig_Read` no longer calculates the initial search path, and "
"will not fill any values into :c:member:`PyConfig.module_search_paths`. To "
"calculate default paths and then modify them, finish initialization and use :"
"c:func:`PySys_GetObject` to retrieve :data:`sys.path` as a Python list "
"object and modify it directly."
msgstr ""
#: whatsnew/3.11.rst:1883
msgid ""
"Deprecate the following functions to configure the Python initialization:"
msgstr ""
#: whatsnew/3.11.rst:1885
msgid ":c:func:`PySys_AddWarnOptionUnicode`"
msgstr ""
#: whatsnew/3.11.rst:1886
msgid ":c:func:`PySys_AddWarnOption`"
msgstr ""
#: whatsnew/3.11.rst:1887
msgid ":c:func:`PySys_AddXOption`"
msgstr ""
#: whatsnew/3.11.rst:1888
msgid ":c:func:`PySys_HasWarnOptions`"
msgstr ""
#: whatsnew/3.11.rst:1889
msgid ":c:func:`PySys_SetArgvEx`"
msgstr ""
#: whatsnew/3.11.rst:1890
msgid ":c:func:`PySys_SetArgv`"
msgstr ""
#: whatsnew/3.11.rst:1891
msgid ":c:func:`PySys_SetPath`"
msgstr ""
#: whatsnew/3.11.rst:1892
msgid ":c:func:`Py_SetPath`"
msgstr ""
#: whatsnew/3.11.rst:1893
msgid ":c:func:`Py_SetProgramName`"
msgstr ""
#: whatsnew/3.11.rst:1894
msgid ":c:func:`Py_SetPythonHome`"
msgstr ""
#: whatsnew/3.11.rst:1895
msgid ":c:func:`Py_SetStandardStreamEncoding`"
msgstr ""
#: whatsnew/3.11.rst:1896
msgid ":c:func:`_Py_SetProgramFullPath`"
msgstr ""
#: whatsnew/3.11.rst:1898
msgid ""
"Use the new :c:type:`PyConfig` API of the :ref:`Python Initialization "
"Configuration <init-config>` instead (:pep:`587`). (Contributed by Victor "
"Stinner in :gh:`88279`.)"
msgstr ""
#: whatsnew/3.11.rst:1902
msgid ""
"Deprecate the ``ob_shash`` member of the :c:type:`PyBytesObject`. Use :c:"
"func:`PyObject_Hash` instead. (Contributed by Inada Naoki in :issue:`46864`.)"
msgstr ""
#: whatsnew/3.11.rst:1908
msgid ""
":c:func:`PyFrame_BlockSetup` and :c:func:`PyFrame_BlockPop` have been "
"removed. (Contributed by Mark Shannon in :issue:`40222`.)"
msgstr ""
#: whatsnew/3.11.rst:1912
msgid "Remove the following math macros using the ``errno`` variable:"
msgstr ""
#: whatsnew/3.11.rst:1914
msgid "``Py_ADJUST_ERANGE1()``"
msgstr ""
#: whatsnew/3.11.rst:1915
msgid "``Py_ADJUST_ERANGE2()``"
msgstr ""
#: whatsnew/3.11.rst:1916
msgid "``Py_OVERFLOWED()``"
msgstr ""
#: whatsnew/3.11.rst:1917
msgid "``Py_SET_ERANGE_IF_OVERFLOW()``"
msgstr ""
#: whatsnew/3.11.rst:1918
msgid "``Py_SET_ERRNO_ON_MATH_ERROR()``"
msgstr ""
#: whatsnew/3.11.rst:1920
msgid "(Contributed by Victor Stinner in :issue:`45412`.)"
msgstr ""
#: whatsnew/3.11.rst:1922
msgid ""
"Remove ``Py_UNICODE_COPY()`` and ``Py_UNICODE_FILL()`` macros, deprecated "
"since Python 3.3. Use ``PyUnicode_CopyCharacters()`` or ``memcpy()`` "
"(``wchar_t*`` string), and ``PyUnicode_Fill()`` functions instead. "
"(Contributed by Victor Stinner in :issue:`41123`.)"
msgstr ""
#: whatsnew/3.11.rst:1927
msgid ""
"Remove the ``pystrhex.h`` header file. It only contains private functions. C "
"extensions should only include the main ``<Python.h>`` header file. "
"(Contributed by Victor Stinner in :issue:`45434`.)"
msgstr ""
#: whatsnew/3.11.rst:1931
msgid ""
"Remove the ``Py_FORCE_DOUBLE()`` macro. It was used by the "
"``Py_IS_INFINITY()`` macro. (Contributed by Victor Stinner in :issue:"
"`45440`.)"
msgstr ""
#: whatsnew/3.11.rst:1935
msgid ""
"The following items are no longer available when :c:macro:`Py_LIMITED_API` "
"is defined:"
msgstr ""
#: whatsnew/3.11.rst:1938
msgid ":c:func:`PyMarshal_WriteLongToFile`"
msgstr ""
#: whatsnew/3.11.rst:1939
msgid ":c:func:`PyMarshal_WriteObjectToFile`"
msgstr ""
#: whatsnew/3.11.rst:1940
msgid ":c:func:`PyMarshal_ReadObjectFromString`"
msgstr ""
#: whatsnew/3.11.rst:1941
msgid ":c:func:`PyMarshal_WriteObjectToString`"
msgstr ""
#: whatsnew/3.11.rst:1942
msgid "the ``Py_MARSHAL_VERSION`` macro"
msgstr ""
#: whatsnew/3.11.rst:1944
msgid "These are not part of the :ref:`limited API <stable-abi-list>`."
msgstr ""
#: whatsnew/3.11.rst:1946
msgid "(Contributed by Victor Stinner in :issue:`45474`.)"
msgstr ""
#: whatsnew/3.11.rst:1948
msgid ""
"Exclude :c:func:`PyWeakref_GET_OBJECT` from the limited C API. It never "
"worked since the :c:type:`PyWeakReference` structure is opaque in the "
"limited C API. (Contributed by Victor Stinner in :issue:`35134`.)"
msgstr ""
#: whatsnew/3.11.rst:1953
msgid ""
"Remove the ``PyHeapType_GET_MEMBERS()`` macro. It was exposed in the public "
"C API by mistake, it must only be used by Python internally. Use the "
"``PyTypeObject.tp_members`` member instead. (Contributed by Victor Stinner "
"in :issue:`40170`.)"
msgstr ""
#: whatsnew/3.11.rst:1958
msgid ""
"Remove the ``HAVE_PY_SET_53BIT_PRECISION`` macro (moved to the internal C "
"API). (Contributed by Victor Stinner in :issue:`45412`.)"
msgstr ""