# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2022, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-23 18:39+0100\n" "PO-Revision-Date: 2022-04-17 06:51-0600\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 \n" "Language-Team: \n" "Language: fr\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 `." msgstr "" "Pour plus de détails, voir le :ref:`journal des modifications `." #: 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:68 msgid "New syntax features:" msgstr "Nouvelles fonctionnalités de syntaxe :" #: whatsnew/3.11.rst:70 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:73 msgid "New typing features:" msgstr "Nouvelles fonctionnalités de typage :" #: whatsnew/3.11.rst:75 msgid "" ":pep:`673`: ``Self`` Type. (Contributed by James Hilton-Balfe and Pradeep " "Kumar in :issue:`30924`.)" msgstr "" ":pep:`673` : Type ``Self`` (contribution de *James Hilton-Balfe* et de " "*Pradeep Kumar* dans :issue:`30924`)." #: whatsnew/3.11.rst:793 msgid "New Features" msgstr "Nouvelles fonctionnalités" #: whatsnew/3.11.rst:84 msgid "Enhanced error locations in tracebacks" msgstr "Amélioration de l'emplacement des erreurs dans les traces d'appels" #: whatsnew/3.11.rst:86 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:100 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:121 msgid "as well as complex arithmetic expressions:" msgstr "de même qu'avec les expressions arithmétiques complexes :" #: whatsnew/3.11.rst:155 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:135 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:143 msgid "Column information for code objects" msgstr "Information de colonnes pour les objets code" #: whatsnew/3.11.rst:145 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:149 msgid "The :meth:`codeobject.co_positions` method in Python." msgstr "la méthode :meth:`codeobject.co_positions` en Python ;" #: whatsnew/3.11.rst:150 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:152 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:159 msgid "Exceptions can be enriched with a string ``__note__``" msgstr "Les exceptions peuvent être enrichies avec une chaîne ``__note__``" #: whatsnew/3.11.rst:161 msgid "" "The ``__note__`` field was added to :exc:`BaseException`. It is ``None`` by " "default but can be set to a string which is added to the exception's " "traceback. (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:166 msgid "Other Language Changes" msgstr "Autres changements au langage" #: whatsnew/3.11.rst:168 msgid "" "Starred expressions can be used in :ref:`for statements`. (See :issue:" "`46725` for more details.)" msgstr "" #: whatsnew/3.11.rst:171 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:175 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:182 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:190 msgid "Other CPython Implementation Changes" msgstr "Autres changements à l'implémentation de CPython" #: whatsnew/3.11.rst:192 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:196 msgid "" "``siphash13`` is added as a new internal hashing algorithms. It's 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 ``hash()``. :pep:`552` hash-based pyc files now use " "``siphash13``, too. (Contributed by Inada Naoki in :issue:`29410`.)" msgstr "" #: whatsnew/3.11.rst:202 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:208 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:213 msgid "" "A new command line option for the Windows installer ``AppendPath`` has beend " "added. It behaves similiar to ``PrependPath`` but appends the install and " "scripts directories instead of prepending it. (Contributed by Bastian " "Neuburger in :issue:`44934`.)" msgstr "" #: whatsnew/3.11.rst:220 msgid "New Modules" msgstr "Nouveaux modules" #: whatsnew/3.11.rst:222 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:227 msgid "Improved Modules" msgstr "Modules améliorés" #: whatsnew/3.11.rst:230 msgid "asyncio" msgstr "``asyncio``" #: whatsnew/3.11.rst:232 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:239 msgid "fractions" msgstr "``fractions``" #: whatsnew/3.11.rst:241 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:244 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:250 msgid "IDLE and idlelib" msgstr "``IDLE`` et ``idlelib``" #: whatsnew/3.11.rst:252 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:256 msgid "inspect" msgstr "``inspect``" #: whatsnew/3.11.rst:257 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:261 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:265 msgid "math" msgstr "``math``" #: whatsnew/3.11.rst:267 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:270 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:273 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:279 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:284 msgid "operator" msgstr "``operator``" #: whatsnew/3.11.rst:286 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:292 msgid "os" msgstr "``os``" #: whatsnew/3.11.rst:294 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:299 msgid "re" msgstr "``re``" #: whatsnew/3.11.rst:301 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:306 msgid "shutil" msgstr "``shutils``" #: whatsnew/3.11.rst:308 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:313 msgid "socket" msgstr "``socket``" #: whatsnew/3.11.rst:315 msgid "" "Add CAN Socket support for NetBSD. (Contributed by Thomas Klausner in :issue:" "`30512`.)" msgstr "" #: whatsnew/3.11.rst:320 msgid "sqlite3" msgstr "``sqlite3``" #: whatsnew/3.11.rst:322 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:326 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:331 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:337 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:342 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:346 msgid "" ":mod:`sqlite3` C callbacks now use unraisable exceptions if callback " "tracebacks are enabled. Users can now register an :func:`unraisable hook " "handler ` to improve their debug experience. " "(Contributed by Erlend E. Aasland in :issue:`45828`.)" msgstr "" #: whatsnew/3.11.rst:352 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:358 msgid "sys" msgstr "``sys``" #: whatsnew/3.11.rst:360 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:366 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:372 msgid "sysconfig" msgstr "``sysconfig``" #: whatsnew/3.11.rst:374 msgid "" "Two new :ref:`installation schemes ` (*posix_venv*, " "*nt_venv* and *venv*) were added and are used when Python creates new " "virtual environments or when it is running from a virtual environment. The " "first two schemes (*posix_venv* and *nt_venv*) are OS-specific for non-" "Windows and Windows, the *venv* is essentially an alias to one of them " "according to the OS Python runs on. This is useful for downstream " "distributors who modify :func:`sysconfig.get_preferred_scheme`. Third party " "code that creates new virtual environments should use the new *venv* " "installation scheme to determine the paths, as does :mod:`venv`. " "(Contributed by Miro Hrončok in :issue:`45413`.)" msgstr "" #: whatsnew/3.11.rst:389 msgid "threading" msgstr "``threading``" #: whatsnew/3.11.rst:391 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:400 msgid "time" msgstr "``time``" #: whatsnew/3.11.rst:402 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:408 msgid "" "On Windows 8.1 and newer, :func:`time.sleep` now uses a waitable timer based " "on `high-resolution timers `_ which has a resolution of " "100 nanoseconds (10\\ :sup:`-7` seconds). Previously, it had a resolution of " "1 millisecond (10\\ :sup:`-3` seconds). (Contributed by Benjamin Szőke, Dong-" "hee Na, Eryk Sun and Victor Stinner in :issue:`21302` and :issue:`45429`.)" msgstr "" #: whatsnew/3.11.rst:417 msgid "unicodedata" msgstr "``unicodedata``" #: whatsnew/3.11.rst:419 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:423 msgid "venv" msgstr "``venv``" #: whatsnew/3.11.rst:425 msgid "" "When new Python virtual environments are created, the *venv* :ref:`sysconfig " "installation scheme ` is used to determine the paths " "inside the environment. When Python runs in a virtual environment, the same " "installation scheme is the default. That means that downstream distributors " "can change the default sysconfig install scheme without changing behavior of " "virtual environments. Third party code that also creates new virtual " "environments should do the same. (Contributed by Miro Hrončok in :issue:" "`45413`.)" msgstr "" #: whatsnew/3.11.rst:436 msgid "zipfile" msgstr "``zipfile``" #: whatsnew/3.11.rst:438 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:443 msgid "fcntl" msgstr "``fcntl``" #: whatsnew/3.11.rst:445 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:451 msgid "Optimizations" msgstr "Optimisations" #: whatsnew/3.11.rst:453 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:458 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:462 msgid "" "Method calls with keywords are now faster due to bytecode changes which " "avoid creating bound method instances. Previously, this optimization was " "applied only to method calls with purely positional arguments. (Contributed " "by Ken Jin and Mark Shannon in :issue:`26110`, based on ideas implemented in " "PyPy.)" msgstr "" #: whatsnew/3.11.rst:469 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:472 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:477 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:484 msgid "CPython bytecode changes" msgstr "" #: whatsnew/3.11.rst:486 msgid "" "Replaced all numeric ``BINARY_*`` and ``INPLACE_*`` instructions with a " "single :opcode:`BINARY_OP` implementation." msgstr "" #: whatsnew/3.11.rst:489 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:496 msgid "Removed ``COPY_DICT_WITHOUT_KEYS`` and ``GEN_START``." msgstr "" #: whatsnew/3.11.rst:498 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:503 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:507 msgid "" "Add :opcode:`POP_JUMP_IF_NOT_NONE` and :opcode:`POP_JUMP_IF_NONE` opcodes to " "speed up conditional jumps." msgstr "" #: whatsnew/3.11.rst:510 msgid ":opcode:`JUMP_IF_NOT_EXC_MATCH` no longer pops the active exception." msgstr "" #: whatsnew/3.11.rst:1060 msgid "Deprecated" msgstr "Obsolescence" #: whatsnew/3.11.rst:516 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:520 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:524 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:528 msgid "" "Deprecated the following :mod:`unittest` functions, scheduled for removal in " "Python 3.13:" msgstr "" #: whatsnew/3.11.rst:531 msgid ":func:`unittest.findTestCases`" msgstr "" #: whatsnew/3.11.rst:532 msgid ":func:`unittest.makeSuite`" msgstr "" #: whatsnew/3.11.rst:533 msgid ":func:`unittest.getTestCaseNames`" msgstr "" #: whatsnew/3.11.rst:535 msgid "Use :class:`~unittest.TestLoader` method instead:" msgstr "" #: whatsnew/3.11.rst:537 msgid ":meth:`unittest.TestLoader.loadTestsFromModule`" msgstr "" #: whatsnew/3.11.rst:538 msgid ":meth:`unittest.TestLoader.loadTestsFromTestCase`" msgstr "" #: whatsnew/3.11.rst:539 msgid ":meth:`unittest.TestLoader.getTestCaseNames`" msgstr "" #: whatsnew/3.11.rst:541 msgid "(Contributed by Erlend E. Aasland in :issue:`5846`.)" msgstr "" #: whatsnew/3.11.rst:543 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:549 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:554 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:558 msgid "the :class:`configparser.SafeConfigParser` class" msgstr "" #: whatsnew/3.11.rst:559 msgid "the :attr:`configparser.ParsingError.filename` property" msgstr "" #: whatsnew/3.11.rst:560 msgid "the :meth:`configparser.ParsingError.readfp` method" msgstr "" #: whatsnew/3.11.rst:562 msgid "(Contributed by Hugo van Kemenade in :issue:`45173`.)" msgstr "" #: whatsnew/3.11.rst:564 msgid "" "The :func:`locale.getdefaultlocale` function is deprecated and will be " "removed in Python 3.13. Use :func:`locale.setlocale`, :func:`locale." "getpreferredencoding(False) ` and :func:`locale." "getlocale` functions instead. (Contributed by Victor Stinner in :issue:" "`46659`.)" msgstr "" #: whatsnew/3.11.rst:570 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:1082 msgid "Removed" msgstr "Retraits" #: whatsnew/3.11.rst:579 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:582 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:586 msgid "``a2b_hqx()``, ``b2a_hqx()``;" msgstr "" #: whatsnew/3.11.rst:587 msgid "``rlecode_hqx()``, ``rledecode_hqx()``." msgstr "" #: whatsnew/3.11.rst:589 msgid "The :func:`binascii.crc_hqx` function remains available." msgstr "" #: whatsnew/3.11.rst:591 msgid "(Contributed by Victor Stinner in :issue:`45085`.)" msgstr "" #: whatsnew/3.11.rst:593 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:597 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:603 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:608 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:612 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:620 msgid "" "The :func:`@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:626 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:630 msgid "" "Removed the deprecated ``split()`` method of :class:`_tkinter.TkappType`. " "(Contributed by Erlend E. Aasland in :issue:`38371`.)" msgstr "" #: whatsnew/3.11.rst:633 msgid "Removed from the :mod:`inspect` module:" msgstr "" #: whatsnew/3.11.rst:635 msgid "" "the ``getargspec`` function, deprecated since Python 3.0; use :func:`inspect." "signature` or :func:`inspect.getfullargspec` instead." msgstr "" #: whatsnew/3.11.rst:638 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:642 msgid "" "the undocumented ``Signature.from_builtin`` and ``Signature.from_function`` " "functions, deprecated since Python 3.5; use the :meth:`Signature." "from_callable() ` method instead." msgstr "" #: whatsnew/3.11.rst:647 msgid "(Contributed by Hugo van Kemenade in :issue:`45320`.)" msgstr "" #: whatsnew/3.11.rst:649 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:653 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:657 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:843 msgid "Porting to Python 3.11" msgstr "Portage vers Python 3.11" #: whatsnew/3.11.rst:666 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." msgstr "" #: whatsnew/3.11.rst:671 msgid "Changes in the Python API" msgstr "Changements dans l'API Python" #: whatsnew/3.11.rst:673 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:678 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 ` of :func:`open` " "controls how universal newlines works. (Contributed by Victor Stinner in :" "issue:`37330`.)" msgstr "" #: whatsnew/3.11.rst:686 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:690 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:697 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:703 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:710 msgid "Build Changes" msgstr "Changements à la compilation" #: whatsnew/3.11.rst:712 msgid "" "Building Python now requires a C11 compiler without optional C11 features. " "(Contributed by Victor Stinner in :issue:`46656`.)" msgstr "" #: whatsnew/3.11.rst:715 msgid "" "Building Python now requires support of IEEE 754 floating point numbers. " "(Contributed by Victor Stinner in :issue:`46917`.)" msgstr "" #: whatsnew/3.11.rst:718 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:721 msgid "" "libpython is no longer linked against libcrypt. (Contributed by Mike Gilbert " "in :issue:`45433`.)" msgstr "" #: whatsnew/3.11.rst:724 msgid "" "Building Python now requires a C99 ```` header file providing the " "following functions: ``copysign()``, ``hypot()``, ``isfinite()``, " "``isinf()``, ``isnan()``, ``round()``. (Contributed by Victor Stinner in :" "issue:`45440`.)" msgstr "" #: whatsnew/3.11.rst:729 msgid "" "Building Python now requires a C99 ```` 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:733 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:737 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:742 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:748 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, and uuid flags are detected by " "``pkg-config`` (when available). (Contributed by Christian Heimes and Erlend " "Egeberg Aasland in :issue:`bpo-45847`, :issue:`45747`, and :issue:`45763`.)" msgstr "" #: whatsnew/3.11.rst:755 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:760 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:769 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:774 msgid "C API Changes" msgstr "Changements à l'API C" #: whatsnew/3.11.rst:776 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:782 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:786 msgid "" ":c:struct:`_frozen` has a new ``is_package`` field to indicate whether or " "not the frozen module is a package. Previously, a negative value in the " "``size`` field was the indicator. Now only non-negative values be used for " "``size``. (Contributed by Kumar Aditya in :issue:`46608`.)" msgstr "" #: whatsnew/3.11.rst:795 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:798 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:801 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:806 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:810 msgid "" ":c:type:`Py_buffer` and APIs are now part of the limited API and the stable " "ABI:" msgstr "" #: whatsnew/3.11.rst:813 msgid ":c:func:`PyObject_CheckBuffer`" msgstr "" #: whatsnew/3.11.rst:814 msgid ":c:func:`PyObject_GetBuffer`" msgstr "" #: whatsnew/3.11.rst:815 msgid ":c:func:`PyBuffer_GetPointer`" msgstr "" #: whatsnew/3.11.rst:816 msgid ":c:func:`PyBuffer_SizeFromFormat`" msgstr "" #: whatsnew/3.11.rst:817 msgid ":c:func:`PyBuffer_ToContiguous`" msgstr "" #: whatsnew/3.11.rst:818 msgid ":c:func:`PyBuffer_FromContiguous`" msgstr "" #: whatsnew/3.11.rst:819 msgid ":c:func:`PyBuffer_CopyData`" msgstr "" #: whatsnew/3.11.rst:820 msgid ":c:func:`PyBuffer_IsContiguous`" msgstr "" #: whatsnew/3.11.rst:821 msgid ":c:func:`PyBuffer_FillContiguousStrides`" msgstr "" #: whatsnew/3.11.rst:822 msgid ":c:func:`PyBuffer_FillInfo`" msgstr "" #: whatsnew/3.11.rst:823 msgid ":c:func:`PyBuffer_Release`" msgstr "" #: whatsnew/3.11.rst:824 msgid ":c:func:`PyMemoryView_FromBuffer`" msgstr "" #: whatsnew/3.11.rst:825 msgid "" ":c:member:`~PyBufferProcs.bf_getbuffer` and :c:member:`~PyBufferProcs." "bf_releasebuffer` type slots" msgstr "" #: whatsnew/3.11.rst:828 msgid "(Contributed by Christian Heimes in :issue:`45459`.)" msgstr "" #: whatsnew/3.11.rst:830 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:835 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:845 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:849 msgid "A tp_dealloc function that has the old macros, such as::" msgstr "" #: whatsnew/3.11.rst:860 msgid "should migrate to the new macros as follows::" msgstr "" #: whatsnew/3.11.rst:871 msgid "" "Note that ``Py_TRASHCAN_BEGIN`` has a second argument which should be the " "deallocation function it is in." msgstr "" #: whatsnew/3.11.rst:874 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:886 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:891 msgid "" "Heap types with the :const:`Py_TPFLAGS_IMMUTABLETYPE` flag can now inherit " "the :pep:`590` vectorcall protocol. Previously, this was only possible for :" "ref:`static types `. (Contributed by Erlend E. Aasland in :" "issue:`43908`)" msgstr "" #: whatsnew/3.11.rst:896 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:922 msgid "(Contributed by Victor Stinner in :issue:`39573`.)" msgstr "" #: whatsnew/3.11.rst:910 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:924 msgid "" "```` no longer includes the header files ````, ````, ```` and ```` when the ``Py_LIMITED_API`` macro is " "set to ``0x030b0000`` (Python 3.11) or higher. C extensions should " "explicitly include the header files after ``#include ``. " "(Contributed by Victor Stinner in :issue:`45434`.)" msgstr "" #: whatsnew/3.11.rst:930 msgid "" "The non-limited API files ``cellobject.h``, ``classobject.h``, ``context." "h``, ``funcobject.h``, ``genobject.h`` and ``longintrepr.h`` have been moved " "to the ``Include/cpython`` directory. Moreover, the ``eval.h`` header file " "was removed. These files must not be included directly, as they are already " "included in ``Python.h``: :ref:`Include Files `. If they have " "been included directly, consider including ``Python.h`` instead. " "(Contributed by Victor Stinner in :issue:`35134`.)" msgstr "" #: whatsnew/3.11.rst:938 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:943 msgid "" "The :c:type:`PyFrameObject` structure member has been moved to the internal " "C API headers." msgstr "" #: whatsnew/3.11.rst:946 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:950 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:954 msgid ":c:type:`PyFrameObject` fields:" msgstr "" #: whatsnew/3.11.rst:956 msgid "``f_back``: use :c:func:`PyFrame_GetBack`." msgstr "" #: whatsnew/3.11.rst:957 msgid "``f_blockstack``: removed." msgstr "" #: whatsnew/3.11.rst:958 msgid "" "``f_builtins``: use ``PyObject_GetAttrString((PyObject*)frame, \"f_builtins" "\")``." msgstr "" #: whatsnew/3.11.rst:959 msgid "``f_code``: use :c:func:`PyFrame_GetCode`." msgstr "" #: whatsnew/3.11.rst:960 msgid "``f_gen``: removed." msgstr "" #: whatsnew/3.11.rst:961 msgid "" "``f_globals``: use ``PyObject_GetAttrString((PyObject*)frame, \"f_globals" "\")``." msgstr "" #: whatsnew/3.11.rst:962 msgid "``f_iblock``: removed." msgstr "" #: whatsnew/3.11.rst:963 msgid "" "``f_lasti``: use ``PyObject_GetAttrString((PyObject*)frame, \"f_lasti\")``. " "Code using ``f_lasti`` with ``PyCode_Addr2Line()`` must use :c:func:" "`PyFrame_GetLineNumber` instead." msgstr "" #: whatsnew/3.11.rst:966 msgid "``f_lineno``: use :c:func:`PyFrame_GetLineNumber`" msgstr "" #: whatsnew/3.11.rst:967 msgid "" "``f_locals``: use ``PyObject_GetAttrString((PyObject*)frame, \"f_locals\")``." msgstr "" #: whatsnew/3.11.rst:968 msgid "``f_stackdepth``: removed." msgstr "" #: whatsnew/3.11.rst:969 msgid "``f_state``: no public API (renamed to ``f_frame.f_state``)." msgstr "" #: whatsnew/3.11.rst:970 msgid "``f_trace``: no public API." msgstr "" #: whatsnew/3.11.rst:971 msgid "" "``f_trace_lines``: use ``PyObject_GetAttrString((PyObject*)frame, " "\"f_trace_lines\")``." msgstr "" #: whatsnew/3.11.rst:972 msgid "" "``f_trace_opcodes``: use ``PyObject_GetAttrString((PyObject*)frame, " "\"f_trace_opcodes\")``." msgstr "" #: whatsnew/3.11.rst:973 msgid "``f_localsplus``: no public API (renamed to ``f_frame.localsplus``)." msgstr "" #: whatsnew/3.11.rst:974 msgid "``f_valuestack``: removed." msgstr "" #: whatsnew/3.11.rst:976 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:981 msgid "Code defining ``PyFrame_GetCode()`` on Python 3.8 and older::" msgstr "" #: whatsnew/3.11.rst:991 msgid "Code defining ``PyFrame_GetBack()`` on Python 3.8 and older::" msgstr "" #: whatsnew/3.11.rst:1001 msgid "" "Or use the `pythoncapi_compat project `__ to get these two functions on older Python versions." msgstr "" #: whatsnew/3.11.rst:1005 msgid "Changes of the :c:type:`PyThreadState` structure members:" msgstr "" #: whatsnew/3.11.rst:1007 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:1011 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:1014 msgid "" "``recursion_depth``: removed, use ``(tstate->recursion_limit - tstate-" ">recursion_remaining)`` instead." msgstr "" #: whatsnew/3.11.rst:1016 msgid "``stackcheck_counter``: removed." msgstr "" #: whatsnew/3.11.rst:1018 msgid "Code defining ``PyThreadState_GetFrame()`` on Python 3.8 and older::" msgstr "" #: whatsnew/3.11.rst:1028 msgid "" "Code defining ``PyThreadState_EnterTracing()`` and " "``PyThreadState_LeaveTracing()`` on Python 3.10 and older::" msgstr "" #: whatsnew/3.11.rst:1054 msgid "" "Or use `the pythoncapi_compat project `__ to get these functions on old Python functions." msgstr "" #: whatsnew/3.11.rst:1062 msgid "" "Deprecate the following functions to configure the Python initialization:" msgstr "" #: whatsnew/3.11.rst:1064 msgid ":c:func:`PySys_AddWarnOptionUnicode`" msgstr "" #: whatsnew/3.11.rst:1065 msgid ":c:func:`PySys_AddWarnOption`" msgstr "" #: whatsnew/3.11.rst:1066 msgid ":c:func:`PySys_AddXOption`" msgstr "" #: whatsnew/3.11.rst:1067 msgid ":c:func:`PySys_HasWarnOptions`" msgstr "" #: whatsnew/3.11.rst:1068 msgid ":c:func:`Py_SetPath`" msgstr "" #: whatsnew/3.11.rst:1069 msgid ":c:func:`Py_SetProgramName`" msgstr "" #: whatsnew/3.11.rst:1070 msgid ":c:func:`Py_SetPythonHome`" msgstr "" #: whatsnew/3.11.rst:1071 msgid ":c:func:`Py_SetStandardStreamEncoding`" msgstr "" #: whatsnew/3.11.rst:1072 msgid ":c:func:`_Py_SetProgramFullPath`" msgstr "" #: whatsnew/3.11.rst:1074 msgid "" "Use the new :c:type:`PyConfig` API of the :ref:`Python Initialization " "Configuration ` instead (:pep:`587`). (Contributed by Victor " "Stinner in :issue:`44113`.)" msgstr "" #: whatsnew/3.11.rst:1078 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:1084 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:1088 msgid "Remove the following math macros using the ``errno`` variable:" msgstr "" #: whatsnew/3.11.rst:1090 msgid "``Py_ADJUST_ERANGE1()``" msgstr "" #: whatsnew/3.11.rst:1091 msgid "``Py_ADJUST_ERANGE2()``" msgstr "" #: whatsnew/3.11.rst:1092 msgid "``Py_OVERFLOWED()``" msgstr "" #: whatsnew/3.11.rst:1093 msgid "``Py_SET_ERANGE_IF_OVERFLOW()``" msgstr "" #: whatsnew/3.11.rst:1094 msgid "``Py_SET_ERRNO_ON_MATH_ERROR()``" msgstr "" #: whatsnew/3.11.rst:1096 msgid "(Contributed by Victor Stinner in :issue:`45412`.)" msgstr "" #: whatsnew/3.11.rst:1098 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:1103 msgid "" "Remove the ``pystrhex.h`` header file. It only contains private functions. C " "extensions should only include the main ```` header file. " "(Contributed by Victor Stinner in :issue:`45434`.)" msgstr "" #: whatsnew/3.11.rst:1107 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:1111 msgid "" "The following items are no longer available when :c:macro:`Py_LIMITED_API` " "is defined:" msgstr "" #: whatsnew/3.11.rst:1114 msgid ":c:func:`PyMarshal_WriteLongToFile`" msgstr "" #: whatsnew/3.11.rst:1115 msgid ":c:func:`PyMarshal_WriteObjectToFile`" msgstr "" #: whatsnew/3.11.rst:1116 msgid ":c:func:`PyMarshal_ReadObjectFromString`" msgstr "" #: whatsnew/3.11.rst:1117 msgid ":c:func:`PyMarshal_WriteObjectToString`" msgstr "" #: whatsnew/3.11.rst:1118 msgid "the ``Py_MARSHAL_VERSION`` macro" msgstr "" #: whatsnew/3.11.rst:1120 msgid "These are not part of the :ref:`limited API `." msgstr "" #: whatsnew/3.11.rst:1122 msgid "(Contributed by Victor Stinner in :issue:`45474`.)" msgstr "" #: whatsnew/3.11.rst:1124 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:1129 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:1134 msgid "" "Remove the ``HAVE_PY_SET_53BIT_PRECISION`` macro (moved to the internal C " "API). (Contributed by Victor Stinner in :issue:`45412`.)" msgstr ""