# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" "PO-Revision-Date: 2017-08-10 00:52+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.11\n" #: whatsnew/3.5.rst:3 msgid "What's New In Python 3.5" msgstr "Nouveautés de Python 3.5" #: whatsnew/3.5.rst:0 msgid "Editors" msgstr "" #: whatsnew/3.5.rst:5 msgid "Elvis Pranskevichus , Yury Selivanov " msgstr "" #: whatsnew/3.5.rst:47 msgid "" "This article explains the new features in Python 3.5, compared to 3.4. " "Python 3.5 was released on September 13, 2015.  See the `changelog `_ for a full list of changes." msgstr "" #: whatsnew/3.5.rst:54 msgid ":pep:`478` - Python 3.5 Release Schedule" msgstr "" #: whatsnew/3.5.rst:58 msgid "Summary -- Release highlights" msgstr "Résumé – Points forts de la publication" #: whatsnew/3.5.rst:60 msgid "New syntax features:" msgstr "" #: whatsnew/3.5.rst:62 msgid "" ":ref:`PEP 492 `, coroutines with async and await syntax." msgstr "" #: whatsnew/3.5.rst:63 msgid "" ":ref:`PEP 465 `, a new matrix multiplication operator: ``a " "@ b``." msgstr "" #: whatsnew/3.5.rst:64 msgid "" ":ref:`PEP 448 `, additional unpacking generalizations." msgstr "" #: whatsnew/3.5.rst:67 msgid "New library modules:" msgstr "" #: whatsnew/3.5.rst:69 msgid ":mod:`typing`: :ref:`PEP 484 -- Type Hints `." msgstr "" #: whatsnew/3.5.rst:70 msgid "" ":mod:`zipapp`: :ref:`PEP 441 Improving Python ZIP Application Support " "`." msgstr "" #: whatsnew/3.5.rst:74 msgid "New built-in features:" msgstr "" #: whatsnew/3.5.rst:76 msgid "" "``bytes % args``, ``bytearray % args``: :ref:`PEP 461 ` -- " "Adding ``%`` formatting to bytes and bytearray." msgstr "" #: whatsnew/3.5.rst:79 msgid "" "New :meth:`bytes.hex`, :meth:`bytearray.hex` and :meth:`memoryview.hex` " "methods. (Contributed by Arnon Yaari in :issue:`9951`.)" msgstr "" #: whatsnew/3.5.rst:82 msgid "" ":class:`memoryview` now supports tuple indexing (including multi-" "dimensional). (Contributed by Antoine Pitrou in :issue:`23632`.)" msgstr "" #: whatsnew/3.5.rst:85 msgid "" "Generators have a new ``gi_yieldfrom`` attribute, which returns the object " "being iterated by ``yield from`` expressions. (Contributed by Benno Leslie " "and Yury Selivanov in :issue:`24450`.)" msgstr "" #: whatsnew/3.5.rst:89 msgid "" "A new :exc:`RecursionError` exception is now raised when maximum recursion " "depth is reached. (Contributed by Georg Brandl in :issue:`19235`.)" msgstr "" #: whatsnew/3.5.rst:94 msgid "CPython implementation improvements:" msgstr "" #: whatsnew/3.5.rst:96 msgid "" "When the ``LC_TYPE`` locale is the POSIX locale (``C`` locale), :py:data:" "`sys.stdin` and :py:data:`sys.stdout` now use the ``surrogateescape`` error " "handler, instead of the ``strict`` error handler. (Contributed by Victor " "Stinner in :issue:`19977`.)" msgstr "" #: whatsnew/3.5.rst:101 msgid "" "``.pyo`` files are no longer used and have been replaced by a more flexible " "scheme that includes the optimization level explicitly in ``.pyc`` name. " "(See :ref:`PEP 488 overview `.)" msgstr "" #: whatsnew/3.5.rst:105 msgid "" "Builtin and extension modules are now initialized in a multi-phase process, " "which is similar to how Python modules are loaded. (See :ref:`PEP 489 " "overview `.)" msgstr "" #: whatsnew/3.5.rst:110 msgid "Significant improvements in the standard library:" msgstr "" #: whatsnew/3.5.rst:112 msgid "" ":class:`collections.OrderedDict` is now :ref:`implemented in C `, which makes it 4 to 100 times faster." msgstr "" #: whatsnew/3.5.rst:116 msgid "" "The :mod:`ssl` module gained :ref:`support for Memory BIO `, which decouples SSL protocol handling from network IO." msgstr "" #: whatsnew/3.5.rst:120 msgid "" "The new :func:`os.scandir` function provides a :ref:`better and " "significantly faster way ` of directory traversal." msgstr "" #: whatsnew/3.5.rst:124 msgid "" ":func:`functools.lru_cache` has been mostly :ref:`reimplemented in C " "`, yielding much better performance." msgstr "" #: whatsnew/3.5.rst:128 msgid "" "The new :func:`subprocess.run` function provides a :ref:`streamlined way to " "run subprocesses `." msgstr "" #: whatsnew/3.5.rst:131 msgid "" "The :mod:`traceback` module has been significantly :ref:`enhanced ` for improved performance and developer convenience." msgstr "" #: whatsnew/3.5.rst:136 msgid "Security improvements:" msgstr "" #: whatsnew/3.5.rst:138 msgid "" "SSLv3 is now disabled throughout the standard library. It can still be " "enabled by instantiating a :class:`ssl.SSLContext` manually. (See :issue:" "`22638` for more details; this change was backported to CPython 3.4 and 2.7.)" msgstr "" #: whatsnew/3.5.rst:143 msgid "" "HTTP cookie parsing is now stricter, in order to protect against potential " "injection attacks. (Contributed by Antoine Pitrou in :issue:`22796`.)" msgstr "" #: whatsnew/3.5.rst:148 msgid "Windows improvements:" msgstr "" #: whatsnew/3.5.rst:150 msgid "" "A new installer for Windows has replaced the old MSI. See :ref:`using-on-" "windows` for more information." msgstr "" #: whatsnew/3.5.rst:153 msgid "" "Windows builds now use Microsoft Visual C++ 14.0, and extension modules " "should use the same." msgstr "" #: whatsnew/3.5.rst:157 msgid "" "Please read on for a comprehensive list of user-facing changes, including " "many other smaller improvements, CPython optimizations, deprecations, and " "potential porting issues." msgstr "" #: whatsnew/3.5.rst:163 msgid "New Features" msgstr "Nouvelles fonctionnalités" #: whatsnew/3.5.rst:168 msgid "PEP 492 - Coroutines with async and await syntax" msgstr "" #: whatsnew/3.5.rst:170 msgid "" ":pep:`492` greatly improves support for asynchronous programming in Python " "by adding :term:`awaitable objects `, :term:`coroutine functions " "`, :term:`asynchronous iteration `, and :term:`asynchronous context managers `." msgstr "" #: whatsnew/3.5.rst:176 msgid "" "Coroutine functions are declared using the new :keyword:`async def` syntax::" msgstr "" #: whatsnew/3.5.rst:181 msgid "" "Inside a coroutine function, the new :keyword:`await` expression can be used " "to suspend coroutine execution until the result is available. Any object " "can be *awaited*, as long as it implements the :term:`awaitable` protocol by " "defining the :meth:`__await__` method." msgstr "" #: whatsnew/3.5.rst:186 msgid "" "PEP 492 also adds :keyword:`async for` statement for convenient iteration " "over asynchronous iterables." msgstr "" #: whatsnew/3.5.rst:189 msgid "An example of a rudimentary HTTP client written using the new syntax::" msgstr "" #: whatsnew/3.5.rst:215 msgid "" "Similarly to asynchronous iteration, there is a new syntax for asynchronous " "context managers. The following script::" msgstr "" #: whatsnew/3.5.rst:235 msgid "will output::" msgstr "affichera ::" #: whatsnew/3.5.rst:244 msgid "" "Note that both :keyword:`async for` and :keyword:`async with` can only be " "used inside a coroutine function declared with :keyword:`async def`." msgstr "" #: whatsnew/3.5.rst:247 msgid "" "Coroutine functions are intended to be run inside a compatible event loop, " "such as the :ref:`asyncio loop `." msgstr "" #: whatsnew/3.5.rst:253 msgid "" "Starting with CPython 3.5.2, ``__aiter__`` can directly return :term:" "`asynchronous iterators `. Returning an :term:" "`awaitable` object will result in a :exc:`PendingDeprecationWarning`." msgstr "" "À partir de CPython 3.5.2, ``__aiter__`` peut directement renvoyer des :term:" "`itérateurs asynchrones `. Renvoyer un objet :term:" "`awaitable` entraine un avertissement :exc:`PendingDeprecationWarning`." #: whatsnew/3.5.rst:259 msgid "See more details in the :ref:`async-iterators` documentation section." msgstr "" #: whatsnew/3.5.rst:265 #, fuzzy msgid ":pep:`492` -- Coroutines with async and await syntax" msgstr ":pep:`492` — Coroutines avec les syntaxes *async* et *await*" #: whatsnew/3.5.rst:266 msgid "PEP written and implemented by Yury Selivanov." msgstr "" #: whatsnew/3.5.rst:272 msgid "PEP 465 - A dedicated infix operator for matrix multiplication" msgstr "" #: whatsnew/3.5.rst:274 msgid "" ":pep:`465` adds the ``@`` infix operator for matrix multiplication. " "Currently, no builtin Python types implement the new operator, however, it " "can be implemented by defining :meth:`__matmul__`, :meth:`__rmatmul__`, and :" "meth:`__imatmul__` for regular, reflected, and in-place matrix " "multiplication. The semantics of these methods is similar to that of " "methods defining other infix arithmetic operators." msgstr "" #: whatsnew/3.5.rst:281 msgid "" "Matrix multiplication is a notably common operation in many fields of " "mathematics, science, engineering, and the addition of ``@`` allows writing " "cleaner code::" msgstr "" #: whatsnew/3.5.rst:287 msgid "instead of::" msgstr "" #: whatsnew/3.5.rst:292 msgid "NumPy 1.10 has support for the new operator::" msgstr "" #: whatsnew/3.5.rst:312 msgid ":pep:`465` -- A dedicated infix operator for matrix multiplication" msgstr "" #: whatsnew/3.5.rst:313 msgid "PEP written by Nathaniel J. Smith; implemented by Benjamin Peterson." msgstr "" #: whatsnew/3.5.rst:319 msgid "PEP 448 - Additional Unpacking Generalizations" msgstr "" #: whatsnew/3.5.rst:321 msgid "" ":pep:`448` extends the allowed uses of the ``*`` iterable unpacking operator " "and ``**`` dictionary unpacking operator. It is now possible to use an " "arbitrary number of unpackings in :ref:`function calls `::" msgstr "" #: whatsnew/3.5.rst:335 msgid "" "Similarly, tuple, list, set, and dictionary displays allow multiple " "unpackings (see :ref:`exprlists` and :ref:`dict`)::" msgstr "" #: whatsnew/3.5.rst:353 msgid ":pep:`448` -- Additional Unpacking Generalizations" msgstr "" #: whatsnew/3.5.rst:353 msgid "" "PEP written by Joshua Landau; implemented by Neil Girdhar, Thomas Wouters, " "and Joshua Landau." msgstr "" #: whatsnew/3.5.rst:360 msgid "PEP 461 - percent formatting support for bytes and bytearray" msgstr "" #: whatsnew/3.5.rst:362 msgid "" ":pep:`461` adds support for the ``%`` :ref:`interpolation operator ` to :class:`bytes` and :class:`bytearray`." msgstr "" #: whatsnew/3.5.rst:366 msgid "" "While interpolation is usually thought of as a string operation, there are " "cases where interpolation on ``bytes`` or ``bytearrays`` makes sense, and " "the work needed to make up for this missing functionality detracts from the " "overall readability of the code. This issue is particularly important when " "dealing with wire format protocols, which are often a mixture of binary and " "ASCII compatible text." msgstr "" #: whatsnew/3.5.rst:1848 msgid "Examples::" msgstr "Exemples ::" #: whatsnew/3.5.rst:381 msgid "" "Unicode is not allowed for ``%b``, but it is accepted by ``%a`` (equivalent " "of ``repr(obj).encode('ascii', 'backslashreplace')``)::" msgstr "" #: whatsnew/3.5.rst:392 msgid "" "Note that ``%s`` and ``%r`` conversion types, although supported, should " "only be used in codebases that need compatibility with Python 2." msgstr "" #: whatsnew/3.5.rst:398 #, fuzzy msgid ":pep:`461` -- Adding % formatting to bytes and bytearray" msgstr ":pep:`461` -- Ajout du formatage via % aux *bytes* et *bytesarray*" #: whatsnew/3.5.rst:398 msgid "" "PEP written by Ethan Furman; implemented by Neil Schemenauer and Ethan " "Furman." msgstr "" #: whatsnew/3.5.rst:405 msgid "PEP 484 - Type Hints" msgstr "" #: whatsnew/3.5.rst:407 msgid "" "Function annotation syntax has been a Python feature since version 3.0 (:pep:" "`3107`), however the semantics of annotations has been left undefined." msgstr "" #: whatsnew/3.5.rst:410 msgid "" "Experience has shown that the majority of function annotation uses were to " "provide type hints to function parameters and return values. It became " "evident that it would be beneficial for Python users, if the standard " "library included the base definitions and tools for type annotations." msgstr "" #: whatsnew/3.5.rst:415 msgid "" ":pep:`484` introduces a :term:`provisional module ` to " "provide these standard definitions and tools, along with some conventions " "for situations where annotations are not available." msgstr "" #: whatsnew/3.5.rst:419 msgid "" "For example, here is a simple function whose argument and return type are " "declared in the annotations::" msgstr "" #: whatsnew/3.5.rst:425 msgid "" "While these annotations are available at runtime through the usual :attr:" "`__annotations__` attribute, *no automatic type checking happens at " "runtime*. Instead, it is assumed that a separate off-line type checker (e." "g. `mypy `_) will be used for on-demand source code " "analysis." msgstr "" #: whatsnew/3.5.rst:431 msgid "" "The type system supports unions, generic types, and a special type named :" "class:`~typing.Any` which is consistent with (i.e. assignable to and from) " "all types." msgstr "" #: whatsnew/3.5.rst:437 msgid ":mod:`typing` module documentation" msgstr "Documentation du module :mod:`typing`" #: whatsnew/3.5.rst:439 #, fuzzy msgid ":pep:`484` -- Type Hints" msgstr ":pep:`484` — Indications de types" #: whatsnew/3.5.rst:439 msgid "" "PEP written by Guido van Rossum, Jukka Lehtosalo, and Łukasz Langa; " "implemented by Guido van Rossum." msgstr "" #: whatsnew/3.5.rst:441 msgid ":pep:`483` -- The Theory of Type Hints" msgstr "" #: whatsnew/3.5.rst:442 msgid "PEP written by Guido van Rossum" msgstr "PEP écrite par Guido van Rossum" #: whatsnew/3.5.rst:448 msgid "" "PEP 471 - os.scandir() function -- a better and faster directory iterator" msgstr "" #: whatsnew/3.5.rst:450 msgid "" ":pep:`471` adds a new directory iteration function, :func:`os.scandir`, to " "the standard library. Additionally, :func:`os.walk` is now implemented " "using ``scandir``, which makes it 3 to 5 times faster on POSIX systems and 7 " "to 20 times faster on Windows systems. This is largely achieved by greatly " "reducing the number of calls to :func:`os.stat` required to walk a directory " "tree." msgstr "" #: whatsnew/3.5.rst:457 msgid "" "Additionally, ``scandir`` returns an iterator, as opposed to returning a " "list of file names, which improves memory efficiency when iterating over " "very large directories." msgstr "" #: whatsnew/3.5.rst:461 #, fuzzy msgid "" "The following example shows a simple use of :func:`os.scandir` to display " "all the files (excluding directories) in the given *path* that don't start " "with ``'.'``. The :meth:`entry.is_file() ` call will " "generally not make an additional system call::" msgstr "" "L'exemple suivant montre une utilisation simple de :func:`scandir` pour " "afficher tous les fichiers (à part les répertoires) dans le chemin donné par " "*path* et ne débutant pas par ``'.'``. L'appel ``entry.is_file()`` ne va " "généralement pas faire d'appel système supplémentaire ::" #: whatsnew/3.5.rst:472 msgid "" ":pep:`471` -- os.scandir() function -- a better and faster directory iterator" msgstr "" #: whatsnew/3.5.rst:473 msgid "" "PEP written and implemented by Ben Hoyt with the help of Victor Stinner." msgstr "" #: whatsnew/3.5.rst:479 msgid "PEP 475: Retry system calls failing with EINTR" msgstr "" #: whatsnew/3.5.rst:481 msgid "" "An :py:data:`errno.EINTR` error code is returned whenever a system call, " "that is waiting for I/O, is interrupted by a signal. Previously, Python " "would raise :exc:`InterruptedError` in such cases. This meant that, when " "writing a Python application, the developer had two choices:" msgstr "" #: whatsnew/3.5.rst:486 msgid "Ignore the ``InterruptedError``." msgstr "" #: whatsnew/3.5.rst:487 msgid "" "Handle the ``InterruptedError`` and attempt to restart the interrupted " "system call at every call site." msgstr "" #: whatsnew/3.5.rst:490 msgid "" "The first option makes an application fail intermittently. The second option " "adds a large amount of boilerplate that makes the code nearly unreadable. " "Compare::" msgstr "" #: whatsnew/3.5.rst:496 msgid "and::" msgstr "et ::" #: whatsnew/3.5.rst:505 msgid "" ":pep:`475` implements automatic retry of system calls on ``EINTR``. This " "removes the burden of dealing with ``EINTR`` or :exc:`InterruptedError` in " "user code in most situations and makes Python programs, including the " "standard library, more robust. Note that the system call is only retried if " "the signal handler does not raise an exception." msgstr "" #: whatsnew/3.5.rst:512 msgid "" "Below is a list of functions which are now retried when interrupted by a " "signal:" msgstr "" #: whatsnew/3.5.rst:515 msgid ":func:`open` and :func:`io.open`;" msgstr ":func:`open` et :func:`io.open`;" #: whatsnew/3.5.rst:517 msgid "functions of the :mod:`faulthandler` module;" msgstr "" #: whatsnew/3.5.rst:519 msgid "" ":mod:`os` functions: :func:`~os.fchdir`, :func:`~os.fchmod`, :func:`~os." "fchown`, :func:`~os.fdatasync`, :func:`~os.fstat`, :func:`~os.fstatvfs`, :" "func:`~os.fsync`, :func:`~os.ftruncate`, :func:`~os.mkfifo`, :func:`~os." "mknod`, :func:`~os.open`, :func:`~os.posix_fadvise`, :func:`~os." "posix_fallocate`, :func:`~os.pread`, :func:`~os.pwrite`, :func:`~os.read`, :" "func:`~os.readv`, :func:`~os.sendfile`, :func:`~os.wait3`, :func:`~os." "wait4`, :func:`~os.wait`, :func:`~os.waitid`, :func:`~os.waitpid`, :func:" "`~os.write`, :func:`~os.writev`;" msgstr "" #: whatsnew/3.5.rst:529 msgid "" "special cases: :func:`os.close` and :func:`os.dup2` now ignore :py:data:" "`~errno.EINTR` errors; the syscall is not retried (see the PEP for the " "rationale);" msgstr "" #: whatsnew/3.5.rst:533 msgid "" ":mod:`select` functions: :func:`devpoll.poll() `, :func:" "`epoll.poll() `, :func:`kqueue.control() `, :func:`poll.poll() `, :func:`~select.select`;" msgstr "" #: whatsnew/3.5.rst:538 msgid "" "methods of the :class:`~socket.socket` class: :meth:`~socket.socket." "accept`, :meth:`~socket.socket.connect` (except for non-blocking sockets), :" "meth:`~socket.socket.recv`, :meth:`~socket.socket.recvfrom`, :meth:`~socket." "socket.recvmsg`, :meth:`~socket.socket.send`, :meth:`~socket.socket." "sendall`, :meth:`~socket.socket.sendmsg`, :meth:`~socket.socket.sendto`;" msgstr "" #: whatsnew/3.5.rst:545 msgid ":func:`signal.sigtimedwait` and :func:`signal.sigwaitinfo`;" msgstr "" #: whatsnew/3.5.rst:547 msgid ":func:`time.sleep`." msgstr ":func:`time.sleep`." #: whatsnew/3.5.rst:552 msgid ":pep:`475` -- Retry system calls failing with EINTR" msgstr "" #: whatsnew/3.5.rst:552 msgid "" "PEP and implementation written by Charles-François Natali and Victor " "Stinner, with the help of Antoine Pitrou (the French connection)." msgstr "" #: whatsnew/3.5.rst:559 msgid "PEP 479: Change StopIteration handling inside generators" msgstr "" #: whatsnew/3.5.rst:561 msgid "" "The interaction of generators and :exc:`StopIteration` in Python 3.4 and " "earlier was sometimes surprising, and could conceal obscure bugs. " "Previously, ``StopIteration`` raised accidentally inside a generator " "function was interpreted as the end of the iteration by the loop construct " "driving the generator." msgstr "" #: whatsnew/3.5.rst:567 msgid "" ":pep:`479` changes the behavior of generators: when a ``StopIteration`` " "exception is raised inside a generator, it is replaced with a :exc:" "`RuntimeError` before it exits the generator frame. The main goal of this " "change is to ease debugging in the situation where an unguarded :func:`next` " "call raises ``StopIteration`` and causes the iteration controlled by the " "generator to terminate silently. This is particularly pernicious in " "combination with the ``yield from`` construct." msgstr "" #: whatsnew/3.5.rst:575 msgid "" "This is a backwards incompatible change, so to enable the new behavior, a :" "term:`__future__` import is necessary::" msgstr "" #: whatsnew/3.5.rst:595 msgid "" "Without a ``__future__`` import, a :exc:`PendingDeprecationWarning` will be " "raised whenever a :exc:`StopIteration` exception is raised inside a " "generator." msgstr "" #: whatsnew/3.5.rst:601 msgid ":pep:`479` -- Change StopIteration handling inside generators" msgstr "" #: whatsnew/3.5.rst:601 msgid "" "PEP written by Chris Angelico and Guido van Rossum. Implemented by Chris " "Angelico, Yury Selivanov and Nick Coghlan." msgstr "" #: whatsnew/3.5.rst:608 msgid "PEP 485: A function for testing approximate equality" msgstr "" #: whatsnew/3.5.rst:610 msgid "" ":pep:`485` adds the :func:`math.isclose` and :func:`cmath.isclose` functions " "which tell whether two values are approximately equal or \"close\" to each " "other. Whether or not two values are considered close is determined " "according to given absolute and relative tolerances. Relative tolerance is " "the maximum allowed difference between ``isclose`` arguments, relative to " "the larger absolute value::" msgstr "" #: whatsnew/3.5.rst:625 msgid "" "It is also possible to compare two values using absolute tolerance, which " "must be a non-negative value::" msgstr "" #: whatsnew/3.5.rst:639 msgid ":pep:`485` -- A function for testing approximate equality" msgstr ":pep:`485` -- Une fonction pour tester des égalités approximées" #: whatsnew/3.5.rst:639 msgid "" "PEP written by Christopher Barker; implemented by Chris Barker and Tal Einat." msgstr "" #: whatsnew/3.5.rst:646 msgid "PEP 486: Make the Python Launcher aware of virtual environments" msgstr "" #: whatsnew/3.5.rst:648 msgid "" ":pep:`486` makes the Windows launcher (see :pep:`397`) aware of an active " "virtual environment. When the default interpreter would be used and the " "``VIRTUAL_ENV`` environment variable is set, the interpreter in the virtual " "environment will be used." msgstr "" #: whatsnew/3.5.rst:655 msgid ":pep:`486` -- Make the Python Launcher aware of virtual environments" msgstr "" #: whatsnew/3.5.rst:656 msgid "PEP written and implemented by Paul Moore." msgstr "" #: whatsnew/3.5.rst:662 msgid "PEP 488: Elimination of PYO files" msgstr "PEP 488 : Élimination des fichiers PYO" #: whatsnew/3.5.rst:664 msgid "" ":pep:`488` does away with the concept of ``.pyo`` files. This means that ``." "pyc`` files represent both unoptimized and optimized bytecode. To prevent " "the need to constantly regenerate bytecode files, ``.pyc`` files now have an " "optional ``opt-`` tag in their name when the bytecode is optimized. This has " "the side-effect of no more bytecode file name clashes when running under " "either :option:`-O` or :option:`-OO`. Consequently, bytecode files generated " "from :option:`-O`, and :option:`-OO` may now exist simultaneously. :func:" "`importlib.util.cache_from_source` has an updated API to help with this " "change." msgstr "" #: whatsnew/3.5.rst:676 msgid ":pep:`488` -- Elimination of PYO files" msgstr ":pep:`488` : Élimination des fichiers PYO" #: whatsnew/3.5.rst:677 msgid "PEP written and implemented by Brett Cannon." msgstr "" #: whatsnew/3.5.rst:683 msgid "PEP 489: Multi-phase extension module initialization" msgstr "" #: whatsnew/3.5.rst:685 msgid "" ":pep:`489` updates extension module initialization to take advantage of the " "two step module loading mechanism introduced by :pep:`451` in Python 3.4." msgstr "" #: whatsnew/3.5.rst:688 msgid "" "This change brings the import semantics of extension modules that opt-in to " "using the new mechanism much closer to those of Python source and bytecode " "modules, including the ability to use any valid identifier as a module name, " "rather than being restricted to ASCII." msgstr "" #: whatsnew/3.5.rst:696 msgid ":pep:`489` -- Multi-phase extension module initialization" msgstr "" #: whatsnew/3.5.rst:696 msgid "" "PEP written by Petr Viktorin, Stefan Behnel, and Nick Coghlan; implemented " "by Petr Viktorin." msgstr "" #: whatsnew/3.5.rst:701 msgid "Other Language Changes" msgstr "" #: whatsnew/3.5.rst:703 msgid "Some smaller changes made to the core Python language are:" msgstr "" #: whatsnew/3.5.rst:705 msgid "" "Added the ``\"namereplace\"`` error handlers. The ``\"backslashreplace\"`` " "error handlers now work with decoding and translating. (Contributed by " "Serhiy Storchaka in :issue:`19676` and :issue:`22286`.)" msgstr "" #: whatsnew/3.5.rst:709 msgid "" "The :option:`-b` option now affects comparisons of :class:`bytes` with :" "class:`int`. (Contributed by Serhiy Storchaka in :issue:`23681`.)" msgstr "" #: whatsnew/3.5.rst:712 msgid "" "New Kazakh ``kz1048`` and Tajik ``koi8_t`` :ref:`codecs `. (Contributed by Serhiy Storchaka in :issue:`22682` and :issue:" "`22681`.)" msgstr "" #: whatsnew/3.5.rst:715 msgid "" "Property docstrings are now writable. This is especially useful for :func:" "`collections.namedtuple` docstrings. (Contributed by Berker Peksag in :issue:" "`24064`.)" msgstr "" #: whatsnew/3.5.rst:719 msgid "" "Circular imports involving relative imports are now supported. (Contributed " "by Brett Cannon and Antoine Pitrou in :issue:`17636`.)" msgstr "" #: whatsnew/3.5.rst:724 msgid "New Modules" msgstr "" #: whatsnew/3.5.rst:727 msgid "typing" msgstr "" #: whatsnew/3.5.rst:729 msgid "" "The new :mod:`typing` :term:`provisional ` module provides " "standard definitions and tools for function type annotations. See :ref:`Type " "Hints ` for more information." msgstr "" #: whatsnew/3.5.rst:736 msgid "zipapp" msgstr "zipapp" #: whatsnew/3.5.rst:738 msgid "" "The new :mod:`zipapp` module (specified in :pep:`441`) provides an API and " "command line tool for creating executable Python Zip Applications, which " "were introduced in Python 2.6 in :issue:`1739468`, but which were not well " "publicized, either at the time or since." msgstr "" #: whatsnew/3.5.rst:743 msgid "" "With the new module, bundling your application is as simple as putting all " "the files, including a ``__main__.py`` file, into a directory ``myapp`` and " "running:" msgstr "" #: whatsnew/3.5.rst:752 msgid "" "The module implementation has been contributed by Paul Moore in :issue:" "`23491`." msgstr "" #: whatsnew/3.5.rst:757 msgid ":pep:`441` -- Improving Python ZIP Application Support" msgstr "" #: whatsnew/3.5.rst:761 msgid "Improved Modules" msgstr "" #: whatsnew/3.5.rst:764 msgid "argparse" msgstr "argparse" #: whatsnew/3.5.rst:766 msgid "" "The :class:`~argparse.ArgumentParser` class now allows disabling :ref:" "`abbreviated usage ` of long options by setting :ref:" "`allow_abbrev` to ``False``. (Contributed by Jonathan Paugh, Steven " "Bethard, paul j3 and Daniel Eriksson in :issue:`14910`.)" msgstr "" #: whatsnew/3.5.rst:773 msgid "asyncio" msgstr "asyncio" #: whatsnew/3.5.rst:775 msgid "" "Since the :mod:`asyncio` module is :term:`provisional `, " "all changes introduced in Python 3.5 have also been backported to Python 3.4." "x." msgstr "" #: whatsnew/3.5.rst:778 msgid "Notable changes in the :mod:`asyncio` module since Python 3.4.0:" msgstr "" #: whatsnew/3.5.rst:780 msgid "" "New debugging APIs: :meth:`loop.set_debug() ` and :" "meth:`loop.get_debug() ` methods. (Contributed by " "Victor Stinner.)" msgstr "" #: whatsnew/3.5.rst:784 msgid "" "The proactor event loop now supports SSL. (Contributed by Antoine Pitrou and " "Victor Stinner in :issue:`22560`.)" msgstr "" #: whatsnew/3.5.rst:787 msgid "" "A new :meth:`loop.is_closed() ` method to check if " "the event loop is closed. (Contributed by Victor Stinner in :issue:`21326`.)" msgstr "" #: whatsnew/3.5.rst:791 msgid "" "A new :meth:`loop.create_task() ` to conveniently " "create and schedule a new :class:`~asyncio.Task` for a coroutine. The " "``create_task`` method is also used by all asyncio functions that wrap " "coroutines into tasks, such as :func:`asyncio.wait`, :func:`asyncio.gather`, " "etc. (Contributed by Victor Stinner.)" msgstr "" #: whatsnew/3.5.rst:798 msgid "" "A new :meth:`transport.get_write_buffer_limits() ` method to inquire for *high-* and *low-* water " "limits of the flow control. (Contributed by Victor Stinner.)" msgstr "" #: whatsnew/3.5.rst:803 msgid "" "The :func:`~asyncio.async` function is deprecated in favor of :func:" "`~asyncio.ensure_future`. (Contributed by Yury Selivanov.)" msgstr "" #: whatsnew/3.5.rst:807 msgid "" "New :meth:`loop.set_task_factory() ` and :" "meth:`loop.get_task_factory() ` methods to " "customize the task factory that :meth:`loop.create_task() ` method uses. (Contributed by Yury Selivanov.)" msgstr "" #: whatsnew/3.5.rst:814 msgid "" "New :meth:`Queue.join() ` and :meth:`Queue.task_done() " "` queue methods. (Contributed by Victor Stinner.)" msgstr "" #: whatsnew/3.5.rst:818 msgid "" "The ``JoinableQueue`` class was removed, in favor of the :class:`asyncio." "Queue` class. (Contributed by Victor Stinner.)" msgstr "" #: whatsnew/3.5.rst:822 msgid "Updates in 3.5.1:" msgstr "Nouveautés dans la 3.5.1 :" #: whatsnew/3.5.rst:824 msgid "" "The :func:`~asyncio.ensure_future` function and all functions that use it, " "such as :meth:`loop.run_until_complete() `, " "now accept all kinds of :term:`awaitable objects `. (Contributed " "by Yury Selivanov.)" msgstr "" #: whatsnew/3.5.rst:829 msgid "" "New :func:`~asyncio.run_coroutine_threadsafe` function to submit coroutines " "to event loops from other threads. (Contributed by Vincent Michel.)" msgstr "" #: whatsnew/3.5.rst:833 msgid "" "New :meth:`Transport.is_closing() ` method " "to check if the transport is closing or closed. (Contributed by Yury " "Selivanov.)" msgstr "" #: whatsnew/3.5.rst:837 msgid "" "The :meth:`loop.create_server() ` method can now " "accept a list of hosts. (Contributed by Yann Sionneau.)" msgstr "" #: whatsnew/3.5.rst:841 #, fuzzy msgid "Updates in 3.5.2:" msgstr "Nouveautés dans la 3.5.1 :" #: whatsnew/3.5.rst:843 msgid "" "New :meth:`loop.create_future() ` method to " "create Future objects. This allows alternative event loop implementations, " "such as `uvloop `_, to provide a " "faster :class:`asyncio.Future` implementation. (Contributed by Yury " "Selivanov.)" msgstr "" #: whatsnew/3.5.rst:850 msgid "" "New :meth:`loop.get_exception_handler() ` method to get the current exception handler. " "(Contributed by Yury Selivanov.)" msgstr "" #: whatsnew/3.5.rst:854 msgid "" "New :meth:`StreamReader.readuntil() ` method " "to read data from the stream until a separator bytes sequence appears. " "(Contributed by Mark Korenberg.)" msgstr "" #: whatsnew/3.5.rst:859 msgid "" "The :meth:`loop.create_connection() ` and :" "meth:`loop.create_server() ` methods are " "optimized to avoid calling the system ``getaddrinfo`` function if the " "address is already resolved. (Contributed by A. Jesse Jiryu Davis.)" msgstr "" #: whatsnew/3.5.rst:865 msgid "" "The :meth:`loop.sock_connect(sock, address) ` no " "longer requires the *address* to be resolved prior to the call. (Contributed " "by A. Jesse Jiryu Davis.)" msgstr "" #: whatsnew/3.5.rst:871 msgid "bz2" msgstr "bz2" #: whatsnew/3.5.rst:873 msgid "" "The :meth:`BZ2Decompressor.decompress ` " "method now accepts an optional *max_length* argument to limit the maximum " "size of decompressed data. (Contributed by Nikolaus Rath in :issue:`15955`.)" msgstr "" #: whatsnew/3.5.rst:879 msgid "cgi" msgstr "cgi" #: whatsnew/3.5.rst:881 msgid "" "The :class:`~cgi.FieldStorage` class now supports the :term:`context " "manager` protocol. (Contributed by Berker Peksag in :issue:`20289`.)" msgstr "" #: whatsnew/3.5.rst:886 msgid "cmath" msgstr "cmath" #: whatsnew/3.5.rst:888 msgid "" "A new function :func:`~cmath.isclose` provides a way to test for approximate " "equality. (Contributed by Chris Barker and Tal Einat in :issue:`24270`.)" msgstr "" #: whatsnew/3.5.rst:893 msgid "code" msgstr "" #: whatsnew/3.5.rst:895 msgid "" "The :func:`InteractiveInterpreter.showtraceback() ` method now prints the full chained " "traceback, just like the interactive interpreter. (Contributed by Claudiu " "Popa in :issue:`17442`.)" msgstr "" #: whatsnew/3.5.rst:901 msgid "collections" msgstr "" #: whatsnew/3.5.rst:905 msgid "" "The :class:`~collections.OrderedDict` class is now implemented in C, which " "makes it 4 to 100 times faster. (Contributed by Eric Snow in :issue:" "`16991`.)" msgstr "" #: whatsnew/3.5.rst:908 msgid "" ":meth:`OrderedDict.items() `, :meth:" "`OrderedDict.keys() `, :meth:`OrderedDict." "values() ` views now support :func:" "`reversed` iteration. (Contributed by Serhiy Storchaka in :issue:`19505`.)" msgstr "" #: whatsnew/3.5.rst:914 msgid "" "The :class:`~collections.deque` class now defines :meth:`~collections.deque." "index`, :meth:`~collections.deque.insert`, and :meth:`~collections.deque." "copy`, and supports the ``+`` and ``*`` operators. This allows deques to be " "recognized as a :class:`~collections.abc.MutableSequence` and improves their " "substitutability for lists. (Contributed by Raymond Hettinger in :issue:" "`23704`.)" msgstr "" #: whatsnew/3.5.rst:921 msgid "" "Docstrings produced by :func:`~collections.namedtuple` can now be updated::" msgstr "" #: whatsnew/3.5.rst:928 msgid "(Contributed by Berker Peksag in :issue:`24064`.)" msgstr "" #: whatsnew/3.5.rst:930 msgid "" "The :class:`~collections.UserString` class now implements the :meth:" "`__getnewargs__`, :meth:`__rmod__`, :meth:`~str.casefold`, :meth:`~str." "format_map`, :meth:`~str.isprintable`, and :meth:`~str.maketrans` methods to " "match the corresponding methods of :class:`str`. (Contributed by Joe Jevnik " "in :issue:`22189`.)" msgstr "" #: whatsnew/3.5.rst:938 msgid "collections.abc" msgstr "collections.abc" #: whatsnew/3.5.rst:940 msgid "" "The :meth:`Sequence.index() ` method now " "accepts *start* and *stop* arguments to match the corresponding methods of :" "class:`tuple`, :class:`list`, etc. (Contributed by Devin Jeanpierre in :" "issue:`23086`.)" msgstr "" #: whatsnew/3.5.rst:945 msgid "" "A new :class:`~collections.abc.Generator` abstract base class. (Contributed " "by Stefan Behnel in :issue:`24018`.)" msgstr "" #: whatsnew/3.5.rst:948 msgid "" "New :class:`~collections.abc.Awaitable`, :class:`~collections.abc." "Coroutine`, :class:`~collections.abc.AsyncIterator`, and :class:" "`~collections.abc.AsyncIterable` abstract base classes. (Contributed by Yury " "Selivanov in :issue:`24184`.)" msgstr "" #: whatsnew/3.5.rst:953 msgid "" "For earlier Python versions, a backport of the new ABCs is available in an " "external `PyPI package `_." msgstr "" #: whatsnew/3.5.rst:958 msgid "compileall" msgstr "compileall" #: whatsnew/3.5.rst:960 msgid "" "A new :mod:`compileall` option, :samp:`-j {N}`, allows running *N* workers " "simultaneously to perform parallel bytecode compilation. The :func:" "`~compileall.compile_dir` function has a corresponding ``workers`` " "parameter. (Contributed by Claudiu Popa in :issue:`16104`.)" msgstr "" #: whatsnew/3.5.rst:965 msgid "" "Another new option, ``-r``, allows controlling the maximum recursion level " "for subdirectories. (Contributed by Claudiu Popa in :issue:`19628`.)" msgstr "" #: whatsnew/3.5.rst:968 msgid "" "The ``-q`` command line option can now be specified more than once, in which " "case all output, including errors, will be suppressed. The corresponding " "``quiet`` parameter in :func:`~compileall.compile_dir`, :func:`~compileall." "compile_file`, and :func:`~compileall.compile_path` can now accept an " "integer value indicating the level of output suppression. (Contributed by " "Thomas Kluyver in :issue:`21338`.)" msgstr "" #: whatsnew/3.5.rst:977 msgid "concurrent.futures" msgstr "concurrent.futures" #: whatsnew/3.5.rst:979 msgid "" "The :meth:`Executor.map() ` method now " "accepts a *chunksize* argument to allow batching of tasks to improve " "performance when :meth:`~concurrent.futures.ProcessPoolExecutor` is used. " "(Contributed by Dan O'Reilly in :issue:`11271`.)" msgstr "" #: whatsnew/3.5.rst:984 msgid "" "The number of workers in the :class:`~concurrent.futures.ThreadPoolExecutor` " "constructor is optional now. The default value is 5 times the number of " "CPUs. (Contributed by Claudiu Popa in :issue:`21527`.)" msgstr "" #: whatsnew/3.5.rst:990 msgid "configparser" msgstr "configparser" #: whatsnew/3.5.rst:992 msgid "" ":mod:`configparser` now provides a way to customize the conversion of values " "by specifying a dictionary of converters in the :class:`~configparser." "ConfigParser` constructor, or by defining them as methods in " "``ConfigParser`` subclasses. Converters defined in a parser instance are " "inherited by its section proxies." msgstr "" #: whatsnew/3.5.rst:998 msgid "Example::" msgstr "Exemple ::" #: whatsnew/3.5.rst:1016 msgid "(Contributed by Łukasz Langa in :issue:`18159`.)" msgstr "" #: whatsnew/3.5.rst:1020 msgid "contextlib" msgstr "contextlib" #: whatsnew/3.5.rst:1022 msgid "" "The new :func:`~contextlib.redirect_stderr` :term:`context manager` (similar " "to :func:`~contextlib.redirect_stdout`) makes it easier for utility scripts " "to handle inflexible APIs that write their output to :data:`sys.stderr` and " "don't provide any options to redirect it::" msgstr "" #: whatsnew/3.5.rst:1035 msgid "(Contributed by Berker Peksag in :issue:`22389`.)" msgstr "" #: whatsnew/3.5.rst:1039 msgid "csv" msgstr "csv" #: whatsnew/3.5.rst:1041 msgid "" "The :meth:`~csv.csvwriter.writerow` method now supports arbitrary iterables, " "not just sequences. (Contributed by Serhiy Storchaka in :issue:`23171`.)" msgstr "" #: whatsnew/3.5.rst:1046 msgid "curses" msgstr "curses" #: whatsnew/3.5.rst:1048 msgid "" "The new :func:`~curses.update_lines_cols` function updates the :envvar:" "`LINES` and :envvar:`COLS` environment variables. This is useful for " "detecting manual screen resizing. (Contributed by Arnon Yaari in :issue:" "`4254`.)" msgstr "" #: whatsnew/3.5.rst:1054 msgid "dbm" msgstr "dbm" #: whatsnew/3.5.rst:1056 msgid "" ":func:`dumb.open ` always creates a new database when the " "flag has the value ``\"n\"``. (Contributed by Claudiu Popa in :issue:" "`18039`.)" msgstr "" #: whatsnew/3.5.rst:1061 msgid "difflib" msgstr "difflib" #: whatsnew/3.5.rst:1063 msgid "" "The charset of HTML documents generated by :meth:`HtmlDiff.make_file() " "` can now be customized by using a new *charset* " "keyword-only argument. The default charset of HTML document changed from " "``\"ISO-8859-1\"`` to ``\"utf-8\"``. (Contributed by Berker Peksag in :issue:" "`2052`.)" msgstr "" #: whatsnew/3.5.rst:1070 msgid "" "The :func:`~difflib.diff_bytes` function can now compare lists of byte " "strings. This fixes a regression from Python 2. (Contributed by Terry J. " "Reedy and Greg Ward in :issue:`17445`.)" msgstr "" #: whatsnew/3.5.rst:1076 msgid "distutils" msgstr "distutils" #: whatsnew/3.5.rst:1078 msgid "" "Both the ``build`` and ``build_ext`` commands now accept a ``-j`` option to " "enable parallel building of extension modules. (Contributed by Antoine " "Pitrou in :issue:`5309`.)" msgstr "" #: whatsnew/3.5.rst:1082 msgid "" "The :mod:`distutils` module now supports ``xz`` compression, and can be " "enabled by passing ``xztar`` as an argument to ``bdist --format``. " "(Contributed by Serhiy Storchaka in :issue:`16314`.)" msgstr "" #: whatsnew/3.5.rst:1088 msgid "doctest" msgstr "doctest" #: whatsnew/3.5.rst:1090 msgid "" "The :func:`~doctest.DocTestSuite` function returns an empty :class:`unittest." "TestSuite` if *module* contains no docstrings, instead of raising :exc:" "`ValueError`. (Contributed by Glenn Jones in :issue:`15916`.)" msgstr "" #: whatsnew/3.5.rst:1096 msgid "email" msgstr "email" #: whatsnew/3.5.rst:1098 msgid "" "A new policy option :attr:`Policy.mangle_from_ ` controls whether or not lines that start with ``\"From \"`` " "in email bodies are prefixed with a ``\">\"`` character by generators. The " "default is ``True`` for :attr:`~email.policy.compat32` and ``False`` for all " "other policies. (Contributed by Milan Oberkirch in :issue:`20098`.)" msgstr "" #: whatsnew/3.5.rst:1104 msgid "" "A new :meth:`Message.get_content_disposition() ` method provides easy access to a canonical value " "for the :mailheader:`Content-Disposition` header. (Contributed by Abhilash " "Raj in :issue:`21083`.)" msgstr "" #: whatsnew/3.5.rst:1110 msgid "" "A new policy option :attr:`EmailPolicy.utf8 ` " "can be set to ``True`` to encode email headers using the UTF-8 charset " "instead of using encoded words. This allows ``Messages`` to be formatted " "according to :rfc:`6532` and used with an SMTP server that supports the :rfc:" "`6531` ``SMTPUTF8`` extension. (Contributed by R. David Murray in :issue:" "`24211`.)" msgstr "" #: whatsnew/3.5.rst:1117 msgid "" "The :class:`mime.text.MIMEText ` constructor now " "accepts a :class:`charset.Charset ` instance. " "(Contributed by Claude Paroz and Berker Peksag in :issue:`16324`.)" msgstr "" #: whatsnew/3.5.rst:1123 msgid "enum" msgstr "enum" #: whatsnew/3.5.rst:1125 msgid "" "The :class:`~enum.Enum` callable has a new parameter *start* to specify the " "initial number of enum values if only *names* are provided::" msgstr "" #: whatsnew/3.5.rst:1134 msgid "(Contributed by Ethan Furman in :issue:`21706`.)" msgstr "" #: whatsnew/3.5.rst:1138 msgid "faulthandler" msgstr "" #: whatsnew/3.5.rst:1140 msgid "" "The :func:`~faulthandler.enable`, :func:`~faulthandler.register`, :func:" "`~faulthandler.dump_traceback` and :func:`~faulthandler." "dump_traceback_later` functions now accept file descriptors in addition to " "file-like objects. (Contributed by Wei Wu in :issue:`23566`.)" msgstr "" #: whatsnew/3.5.rst:1148 msgid "functools" msgstr "" #: whatsnew/3.5.rst:1152 msgid "" "Most of the :func:`~functools.lru_cache` machinery is now implemented in C, " "making it significantly faster. (Contributed by Matt Joiner, Alexey " "Kachayev, and Serhiy Storchaka in :issue:`14373`.)" msgstr "" #: whatsnew/3.5.rst:1158 msgid "glob" msgstr "glob" #: whatsnew/3.5.rst:1160 msgid "" "The :func:`~glob.iglob` and :func:`~glob.glob` functions now support " "recursive search in subdirectories, using the ``\"**\"`` pattern. " "(Contributed by Serhiy Storchaka in :issue:`13968`.)" msgstr "" #: whatsnew/3.5.rst:1166 msgid "gzip" msgstr "gzip" #: whatsnew/3.5.rst:1168 msgid "" "The *mode* argument of the :class:`~gzip.GzipFile` constructor now accepts " "``\"x\"`` to request exclusive creation. (Contributed by Tim Heaney in :" "issue:`19222`.)" msgstr "" #: whatsnew/3.5.rst:1174 msgid "heapq" msgstr "heapq" #: whatsnew/3.5.rst:1176 msgid "" "Element comparison in :func:`~heapq.merge` can now be customized by passing " "a :term:`key function` in a new optional *key* keyword argument, and a new " "optional *reverse* keyword argument can be used to reverse element " "comparison::" msgstr "" #: whatsnew/3.5.rst:1189 msgid "(Contributed by Raymond Hettinger in :issue:`13742`.)" msgstr "" #: whatsnew/3.5.rst:1193 msgid "http" msgstr "" #: whatsnew/3.5.rst:1195 msgid "" "A new :class:`HTTPStatus ` enum that defines a set of HTTP " "status codes, reason phrases and long descriptions written in English. " "(Contributed by Demian Brecht in :issue:`21793`.)" msgstr "" #: whatsnew/3.5.rst:1201 msgid "http.client" msgstr "" #: whatsnew/3.5.rst:1203 msgid "" ":meth:`HTTPConnection.getresponse() ` now raises a :exc:`~http.client.RemoteDisconnected` exception " "when a remote server connection is closed unexpectedly. Additionally, if a :" "exc:`ConnectionError` (of which ``RemoteDisconnected`` is a subclass) is " "raised, the client socket is now closed automatically, and will reconnect on " "the next request::" msgstr "" #: whatsnew/3.5.rst:1219 msgid "(Contributed by Martin Panter in :issue:`3566`.)" msgstr "" #: whatsnew/3.5.rst:1223 msgid "idlelib and IDLE" msgstr "" #: whatsnew/3.5.rst:1225 msgid "" "Since idlelib implements the IDLE shell and editor and is not intended for " "import by other programs, it gets improvements with every release. See :" "file:`Lib/idlelib/NEWS.txt` for a cumulative list of changes since 3.4.0, as " "well as changes made in future 3.5.x releases. This file is also available " "from the IDLE :menuselection:`Help --> About IDLE` dialog." msgstr "" #: whatsnew/3.5.rst:1233 msgid "imaplib" msgstr "" #: whatsnew/3.5.rst:1235 msgid "" "The :class:`~imaplib.IMAP4` class now supports the :term:`context manager` " "protocol. When used in a :keyword:`with` statement, the IMAP4 ``LOGOUT`` " "command will be called automatically at the end of the block. (Contributed " "by Tarek Ziadé and Serhiy Storchaka in :issue:`4972`.)" msgstr "" #: whatsnew/3.5.rst:1240 msgid "" "The :mod:`imaplib` module now supports :rfc:`5161` (ENABLE Extension) and :" "rfc:`6855` (UTF-8 Support) via the :meth:`IMAP4.enable() ` method. A new :attr:`IMAP4.utf8_enabled ` attribute tracks whether or not :rfc:`6855` support is " "enabled. (Contributed by Milan Oberkirch, R. David Murray, and Maciej Szulik " "in :issue:`21800`.)" msgstr "" #: whatsnew/3.5.rst:1247 msgid "" "The :mod:`imaplib` module now automatically encodes non-ASCII string " "usernames and passwords using UTF-8, as recommended by the RFCs. " "(Contributed by Milan Oberkirch in :issue:`21800`.)" msgstr "" #: whatsnew/3.5.rst:1253 msgid "imghdr" msgstr "imghdr" #: whatsnew/3.5.rst:1255 msgid "" "The :func:`~imghdr.what` function now recognizes the `OpenEXR `_ format (contributed by Martin Vignali and Claudiu Popa in :" "issue:`20295`), and the `WebP `_ format " "(contributed by Fabrice Aneche and Claudiu Popa in :issue:`20197`.)" msgstr "" #: whatsnew/3.5.rst:1263 msgid "importlib" msgstr "importlib" #: whatsnew/3.5.rst:1265 msgid "" "The :class:`util.LazyLoader ` class allows for " "lazy loading of modules in applications where startup time is important. " "(Contributed by Brett Cannon in :issue:`17621`.)" msgstr "" #: whatsnew/3.5.rst:1269 msgid "" "The :func:`abc.InspectLoader.source_to_code() ` method is now a static method. This makes it easier to " "initialize a module object with code compiled from a string by running " "``exec(code, module.__dict__)``. (Contributed by Brett Cannon in :issue:" "`21156`.)" msgstr "" #: whatsnew/3.5.rst:1275 msgid "" "The new :func:`util.module_from_spec() ` " "function is now the preferred way to create a new module. As opposed to " "creating a :class:`types.ModuleType` instance directly, this new function " "will set the various import-controlled attributes based on the passed-in " "spec object. (Contributed by Brett Cannon in :issue:`20383`.)" msgstr "" #: whatsnew/3.5.rst:1283 msgid "inspect" msgstr "" #: whatsnew/3.5.rst:1285 msgid "" "Both the :class:`~inspect.Signature` and :class:`~inspect.Parameter` classes " "are now picklable and hashable. (Contributed by Yury Selivanov in :issue:" "`20726` and :issue:`20334`.)" msgstr "" #: whatsnew/3.5.rst:1289 msgid "" "A new :meth:`BoundArguments.apply_defaults() ` method provides a way to set default values for missing " "arguments::" msgstr "" #: whatsnew/3.5.rst:1299 msgid "(Contributed by Yury Selivanov in :issue:`24190`.)" msgstr "" #: whatsnew/3.5.rst:1301 msgid "" "A new class method :meth:`Signature.from_callable() ` makes subclassing of :class:`~inspect.Signature` easier. " "(Contributed by Yury Selivanov and Eric Snow in :issue:`17373`.)" msgstr "" #: whatsnew/3.5.rst:1306 msgid "" "The :func:`~inspect.signature` function now accepts a *follow_wrapped* " "optional keyword argument, which, when set to ``False``, disables automatic " "following of ``__wrapped__`` links. (Contributed by Yury Selivanov in :issue:" "`20691`.)" msgstr "" #: whatsnew/3.5.rst:1311 msgid "" "A set of new functions to inspect :term:`coroutine functions ` and :term:`coroutine objects ` has been added: :func:" "`~inspect.iscoroutine`, :func:`~inspect.iscoroutinefunction`, :func:" "`~inspect.isawaitable`, :func:`~inspect.getcoroutinelocals`, and :func:" "`~inspect.getcoroutinestate`. (Contributed by Yury Selivanov in :issue:" "`24017` and :issue:`24400`.)" msgstr "" #: whatsnew/3.5.rst:1319 msgid "" "The :func:`~inspect.stack`, :func:`~inspect.trace`, :func:`~inspect." "getouterframes`, and :func:`~inspect.getinnerframes` functions now return a " "list of named tuples. (Contributed by Daniel Shahaf in :issue:`16808`.)" msgstr "" #: whatsnew/3.5.rst:1326 msgid "io" msgstr "" #: whatsnew/3.5.rst:1328 msgid "" "A new :meth:`BufferedIOBase.readinto1() ` " "method, that uses at most one call to the underlying raw stream's :meth:" "`RawIOBase.read() ` or :meth:`RawIOBase.readinto() ` methods. (Contributed by Nikolaus Rath in :issue:" "`20578`.)" msgstr "" #: whatsnew/3.5.rst:1336 msgid "ipaddress" msgstr "" #: whatsnew/3.5.rst:1338 msgid "" "Both the :class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` " "classes now accept an ``(address, netmask)`` tuple argument, so as to easily " "construct network objects from existing addresses::" msgstr "" #: whatsnew/3.5.rst:1348 msgid "(Contributed by Peter Moody and Antoine Pitrou in :issue:`16531`.)" msgstr "" #: whatsnew/3.5.rst:1350 msgid "" "A new :attr:`~ipaddress.IPv4Network.reverse_pointer` attribute for the :" "class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` classes " "returns the name of the reverse DNS PTR record::" msgstr "" #: whatsnew/3.5.rst:1362 msgid "(Contributed by Leon Weber in :issue:`20480`.)" msgstr "" #: whatsnew/3.5.rst:1366 msgid "json" msgstr "" #: whatsnew/3.5.rst:1368 msgid "" "The :mod:`json.tool` command line interface now preserves the order of keys " "in JSON objects passed in input. The new ``--sort-keys`` option can be used " "to sort the keys alphabetically. (Contributed by Berker Peksag in :issue:" "`21650`.)" msgstr "" #: whatsnew/3.5.rst:1373 msgid "" "JSON decoder now raises :exc:`~json.JSONDecodeError` instead of :exc:" "`ValueError` to provide better context information about the error. " "(Contributed by Serhiy Storchaka in :issue:`19361`.)" msgstr "" #: whatsnew/3.5.rst:1379 msgid "linecache" msgstr "" #: whatsnew/3.5.rst:1381 msgid "" "A new :func:`~linecache.lazycache` function can be used to capture " "information about a non-file-based module to permit getting its lines later " "via :func:`~linecache.getline`. This avoids doing I/O until a line is " "actually needed, without having to carry the module globals around " "indefinitely. (Contributed by Robert Collins in :issue:`17911`.)" msgstr "" #: whatsnew/3.5.rst:1389 msgid "locale" msgstr "" #: whatsnew/3.5.rst:1391 msgid "" "A new :func:`~locale.delocalize` function can be used to convert a string " "into a normalized number string, taking the ``LC_NUMERIC`` settings into " "account::" msgstr "" #: whatsnew/3.5.rst:1404 msgid "(Contributed by Cédric Krier in :issue:`13918`.)" msgstr "" #: whatsnew/3.5.rst:1408 msgid "logging" msgstr "" #: whatsnew/3.5.rst:1410 msgid "" "All logging methods (:class:`~logging.Logger` :meth:`~logging.Logger.log`, :" "meth:`~logging.Logger.exception`, :meth:`~logging.Logger.critical`, :meth:" "`~logging.Logger.debug`, etc.), now accept exception instances as an " "*exc_info* argument, in addition to boolean values and exception tuples::" msgstr "" #: whatsnew/3.5.rst:1423 msgid "(Contributed by Yury Selivanov in :issue:`20537`.)" msgstr "" #: whatsnew/3.5.rst:1425 msgid "" "The :class:`handlers.HTTPHandler ` class now " "accepts an optional :class:`ssl.SSLContext` instance to configure SSL " "settings used in an HTTP connection. (Contributed by Alex Gaynor in :issue:" "`22788`.)" msgstr "" #: whatsnew/3.5.rst:1430 msgid "" "The :class:`handlers.QueueListener ` class " "now takes a *respect_handler_level* keyword argument which, if set to " "``True``, will pass messages to handlers taking handler levels into account. " "(Contributed by Vinay Sajip.)" msgstr "" #: whatsnew/3.5.rst:1437 msgid "lzma" msgstr "" #: whatsnew/3.5.rst:1439 msgid "" "The :meth:`LZMADecompressor.decompress() ` " "method now accepts an optional *max_length* argument to limit the maximum " "size of decompressed data. (Contributed by Martin Panter in :issue:`15955`.)" msgstr "" #: whatsnew/3.5.rst:1446 msgid "math" msgstr "" #: whatsnew/3.5.rst:1448 msgid "" "Two new constants have been added to the :mod:`math` module: :data:`~math." "inf` and :data:`~math.nan`. (Contributed by Mark Dickinson in :issue:" "`23185`.)" msgstr "" #: whatsnew/3.5.rst:1451 msgid "" "A new function :func:`~math.isclose` provides a way to test for approximate " "equality. (Contributed by Chris Barker and Tal Einat in :issue:`24270`.)" msgstr "" #: whatsnew/3.5.rst:1454 msgid "" "A new :func:`~math.gcd` function has been added. The :func:`fractions.gcd` " "function is now deprecated. (Contributed by Mark Dickinson and Serhiy " "Storchaka in :issue:`22486`.)" msgstr "" #: whatsnew/3.5.rst:1460 msgid "multiprocessing" msgstr "multiprocessing" #: whatsnew/3.5.rst:1462 msgid "" ":func:`sharedctypes.synchronized() ` objects now support the :term:`context manager` protocol. " "(Contributed by Charles-François Natali in :issue:`21565`.)" msgstr "" #: whatsnew/3.5.rst:1468 msgid "operator" msgstr "" #: whatsnew/3.5.rst:1470 msgid "" ":func:`~operator.attrgetter`, :func:`~operator.itemgetter`, and :func:" "`~operator.methodcaller` objects now support pickling. (Contributed by Josh " "Rosenberg and Serhiy Storchaka in :issue:`22955`.)" msgstr "" #: whatsnew/3.5.rst:1474 msgid "" "New :func:`~operator.matmul` and :func:`~operator.imatmul` functions to " "perform matrix multiplication. (Contributed by Benjamin Peterson in :issue:" "`21176`.)" msgstr "" #: whatsnew/3.5.rst:1480 msgid "os" msgstr "" #: whatsnew/3.5.rst:1482 msgid "" "The new :func:`~os.scandir` function returning an iterator of :class:`~os." "DirEntry` objects has been added. If possible, :func:`~os.scandir` extracts " "file attributes while scanning a directory, removing the need to perform " "subsequent system calls to determine file type or attributes, which may " "significantly improve performance. (Contributed by Ben Hoyt with the help " "of Victor Stinner in :issue:`22524`.)" msgstr "" #: whatsnew/3.5.rst:1489 msgid "" "On Windows, a new :attr:`stat_result.st_file_attributes ` attribute is now available. It corresponds to the " "``dwFileAttributes`` member of the ``BY_HANDLE_FILE_INFORMATION`` structure " "returned by ``GetFileInformationByHandle()``. (Contributed by Ben Hoyt in :" "issue:`21719`.)" msgstr "" #: whatsnew/3.5.rst:1495 msgid "" "The :func:`~os.urandom` function now uses the ``getrandom()`` syscall on " "Linux 3.17 or newer, and ``getentropy()`` on OpenBSD 5.6 and newer, removing " "the need to use ``/dev/urandom`` and avoiding failures due to potential file " "descriptor exhaustion. (Contributed by Victor Stinner in :issue:`22181`.)" msgstr "" #: whatsnew/3.5.rst:1500 msgid "" "New :func:`~os.get_blocking` and :func:`~os.set_blocking` functions allow " "getting and setting a file descriptor's blocking mode (:data:`~os." "O_NONBLOCK`.) (Contributed by Victor Stinner in :issue:`22054`.)" msgstr "" #: whatsnew/3.5.rst:1504 msgid "" "The :func:`~os.truncate` and :func:`~os.ftruncate` functions are now " "supported on Windows. (Contributed by Steve Dower in :issue:`23668`.)" msgstr "" #: whatsnew/3.5.rst:1507 msgid "" "There is a new :func:`os.path.commonpath` function returning the longest " "common sub-path of each passed pathname. Unlike the :func:`os.path." "commonprefix` function, it always returns a valid path::" msgstr "" #: whatsnew/3.5.rst:1518 msgid "(Contributed by Rafik Draoui and Serhiy Storchaka in :issue:`10395`.)" msgstr "" #: whatsnew/3.5.rst:1522 msgid "pathlib" msgstr "pathlib" #: whatsnew/3.5.rst:1524 msgid "" "The new :meth:`Path.samefile() ` method can be used " "to check whether the path points to the same file as another path, which can " "be either another :class:`~pathlib.Path` object, or a string::" msgstr "" #: whatsnew/3.5.rst:1534 msgid "(Contributed by Vajrasky Kok and Antoine Pitrou in :issue:`19775`.)" msgstr "" #: whatsnew/3.5.rst:1536 msgid "" "The :meth:`Path.mkdir() ` method now accepts a new " "optional *exist_ok* argument to match ``mkdir -p`` and :func:`os.makedirs` " "functionality. (Contributed by Berker Peksag in :issue:`21539`.)" msgstr "" #: whatsnew/3.5.rst:1540 msgid "" "There is a new :meth:`Path.expanduser() ` method to " "expand ``~`` and ``~user`` prefixes. (Contributed by Serhiy Storchaka and " "Claudiu Popa in :issue:`19776`.)" msgstr "" #: whatsnew/3.5.rst:1544 msgid "" "A new :meth:`Path.home() ` class method can be used to " "get a :class:`~pathlib.Path` instance representing the user’s home " "directory. (Contributed by Victor Salgado and Mayank Tripathi in :issue:" "`19777`.)" msgstr "" #: whatsnew/3.5.rst:1549 msgid "" "New :meth:`Path.write_text() `, :meth:`Path." "read_text() `, :meth:`Path.write_bytes() `, :meth:`Path.read_bytes() ` " "methods to simplify read/write operations on files." msgstr "" #: whatsnew/3.5.rst:1555 msgid "" "The following code snippet will create or rewrite existing file ``~/" "spam42``::" msgstr "" #: whatsnew/3.5.rst:1563 msgid "(Contributed by Christopher Welborn in :issue:`20218`.)" msgstr "" #: whatsnew/3.5.rst:1567 msgid "pickle" msgstr "" #: whatsnew/3.5.rst:1569 msgid "" "Nested objects, such as unbound methods or nested classes, can now be " "pickled using :ref:`pickle protocols ` older than protocol " "version 4. Protocol version 4 already supports these cases. (Contributed by " "Serhiy Storchaka in :issue:`23611`.)" msgstr "" #: whatsnew/3.5.rst:1576 msgid "poplib" msgstr "" #: whatsnew/3.5.rst:1578 msgid "" "A new :meth:`POP3.utf8() ` command enables :rfc:`6856` " "(Internationalized Email) support, if a POP server supports it. (Contributed " "by Milan OberKirch in :issue:`21804`.)" msgstr "" #: whatsnew/3.5.rst:1584 msgid "re" msgstr "" #: whatsnew/3.5.rst:1586 msgid "" "References and conditional references to groups with fixed length are now " "allowed in lookbehind assertions::" msgstr "" #: whatsnew/3.5.rst:1596 msgid "(Contributed by Serhiy Storchaka in :issue:`9179`.)" msgstr "(Contribution par Serhiy Storchaka; :issue:`9179`.)" #: whatsnew/3.5.rst:1598 msgid "" "The number of capturing groups in regular expressions is no longer limited " "to 100. (Contributed by Serhiy Storchaka in :issue:`22437`.)" msgstr "" #: whatsnew/3.5.rst:1601 msgid "" "The :func:`~re.sub` and :func:`~re.subn` functions now replace unmatched " "groups with empty strings instead of raising an exception. (Contributed by " "Serhiy Storchaka in :issue:`1519638`.)" msgstr "" #: whatsnew/3.5.rst:1605 msgid "" "The :class:`re.error` exceptions have new attributes, :attr:`~re.error." "msg`, :attr:`~re.error.pattern`, :attr:`~re.error.pos`, :attr:`~re.error." "lineno`, and :attr:`~re.error.colno`, that provide better context " "information about the error::" msgstr "" #: whatsnew/3.5.rst:1619 msgid "(Contributed by Serhiy Storchaka in :issue:`22578`.)" msgstr "(Contribution par Serhiy Storchaka; :issue:`22578`.)" #: whatsnew/3.5.rst:1623 msgid "readline" msgstr "" #: whatsnew/3.5.rst:1625 msgid "" "A new :func:`~readline.append_history_file` function can be used to append " "the specified number of trailing elements in history to the given file. " "(Contributed by Bruno Cauet in :issue:`22940`.)" msgstr "" #: whatsnew/3.5.rst:1631 msgid "selectors" msgstr "" #: whatsnew/3.5.rst:1633 msgid "" "The new :class:`~selectors.DevpollSelector` supports efficient ``/dev/poll`` " "polling on Solaris. (Contributed by Giampaolo Rodola' in :issue:`18931`.)" msgstr "" #: whatsnew/3.5.rst:1639 msgid "shutil" msgstr "" #: whatsnew/3.5.rst:1641 msgid "" "The :func:`~shutil.move` function now accepts a *copy_function* argument, " "allowing, for example, the :func:`~shutil.copy` function to be used instead " "of the default :func:`~shutil.copy2` if there is a need to ignore file " "metadata when moving. (Contributed by Claudiu Popa in :issue:`19840`.)" msgstr "" #: whatsnew/3.5.rst:1647 msgid "" "The :func:`~shutil.make_archive` function now supports the *xztar* format. " "(Contributed by Serhiy Storchaka in :issue:`5411`.)" msgstr "" #: whatsnew/3.5.rst:1652 msgid "signal" msgstr "" #: whatsnew/3.5.rst:1654 msgid "" "On Windows, the :func:`~signal.set_wakeup_fd` function now also supports " "socket handles. (Contributed by Victor Stinner in :issue:`22018`.)" msgstr "" #: whatsnew/3.5.rst:1657 msgid "" "Various ``SIG*`` constants in the :mod:`signal` module have been converted " "into :mod:`Enums `. This allows meaningful names to be printed during " "debugging, instead of integer \"magic numbers\". (Contributed by Giampaolo " "Rodola' in :issue:`21076`.)" msgstr "" #: whatsnew/3.5.rst:1664 msgid "smtpd" msgstr "smtpd" #: whatsnew/3.5.rst:1666 msgid "" "Both the :class:`~smtpd.SMTPServer` and :class:`~smtpd.SMTPChannel` classes " "now accept a *decode_data* keyword argument to determine if the ``DATA`` " "portion of the SMTP transaction is decoded using the ``\"utf-8\"`` codec or " "is instead provided to the :meth:`SMTPServer.process_message() ` method as a byte string. The default is " "``True`` for backward compatibility reasons, but will change to ``False`` in " "Python 3.6. If *decode_data* is set to ``False``, the ``process_message`` " "method must be prepared to accept keyword arguments. (Contributed by Maciej " "Szulik in :issue:`19662`.)" msgstr "" #: whatsnew/3.5.rst:1677 msgid "" "The :class:`~smtpd.SMTPServer` class now advertises the ``8BITMIME`` " "extension (:rfc:`6152`) if *decode_data* has been set ``True``. If the " "client specifies ``BODY=8BITMIME`` on the ``MAIL`` command, it is passed to :" "meth:`SMTPServer.process_message() ` via " "the *mail_options* keyword. (Contributed by Milan Oberkirch and R. David " "Murray in :issue:`21795`.)" msgstr "" #: whatsnew/3.5.rst:1684 msgid "" "The :class:`~smtpd.SMTPServer` class now also supports the ``SMTPUTF8`` " "extension (:rfc:`6531`: Internationalized Email). If the client specified " "``SMTPUTF8 BODY=8BITMIME`` on the ``MAIL`` command, they are passed to :meth:" "`SMTPServer.process_message() ` via the " "*mail_options* keyword. It is the responsibility of the ``process_message`` " "method to correctly handle the ``SMTPUTF8`` data. (Contributed by Milan " "Oberkirch in :issue:`21725`.)" msgstr "" #: whatsnew/3.5.rst:1692 msgid "" "It is now possible to provide, directly or via name resolution, IPv6 " "addresses in the :class:`~smtpd.SMTPServer` constructor, and have it " "successfully connect. (Contributed by Milan Oberkirch in :issue:`14758`.)" msgstr "" #: whatsnew/3.5.rst:1698 msgid "smtplib" msgstr "" #: whatsnew/3.5.rst:1700 msgid "" "A new :meth:`SMTP.auth() ` method provides a convenient " "way to implement custom authentication mechanisms. (Contributed by Milan " "Oberkirch in :issue:`15014`.)" msgstr "" #: whatsnew/3.5.rst:1704 msgid "" "The :meth:`SMTP.set_debuglevel() ` method now " "accepts an additional debuglevel (2), which enables timestamps in debug " "messages. (Contributed by Gavin Chappell and Maciej Szulik in :issue:" "`16914`.)" msgstr "" #: whatsnew/3.5.rst:1708 msgid "" "Both the :meth:`SMTP.sendmail() ` and :meth:`SMTP." "send_message() ` methods now support :rfc:`6531` " "(SMTPUTF8). (Contributed by Milan Oberkirch and R. David Murray in :issue:" "`22027`.)" msgstr "" #: whatsnew/3.5.rst:1715 msgid "sndhdr" msgstr "" #: whatsnew/3.5.rst:1717 msgid "" "The :func:`~sndhdr.what` and :func:`~sndhdr.whathdr` functions now return " "a :func:`~collections.namedtuple`. (Contributed by Claudiu Popa in :issue:" "`18615`.)" msgstr "" #: whatsnew/3.5.rst:1723 msgid "socket" msgstr "" #: whatsnew/3.5.rst:1725 msgid "" "Functions with timeouts now use a monotonic clock, instead of a system " "clock. (Contributed by Victor Stinner in :issue:`22043`.)" msgstr "" #: whatsnew/3.5.rst:1728 msgid "" "A new :meth:`socket.sendfile() ` method allows " "sending a file over a socket by using the high-performance :func:`os." "sendfile` function on UNIX, resulting in uploads being from 2 to 3 times " "faster than when using plain :meth:`socket.send() `. " "(Contributed by Giampaolo Rodola' in :issue:`17552`.)" msgstr "" #: whatsnew/3.5.rst:1734 msgid "" "The :meth:`socket.sendall() ` method no longer resets " "the socket timeout every time bytes are received or sent. The socket " "timeout is now the maximum total duration to send all data. (Contributed by " "Victor Stinner in :issue:`23853`.)" msgstr "" #: whatsnew/3.5.rst:1739 msgid "" "The *backlog* argument of the :meth:`socket.listen() ` " "method is now optional. By default it is set to :data:`SOMAXCONN ` or to ``128``, whichever is less. (Contributed by Charles-" "François Natali in :issue:`21455`.)" msgstr "" #: whatsnew/3.5.rst:1746 msgid "ssl" msgstr "" #: whatsnew/3.5.rst:1751 msgid "Memory BIO Support" msgstr "" #: whatsnew/3.5.rst:1753 msgid "(Contributed by Geert Jansen in :issue:`21965`.)" msgstr "" #: whatsnew/3.5.rst:1755 msgid "" "The new :class:`~ssl.SSLObject` class has been added to provide SSL protocol " "support for cases when the network I/O capabilities of :class:`~ssl." "SSLSocket` are not necessary or are suboptimal. ``SSLObject`` represents an " "SSL protocol instance, but does not implement any network I/O methods, and " "instead provides a memory buffer interface. The new :class:`~ssl.MemoryBIO` " "class can be used to pass data between Python and an SSL protocol instance." msgstr "" #: whatsnew/3.5.rst:1762 msgid "" "The memory BIO SSL support is primarily intended to be used in frameworks " "implementing asynchronous I/O for which :class:`~ssl.SSLSocket`'s readiness " "model (\"select/poll\") is inefficient." msgstr "" #: whatsnew/3.5.rst:1766 msgid "" "A new :meth:`SSLContext.wrap_bio() ` method can be " "used to create a new ``SSLObject`` instance." msgstr "" #: whatsnew/3.5.rst:1771 msgid "Application-Layer Protocol Negotiation Support" msgstr "" #: whatsnew/3.5.rst:1773 msgid "(Contributed by Benjamin Peterson in :issue:`20188`.)" msgstr "" #: whatsnew/3.5.rst:1775 msgid "" "Where OpenSSL support is present, the :mod:`ssl` module now implements the " "*Application-Layer Protocol Negotiation* TLS extension as described in :rfc:" "`7301`." msgstr "" #: whatsnew/3.5.rst:1779 msgid "" "The new :meth:`SSLContext.set_alpn_protocols() ` can be used to specify which protocols a socket should " "advertise during the TLS handshake." msgstr "" #: whatsnew/3.5.rst:1783 msgid "" "The new :meth:`SSLSocket.selected_alpn_protocol() ` returns the protocol that was selected during the " "TLS handshake. The :data:`~ssl.HAS_ALPN` flag indicates whether ALPN support " "is present." msgstr "" #: whatsnew/3.5.rst:1790 msgid "Other Changes" msgstr "" #: whatsnew/3.5.rst:1792 msgid "" "There is a new :meth:`SSLSocket.version() ` method to " "query the actual protocol version in use. (Contributed by Antoine Pitrou in :" "issue:`20421`.)" msgstr "" #: whatsnew/3.5.rst:1796 msgid "" "The :class:`~ssl.SSLSocket` class now implements a :meth:`SSLSocket." "sendfile() ` method. (Contributed by Giampaolo " "Rodola' in :issue:`17552`.)" msgstr "" #: whatsnew/3.5.rst:1800 msgid "" "The :meth:`SSLSocket.send() ` method now raises either " "the :exc:`ssl.SSLWantReadError` or :exc:`ssl.SSLWantWriteError` exception on " "a non-blocking socket if the operation would block. Previously, it would " "return ``0``. (Contributed by Nikolaus Rath in :issue:`20951`.)" msgstr "" #: whatsnew/3.5.rst:1805 msgid "" "The :func:`~ssl.cert_time_to_seconds` function now interprets the input time " "as UTC and not as local time, per :rfc:`5280`. Additionally, the return " "value is always an :class:`int`. (Contributed by Akira Li in :issue:`19940`.)" msgstr "" #: whatsnew/3.5.rst:1809 msgid "" "New :meth:`SSLObject.shared_ciphers() ` and :" "meth:`SSLSocket.shared_ciphers() ` methods " "return the list of ciphers sent by the client during the handshake. " "(Contributed by Benjamin Peterson in :issue:`23186`.)" msgstr "" #: whatsnew/3.5.rst:1814 msgid "" "The :meth:`SSLSocket.do_handshake() `, :meth:" "`SSLSocket.read() `, :meth:`SSLSocket.shutdown() `, and :meth:`SSLSocket.write() ` " "methods of the :class:`~ssl.SSLSocket` class no longer reset the socket " "timeout every time bytes are received or sent. The socket timeout is now the " "maximum total duration of the method. (Contributed by Victor Stinner in :" "issue:`23853`.)" msgstr "" #: whatsnew/3.5.rst:1822 msgid "" "The :func:`~ssl.match_hostname` function now supports matching of IP " "addresses. (Contributed by Antoine Pitrou in :issue:`23239`.)" msgstr "" #: whatsnew/3.5.rst:1827 msgid "sqlite3" msgstr "" #: whatsnew/3.5.rst:1829 msgid "" "The :class:`~sqlite3.Row` class now fully supports the sequence protocol, in " "particular :func:`reversed` iteration and slice indexing. (Contributed by " "Claudiu Popa in :issue:`10203`; by Lucas Sinclair, Jessica McKellar, and " "Serhiy Storchaka in :issue:`13583`.)" msgstr "" #: whatsnew/3.5.rst:1838 msgid "subprocess" msgstr "subprocess" #: whatsnew/3.5.rst:1840 msgid "" "The new :func:`~subprocess.run` function has been added. It runs the " "specified command and returns a :class:`~subprocess.CompletedProcess` " "object, which describes a finished process. The new API is more consistent " "and is the recommended approach to invoking subprocesses in Python code that " "does not need to maintain compatibility with earlier Python versions. " "(Contributed by Thomas Kluyver in :issue:`23342`.)" msgstr "" #: whatsnew/3.5.rst:1864 msgid "sys" msgstr "sys" #: whatsnew/3.5.rst:1866 msgid "" "A new :func:`~sys.set_coroutine_wrapper` function allows setting a global " "hook that will be called whenever a :term:`coroutine object ` is " "created by an :keyword:`async def` function. A corresponding :func:`~sys." "get_coroutine_wrapper` can be used to obtain a currently set wrapper. Both " "functions are :term:`provisional `, and are intended for " "debugging purposes only. (Contributed by Yury Selivanov in :issue:`24017`.)" msgstr "" #: whatsnew/3.5.rst:1874 msgid "" "A new :func:`~sys.is_finalizing` function can be used to check if the Python " "interpreter is :term:`shutting down `. (Contributed by " "Antoine Pitrou in :issue:`22696`.)" msgstr "" #: whatsnew/3.5.rst:1880 msgid "sysconfig" msgstr "" #: whatsnew/3.5.rst:1882 msgid "" "The name of the user scripts directory on Windows now includes the first two " "components of the Python version. (Contributed by Paul Moore in :issue:" "`23437`.)" msgstr "" #: whatsnew/3.5.rst:1888 msgid "tarfile" msgstr "" #: whatsnew/3.5.rst:1890 msgid "" "The *mode* argument of the :func:`~tarfile.open` function now accepts " "``\"x\"`` to request exclusive creation. (Contributed by Berker Peksag in :" "issue:`21717`.)" msgstr "" #: whatsnew/3.5.rst:1893 msgid "" "The :meth:`TarFile.extractall() ` and :meth:" "`TarFile.extract() ` methods now take a keyword " "argument *numeric_owner*. If set to ``True``, the extracted files and " "directories will be owned by the numeric ``uid`` and ``gid`` from the " "tarfile. If set to ``False`` (the default, and the behavior in versions " "prior to 3.5), they will be owned by the named user and group in the " "tarfile. (Contributed by Michael Vogt and Eric Smith in :issue:`23193`.)" msgstr "" #: whatsnew/3.5.rst:1901 msgid "" "The :meth:`TarFile.list() ` now accepts an optional " "*members* keyword argument that can be set to a subset of the list returned " "by :meth:`TarFile.getmembers() `. (Contributed " "by Serhiy Storchaka in :issue:`21549`.)" msgstr "" #: whatsnew/3.5.rst:1908 msgid "threading" msgstr "threading" #: whatsnew/3.5.rst:1910 msgid "" "Both the :meth:`Lock.acquire() ` and :meth:`RLock." "acquire() ` methods now use a monotonic clock for " "timeout management. (Contributed by Victor Stinner in :issue:`22043`.)" msgstr "" #: whatsnew/3.5.rst:1917 msgid "time" msgstr "time" #: whatsnew/3.5.rst:1919 msgid "" "The :func:`~time.monotonic` function is now always available. (Contributed " "by Victor Stinner in :issue:`22043`.)" msgstr "" #: whatsnew/3.5.rst:1924 msgid "timeit" msgstr "timeit" #: whatsnew/3.5.rst:1926 msgid "" "A new command line option ``-u`` or :samp:`--unit={U}` can be used to " "specify the time unit for the timer output. Supported options are ``usec``, " "``msec``, or ``sec``. (Contributed by Julian Gindi in :issue:`18983`.)" msgstr "" #: whatsnew/3.5.rst:1930 msgid "" "The :func:`~timeit.timeit` function has a new *globals* parameter for " "specifying the namespace in which the code will be running. (Contributed by " "Ben Roberts in :issue:`2527`.)" msgstr "" #: whatsnew/3.5.rst:1936 msgid "tkinter" msgstr "tkinter" #: whatsnew/3.5.rst:1938 msgid "" "The :mod:`tkinter._fix` module used for setting up the Tcl/Tk environment on " "Windows has been replaced by a private function in the :mod:`_tkinter` " "module which makes no permanent changes to environment variables. " "(Contributed by Zachary Ware in :issue:`20035`.)" msgstr "" #: whatsnew/3.5.rst:1947 msgid "traceback" msgstr "traceback" #: whatsnew/3.5.rst:1949 msgid "" "New :func:`~traceback.walk_stack` and :func:`~traceback.walk_tb` functions " "to conveniently traverse frame and traceback objects. (Contributed by Robert " "Collins in :issue:`17911`.)" msgstr "" #: whatsnew/3.5.rst:1953 msgid "" "New lightweight classes: :class:`~traceback.TracebackException`, :class:" "`~traceback.StackSummary`, and :class:`~traceback.FrameSummary`. " "(Contributed by Robert Collins in :issue:`17911`.)" msgstr "" #: whatsnew/3.5.rst:1957 msgid "" "Both the :func:`~traceback.print_tb` and :func:`~traceback.print_stack` " "functions now support negative values for the *limit* argument. (Contributed " "by Dmitry Kazakov in :issue:`22619`.)" msgstr "" #: whatsnew/3.5.rst:1963 msgid "types" msgstr "" #: whatsnew/3.5.rst:1965 msgid "" "A new :func:`~types.coroutine` function to transform :term:`generator " "` and :class:`generator-like ` objects into :term:`awaitables `. (Contributed by " "Yury Selivanov in :issue:`24017`.)" msgstr "" #: whatsnew/3.5.rst:1971 msgid "" "A new type called :class:`~types.CoroutineType`, which is used for :term:" "`coroutine` objects created by :keyword:`async def` functions. (Contributed " "by Yury Selivanov in :issue:`24400`.)" msgstr "" #: whatsnew/3.5.rst:1977 msgid "unicodedata" msgstr "unicodedata" #: whatsnew/3.5.rst:1979 msgid "" "The :mod:`unicodedata` module now uses data from `Unicode 8.0.0 `_." msgstr "" #: whatsnew/3.5.rst:1984 msgid "unittest" msgstr "unittest" #: whatsnew/3.5.rst:1986 msgid "" "The :meth:`TestLoader.loadTestsFromModule() ` method now accepts a keyword-only argument *pattern* " "which is passed to ``load_tests`` as the third argument. Found packages are " "now checked for ``load_tests`` regardless of whether their path matches " "*pattern*, because it is impossible for a package name to match the default " "pattern. (Contributed by Robert Collins and Barry A. Warsaw in :issue:" "`16662`.)" msgstr "" #: whatsnew/3.5.rst:1993 msgid "" "Unittest discovery errors now are exposed in the :data:`TestLoader.errors " "` attribute of the :class:`~unittest.TestLoader` " "instance. (Contributed by Robert Collins in :issue:`19746`.)" msgstr "" #: whatsnew/3.5.rst:1998 msgid "" "A new command line option ``--locals`` to show local variables in " "tracebacks. (Contributed by Robert Collins in :issue:`22936`.)" msgstr "" #: whatsnew/3.5.rst:2003 msgid "unittest.mock" msgstr "unittest.mock" #: whatsnew/3.5.rst:2005 msgid "The :class:`~unittest.mock.Mock` class has the following improvements:" msgstr "" #: whatsnew/3.5.rst:2007 msgid "" "The class constructor has a new *unsafe* parameter, which causes mock " "objects to raise :exc:`AttributeError` on attribute names starting with " "``\"assert\"``. (Contributed by Kushal Das in :issue:`21238`.)" msgstr "" #: whatsnew/3.5.rst:2012 msgid "" "A new :meth:`Mock.assert_not_called() ` method to check if the mock object was called. " "(Contributed by Kushal Das in :issue:`21262`.)" msgstr "" #: whatsnew/3.5.rst:2016 msgid "" "The :class:`~unittest.mock.MagicMock` class now supports :meth:" "`__truediv__`, :meth:`__divmod__` and :meth:`__matmul__` operators. " "(Contributed by Johannes Baiter in :issue:`20968`, and Håkan Lövdahl in :" "issue:`23581` and :issue:`23568`.)" msgstr "" #: whatsnew/3.5.rst:2021 msgid "" "It is no longer necessary to explicitly pass ``create=True`` to the :func:" "`~unittest.mock.patch` function when patching builtin names. (Contributed by " "Kushal Das in :issue:`17660`.)" msgstr "" #: whatsnew/3.5.rst:2027 msgid "urllib" msgstr "urllib" #: whatsnew/3.5.rst:2029 msgid "" "A new :class:`request.HTTPPasswordMgrWithPriorAuth ` class allows HTTP Basic Authentication " "credentials to be managed so as to eliminate unnecessary ``401`` response " "handling, or to unconditionally send credentials on the first request in " "order to communicate with servers that return a ``404`` response instead of " "a ``401`` if the ``Authorization`` header is not sent. (Contributed by Matej " "Cepl in :issue:`19494` and Akshit Khurana in :issue:`7159`.)" msgstr "" #: whatsnew/3.5.rst:2038 msgid "" "A new *quote_via* argument for the :func:`parse.urlencode() ` function provides a way to control the encoding of query parts " "if needed. (Contributed by Samwyse and Arnon Yaari in :issue:`13866`.)" msgstr "" #: whatsnew/3.5.rst:2043 msgid "" "The :func:`request.urlopen() ` function accepts an :" "class:`ssl.SSLContext` object as a *context* argument, which will be used " "for the HTTPS connection. (Contributed by Alex Gaynor in :issue:`22366`.)" msgstr "" #: whatsnew/3.5.rst:2047 msgid "" "The :func:`parse.urljoin() ` was updated to use the :" "rfc:`3986` semantics for the resolution of relative URLs, rather than :rfc:" "`1808` and :rfc:`2396`. (Contributed by Demian Brecht and Senthil Kumaran " "in :issue:`22118`.)" msgstr "" #: whatsnew/3.5.rst:2054 msgid "wsgiref" msgstr "wsgiref" #: whatsnew/3.5.rst:2056 msgid "" "The *headers* argument of the :class:`headers.Headers ` class constructor is now optional. (Contributed by Pablo Torres " "Navarrete and SilentGhost in :issue:`5800`.)" msgstr "" #: whatsnew/3.5.rst:2062 msgid "xmlrpc" msgstr "xmlrpc" #: whatsnew/3.5.rst:2064 msgid "" "The :class:`client.ServerProxy ` class now " "supports the :term:`context manager` protocol. (Contributed by Claudiu Popa " "in :issue:`20627`.)" msgstr "" #: whatsnew/3.5.rst:2068 msgid "" "The :class:`client.ServerProxy ` constructor now " "accepts an optional :class:`ssl.SSLContext` instance. (Contributed by Alex " "Gaynor in :issue:`22960`.)" msgstr "" #: whatsnew/3.5.rst:2074 msgid "xml.sax" msgstr "xml.sax" #: whatsnew/3.5.rst:2076 msgid "" "SAX parsers now support a character stream of the :class:`xmlreader." "InputSource ` object. (Contributed by Serhiy " "Storchaka in :issue:`2175`.)" msgstr "" #: whatsnew/3.5.rst:2080 msgid "" ":func:`~xml.sax.parseString` now accepts a :class:`str` instance. " "(Contributed by Serhiy Storchaka in :issue:`10590`.)" msgstr "" #: whatsnew/3.5.rst:2085 msgid "zipfile" msgstr "zipfile" #: whatsnew/3.5.rst:2087 msgid "" "ZIP output can now be written to unseekable streams. (Contributed by Serhiy " "Storchaka in :issue:`23252`.)" msgstr "" #: whatsnew/3.5.rst:2090 msgid "" "The *mode* argument of :meth:`ZipFile.open() ` method " "now accepts ``\"x\"`` to request exclusive creation. (Contributed by Serhiy " "Storchaka in :issue:`21717`.)" msgstr "" #: whatsnew/3.5.rst:2096 msgid "Other module-level changes" msgstr "" #: whatsnew/3.5.rst:2098 msgid "" "Many functions in the :mod:`mmap`, :mod:`ossaudiodev`, :mod:`socket`, :mod:" "`ssl`, and :mod:`codecs` modules now accept writable :term:`bytes-like " "objects `. (Contributed by Serhiy Storchaka in :issue:" "`23001`.)" msgstr "" #: whatsnew/3.5.rst:2105 #, fuzzy msgid "Optimizations" msgstr "Optimisation" #: whatsnew/3.5.rst:2107 msgid "" "The :func:`os.walk` function has been sped up by 3 to 5 times on POSIX " "systems, and by 7 to 20 times on Windows. This was done using the new :func:" "`os.scandir` function, which exposes file information from the underlying " "``readdir`` or ``FindFirstFile``/``FindNextFile`` system calls. " "(Contributed by Ben Hoyt with help from Victor Stinner in :issue:`23605`.)" msgstr "" #: whatsnew/3.5.rst:2113 msgid "" "Construction of ``bytes(int)`` (filled by zero bytes) is faster and uses " "less memory for large objects. ``calloc()`` is used instead of ``malloc()`` " "to allocate memory for these objects. (Contributed by Victor Stinner in :" "issue:`21233`.)" msgstr "" #: whatsnew/3.5.rst:2118 msgid "" "Some operations on :mod:`ipaddress` :class:`~ipaddress.IPv4Network` and :" "class:`~ipaddress.IPv6Network` have been massively sped up, such as :meth:" "`~ipaddress.IPv4Network.subnets`, :meth:`~ipaddress.IPv4Network.supernet`, :" "func:`~ipaddress.summarize_address_range`, :func:`~ipaddress." "collapse_addresses`. The speed up can range from 3 to 15 times. (Contributed " "by Antoine Pitrou, Michel Albert, and Markus in :issue:`21486`, :issue:" "`21487`, :issue:`20826`, :issue:`23266`.)" msgstr "" #: whatsnew/3.5.rst:2126 msgid "" "Pickling of :mod:`ipaddress` objects was optimized to produce significantly " "smaller output. (Contributed by Serhiy Storchaka in :issue:`23133`.)" msgstr "" #: whatsnew/3.5.rst:2129 msgid "" "Many operations on :class:`io.BytesIO` are now 50% to 100% faster. " "(Contributed by Serhiy Storchaka in :issue:`15381` and David Wilson in :" "issue:`22003`.)" msgstr "" #: whatsnew/3.5.rst:2133 msgid "" "The :func:`marshal.dumps` function is now faster: 65--85% with versions 3 " "and 4, 20--25% with versions 0 to 2 on typical data, and up to 5 times in " "best cases. (Contributed by Serhiy Storchaka in :issue:`20416` and :issue:" "`23344`.)" msgstr "" #: whatsnew/3.5.rst:2138 msgid "" "The UTF-32 encoder is now 3 to 7 times faster. (Contributed by Serhiy " "Storchaka in :issue:`15027`.)" msgstr "" #: whatsnew/3.5.rst:2141 msgid "" "Regular expressions are now parsed up to 10% faster. (Contributed by Serhiy " "Storchaka in :issue:`19380`.)" msgstr "" #: whatsnew/3.5.rst:2144 msgid "" "The :func:`json.dumps` function was optimized to run with " "``ensure_ascii=False`` as fast as with ``ensure_ascii=True``. (Contributed " "by Naoki Inada in :issue:`23206`.)" msgstr "" #: whatsnew/3.5.rst:2148 msgid "" "The :c:func:`PyObject_IsInstance` and :c:func:`PyObject_IsSubclass` " "functions have been sped up in the common case that the second argument has :" "class:`type` as its metaclass. (Contributed Georg Brandl by in :issue:" "`22540`.)" msgstr "" #: whatsnew/3.5.rst:2153 msgid "" "Method caching was slightly improved, yielding up to 5% performance " "improvement in some benchmarks. (Contributed by Antoine Pitrou in :issue:" "`22847`.)" msgstr "" #: whatsnew/3.5.rst:2157 msgid "" "Objects from the :mod:`random` module now use 50% less memory on 64-bit " "builds. (Contributed by Serhiy Storchaka in :issue:`23488`.)" msgstr "" #: whatsnew/3.5.rst:2160 msgid "" "The :func:`property` getter calls are up to 25% faster. (Contributed by Joe " "Jevnik in :issue:`23910`.)" msgstr "" #: whatsnew/3.5.rst:2163 msgid "" "Instantiation of :class:`fractions.Fraction` is now up to 30% faster. " "(Contributed by Stefan Behnel in :issue:`22464`.)" msgstr "" #: whatsnew/3.5.rst:2166 msgid "" "String methods :meth:`~str.find`, :meth:`~str.rfind`, :meth:`~str.split`, :" "meth:`~str.partition` and the :keyword:`in` string operator are now " "significantly faster for searching 1-character substrings. (Contributed by " "Serhiy Storchaka in :issue:`23573`.)" msgstr "" #: whatsnew/3.5.rst:2173 msgid "Build and C API Changes" msgstr "" #: whatsnew/3.5.rst:2175 msgid "New ``calloc`` functions were added:" msgstr "" #: whatsnew/3.5.rst:2177 msgid ":c:func:`PyMem_RawCalloc`," msgstr ":c:func:`PyMem_RawCalloc`," #: whatsnew/3.5.rst:2178 msgid ":c:func:`PyMem_Calloc`," msgstr ":c:func:`PyMem_Calloc`," #: whatsnew/3.5.rst:2179 msgid ":c:func:`PyObject_Calloc`." msgstr "" #: whatsnew/3.5.rst:2181 msgid "(Contributed by Victor Stinner in :issue:`21233`.)" msgstr "(Contribution par Victor Stinner; :issue:`21233`.)" #: whatsnew/3.5.rst:2183 msgid "New encoding/decoding helper functions:" msgstr "" #: whatsnew/3.5.rst:2185 msgid ":c:func:`Py_DecodeLocale` (replaced ``_Py_char2wchar()``)," msgstr "" #: whatsnew/3.5.rst:2186 msgid ":c:func:`Py_EncodeLocale` (replaced ``_Py_wchar2char()``)." msgstr "" #: whatsnew/3.5.rst:2188 msgid "(Contributed by Victor Stinner in :issue:`18395`.)" msgstr "(Contribution par Victor Stinner; :issue:`18395`.)" #: whatsnew/3.5.rst:2190 msgid "" "A new :c:func:`PyCodec_NameReplaceErrors` function to replace the unicode " "encode error with ``\\N{...}`` escapes. (Contributed by Serhiy Storchaka in :" "issue:`19676`.)" msgstr "" #: whatsnew/3.5.rst:2194 msgid "" "A new :c:func:`PyErr_FormatV` function similar to :c:func:`PyErr_Format`, " "but accepts a ``va_list`` argument. (Contributed by Antoine Pitrou in :issue:" "`18711`.)" msgstr "" #: whatsnew/3.5.rst:2198 msgid "" "A new :c:data:`PyExc_RecursionError` exception. (Contributed by Georg Brandl " "in :issue:`19235`.)" msgstr "" #: whatsnew/3.5.rst:2201 msgid "" "New :c:func:`PyModule_FromDefAndSpec`, :c:func:`PyModule_FromDefAndSpec2`, " "and :c:func:`PyModule_ExecDef` functions introduced by :pep:`489` -- multi-" "phase extension module initialization. (Contributed by Petr Viktorin in :" "issue:`24268`.)" msgstr "" #: whatsnew/3.5.rst:2206 msgid "" "New :c:func:`PyNumber_MatrixMultiply` and :c:func:" "`PyNumber_InPlaceMatrixMultiply` functions to perform matrix multiplication. " "(Contributed by Benjamin Peterson in :issue:`21176`. See also :pep:`465` " "for details.)" msgstr "" #: whatsnew/3.5.rst:2212 msgid "" "The :c:member:`PyTypeObject.tp_finalize` slot is now part of the stable ABI." msgstr "" #: whatsnew/3.5.rst:2214 msgid "" "Windows builds now require Microsoft Visual C++ 14.0, which is available as " "part of `Visual Studio 2015 `_." msgstr "" #: whatsnew/3.5.rst:2217 msgid "" "Extension modules now include a platform information tag in their filename " "on some platforms (the tag is optional, and CPython will import extensions " "without it, although if the tag is present and mismatched, the extension " "won't be loaded):" msgstr "" #: whatsnew/3.5.rst:2222 msgid "" "On Linux, extension module filenames end with ``.cpython-m-" "-.pyd``:" msgstr "" #: whatsnew/3.5.rst:2242 msgid "" "```` is the major number of the Python version; for Python 3.5 this " "is ``3``." msgstr "" #: whatsnew/3.5.rst:2245 msgid "" "```` is the minor number of the Python version; for Python 3.5 this " "is ``5``." msgstr "" #: whatsnew/3.5.rst:2231 msgid "" "```` is the hardware architecture the extension module was " "built to run on. It's most commonly either ``i386`` for 32-bit Intel " "platforms or ``x86_64`` for 64-bit Intel (and AMD) platforms." msgstr "" #: whatsnew/3.5.rst:2235 msgid "" "```` is always ``linux-gnu``, except for extensions built to talk to the " "32-bit ABI on 64-bit platforms, in which case it is ``linux-gnu32`` (and " "```` will be ``x86_64``)." msgstr "" #: whatsnew/3.5.rst:2239 msgid "" "On Windows, extension module filenames end with ``.cp-" ".pyd``:" msgstr "" #: whatsnew/3.5.rst:2248 msgid "" "```` is the platform the extension module was built for, either " "``win32`` for Win32, ``win_amd64`` for Win64, ``win_ia64`` for Windows " "Itanium 64, and ``win_arm`` for Windows on ARM." msgstr "" #: whatsnew/3.5.rst:2252 msgid "" "If built in debug mode, ```` will be ``_d``, otherwise it will be " "blank." msgstr "" #: whatsnew/3.5.rst:2255 msgid "" "On OS X platforms, extension module filenames now end with ``-darwin.so``." msgstr "" #: whatsnew/3.5.rst:2257 msgid "" "On all other platforms, extension module filenames are the same as they were " "with Python 3.4." msgstr "" #: whatsnew/3.5.rst:2262 msgid "Deprecated" msgstr "" #: whatsnew/3.5.rst:2265 msgid "New Keywords" msgstr "Nouveaux mot-clefs" #: whatsnew/3.5.rst:2267 msgid "" "``async`` and ``await`` are not recommended to be used as variable, class, " "function or module names. Introduced by :pep:`492` in Python 3.5, they will " "become proper keywords in Python 3.7." msgstr "" #: whatsnew/3.5.rst:2273 msgid "Deprecated Python Behavior" msgstr "" #: whatsnew/3.5.rst:2275 msgid "" "Raising the :exc:`StopIteration` exception inside a generator will now " "generate a silent :exc:`PendingDeprecationWarning`, which will become a non-" "silent deprecation warning in Python 3.6 and will trigger a :exc:" "`RuntimeError` in Python 3.7. See :ref:`PEP 479: Change StopIteration " "handling inside generators ` for details." msgstr "" #: whatsnew/3.5.rst:2283 msgid "Unsupported Operating Systems" msgstr "" #: whatsnew/3.5.rst:2285 msgid "" "Windows XP is no longer supported by Microsoft, thus, per :PEP:`11`, CPython " "3.5 is no longer officially supported on this OS." msgstr "" #: whatsnew/3.5.rst:2290 msgid "Deprecated Python modules, functions and methods" msgstr "" #: whatsnew/3.5.rst:2292 msgid "" "The :mod:`formatter` module has now graduated to full deprecation and is " "still slated for removal in Python 3.6." msgstr "" #: whatsnew/3.5.rst:2295 msgid "" "The :func:`asyncio.async` function is deprecated in favor of :func:`~asyncio." "ensure_future`." msgstr "" #: whatsnew/3.5.rst:2298 msgid "" "The :mod:`smtpd` module has in the past always decoded the DATA portion of " "email messages using the ``utf-8`` codec. This can now be controlled by the " "new *decode_data* keyword to :class:`~smtpd.SMTPServer`. The default value " "is ``True``, but this default is deprecated. Specify the *decode_data* " "keyword with an appropriate value to avoid the deprecation warning." msgstr "" #: whatsnew/3.5.rst:2304 msgid "" "Directly assigning values to the :attr:`~http.cookies.Morsel.key`, :attr:" "`~http.cookies.Morsel.value` and :attr:`~http.cookies.Morsel.coded_value` " "of :class:`http.cookies.Morsel` objects is deprecated. Use the :meth:`~http." "cookies.Morsel.set` method instead. In addition, the undocumented " "*LegalChars* parameter of :meth:`~http.cookies.Morsel.set` is deprecated, " "and is now ignored." msgstr "" #: whatsnew/3.5.rst:2311 msgid "" "Passing a format string as keyword argument *format_string* to the :meth:" "`~string.Formatter.format` method of the :class:`string.Formatter` class has " "been deprecated. (Contributed by Serhiy Storchaka in :issue:`23671`.)" msgstr "" #: whatsnew/3.5.rst:2316 msgid "" "The :func:`platform.dist` and :func:`platform.linux_distribution` functions " "are now deprecated. Linux distributions use too many different ways of " "describing themselves, so the functionality is left to a package. " "(Contributed by Vajrasky Kok and Berker Peksag in :issue:`1322`.)" msgstr "" #: whatsnew/3.5.rst:2321 msgid "" "The previously undocumented ``from_function`` and ``from_builtin`` methods " "of :class:`inspect.Signature` are deprecated. Use the new :meth:`Signature." "from_callable() ` method instead. " "(Contributed by Yury Selivanov in :issue:`24248`.)" msgstr "" #: whatsnew/3.5.rst:2326 msgid "" "The :func:`inspect.getargspec` function is deprecated and scheduled to be " "removed in Python 3.6. (See :issue:`20438` for details.)" msgstr "" #: whatsnew/3.5.rst:2329 msgid "" "The :mod:`inspect` :func:`~inspect.getfullargspec`, :func:`~inspect." "getcallargs`, and :func:`~inspect.formatargspec` functions are deprecated in " "favor of the :func:`inspect.signature` API. (Contributed by Yury Selivanov " "in :issue:`20438`.)" msgstr "" #: whatsnew/3.5.rst:2334 msgid "" ":func:`~inspect.getargvalues` and :func:`~inspect.formatargvalues` functions " "were inadvertently marked as deprecated with the release of Python 3.5.0." msgstr "" #: whatsnew/3.5.rst:2337 msgid "" "Use of :const:`re.LOCALE` flag with str patterns or :const:`re.ASCII` is now " "deprecated. (Contributed by Serhiy Storchaka in :issue:`22407`.)" msgstr "" #: whatsnew/3.5.rst:2340 msgid "" "Use of unrecognized special sequences consisting of ``'\\'`` and an ASCII " "letter in regular expression patterns and replacement patterns now raises a " "deprecation warning and will be forbidden in Python 3.6. (Contributed by " "Serhiy Storchaka in :issue:`23622`.)" msgstr "" #: whatsnew/3.5.rst:2345 msgid "" "The undocumented and unofficial *use_load_tests* default argument of the :" "meth:`unittest.TestLoader.loadTestsFromModule` method now is deprecated and " "ignored. (Contributed by Robert Collins and Barry A. Warsaw in :issue:" "`16662`.)" msgstr "" #: whatsnew/3.5.rst:2352 msgid "Removed" msgstr "" #: whatsnew/3.5.rst:2355 msgid "API and Feature Removals" msgstr "" #: whatsnew/3.5.rst:2357 msgid "" "The following obsolete and previously deprecated APIs and features have been " "removed:" msgstr "" #: whatsnew/3.5.rst:2360 msgid "" "The ``__version__`` attribute has been dropped from the email package. The " "email code hasn't been shipped separately from the stdlib for a long time, " "and the ``__version__`` string was not updated in the last few releases." msgstr "" #: whatsnew/3.5.rst:2364 msgid "" "The internal ``Netrc`` class in the :mod:`ftplib` module was deprecated in " "3.4, and has now been removed. (Contributed by Matt Chaput in :issue:`6623`.)" msgstr "" #: whatsnew/3.5.rst:2368 msgid "The concept of ``.pyo`` files has been removed." msgstr "" #: whatsnew/3.5.rst:2370 msgid "" "The JoinableQueue class in the provisional :mod:`asyncio` module was " "deprecated in 3.4.4 and is now removed. (Contributed by A. Jesse Jiryu Davis " "in :issue:`23464`.)" msgstr "" #: whatsnew/3.5.rst:2376 msgid "Porting to Python 3.5" msgstr "Portage vers Python 3.5" #: whatsnew/3.5.rst:2378 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." msgstr "" #: whatsnew/3.5.rst:2383 msgid "Changes in Python behavior" msgstr "" #: whatsnew/3.5.rst:2385 msgid "" "Due to an oversight, earlier Python versions erroneously accepted the " "following syntax::" msgstr "" #: whatsnew/3.5.rst:2391 msgid "" "Python 3.5 now correctly raises a :exc:`SyntaxError`, as generator " "expressions must be put in parentheses if not a sole argument to a function." msgstr "" #: whatsnew/3.5.rst:2396 msgid "Changes in the Python API" msgstr "" #: whatsnew/3.5.rst:2398 msgid "" ":pep:`475`: System calls are now retried when interrupted by a signal " "instead of raising :exc:`InterruptedError` if the Python signal handler does " "not raise an exception." msgstr "" #: whatsnew/3.5.rst:2402 msgid "" "Before Python 3.5, a :class:`datetime.time` object was considered to be " "false if it represented midnight in UTC. This behavior was considered " "obscure and error-prone and has been removed in Python 3.5. See :issue:" "`13936` for full details." msgstr "" #: whatsnew/3.5.rst:2407 msgid "" "The :meth:`ssl.SSLSocket.send()` method now raises either :exc:`ssl." "SSLWantReadError` or :exc:`ssl.SSLWantWriteError` on a non-blocking socket " "if the operation would block. Previously, it would return ``0``. " "(Contributed by Nikolaus Rath in :issue:`20951`.)" msgstr "" #: whatsnew/3.5.rst:2412 msgid "" "The ``__name__`` attribute of generators is now set from the function name, " "instead of being set from the code name. Use ``gen.gi_code.co_name`` to " "retrieve the code name. Generators also have a new ``__qualname__`` " "attribute, the qualified name, which is now used for the representation of a " "generator (``repr(gen)``). (Contributed by Victor Stinner in :issue:`21205`.)" msgstr "" #: whatsnew/3.5.rst:2419 msgid "" "The deprecated \"strict\" mode and argument of :class:`~html.parser." "HTMLParser`, :meth:`HTMLParser.error`, and the :exc:`HTMLParserError` " "exception have been removed. (Contributed by Ezio Melotti in :issue:" "`15114`.) The *convert_charrefs* argument of :class:`~html.parser." "HTMLParser` is now ``True`` by default. (Contributed by Berker Peksag in :" "issue:`21047`.)" msgstr "" #: whatsnew/3.5.rst:2425 msgid "" "Although it is not formally part of the API, it is worth noting for porting " "purposes (ie: fixing tests) that error messages that were previously of the " "form \"'sometype' does not support the buffer protocol\" are now of the form " "\"a :term:`bytes-like object` is required, not 'sometype'\". (Contributed by " "Ezio Melotti in :issue:`16518`.)" msgstr "" #: whatsnew/3.5.rst:2431 msgid "" "If the current directory is set to a directory that no longer exists then :" "exc:`FileNotFoundError` will no longer be raised and instead :meth:" "`~importlib.machinery.FileFinder.find_spec` will return ``None`` **without** " "caching ``None`` in :data:`sys.path_importer_cache`, which is different than " "the typical case (:issue:`22834`)." msgstr "" #: whatsnew/3.5.rst:2437 msgid "" "HTTP status code and messages from :mod:`http.client` and :mod:`http.server` " "were refactored into a common :class:`~http.HTTPStatus` enum. The values " "in :mod:`http.client` and :mod:`http.server` remain available for backwards " "compatibility. (Contributed by Demian Brecht in :issue:`21793`.)" msgstr "" #: whatsnew/3.5.rst:2442 msgid "" "When an import loader defines :meth:`importlib.machinery.Loader.exec_module` " "it is now expected to also define :meth:`~importlib.machinery.Loader." "create_module` (raises a :exc:`DeprecationWarning` now, will be an error in " "Python 3.6). If the loader inherits from :class:`importlib.abc.Loader` then " "there is nothing to do, else simply define :meth:`~importlib.machinery." "Loader.create_module` to return ``None``. (Contributed by Brett Cannon in :" "issue:`23014`.)" msgstr "" #: whatsnew/3.5.rst:2450 msgid "" "The :func:`re.split` function always ignored empty pattern matches, so the " "``\"x*\"`` pattern worked the same as ``\"x+\"``, and the ``\"\\b\"`` " "pattern never worked. Now :func:`re.split` raises a warning if the pattern " "could match an empty string. For compatibility, use patterns that never " "match an empty string (e.g. ``\"x+\"`` instead of ``\"x*\"``). Patterns " "that could only match an empty string (such as ``\"\\b\"``) now raise an " "error. (Contributed by Serhiy Storchaka in :issue:`22818`.)" msgstr "" #: whatsnew/3.5.rst:2458 msgid "" "The :class:`http.cookies.Morsel` dict-like interface has been made self " "consistent: morsel comparison now takes the :attr:`~http.cookies.Morsel." "key` and :attr:`~http.cookies.Morsel.value` into account, :meth:`~http." "cookies.Morsel.copy` now results in a :class:`~http.cookies.Morsel` instance " "rather than a :class:`dict`, and :meth:`~http.cookies.Morsel.update` will " "now raise an exception if any of the keys in the update dictionary are " "invalid. In addition, the undocumented *LegalChars* parameter of :func:" "`~http.cookies.Morsel.set` is deprecated and is now ignored. (Contributed " "by Demian Brecht in :issue:`2211`.)" msgstr "" #: whatsnew/3.5.rst:2468 msgid "" ":pep:`488` has removed ``.pyo`` files from Python and introduced the " "optional ``opt-`` tag in ``.pyc`` file names. The :func:`importlib.util." "cache_from_source` has gained an *optimization* parameter to help control " "the ``opt-`` tag. Because of this, the *debug_override* parameter of the " "function is now deprecated. ``.pyo`` files are also no longer supported as a " "file argument to the Python interpreter and thus serve no purpose when " "distributed on their own (i.e. sourceless code distribution). Due to the " "fact that the magic number for bytecode has changed in Python 3.5, all old " "``.pyo`` files from previous versions of Python are invalid regardless of " "this PEP." msgstr "" #: whatsnew/3.5.rst:2479 msgid "" "The :mod:`socket` module now exports the :data:`~socket.CAN_RAW_FD_FRAMES` " "constant on linux 3.6 and greater." msgstr "" #: whatsnew/3.5.rst:2482 msgid "" "The :func:`ssl.cert_time_to_seconds` function now interprets the input time " "as UTC and not as local time, per :rfc:`5280`. Additionally, the return " "value is always an :class:`int`. (Contributed by Akira Li in :issue:`19940`.)" msgstr "" #: whatsnew/3.5.rst:2486 msgid "" "The ``pygettext.py`` Tool now uses the standard +NNNN format for timezones " "in the POT-Creation-Date header." msgstr "" #: whatsnew/3.5.rst:2489 msgid "" "The :mod:`smtplib` module now uses :data:`sys.stderr` instead of the " "previous module-level :data:`stderr` variable for debug output. If your " "(test) program depends on patching the module-level variable to capture the " "debug output, you will need to update it to capture sys.stderr instead." msgstr "" #: whatsnew/3.5.rst:2494 msgid "" "The :meth:`str.startswith` and :meth:`str.endswith` methods no longer return " "``True`` when finding the empty string and the indexes are completely out of " "range. (Contributed by Serhiy Storchaka in :issue:`24284`.)" msgstr "" #: whatsnew/3.5.rst:2498 msgid "" "The :func:`inspect.getdoc` function now returns documentation strings " "inherited from base classes. Documentation strings no longer need to be " "duplicated if the inherited documentation is appropriate. To suppress an " "inherited string, an empty string must be specified (or the documentation " "may be filled in). This change affects the output of the :mod:`pydoc` " "module and the :func:`help` function. (Contributed by Serhiy Storchaka in :" "issue:`15582`.)" msgstr "" #: whatsnew/3.5.rst:2506 msgid "" "Nested :func:`functools.partial` calls are now flattened. If you were " "relying on the previous behavior, you can now either add an attribute to a :" "func:`functools.partial` object or you can create a subclass of :func:" "`functools.partial`. (Contributed by Alexander Belopolsky in :issue:`7830`.)" msgstr "" #: whatsnew/3.5.rst:2513 msgid "Changes in the C API" msgstr "" #: whatsnew/3.5.rst:2515 msgid "" "The undocumented :c:member:`~PyMemoryViewObject.format` member of the (non-" "public) :c:type:`PyMemoryViewObject` structure has been removed. All " "extensions relying on the relevant parts in ``memoryobject.h`` must be " "rebuilt." msgstr "" #: whatsnew/3.5.rst:2520 msgid "" "The :c:type:`PyMemAllocator` structure was renamed to :c:type:" "`PyMemAllocatorEx` and a new ``calloc`` field was added." msgstr "" #: whatsnew/3.5.rst:2523 msgid "" "Removed non-documented macro :c:macro:`PyObject_REPR` which leaked " "references. Use format character ``%R`` in :c:func:`PyUnicode_FromFormat`-" "like functions to format the :func:`repr` of the object. (Contributed by " "Serhiy Storchaka in :issue:`22453`.)" msgstr "" #: whatsnew/3.5.rst:2528 msgid "" "Because the lack of the :attr:`__module__` attribute breaks pickling and " "introspection, a deprecation warning is now raised for builtin types without " "the :attr:`__module__` attribute. This would be an AttributeError in the " "future. (Contributed by Serhiy Storchaka in :issue:`20204`.)" msgstr "" #: whatsnew/3.5.rst:2534 msgid "" "As part of the :pep:`492` implementation, the ``tp_reserved`` slot of :c:" "type:`PyTypeObject` was replaced with a :c:member:`tp_as_async` slot. Refer " "to :ref:`coro-objects` for new types, structures and functions." msgstr "" #: whatsnew/3.5.rst:2541 msgid "Notable changes in Python 3.5.4" msgstr "" #: whatsnew/3.5.rst:2544 msgid "New ``make regen-all`` build target" msgstr "" #: whatsnew/3.5.rst:2546 msgid "" "To simplify cross-compilation, and to ensure that CPython can reliably be " "compiled without requiring an existing version of Python to already be " "available, the autotools-based build system no longer attempts to implicitly " "recompile generated files based on file modification times." msgstr "" #: whatsnew/3.5.rst:2551 msgid "" "Instead, a new ``make regen-all`` command has been added to force " "regeneration of these files when desired (e.g. after an initial version of " "Python has already been built based on the pregenerated versions)." msgstr "" #: whatsnew/3.5.rst:2555 msgid "" "More selective regeneration targets are also defined - see :source:`Makefile." "pre.in` for details." msgstr "" #: whatsnew/3.5.rst:2571 #, fuzzy msgid "(Contributed by Victor Stinner in :issue:`23404`.)" msgstr "(Contribution par Victor Stinner; :issue:`12049`.)" #: whatsnew/3.5.rst:2564 msgid "Removal of ``make touch`` build target" msgstr "" #: whatsnew/3.5.rst:2566 msgid "" "The ``make touch`` build target previously used to request implicit " "regeneration of generated files by updating their modification times has " "been removed." msgstr "" #: whatsnew/3.5.rst:2569 msgid "It has been replaced by the new ``make regen-all`` target." msgstr ""