python-docs-fr/whatsnew/3.7.po

3626 lines
120 KiB
Plaintext
Raw Permalink Normal View History

2018-06-28 13:32:56 +00:00
# Copyright (C) 2001-2018, Python Software Foundation
2018-07-04 09:08:42 +00:00
# For licence information, see README file.
2018-06-28 13:32:56 +00:00
#
msgid ""
msgstr ""
2019-12-05 22:15:54 +00:00
"Project-Id-Version: Python 3\n"
2018-06-28 13:32:56 +00:00
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2018-08-03 23:47+0200\n"
2018-06-28 13:32:56 +00:00
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
2018-07-04 09:14:25 +00:00
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
2018-06-28 13:32:56 +00:00
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: whatsnew/3.7.rst:3
2020-02-14 10:18:53 +00:00
#, fuzzy
2018-06-28 13:32:56 +00:00
msgid "What's New In Python 3.7"
2020-02-14 10:18:53 +00:00
msgstr "Nouveautés de Python 3.0"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:0
2018-06-28 13:32:56 +00:00
msgid "Editor"
msgstr "Rédacteur"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:5
2018-06-28 13:32:56 +00:00
msgid "Elvis Pranskevichus <elvis@magic.io>"
msgstr ""
#: whatsnew/3.7.rst:47
2018-06-28 13:32:56 +00:00
msgid ""
"This article explains the new features in Python 3.7, compared to 3.6. "
"Python 3.7 was released on June 27, 2018. For full details, see the :ref:"
"`changelog <changelog>`."
msgstr ""
#: whatsnew/3.7.rst:53
2018-06-28 13:32:56 +00:00
msgid "Summary -- Release Highlights"
msgstr ""
#: whatsnew/3.7.rst:58
2018-06-28 13:32:56 +00:00
msgid "New syntax features:"
msgstr ""
#: whatsnew/3.7.rst:60
2018-06-28 13:32:56 +00:00
msgid ""
":ref:`PEP 563 <whatsnew37-pep563>`, postponed evaluation of type annotations."
msgstr ""
#: whatsnew/3.7.rst:62
2018-06-28 13:32:56 +00:00
msgid "Backwards incompatible syntax changes:"
msgstr ""
#: whatsnew/3.7.rst:64
2018-06-28 13:32:56 +00:00
msgid ":keyword:`async` and :keyword:`await` are now reserved keywords."
msgstr ""
#: whatsnew/3.7.rst:66
2018-06-28 13:32:56 +00:00
msgid "New library modules:"
msgstr ""
#: whatsnew/3.7.rst:68
2018-06-28 13:32:56 +00:00
msgid ""
":mod:`contextvars`: :ref:`PEP 567 -- Context Variables <whatsnew37-pep567>`"
msgstr ""
#: whatsnew/3.7.rst:69
2018-06-28 13:32:56 +00:00
msgid ":mod:`dataclasses`: :ref:`PEP 557 -- Data Classes <whatsnew37-pep557>`"
msgstr ""
#: whatsnew/3.7.rst:70
2018-06-28 13:32:56 +00:00
msgid ":ref:`whatsnew37_importlib_resources`"
msgstr ":ref:`whatsnew37_importlib_resources`"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:72
2018-06-28 13:32:56 +00:00
msgid "New built-in features:"
msgstr ""
#: whatsnew/3.7.rst:74
2018-06-28 13:32:56 +00:00
msgid ""
":ref:`PEP 553 <whatsnew37-pep553>`, the new :func:`breakpoint` function."
msgstr ""
#: whatsnew/3.7.rst:76
2018-06-28 13:32:56 +00:00
msgid "Python data model improvements:"
msgstr ""
#: whatsnew/3.7.rst:78
2018-06-28 13:32:56 +00:00
msgid ""
":ref:`PEP 562 <whatsnew37-pep562>`, customization of access to module "
"attributes."
msgstr ""
#: whatsnew/3.7.rst:81
2018-06-28 13:32:56 +00:00
msgid ""
":ref:`PEP 560 <whatsnew37-pep560>`, core support for typing module and "
"generic types."
msgstr ""
#: whatsnew/3.7.rst:84
2018-06-28 13:32:56 +00:00
msgid ""
"the insertion-order preservation nature of :ref:`dict <typesmapping>` "
"objects `has been declared`_ to be an official part of the Python language "
"spec."
msgstr ""
#: whatsnew/3.7.rst:90
2018-06-28 13:32:56 +00:00
msgid "Significant improvements in the standard library:"
msgstr ""
#: whatsnew/3.7.rst:92
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`asyncio` module has received new features, significant :ref:"
"`usability and performance improvements <whatsnew37_asyncio>`."
msgstr ""
#: whatsnew/3.7.rst:95
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`time` module gained support for :ref:`functions with nanosecond "
"resolution <whatsnew37-pep564>`."
msgstr ""
#: whatsnew/3.7.rst:98
2018-06-28 13:32:56 +00:00
msgid "CPython implementation improvements:"
msgstr ""
#: whatsnew/3.7.rst:100
2018-06-28 13:32:56 +00:00
msgid "Avoiding the use of ASCII as a default text encoding:"
msgstr ""
#: whatsnew/3.7.rst:102
2018-06-28 13:32:56 +00:00
msgid ":ref:`PEP 538 <whatsnew37-pep538>`, legacy C locale coercion"
msgstr ""
#: whatsnew/3.7.rst:103
2018-06-28 13:32:56 +00:00
msgid ":ref:`PEP 540 <whatsnew37-pep540>`, forced UTF-8 runtime mode"
msgstr ""
#: whatsnew/3.7.rst:104
2018-06-28 13:32:56 +00:00
msgid ":ref:`PEP 552 <whatsnew37-pep552>`, deterministic .pycs"
msgstr ""
#: whatsnew/3.7.rst:105
2020-07-20 08:56:42 +00:00
msgid ":ref:`New Python Development Mode <whatsnew37-devmode>`"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:106
2018-06-28 13:32:56 +00:00
msgid ""
":ref:`PEP 565 <whatsnew37-pep565>`, improved :exc:`DeprecationWarning` "
"handling"
msgstr ""
#: whatsnew/3.7.rst:109
2018-06-28 13:32:56 +00:00
msgid "C API improvements:"
msgstr ""
#: whatsnew/3.7.rst:111
2018-06-28 13:32:56 +00:00
msgid ":ref:`PEP 539 <whatsnew37-pep539>`, new C API for thread-local storage"
msgstr ""
#: whatsnew/3.7.rst:113
2018-06-28 13:32:56 +00:00
msgid "Documentation improvements:"
msgstr ""
#: whatsnew/3.7.rst:115
2018-06-28 13:32:56 +00:00
msgid ":ref:`PEP 545 <whatsnew37-pep545>`, Python documentation translations"
msgstr ""
#: whatsnew/3.7.rst:116
2018-06-28 13:32:56 +00:00
msgid ""
"New documentation translations: `Japanese <https://docs.python.org/ja/>`_, "
"`French <https://docs.python.org/fr/>`_, and `Korean <https://docs.python."
"org/ko/>`_."
msgstr ""
#: whatsnew/3.7.rst:120
2018-06-28 13:32:56 +00:00
msgid ""
"This release features notable performance improvements in many areas. The :"
"ref:`whatsnew37-perf` section lists them in detail."
msgstr ""
#: whatsnew/3.7.rst:123
2018-06-28 13:32:56 +00:00
msgid ""
"For a list of changes that may affect compatibility with previous Python "
"releases please refer to the :ref:`porting-to-python-37` section."
msgstr ""
#: whatsnew/3.7.rst:128
2018-06-28 13:32:56 +00:00
msgid "New Features"
msgstr "Nouvelles fonctionnalités"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:133
2018-06-28 13:32:56 +00:00
msgid "PEP 563: Postponed Evaluation of Annotations"
msgstr ""
#: whatsnew/3.7.rst:135
2018-06-28 13:32:56 +00:00
msgid ""
"The advent of type hints in Python uncovered two glaring usability issues "
"with the functionality of annotations added in :pep:`3107` and refined "
"further in :pep:`526`:"
msgstr ""
#: whatsnew/3.7.rst:139
2018-06-28 13:32:56 +00:00
msgid ""
"annotations could only use names which were already available in the current "
"scope, in other words they didn't support forward references of any kind; and"
msgstr ""
#: whatsnew/3.7.rst:143
2018-06-28 13:32:56 +00:00
msgid ""
"annotating source code had adverse effects on startup time of Python "
"programs."
msgstr ""
#: whatsnew/3.7.rst:146
2018-06-28 13:32:56 +00:00
msgid ""
"Both of these issues are fixed by postponing the evaluation of annotations. "
"Instead of compiling code which executes expressions in annotations at their "
"definition time, the compiler stores the annotation in a string form "
"equivalent to the AST of the expression in question. If needed, annotations "
"can be resolved at runtime using :func:`typing.get_type_hints`. In the "
"common case where this is not required, the annotations are cheaper to store "
"(since short strings are interned by the interpreter) and make startup time "
"faster."
msgstr ""
#: whatsnew/3.7.rst:155
2018-06-28 13:32:56 +00:00
msgid ""
"Usability-wise, annotations now support forward references, making the "
"following syntax valid::"
msgstr ""
#: whatsnew/3.7.rst:169
2018-06-28 13:32:56 +00:00
msgid ""
"Since this change breaks compatibility, the new behavior needs to be enabled "
"on a per-module basis in Python 3.7 using a :mod:`__future__` import::"
msgstr ""
#: whatsnew/3.7.rst:174
2020-09-11 07:11:46 +00:00
msgid "It will become the default in Python 3.10."
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:178
2020-02-14 10:18:53 +00:00
#, fuzzy
2018-06-28 13:32:56 +00:00
msgid ":pep:`563` -- Postponed evaluation of annotations"
2020-02-14 10:18:53 +00:00
msgstr ":pep:`563` — Évaluation différée des annotations"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:179
2018-06-28 13:32:56 +00:00
msgid "PEP written and implemented by Łukasz Langa."
msgstr ""
#: whatsnew/3.7.rst:185
2018-06-28 13:32:56 +00:00
msgid "PEP 538: Legacy C Locale Coercion"
msgstr ""
#: whatsnew/3.7.rst:187
2018-06-28 13:32:56 +00:00
msgid ""
"An ongoing challenge within the Python 3 series has been determining a "
"sensible default strategy for handling the \"7-bit ASCII\" text encoding "
"assumption currently implied by the use of the default C or POSIX locale on "
"non-Windows platforms."
msgstr ""
#: whatsnew/3.7.rst:192
2018-06-28 13:32:56 +00:00
msgid ""
":pep:`538` updates the default interpreter command line interface to "
"automatically coerce that locale to an available UTF-8 based locale as "
"described in the documentation of the new :envvar:`PYTHONCOERCECLOCALE` "
"environment variable. Automatically setting ``LC_CTYPE`` this way means that "
"both the core interpreter and locale-aware C extensions (such as :mod:"
"`readline`) will assume the use of UTF-8 as the default text encoding, "
"rather than ASCII."
msgstr ""
#: whatsnew/3.7.rst:200
2018-06-28 13:32:56 +00:00
msgid ""
"The platform support definition in :pep:`11` has also been updated to limit "
"full text handling support to suitably configured non-ASCII based locales."
msgstr ""
#: whatsnew/3.7.rst:203
2018-06-28 13:32:56 +00:00
msgid ""
"As part of this change, the default error handler for :data:`~sys.stdin` "
"and :data:`~sys.stdout` is now ``surrogateescape`` (rather than ``strict``) "
"when using any of the defined coercion target locales (currently ``C."
"UTF-8``, ``C.utf8``, and ``UTF-8``). The default error handler for :data:"
"`~sys.stderr` continues to be ``backslashreplace``, regardless of locale."
msgstr ""
#: whatsnew/3.7.rst:209
2018-06-28 13:32:56 +00:00
msgid ""
"Locale coercion is silent by default, but to assist in debugging potentially "
"locale related integration problems, explicit warnings (emitted directly on :"
"data:`~sys.stderr`) can be requested by setting "
"``PYTHONCOERCECLOCALE=warn``. This setting will also cause the Python "
"runtime to emit a warning if the legacy C locale remains active when the "
"core interpreter is initialized."
msgstr ""
#: whatsnew/3.7.rst:215
2018-06-28 13:32:56 +00:00
msgid ""
"While :pep:`538`'s locale coercion has the benefit of also affecting "
"extension modules (such as GNU ``readline``), as well as child processes "
"(including those running non-Python applications and older versions of "
"Python), it has the downside of requiring that a suitable target locale be "
"present on the running system. To better handle the case where no suitable "
"target locale is available (as occurs on RHEL/CentOS 7, for example), Python "
"3.7 also implements :ref:`whatsnew37-pep540`."
msgstr ""
#: whatsnew/3.7.rst:225
2018-06-28 13:32:56 +00:00
msgid ":pep:`538` -- Coercing the legacy C locale to a UTF-8 based locale"
msgstr ""
#: whatsnew/3.7.rst:226
2018-06-28 13:32:56 +00:00
msgid "PEP written and implemented by Nick Coghlan."
msgstr ""
#: whatsnew/3.7.rst:232
2018-06-28 13:32:56 +00:00
msgid "PEP 540: Forced UTF-8 Runtime Mode"
msgstr ""
#: whatsnew/3.7.rst:234
2018-06-28 13:32:56 +00:00
msgid ""
"The new :option:`-X` ``utf8`` command line option and :envvar:`PYTHONUTF8` "
"environment variable can be used to enable the :ref:`Python UTF-8 Mode <utf8-"
"mode>`."
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:238
2018-06-28 13:32:56 +00:00
msgid ""
"When in UTF-8 mode, CPython ignores the locale settings, and uses the UTF-8 "
"encoding by default. The error handlers for :data:`sys.stdin` and :data:"
"`sys.stdout` streams are set to ``surrogateescape``."
msgstr ""
#: whatsnew/3.7.rst:242
2018-06-28 13:32:56 +00:00
msgid ""
"The forced UTF-8 mode can be used to change the text handling behavior in an "
"embedded Python interpreter without changing the locale settings of an "
"embedding application."
msgstr ""
#: whatsnew/3.7.rst:246
2018-06-28 13:32:56 +00:00
msgid ""
"While :pep:`540`'s UTF-8 mode has the benefit of working regardless of which "
"locales are available on the running system, it has the downside of having "
"no effect on extension modules (such as GNU ``readline``), child processes "
"running non-Python applications, and child processes running older versions "
"of Python. To reduce the risk of corrupting text data when communicating "
"with such components, Python 3.7 also implements :ref:`whatsnew37-pep540`)."
msgstr ""
#: whatsnew/3.7.rst:253
2018-06-28 13:32:56 +00:00
msgid ""
"The UTF-8 mode is enabled by default when the locale is ``C`` or ``POSIX``, "
"and the :pep:`538` locale coercion feature fails to change it to a UTF-8 "
"based alternative (whether that failure is due to ``PYTHONCOERCECLOCALE=0`` "
"being set, ``LC_ALL`` being set, or the lack of a suitable target locale)."
msgstr ""
#: whatsnew/3.7.rst:260
2018-06-28 13:32:56 +00:00
msgid ":pep:`540` -- Add a new UTF-8 mode"
msgstr ""
#: whatsnew/3.7.rst:363
2018-06-28 13:32:56 +00:00
msgid "PEP written and implemented by Victor Stinner"
msgstr ""
#: whatsnew/3.7.rst:267
2018-06-28 13:32:56 +00:00
msgid "PEP 553: Built-in ``breakpoint()``"
msgstr ""
#: whatsnew/3.7.rst:269
2018-06-28 13:32:56 +00:00
msgid ""
"Python 3.7 includes the new built-in :func:`breakpoint` function as an easy "
"and consistent way to enter the Python debugger."
msgstr ""
#: whatsnew/3.7.rst:272
2018-06-28 13:32:56 +00:00
msgid ""
"Built-in ``breakpoint()`` calls :func:`sys.breakpointhook`. By default, the "
"latter imports :mod:`pdb` and then calls ``pdb.set_trace()``, but by binding "
"``sys.breakpointhook()`` to the function of your choosing, ``breakpoint()`` "
"can enter any debugger. Additionally, the environment variable :envvar:"
"`PYTHONBREAKPOINT` can be set to the callable of your debugger of choice. "
"Set ``PYTHONBREAKPOINT=0`` to completely disable built-in ``breakpoint()``."
msgstr ""
#: whatsnew/3.7.rst:282
2018-06-28 13:32:56 +00:00
msgid ":pep:`553` -- Built-in breakpoint()"
msgstr ""
#: whatsnew/3.7.rst:283
2018-06-28 13:32:56 +00:00
msgid "PEP written and implemented by Barry Warsaw"
msgstr ""
#: whatsnew/3.7.rst:289
2018-06-28 13:32:56 +00:00
msgid "PEP 539: New C API for Thread-Local Storage"
msgstr ""
#: whatsnew/3.7.rst:291
2018-06-28 13:32:56 +00:00
msgid ""
"While Python provides a C API for thread-local storage support; the "
"existing :ref:`Thread Local Storage (TLS) API <thread-local-storage-api>` "
"has used :c:expr:`int` to represent TLS keys across all platforms. This has "
"not generally been a problem for officially support platforms, but that is "
2018-06-28 13:32:56 +00:00
"neither POSIX-compliant, nor portable in any practical sense."
msgstr ""
#: whatsnew/3.7.rst:297
2018-06-28 13:32:56 +00:00
msgid ""
":pep:`539` changes this by providing a new :ref:`Thread Specific Storage "
"(TSS) API <thread-specific-storage-api>` to CPython which supersedes use of "
"the existing TLS API within the CPython interpreter, while deprecating the "
"existing API. The TSS API uses a new type :c:type:`Py_tss_t` instead of :c:"
"expr:`int` to represent TSS keys--an opaque type the definition of which may "
2018-06-28 13:32:56 +00:00
"depend on the underlying TLS implementation. Therefore, this will allow to "
"build CPython on platforms where the native TLS key is defined in a way that "
"cannot be safely cast to :c:expr:`int`."
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:306
2018-06-28 13:32:56 +00:00
msgid ""
"Note that on platforms where the native TLS key is defined in a way that "
"cannot be safely cast to :c:expr:`int`, all functions of the existing TLS "
2018-06-28 13:32:56 +00:00
"API will be no-op and immediately return failure. This indicates clearly "
"that the old API is not supported on platforms where it cannot be used "
"reliably, and that no effort will be made to add such support."
msgstr ""
#: whatsnew/3.7.rst:314
2018-06-28 13:32:56 +00:00
msgid ":pep:`539` -- A New C-API for Thread-Local Storage in CPython"
msgstr ""
#: whatsnew/3.7.rst:315
2018-06-28 13:32:56 +00:00
msgid "PEP written by Erik M. Bray; implementation by Masayuki Yamamoto."
msgstr ""
#: whatsnew/3.7.rst:321
2018-06-28 13:32:56 +00:00
msgid "PEP 562: Customization of Access to Module Attributes"
msgstr ""
#: whatsnew/3.7.rst:323
2018-06-28 13:32:56 +00:00
msgid ""
"Python 3.7 allows defining :meth:`__getattr__` on modules and will call it "
"whenever a module attribute is otherwise not found. Defining :meth:"
"`__dir__` on modules is now also allowed."
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:327
2018-06-28 13:32:56 +00:00
msgid ""
"A typical example of where this may be useful is module attribute "
"deprecation and lazy loading."
msgstr ""
#: whatsnew/3.7.rst:332
2020-02-14 10:18:53 +00:00
#, fuzzy
2018-06-28 13:32:56 +00:00
msgid ":pep:`562` -- Module ``__getattr__`` and ``__dir__``"
2020-02-14 10:18:53 +00:00
msgstr ":pep:`562` — ``__getattr__`` et ``__dir__`` pour un module"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:422
2018-06-28 13:32:56 +00:00
msgid "PEP written and implemented by Ivan Levkivskyi"
msgstr ""
#: whatsnew/3.7.rst:339
2018-06-28 13:32:56 +00:00
msgid "PEP 564: New Time Functions With Nanosecond Resolution"
msgstr ""
#: whatsnew/3.7.rst:341
2018-06-28 13:32:56 +00:00
msgid ""
"The resolution of clocks in modern systems can exceed the limited precision "
"of a floating point number returned by the :func:`time.time` function and "
"its variants. To avoid loss of precision, :pep:`564` adds six new "
"\"nanosecond\" variants of the existing timer functions to the :mod:`time` "
"module:"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:1447
2018-06-28 13:32:56 +00:00
msgid ":func:`time.clock_gettime_ns`"
msgstr ":func:`time.clock_gettime_ns`"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1448
2018-06-28 13:32:56 +00:00
msgid ":func:`time.clock_settime_ns`"
msgstr ":func:`time.clock_settime_ns`"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1449
2018-06-28 13:32:56 +00:00
msgid ":func:`time.monotonic_ns`"
msgstr ":func:`time.monotonic_ns`"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1450
2018-06-28 13:32:56 +00:00
msgid ":func:`time.perf_counter_ns`"
msgstr ":func:`time.perf_counter_ns`"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1451
2018-06-28 13:32:56 +00:00
msgid ":func:`time.process_time_ns`"
msgstr ":func:`time.process_time_ns`"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1452
2018-06-28 13:32:56 +00:00
msgid ":func:`time.time_ns`"
msgstr ":func:`time.time_ns`"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:354
msgid "The new functions return the number of nanoseconds as an integer value."
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:356
2018-06-28 13:32:56 +00:00
msgid ""
2022-05-22 21:15:02 +00:00
"`Measurements <https://peps.python.org/pep-0564/#annex-clocks-resolution-in-"
"python>`_ show that on Linux and Windows the resolution of :func:`time."
"time_ns` is approximately 3 times better than that of :func:`time.time`."
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:362
2018-06-28 13:32:56 +00:00
msgid ":pep:`564` -- Add new time functions with nanosecond resolution"
msgstr ""
#: whatsnew/3.7.rst:369
2018-06-28 13:32:56 +00:00
msgid "PEP 565: Show DeprecationWarning in ``__main__``"
msgstr ""
#: whatsnew/3.7.rst:371
2018-06-28 13:32:56 +00:00
msgid ""
"The default handling of :exc:`DeprecationWarning` has been changed such that "
"these warnings are once more shown by default, but only when the code "
"triggering them is running directly in the :mod:`__main__` module. As a "
"result, developers of single file scripts and those using Python "
"interactively should once again start seeing deprecation warnings for the "
"APIs they use, but deprecation warnings triggered by imported application, "
"library and framework modules will continue to be hidden by default."
msgstr ""
#: whatsnew/3.7.rst:379
2018-06-28 13:32:56 +00:00
msgid ""
"As a result of this change, the standard library now allows developers to "
"choose between three different deprecation warning behaviours:"
msgstr ""
#: whatsnew/3.7.rst:382
2018-06-28 13:32:56 +00:00
msgid ""
":exc:`FutureWarning`: always displayed by default, recommended for warnings "
"intended to be seen by application end users (e.g. for deprecated "
"application configuration settings)."
msgstr ""
#: whatsnew/3.7.rst:385
2018-06-28 13:32:56 +00:00
msgid ""
":exc:`DeprecationWarning`: displayed by default only in :mod:`__main__` and "
"when running tests, recommended for warnings intended to be seen by other "
"Python developers where a version upgrade may result in changed behaviour or "
"an error."
msgstr ""
#: whatsnew/3.7.rst:389
2018-06-28 13:32:56 +00:00
msgid ""
":exc:`PendingDeprecationWarning`: displayed by default only when running "
"tests, intended for cases where a future version upgrade will change the "
"warning category to :exc:`DeprecationWarning` or :exc:`FutureWarning`."
msgstr ""
#: whatsnew/3.7.rst:393
2018-06-28 13:32:56 +00:00
msgid ""
"Previously both :exc:`DeprecationWarning` and :exc:"
"`PendingDeprecationWarning` were only visible when running tests, which "
"meant that developers primarily writing single file scripts or using Python "
"interactively could be surprised by breaking changes in the APIs they used."
msgstr ""
#: whatsnew/3.7.rst:400
2018-06-28 13:32:56 +00:00
msgid ":pep:`565` -- Show DeprecationWarning in ``__main__``"
msgstr ""
#: whatsnew/3.7.rst:401
2018-06-28 13:32:56 +00:00
msgid "PEP written and implemented by Nick Coghlan"
msgstr ""
#: whatsnew/3.7.rst:407
2018-06-28 13:32:56 +00:00
msgid "PEP 560: Core Support for ``typing`` module and Generic Types"
msgstr ""
#: whatsnew/3.7.rst:409
2018-06-28 13:32:56 +00:00
msgid ""
"Initially :pep:`484` was designed in such way that it would not introduce "
"*any* changes to the core CPython interpreter. Now type hints and the :mod:"
"`typing` module are extensively used by the community, so this restriction "
"is removed. The PEP introduces two special methods :meth:`__class_getitem__` "
"and ``__mro_entries__``, these methods are now used by most classes and "
"special constructs in :mod:`typing`. As a result, the speed of various "
"operations with types increased up to 7 times, the generic types can be used "
"without metaclass conflicts, and several long standing bugs in :mod:`typing` "
"module are fixed."
msgstr ""
#: whatsnew/3.7.rst:421
2020-02-14 10:18:53 +00:00
#, fuzzy
2018-06-28 13:32:56 +00:00
msgid ":pep:`560` -- Core support for typing module and generic types"
msgstr ""
2020-02-14 10:18:53 +00:00
":pep:`560` — Gestion de base pour les types modules et les types génériques"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:428
2018-06-28 13:32:56 +00:00
msgid "PEP 552: Hash-based .pyc Files"
msgstr ""
#: whatsnew/3.7.rst:430
2018-06-28 13:32:56 +00:00
msgid ""
"Python has traditionally checked the up-to-dateness of bytecode cache files "
"(i.e., ``.pyc`` files) by comparing the source metadata (last-modified "
"timestamp and size) with source metadata saved in the cache file header when "
"it was generated. While effective, this invalidation method has its "
"drawbacks. When filesystem timestamps are too coarse, Python can miss "
"source updates, leading to user confusion. Additionally, having a timestamp "
2018-11-29 15:13:39 +00:00
"in the cache file is problematic for `build reproducibility <https://"
2018-06-28 13:32:56 +00:00
"reproducible-builds.org/>`_ and content-based build systems."
msgstr ""
#: whatsnew/3.7.rst:439
2018-06-28 13:32:56 +00:00
msgid ""
":pep:`552` extends the pyc format to allow the hash of the source file to be "
"used for invalidation instead of the source timestamp. Such ``.pyc`` files "
"are called \"hash-based\". By default, Python still uses timestamp-based "
"invalidation and does not generate hash-based ``.pyc`` files at runtime. "
"Hash-based ``.pyc`` files may be generated with :mod:`py_compile` or :mod:"
"`compileall`."
msgstr ""
#: whatsnew/3.7.rst:445
2018-06-28 13:32:56 +00:00
msgid ""
"Hash-based ``.pyc`` files come in two variants: checked and unchecked. "
"Python validates checked hash-based ``.pyc`` files against the corresponding "
"source files at runtime but doesn't do so for unchecked hash-based pycs. "
"Unchecked hash-based ``.pyc`` files are a useful performance optimization "
"for environments where a system external to Python (e.g., the build system) "
"is responsible for keeping ``.pyc`` files up-to-date."
msgstr ""
#: whatsnew/3.7.rst:452
2018-06-28 13:32:56 +00:00
msgid "See :ref:`pyc-invalidation` for more information."
msgstr ""
#: whatsnew/3.7.rst:456
msgid ":pep:`552` -- Deterministic pycs"
msgstr ""
#: whatsnew/3.7.rst:457
msgid "PEP written and implemented by Benjamin Peterson"
msgstr ""
#: whatsnew/3.7.rst:463
2018-06-28 13:32:56 +00:00
msgid "PEP 545: Python Documentation Translations"
msgstr ""
#: whatsnew/3.7.rst:465
2018-06-28 13:32:56 +00:00
msgid ""
":pep:`545` describes the process of creating and maintaining Python "
"documentation translations."
msgstr ""
#: whatsnew/3.7.rst:468
2018-06-28 13:32:56 +00:00
msgid "Three new translations have been added:"
msgstr ""
#: whatsnew/3.7.rst:470
2018-06-28 13:32:56 +00:00
msgid "Japanese: https://docs.python.org/ja/"
msgstr ""
#: whatsnew/3.7.rst:471
2018-06-28 13:32:56 +00:00
msgid "French: https://docs.python.org/fr/"
msgstr ""
#: whatsnew/3.7.rst:472
2018-06-28 13:32:56 +00:00
msgid "Korean: https://docs.python.org/ko/"
msgstr ""
#: whatsnew/3.7.rst:477
2018-06-28 13:32:56 +00:00
msgid ":pep:`545` -- Python Documentation Translations"
msgstr ""
#: whatsnew/3.7.rst:477
2018-06-28 13:32:56 +00:00
msgid ""
"PEP written and implemented by Julien Palard, Inada Naoki, and Victor "
"Stinner."
msgstr ""
#: whatsnew/3.7.rst:484
2020-07-20 08:56:42 +00:00
msgid "Python Development Mode (-X dev)"
msgstr ""
#: whatsnew/3.7.rst:486
msgid ""
"The new :option:`-X` ``dev`` command line option or the new :envvar:"
2020-07-20 08:56:42 +00:00
"`PYTHONDEVMODE` environment variable can be used to enable :ref:`Python "
"Development Mode <devmode>`. When in development mode, Python performs "
"additional runtime checks that are too expensive to be enabled by default. "
"See :ref:`Python Development Mode <devmode>` documentation for the full "
"description."
msgstr ""
#: whatsnew/3.7.rst:495
2018-06-28 13:32:56 +00:00
msgid "Other Language Changes"
msgstr ""
#: whatsnew/3.7.rst:497
2018-06-28 13:32:56 +00:00
msgid ""
2020-05-24 14:31:50 +00:00
"An :keyword:`await` expression and comprehensions containing an :keyword:"
"`async for` clause were illegal in the expressions in :ref:`formatted string "
"literals <f-strings>` due to a problem with the implementation. In Python "
"3.7 this restriction was lifted."
msgstr ""
#: whatsnew/3.7.rst:502
2020-05-24 14:31:50 +00:00
msgid ""
2018-06-28 13:32:56 +00:00
"More than 255 arguments can now be passed to a function, and a function can "
"now have more than 255 parameters. (Contributed by Serhiy Storchaka in :"
"issue:`12844` and :issue:`18896`.)"
msgstr ""
#: whatsnew/3.7.rst:506
2018-06-28 13:32:56 +00:00
msgid ""
":meth:`bytes.fromhex` and :meth:`bytearray.fromhex` now ignore all ASCII "
"whitespace, not only spaces. (Contributed by Robert Xiao in :issue:`28927`.)"
msgstr ""
#: whatsnew/3.7.rst:509
2018-06-28 13:32:56 +00:00
msgid ""
":class:`str`, :class:`bytes`, and :class:`bytearray` gained support for the "
"new :meth:`isascii() <str.isascii>` method, which can be used to test if a "
"string or bytes contain only the ASCII characters. (Contributed by INADA "
"Naoki in :issue:`32677`.)"
msgstr ""
#: whatsnew/3.7.rst:514
2018-06-28 13:32:56 +00:00
msgid ""
":exc:`ImportError` now displays module name and module ``__file__`` path "
"when ``from ... import ...`` fails. (Contributed by Matthias Bussonnier in :"
"issue:`29546`.)"
msgstr ""
#: whatsnew/3.7.rst:518
2018-06-28 13:32:56 +00:00
msgid ""
"Circular imports involving absolute imports with binding a submodule to a "
"name are now supported. (Contributed by Serhiy Storchaka in :issue:`30024`.)"
msgstr ""
#: whatsnew/3.7.rst:522
2018-06-28 13:32:56 +00:00
msgid ""
"``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than "
"``format(str(self), '')``. (Contributed by Serhiy Storchaka in :issue:"
"`28974`.)"
msgstr ""
#: whatsnew/3.7.rst:526
2018-06-28 13:32:56 +00:00
msgid ""
"In order to better support dynamic creation of stack traces, :class:`types."
"TracebackType` can now be instantiated from Python code, and the ``tb_next`` "
"attribute on :ref:`tracebacks <traceback-objects>` is now writable. "
"(Contributed by Nathaniel J. Smith in :issue:`30579`.)"
msgstr ""
#: whatsnew/3.7.rst:532
2018-06-28 13:32:56 +00:00
msgid ""
"When using the :option:`-m` switch, ``sys.path[0]`` is now eagerly expanded "
"to the full starting directory path, rather than being left as the empty "
"directory (which allows imports from the *current* working directory at the "
"time when an import occurs) (Contributed by Nick Coghlan in :issue:`33053`.)"
msgstr ""
#: whatsnew/3.7.rst:538
2018-06-28 13:32:56 +00:00
msgid ""
"The new :option:`-X` ``importtime`` option or the :envvar:"
"`PYTHONPROFILEIMPORTTIME` environment variable can be used to show the "
2022-03-23 17:40:12 +00:00
"timing of each module import. (Contributed by Inada Naoki in :issue:`31415`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:545
2018-06-28 13:32:56 +00:00
msgid "New Modules"
msgstr ""
#: whatsnew/3.7.rst:550
2018-06-28 13:32:56 +00:00
msgid "contextvars"
msgstr ""
#: whatsnew/3.7.rst:552
2018-06-28 13:32:56 +00:00
msgid ""
"The new :mod:`contextvars` module and a set of :ref:`new C APIs "
"<contextvarsobjects>` introduce support for *context variables*. Context "
"variables are conceptually similar to thread-local variables. Unlike TLS, "
"context variables support asynchronous code correctly."
msgstr ""
#: whatsnew/3.7.rst:558
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`asyncio` and :mod:`decimal` modules have been updated to use and "
"support context variables out of the box. Particularly the active decimal "
"context is now stored in a context variable, which allows decimal operations "
"to work with the correct context in asynchronous code."
msgstr ""
#: whatsnew/3.7.rst:565
2018-06-28 13:32:56 +00:00
msgid ":pep:`567` -- Context Variables"
msgstr ""
#: whatsnew/3.7.rst:566
2018-06-28 13:32:56 +00:00
msgid "PEP written and implemented by Yury Selivanov"
msgstr ""
#: whatsnew/3.7.rst:572
2018-06-28 13:32:56 +00:00
msgid "dataclasses"
msgstr ""
#: whatsnew/3.7.rst:574
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`~dataclasses.dataclass` decorator provides a way to declare "
"*data classes*. A data class describes its attributes using class variable "
"annotations. Its constructor and other magic methods, such as :meth:"
"`~object.__repr__`, :meth:`~object.__eq__`, and :meth:`~object.__hash__` are "
"generated automatically."
msgstr ""
#: whatsnew/3.7.rst:580
2018-06-28 13:32:56 +00:00
msgid "Example::"
msgstr "Exemple ::"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:593
2018-06-28 13:32:56 +00:00
msgid ":pep:`557` -- Data Classes"
msgstr ""
#: whatsnew/3.7.rst:594
2018-06-28 13:32:56 +00:00
msgid "PEP written and implemented by Eric V. Smith"
msgstr ""
#: whatsnew/3.7.rst:600
2018-06-28 13:32:56 +00:00
msgid "importlib.resources"
msgstr ""
#: whatsnew/3.7.rst:602
2018-06-28 13:32:56 +00:00
msgid ""
"The new :mod:`importlib.resources` module provides several new APIs and one "
"new ABC for access to, opening, and reading *resources* inside packages. "
"Resources are roughly similar to files inside packages, but they needn't be "
"actual files on the physical file system. Module loaders can provide a :"
"meth:`get_resource_reader()` function which returns a :class:`importlib.abc."
"ResourceReader` instance to support this new API. Built-in file path "
"loaders and zip file loaders both support this."
msgstr ""
#: whatsnew/3.7.rst:610
2018-06-28 13:32:56 +00:00
msgid "Contributed by Barry Warsaw and Brett Cannon in :issue:`32248`."
msgstr ""
#: whatsnew/3.7.rst:614
2018-06-28 13:32:56 +00:00
msgid ""
"`importlib_resources <https://importlib-resources.readthedocs.io/en/latest/"
2018-06-28 13:32:56 +00:00
">`_ -- a PyPI backport for earlier Python versions."
msgstr ""
#: whatsnew/3.7.rst:619
2018-06-28 13:32:56 +00:00
msgid "Improved Modules"
msgstr ""
#: whatsnew/3.7.rst:623
2018-06-28 13:32:56 +00:00
msgid "argparse"
msgstr "argparse"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:625
2018-06-28 13:32:56 +00:00
msgid ""
"The new :meth:`ArgumentParser.parse_intermixed_args() <argparse."
"ArgumentParser.parse_intermixed_args>` method allows intermixing options and "
"positional arguments. (Contributed by paul.j3 in :issue:`14191`.)"
msgstr ""
#: whatsnew/3.7.rst:1951
2018-06-28 13:32:56 +00:00
msgid "asyncio"
msgstr "asyncio"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:636
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`asyncio` module has received many new features, usability and :ref:"
"`performance improvements <whatsnew37-asyncio-perf>`. Notable changes "
"include:"
msgstr ""
#: whatsnew/3.7.rst:640
2018-06-28 13:32:56 +00:00
msgid ""
2020-09-11 07:11:46 +00:00
"The new :term:`provisional <provisional API>` :func:`asyncio.run` function "
2018-06-28 13:32:56 +00:00
"can be used to run a coroutine from synchronous code by automatically "
"creating and destroying the event loop. (Contributed by Yury Selivanov in :"
"issue:`32314`.)"
msgstr ""
#: whatsnew/3.7.rst:645
2018-06-28 13:32:56 +00:00
msgid ""
"asyncio gained support for :mod:`contextvars`. :meth:`loop.call_soon() "
2018-10-13 15:54:03 +00:00
"<asyncio.loop.call_soon>`, :meth:`loop.call_soon_threadsafe() <asyncio.loop."
"call_soon_threadsafe>`, :meth:`loop.call_later() <asyncio.loop."
"call_later>`, :meth:`loop.call_at() <asyncio.loop.call_at>`, and :meth:"
"`Future.add_done_callback() <asyncio.Future.add_done_callback>` have a new "
"optional keyword-only *context* parameter. :class:`Tasks <asyncio.Task>` now "
"track their context automatically. See :pep:`567` for more details. "
"(Contributed by Yury Selivanov in :issue:`32436`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:656
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`asyncio.create_task` function has been added as a shortcut to "
"``asyncio.get_event_loop().create_task()``. (Contributed by Andrew Svetlov "
"in :issue:`32311`.)"
msgstr ""
#: whatsnew/3.7.rst:660
2018-06-28 13:32:56 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The new :meth:`loop.start_tls() <asyncio.loop.start_tls>` method can be used "
"to upgrade an existing connection to TLS. (Contributed by Yury Selivanov in :"
"issue:`23749`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:664
2018-06-28 13:32:56 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The new :meth:`loop.sock_recv_into() <asyncio.loop.sock_recv_into>` method "
"allows reading data from a socket directly into a provided buffer making it "
"possible to reduce data copies. (Contributed by Antoine Pitrou in :issue:"
"`31819`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:669
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`asyncio.current_task` function returns the currently running :"
"class:`~asyncio.Task` instance, and the new :func:`asyncio.all_tasks` "
"function returns a set of all existing ``Task`` instances in a given loop. "
"The :meth:`Task.current_task() <asyncio.Task.current_task>` and :meth:`Task."
"all_tasks() <asyncio.Task.all_tasks>` methods have been deprecated. "
"(Contributed by Andrew Svetlov in :issue:`32250`.)"
msgstr ""
#: whatsnew/3.7.rst:676
2018-06-28 13:32:56 +00:00
msgid ""
"The new *provisional* :class:`~asyncio.BufferedProtocol` class allows "
"implementing streaming protocols with manual control over the receive "
"buffer. (Contributed by Yury Selivanov in :issue:`32251`.)"
msgstr ""
#: whatsnew/3.7.rst:680
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`asyncio.get_running_loop` function returns the currently "
"running loop, and raises a :exc:`RuntimeError` if no loop is running. This "
"is in contrast with :func:`asyncio.get_event_loop`, which will *create* a "
"new event loop if none is running. (Contributed by Yury Selivanov in :issue:"
"`32269`.)"
msgstr ""
#: whatsnew/3.7.rst:686
2018-06-28 13:32:56 +00:00
msgid ""
"The new :meth:`StreamWriter.wait_closed() <asyncio.StreamWriter."
"wait_closed>` coroutine method allows waiting until the stream writer is "
"closed. The new :meth:`StreamWriter.is_closing() <asyncio.StreamWriter."
"is_closing>` method can be used to determine if the writer is closing. "
"(Contributed by Andrew Svetlov in :issue:`32391`.)"
msgstr ""
#: whatsnew/3.7.rst:692
2018-06-28 13:32:56 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The new :meth:`loop.sock_sendfile() <asyncio.loop.sock_sendfile>` coroutine "
"method allows sending files using :mod:`os.sendfile` when possible. "
"(Contributed by Andrew Svetlov in :issue:`32410`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:696
2018-06-28 13:32:56 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The new :meth:`Future.get_loop() <asyncio.Future.get_loop>` and ``Task."
"get_loop()`` methods return the instance of the loop on which a task or a "
"future were created. :meth:`Server.get_loop() <asyncio.Server.get_loop>` "
"allows doing the same for :class:`asyncio.Server` objects. (Contributed by "
"Yury Selivanov in :issue:`32415` and Srinivas Reddy Thatiparthy in :issue:"
"`32418`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:704
2018-06-28 13:32:56 +00:00
msgid ""
"It is now possible to control how instances of :class:`asyncio.Server` begin "
"serving. Previously, the server would start serving immediately when "
"created. The new *start_serving* keyword argument to :meth:`loop."
2018-10-13 15:54:03 +00:00
"create_server() <asyncio.loop.create_server>` and :meth:`loop."
"create_unix_server() <asyncio.loop.create_unix_server>`, as well as :meth:"
"`Server.start_serving() <asyncio.Server.start_serving>`, and :meth:`Server."
"serve_forever() <asyncio.Server.serve_forever>` can be used to decouple "
"server instantiation and serving. The new :meth:`Server.is_serving() "
"<asyncio.Server.is_serving>` method returns ``True`` if the server is "
"serving. :class:`~asyncio.Server` objects are now asynchronous context "
"managers::"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:723
2018-06-28 13:32:56 +00:00
msgid "(Contributed by Yury Selivanov in :issue:`32662`.)"
msgstr ""
#: whatsnew/3.7.rst:725
2018-06-28 13:32:56 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Callback objects returned by :func:`loop.call_later() <asyncio.loop."
"call_later>` gained the new :meth:`when() <asyncio.TimerHandle.when>` method "
"which returns an absolute scheduled callback timestamp. (Contributed by "
"Andrew Svetlov in :issue:`32741`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:731
2018-06-28 13:32:56 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The :meth:`loop.create_datagram_endpoint() \\ <asyncio.loop."
2018-06-28 13:32:56 +00:00
"create_datagram_endpoint>` method gained support for Unix sockets. "
"(Contributed by Quentin Dawans in :issue:`31245`.)"
msgstr ""
#: whatsnew/3.7.rst:736
2018-06-28 13:32:56 +00:00
msgid ""
"The :func:`asyncio.open_connection`, :func:`asyncio.start_server` "
2018-10-13 15:54:03 +00:00
"functions, :meth:`loop.create_connection() <asyncio.loop."
"create_connection>`, :meth:`loop.create_server() <asyncio.loop."
"create_server>`, :meth:`loop.create_accepted_socket() <asyncio.loop."
2018-06-28 13:32:56 +00:00
"connect_accepted_socket>` methods and their corresponding UNIX socket "
"variants now accept the *ssl_handshake_timeout* keyword argument. "
"(Contributed by Neil Aspinall in :issue:`29970`.)"
msgstr ""
#: whatsnew/3.7.rst:744
2018-06-28 13:32:56 +00:00
msgid ""
"The new :meth:`Handle.cancelled() <asyncio.Handle.cancelled>` method returns "
"``True`` if the callback was cancelled. (Contributed by Marat Sharafutdinov "
"in :issue:`31943`.)"
msgstr ""
#: whatsnew/3.7.rst:748
2018-06-28 13:32:56 +00:00
msgid ""
"The asyncio source has been converted to use the :keyword:`async`/:keyword:"
"`await` syntax. (Contributed by Andrew Svetlov in :issue:`32193`.)"
msgstr ""
#: whatsnew/3.7.rst:752
2018-06-28 13:32:56 +00:00
msgid ""
"The new :meth:`ReadTransport.is_reading() <asyncio.ReadTransport."
"is_reading>` method can be used to determine the reading state of the "
"transport. Additionally, calls to :meth:`ReadTransport.resume_reading() "
"<asyncio.ReadTransport.resume_reading>` and :meth:`ReadTransport."
"pause_reading() <asyncio.ReadTransport.pause_reading>` are now idempotent. "
"(Contributed by Yury Selivanov in :issue:`32356`.)"
msgstr ""
#: whatsnew/3.7.rst:760
2018-06-28 13:32:56 +00:00
msgid ""
"Loop methods which accept socket paths now support passing :term:`path-like "
"objects <path-like object>`. (Contributed by Yury Selivanov in :issue:"
"`32066`.)"
msgstr ""
#: whatsnew/3.7.rst:764
2018-06-28 13:32:56 +00:00
msgid ""
"In :mod:`asyncio` TCP sockets on Linux are now created with ``TCP_NODELAY`` "
"flag set by default. (Contributed by Yury Selivanov and Victor Stinner in :"
"issue:`27456`.)"
msgstr ""
#: whatsnew/3.7.rst:768
2018-06-28 13:32:56 +00:00
msgid ""
"Exceptions occurring in cancelled tasks are no longer logged. (Contributed "
"by Yury Selivanov in :issue:`30508`.)"
msgstr ""
#: whatsnew/3.7.rst:771
2018-06-28 13:32:56 +00:00
msgid ""
"New ``WindowsSelectorEventLoopPolicy`` and "
"``WindowsProactorEventLoopPolicy`` classes. (Contributed by Yury Selivanov "
"in :issue:`33792`.)"
msgstr ""
#: whatsnew/3.7.rst:775
2018-06-28 13:32:56 +00:00
msgid ""
"Several ``asyncio`` APIs have been :ref:`deprecated <whatsnew37-asyncio-"
"deprecated>`."
msgstr ""
#: whatsnew/3.7.rst:780
2018-06-28 13:32:56 +00:00
msgid "binascii"
msgstr "binascii"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:782
2018-06-28 13:32:56 +00:00
msgid ""
"The :func:`~binascii.b2a_uu` function now accepts an optional *backtick* "
"keyword argument. When it's true, zeros are represented by ``'`'`` instead "
"of spaces. (Contributed by Xiang Zhang in :issue:`30103`.)"
msgstr ""
#: whatsnew/3.7.rst:788
2018-06-28 13:32:56 +00:00
msgid "calendar"
msgstr ""
#: whatsnew/3.7.rst:790
2018-06-28 13:32:56 +00:00
msgid ""
"The :class:`~calendar.HTMLCalendar` class has new class attributes which "
"ease the customization of CSS classes in the produced HTML calendar. "
"(Contributed by Oz Tiram in :issue:`30095`.)"
msgstr ""
#: whatsnew/3.7.rst:1965
2018-06-28 13:32:56 +00:00
msgid "collections"
msgstr ""
#: whatsnew/3.7.rst:798
2018-06-28 13:32:56 +00:00
msgid ""
"``collections.namedtuple()`` now supports default values. (Contributed by "
"Raymond Hettinger in :issue:`32320`.)"
msgstr ""
#: whatsnew/3.7.rst:803
2018-06-28 13:32:56 +00:00
msgid "compileall"
msgstr "compileall"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:805
2018-06-28 13:32:56 +00:00
msgid ""
":func:`compileall.compile_dir` learned the new *invalidation_mode* "
"parameter, which can be used to enable :ref:`hash-based .pyc invalidation "
"<whatsnew37-pep552>`. The invalidation mode can also be specified on the "
"command line using the new ``--invalidation-mode`` argument. (Contributed by "
"Benjamin Peterson in :issue:`31650`.)"
msgstr ""
#: whatsnew/3.7.rst:814
2018-06-28 13:32:56 +00:00
msgid "concurrent.futures"
msgstr "concurrent.futures"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:816
2018-06-28 13:32:56 +00:00
msgid ""
":class:`ProcessPoolExecutor <concurrent.futures.ProcessPoolExecutor>` and :"
"class:`ThreadPoolExecutor <concurrent.futures.ThreadPoolExecutor>` now "
"support the new *initializer* and *initargs* constructor arguments. "
"(Contributed by Antoine Pitrou in :issue:`21423`.)"
msgstr ""
#: whatsnew/3.7.rst:821
2018-06-28 13:32:56 +00:00
msgid ""
"The :class:`ProcessPoolExecutor <concurrent.futures.ProcessPoolExecutor>` "
"can now take the multiprocessing context via the new *mp_context* argument. "
"(Contributed by Thomas Moreau in :issue:`31540`.)"
msgstr ""
#: whatsnew/3.7.rst:827
2018-06-28 13:32:56 +00:00
msgid "contextlib"
msgstr "contextlib"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:829
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`~contextlib.nullcontext` is a simpler and faster no-op "
"context manager than :class:`~contextlib.ExitStack`. (Contributed by Jesse-"
"Bakker in :issue:`10049`.)"
msgstr ""
#: whatsnew/3.7.rst:833
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`~contextlib.asynccontextmanager`, :class:`~contextlib."
"AbstractAsyncContextManager`, and :class:`~contextlib.AsyncExitStack` have "
"been added to complement their synchronous counterparts. (Contributed by "
"Jelle Zijlstra in :issue:`29679` and :issue:`30241`, and by Alexander Mohr "
"and Ilya Kulakov in :issue:`29302`.)"
msgstr ""
#: whatsnew/3.7.rst:842
2018-06-28 13:32:56 +00:00
msgid "cProfile"
msgstr ""
#: whatsnew/3.7.rst:844
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`cProfile` command line now accepts ``-m module_name`` as an "
"alternative to script path. (Contributed by Sanyam Khurana in :issue:"
"`21862`.)"
msgstr ""
#: whatsnew/3.7.rst:849
2018-06-28 13:32:56 +00:00
msgid "crypt"
msgstr "crypt"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:851
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`crypt` module now supports the Blowfish hashing method. "
"(Contributed by Serhiy Storchaka in :issue:`31664`.)"
msgstr ""
#: whatsnew/3.7.rst:854
2018-06-28 13:32:56 +00:00
msgid ""
"The :func:`~crypt.mksalt` function now allows specifying the number of "
"rounds for hashing. (Contributed by Serhiy Storchaka in :issue:`31702`.)"
msgstr ""
#: whatsnew/3.7.rst:859
2018-06-28 13:32:56 +00:00
msgid "datetime"
msgstr "datetime"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:861
2018-06-28 13:32:56 +00:00
msgid ""
"The new :meth:`datetime.fromisoformat() <datetime.datetime.fromisoformat>` "
"method constructs a :class:`~datetime.datetime` object from a string in one "
"of the formats output by :meth:`datetime.isoformat() <datetime.datetime."
"isoformat>`. (Contributed by Paul Ganssle in :issue:`15873`.)"
msgstr ""
#: whatsnew/3.7.rst:867
2018-06-28 13:32:56 +00:00
msgid ""
"The :class:`tzinfo <datetime.tzinfo>` class now supports sub-minute offsets. "
"(Contributed by Alexander Belopolsky in :issue:`5288`.)"
msgstr ""
#: whatsnew/3.7.rst:1975
2018-06-28 13:32:56 +00:00
msgid "dbm"
msgstr "dbm"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:874
2018-06-28 13:32:56 +00:00
msgid ""
":mod:`dbm.dumb` now supports reading read-only files and no longer writes "
"the index file when it is not changed."
msgstr ""
#: whatsnew/3.7.rst:879
2018-06-28 13:32:56 +00:00
msgid "decimal"
msgstr ""
#: whatsnew/3.7.rst:881
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`decimal` module now uses :ref:`context variables <whatsnew37-"
"pep567>` to store the decimal context. (Contributed by Yury Selivanov in :"
"issue:`32630`.)"
msgstr ""
#: whatsnew/3.7.rst:887
2018-06-28 13:32:56 +00:00
msgid "dis"
msgstr "dis"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:889
2018-06-28 13:32:56 +00:00
msgid ""
"The :func:`~dis.dis` function is now able to disassemble nested code objects "
"(the code of comprehensions, generator expressions and nested functions, and "
"the code used for building nested classes). The maximum depth of "
"disassembly recursion is controlled by the new *depth* parameter. "
"(Contributed by Serhiy Storchaka in :issue:`11822`.)"
msgstr ""
#: whatsnew/3.7.rst:898
2018-06-28 13:32:56 +00:00
msgid "distutils"
msgstr "distutils"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:900
2018-06-28 13:32:56 +00:00
msgid ""
"``README.rst`` is now included in the list of distutils standard READMEs and "
"therefore included in source distributions. (Contributed by Ryan Gonzalez "
"in :issue:`11913`.)"
msgstr ""
#: whatsnew/3.7.rst:1985
2018-06-28 13:32:56 +00:00
msgid "enum"
msgstr "enum"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:908
2018-06-28 13:32:56 +00:00
msgid ""
"The :class:`Enum <enum.Enum>` learned the new ``_ignore_`` class property, "
"which allows listing the names of properties which should not become enum "
"members. (Contributed by Ethan Furman in :issue:`31801`.)"
msgstr ""
#: whatsnew/3.7.rst:913
2018-06-28 13:32:56 +00:00
msgid ""
"In Python 3.8, attempting to check for non-Enum objects in :class:`Enum` "
"classes will raise a :exc:`TypeError` (e.g. ``1 in Color``); similarly, "
"attempting to check for non-Flag objects in a :class:`Flag` member will "
"raise :exc:`TypeError` (e.g. ``1 in Perm.RW``); currently, both operations "
"return :const:`False` instead and are deprecated. (Contributed by Ethan "
"Furman in :issue:`33217`.)"
msgstr ""
#: whatsnew/3.7.rst:922
2018-06-28 13:32:56 +00:00
msgid "functools"
msgstr ""
#: whatsnew/3.7.rst:924
2018-06-28 13:32:56 +00:00
msgid ""
":func:`functools.singledispatch` now supports registering implementations "
"using type annotations. (Contributed by Łukasz Langa in :issue:`32227`.)"
msgstr ""
#: whatsnew/3.7.rst:930
2018-06-28 13:32:56 +00:00
msgid "gc"
msgstr ""
#: whatsnew/3.7.rst:932
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`gc.freeze` function allows freezing all objects tracked by "
"the garbage collector and excluding them from future collections. This can "
"be used before a POSIX ``fork()`` call to make the GC copy-on-write friendly "
"or to speed up collection. The new :func:`gc.unfreeze` functions reverses "
"this operation. Additionally, :func:`gc.get_freeze_count` can be used to "
"obtain the number of frozen objects. (Contributed by Li Zekun in :issue:"
"`31558`.)"
msgstr ""
#: whatsnew/3.7.rst:942
2018-06-28 13:32:56 +00:00
msgid "hmac"
msgstr ""
#: whatsnew/3.7.rst:944
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`hmac` module now has an optimized one-shot :func:`~hmac.digest` "
"function, which is up to three times faster than :func:`~hmac.HMAC`. "
"(Contributed by Christian Heimes in :issue:`32433`.)"
msgstr ""
#: whatsnew/3.7.rst:950
2018-06-28 13:32:56 +00:00
msgid "http.client"
msgstr ""
#: whatsnew/3.7.rst:952
2018-06-28 13:32:56 +00:00
msgid ""
":class:`~http.client.HTTPConnection` and :class:`~http.client."
"HTTPSConnection` now support the new *blocksize* argument for improved "
"upload throughput. (Contributed by Nir Soffer in :issue:`31945`.)"
msgstr ""
#: whatsnew/3.7.rst:958
2018-06-28 13:32:56 +00:00
msgid "http.server"
msgstr ""
#: whatsnew/3.7.rst:960
2018-06-28 13:32:56 +00:00
msgid ""
":class:`~http.server.SimpleHTTPRequestHandler` now supports the HTTP ``If-"
"Modified-Since`` header. The server returns the 304 response status if the "
"target file was not modified after the time specified in the header. "
"(Contributed by Pierre Quentel in :issue:`29654`.)"
msgstr ""
#: whatsnew/3.7.rst:965
2018-06-28 13:32:56 +00:00
msgid ""
":class:`~http.server.SimpleHTTPRequestHandler` accepts the new *directory* "
"argument, in addition to the new ``--directory`` command line argument. With "
"this parameter, the server serves the specified directory, by default it "
"uses the current working directory. (Contributed by Stéphane Wirtel and "
"Julien Palard in :issue:`28707`.)"
msgstr ""
#: whatsnew/3.7.rst:971
2018-06-28 13:32:56 +00:00
msgid ""
"The new :class:`ThreadingHTTPServer <http.server.ThreadingHTTPServer>` class "
"uses threads to handle requests using :class:`~socketserver.ThreadingMixin`. "
"It is used when ``http.server`` is run with ``-m``. (Contributed by Julien "
"Palard in :issue:`31639`.)"
msgstr ""
#: whatsnew/3.7.rst:978
2018-06-28 13:32:56 +00:00
msgid "idlelib and IDLE"
msgstr ""
#: whatsnew/3.7.rst:980
2018-06-28 13:32:56 +00:00
msgid ""
"Multiple fixes for autocompletion. (Contributed by Louie Lu in :issue:"
"`15786`.)"
msgstr ""
#: whatsnew/3.7.rst:982
2018-06-28 13:32:56 +00:00
msgid ""
"Module Browser (on the File menu, formerly called Class Browser), now "
"displays nested functions and classes in addition to top-level functions and "
"classes. (Contributed by Guilherme Polo, Cheryl Sabella, and Terry Jan Reedy "
"in :issue:`1612262`.)"
msgstr ""
#: whatsnew/3.7.rst:988
2018-06-28 13:32:56 +00:00
msgid ""
"The Settings dialog (Options, Configure IDLE) has been partly rewritten to "
"improve both appearance and function. (Contributed by Cheryl Sabella and "
"Terry Jan Reedy in multiple issues.)"
msgstr ""
#: whatsnew/3.7.rst:992
2018-06-28 13:32:56 +00:00
msgid ""
"The font sample now includes a selection of non-Latin characters so that "
"users can better see the effect of selecting a particular font. (Contributed "
"by Terry Jan Reedy in :issue:`13802`.) The sample can be edited to include "
"other characters. (Contributed by Serhiy Storchaka in :issue:`31860`.)"
msgstr ""
#: whatsnew/3.7.rst:998
2018-06-28 13:32:56 +00:00
msgid ""
"The IDLE features formerly implemented as extensions have been reimplemented "
"as normal features. Their settings have been moved from the Extensions tab "
"to other dialog tabs. (Contributed by Charles Wohlganger and Terry Jan Reedy "
"in :issue:`27099`.)"
msgstr ""
#: whatsnew/3.7.rst:1003
2018-06-28 13:32:56 +00:00
msgid ""
"Editor code context option revised. Box displays all context lines up to "
"maxlines. Clicking on a context line jumps the editor to that line. "
"Context colors for custom themes is added to Highlights tab of Settings "
"dialog. (Contributed by Cheryl Sabella and Terry Jan Reedy in :issue:"
2018-10-13 15:54:03 +00:00
"`33642`, :issue:`33768`, and :issue:`33679`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:1009
2018-06-28 13:32:56 +00:00
msgid ""
"On Windows, a new API call tells Windows that tk scales for DPI. On Windows "
"8.1+ or 10, with DPI compatibility properties of the Python binary "
"unchanged, and a monitor resolution greater than 96 DPI, this should make "
"text and lines sharper. It should otherwise have no effect. (Contributed by "
2018-10-13 15:54:03 +00:00
"Terry Jan Reedy in :issue:`33656`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:1015
2018-10-13 15:54:03 +00:00
msgid "New in 3.7.1:"
msgstr ""
#: whatsnew/3.7.rst:1017
2018-10-13 15:54:03 +00:00
msgid ""
"Output over N lines (50 by default) is squeezed down to a button. N can be "
"changed in the PyShell section of the General page of the Settings dialog. "
"Fewer, but possibly extra long, lines can be squeezed by right clicking on "
"the output. Squeezed output can be expanded in place by double-clicking the "
"button or into the clipboard or a separate window by right-clicking the "
"button. (Contributed by Tal Einat in :issue:`1529353`.)"
msgstr ""
#: whatsnew/3.7.rst:1024
2018-06-28 13:32:56 +00:00
msgid "The changes above have been backported to 3.6 maintenance releases."
msgstr ""
#: whatsnew/3.7.rst:1026
2019-09-04 09:35:23 +00:00
msgid "NEW in 3.7.4:"
msgstr ""
#: whatsnew/3.7.rst:1028
2019-09-04 09:35:23 +00:00
msgid ""
"Add \"Run Customized\" to the Run menu to run a module with customized "
"settings. Any command line arguments entered are added to sys.argv. They re-"
"appear in the box for the next customized run. One can also suppress the "
"normal Shell main module restart. (Contributed by Cheryl Sabella, Terry Jan "
"Reedy, and others in :issue:`5680` and :issue:`37627`.)"
msgstr ""
#: whatsnew/3.7.rst:1034
2019-09-04 09:35:23 +00:00
msgid "New in 3.7.5:"
msgstr ""
#: whatsnew/3.7.rst:1036
2019-09-04 09:35:23 +00:00
msgid ""
"Add optional line numbers for IDLE editor windows. Windows open without line "
"numbers unless set otherwise in the General tab of the configuration "
"dialog. Line numbers for an existing window are shown and hidden in the "
"Options menu. (Contributed by Tal Einat and Saimadhav Heblikar in :issue:"
"`17535`.)"
msgstr ""
#: whatsnew/3.7.rst:2004
2018-06-28 13:32:56 +00:00
msgid "importlib"
msgstr "importlib"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1046
2018-06-28 13:32:56 +00:00
msgid ""
"The :class:`importlib.abc.ResourceReader` ABC was introduced to support the "
"loading of resources from packages. See also :ref:"
"`whatsnew37_importlib_resources`. (Contributed by Barry Warsaw, Brett Cannon "
"in :issue:`32248`.)"
msgstr ""
#: whatsnew/3.7.rst:1051
2018-06-28 13:32:56 +00:00
msgid ""
":func:`importlib.reload` now raises :exc:`ModuleNotFoundError` if the module "
"lacks a spec. (Contributed by Garvit Khatri in :issue:`29851`.)"
msgstr ""
#: whatsnew/3.7.rst:1055
2018-06-28 13:32:56 +00:00
msgid ""
2018-11-29 15:13:39 +00:00
":func:`importlib.find_spec` now raises :exc:`ModuleNotFoundError` instead "
"of :exc:`AttributeError` if the specified parent module is not a package (i."
"e. lacks a ``__path__`` attribute). (Contributed by Milan Oberkirch in :"
"issue:`30436`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:1060
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`importlib.source_hash` can be used to compute the hash of the "
"passed source. A :ref:`hash-based .pyc file <whatsnew37-pep552>` embeds the "
"value returned by this function."
msgstr ""
#: whatsnew/3.7.rst:1066
2018-06-28 13:32:56 +00:00
msgid "io"
msgstr ""
#: whatsnew/3.7.rst:1068
2018-06-28 13:32:56 +00:00
msgid ""
"The new :meth:`TextIOWrapper.reconfigure() <io.TextIOWrapper.reconfigure>` "
"method can be used to reconfigure the text stream with the new settings. "
"(Contributed by Antoine Pitrou in :issue:`30526` and INADA Naoki in :issue:"
"`15216`.)"
msgstr ""
#: whatsnew/3.7.rst:1075
2018-06-28 13:32:56 +00:00
msgid "ipaddress"
msgstr ""
#: whatsnew/3.7.rst:1077
2018-06-28 13:32:56 +00:00
msgid ""
"The new ``subnet_of()`` and ``supernet_of()`` methods of :class:`ipaddress."
"IPv6Network` and :class:`ipaddress.IPv4Network` can be used for network "
"containment tests. (Contributed by Michel Albert and Cheryl Sabella in :"
"issue:`20825`.)"
msgstr ""
#: whatsnew/3.7.rst:1084
2018-06-28 13:32:56 +00:00
msgid "itertools"
msgstr ""
#: whatsnew/3.7.rst:1086
2018-06-28 13:32:56 +00:00
msgid ""
":func:`itertools.islice` now accepts :meth:`integer-like objects <object."
"__index__>` as start, stop, and slice arguments. (Contributed by Will "
"Roberts in :issue:`30537`.)"
msgstr ""
#: whatsnew/3.7.rst:2022
2018-06-28 13:32:56 +00:00
msgid "locale"
msgstr ""
#: whatsnew/3.7.rst:1095
2018-06-28 13:32:56 +00:00
msgid ""
"The new *monetary* argument to :func:`locale.format_string` can be used to "
"make the conversion use monetary thousands separators and grouping strings. "
"(Contributed by Garvit in :issue:`10379`.)"
msgstr ""
#: whatsnew/3.7.rst:1099
2018-06-28 13:32:56 +00:00
msgid ""
"The :func:`locale.getpreferredencoding` function now always returns "
"``'UTF-8'`` on Android or when in the :ref:`forced UTF-8 mode <whatsnew37-"
"pep540>`."
msgstr ""
#: whatsnew/3.7.rst:1104
2018-06-28 13:32:56 +00:00
msgid "logging"
msgstr ""
#: whatsnew/3.7.rst:1106
2018-06-28 13:32:56 +00:00
msgid ""
":class:`~logging.Logger` instances can now be pickled. (Contributed by Vinay "
"Sajip in :issue:`30520`.)"
msgstr ""
#: whatsnew/3.7.rst:1109
2018-06-28 13:32:56 +00:00
msgid ""
"The new :meth:`StreamHandler.setStream() <logging.StreamHandler.setStream>` "
"method can be used to replace the logger stream after handler creation. "
"(Contributed by Vinay Sajip in :issue:`30522`.)"
msgstr ""
#: whatsnew/3.7.rst:1113
2018-06-28 13:32:56 +00:00
msgid ""
"It is now possible to specify keyword arguments to handler constructors in "
"configuration passed to :func:`logging.config.fileConfig`. (Contributed by "
"Preston Landers in :issue:`31080`.)"
msgstr ""
#: whatsnew/3.7.rst:1119
2018-06-28 13:32:56 +00:00
msgid "math"
msgstr ""
#: whatsnew/3.7.rst:1121
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`math.remainder` function implements the IEEE 754-style "
"remainder operation. (Contributed by Mark Dickinson in :issue:`29962`.)"
msgstr ""
#: whatsnew/3.7.rst:1126
2018-06-28 13:32:56 +00:00
msgid "mimetypes"
msgstr ""
#: whatsnew/3.7.rst:1128
2018-06-28 13:32:56 +00:00
msgid ""
"The MIME type of .bmp has been changed from ``'image/x-ms-bmp'`` to ``'image/"
"bmp'``. (Contributed by Nitish Chandra in :issue:`22589`.)"
msgstr ""
#: whatsnew/3.7.rst:1134
2018-06-28 13:32:56 +00:00
msgid "msilib"
msgstr ""
#: whatsnew/3.7.rst:1136
2018-06-28 13:32:56 +00:00
msgid ""
"The new :meth:`Database.Close() <msilib.Database.Close>` method can be used "
"to close the :abbr:`MSI` database. (Contributed by Berker Peksag in :issue:"
"`20486`.)"
msgstr ""
#: whatsnew/3.7.rst:1142
2018-06-28 13:32:56 +00:00
msgid "multiprocessing"
msgstr "multiprocessing"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1144
2018-06-28 13:32:56 +00:00
msgid ""
"The new :meth:`Process.close() <multiprocessing.Process.close>` method "
"explicitly closes the process object and releases all resources associated "
"with it. :exc:`ValueError` is raised if the underlying process is still "
"running. (Contributed by Antoine Pitrou in :issue:`30596`.)"
msgstr ""
#: whatsnew/3.7.rst:1150
2018-06-28 13:32:56 +00:00
msgid ""
"The new :meth:`Process.kill() <multiprocessing.Process.kill>` method can be "
"used to terminate the process using the :data:`SIGKILL` signal on Unix. "
"(Contributed by Vitor Pereira in :issue:`30794`.)"
msgstr ""
#: whatsnew/3.7.rst:1154
2018-06-28 13:32:56 +00:00
msgid ""
"Non-daemonic threads created by :class:`~multiprocessing.Process` are now "
"joined on process exit. (Contributed by Antoine Pitrou in :issue:`18966`.)"
msgstr ""
#: whatsnew/3.7.rst:1160
2018-06-28 13:32:56 +00:00
msgid "os"
msgstr ""
#: whatsnew/3.7.rst:1162
2018-06-28 13:32:56 +00:00
msgid ""
":func:`os.fwalk` now accepts the *path* argument as :class:`bytes`. "
"(Contributed by Serhiy Storchaka in :issue:`28682`.)"
msgstr ""
#: whatsnew/3.7.rst:1165
2018-06-28 13:32:56 +00:00
msgid ""
":func:`os.scandir` gained support for :ref:`file descriptors <path_fd>`. "
"(Contributed by Serhiy Storchaka in :issue:`25996`.)"
msgstr ""
#: whatsnew/3.7.rst:1168
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`~os.register_at_fork` function allows registering Python "
"callbacks to be executed at process fork. (Contributed by Antoine Pitrou in :"
"issue:`16500`.)"
msgstr ""
#: whatsnew/3.7.rst:1172
2018-06-28 13:32:56 +00:00
msgid ""
"Added :func:`os.preadv` (combine the functionality of :func:`os.readv` and :"
"func:`os.pread`) and :func:`os.pwritev` functions (combine the functionality "
"of :func:`os.writev` and :func:`os.pwrite`). (Contributed by Pablo Galindo "
"in :issue:`31368`.)"
msgstr ""
#: whatsnew/3.7.rst:1177
2018-06-28 13:32:56 +00:00
msgid ""
"The mode argument of :func:`os.makedirs` no longer affects the file "
"permission bits of newly created intermediate-level directories. "
2018-06-28 13:32:56 +00:00
"(Contributed by Serhiy Storchaka in :issue:`19930`.)"
msgstr ""
#: whatsnew/3.7.rst:1181
2018-06-28 13:32:56 +00:00
msgid ""
":func:`os.dup2` now returns the new file descriptor. Previously, ``None`` "
"was always returned. (Contributed by Benjamin Peterson in :issue:`32441`.)"
msgstr ""
#: whatsnew/3.7.rst:1185
2018-06-28 13:32:56 +00:00
msgid ""
"The structure returned by :func:`os.stat` now contains the :attr:`~os."
"stat_result.st_fstype` attribute on Solaris and its derivatives. "
"(Contributed by Jesús Cea Avión in :issue:`32659`.)"
msgstr ""
#: whatsnew/3.7.rst:1191
2018-06-28 13:32:56 +00:00
msgid "pathlib"
2018-11-30 17:31:12 +00:00
msgstr "pathlib"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1193
2018-06-28 13:32:56 +00:00
msgid ""
"The new :meth:`Path.is_mount() <pathlib.Path.is_mount>` method is now "
"available on POSIX systems and can be used to determine whether a path is a "
"mount point. (Contributed by Cooper Ry Lees in :issue:`30897`.)"
msgstr ""
#: whatsnew/3.7.rst:1199
2018-06-28 13:32:56 +00:00
msgid "pdb"
msgstr ""
#: whatsnew/3.7.rst:1201
2018-06-28 13:32:56 +00:00
msgid ""
":func:`pdb.set_trace` now takes an optional *header* keyword-only argument. "
"If given, it is printed to the console just before debugging begins. "
"(Contributed by Barry Warsaw in :issue:`31389`.)"
msgstr ""
#: whatsnew/3.7.rst:1205
2018-06-28 13:32:56 +00:00
msgid ""
":mod:`pdb` command line now accepts ``-m module_name`` as an alternative to "
"script file. (Contributed by Mario Corchero in :issue:`32206`.)"
msgstr ""
#: whatsnew/3.7.rst:1210
2018-06-28 13:32:56 +00:00
msgid "py_compile"
msgstr ""
#: whatsnew/3.7.rst:1212
2018-06-28 13:32:56 +00:00
msgid ""
":func:`py_compile.compile` -- and by extension, :mod:`compileall` -- now "
"respects the :envvar:`SOURCE_DATE_EPOCH` environment variable by "
"unconditionally creating ``.pyc`` files for hash-based validation. This "
"allows for guaranteeing `reproducible builds <https://reproducible-builds."
"org/>`_ of ``.pyc`` files when they are created eagerly. (Contributed by "
"Bernhard M. Wiedemann in :issue:`29708`.)"
msgstr ""
#: whatsnew/3.7.rst:1222
2018-06-28 13:32:56 +00:00
msgid "pydoc"
msgstr ""
#: whatsnew/3.7.rst:1224
2018-06-28 13:32:56 +00:00
msgid ""
"The pydoc server can now bind to an arbitrary hostname specified by the new "
"``-n`` command-line argument. (Contributed by Feanil Patel in :issue:"
"`31128`.)"
msgstr ""
#: whatsnew/3.7.rst:1230
2018-06-28 13:32:56 +00:00
msgid "queue"
msgstr ""
#: whatsnew/3.7.rst:1232
2018-06-28 13:32:56 +00:00
msgid ""
"The new :class:`~queue.SimpleQueue` class is an unbounded :abbr:`FIFO` "
"queue. (Contributed by Antoine Pitrou in :issue:`14976`.)"
msgstr ""
#: whatsnew/3.7.rst:1237
2018-06-28 13:32:56 +00:00
msgid "re"
msgstr ""
#: whatsnew/3.7.rst:1239
2018-06-28 13:32:56 +00:00
msgid ""
"The flags :const:`re.ASCII`, :const:`re.LOCALE` and :const:`re.UNICODE` can "
"be set within the scope of a group. (Contributed by Serhiy Storchaka in :"
"issue:`31690`.)"
msgstr ""
#: whatsnew/3.7.rst:1243
2018-06-28 13:32:56 +00:00
msgid ""
2022-03-23 17:40:12 +00:00
":func:`re.split` now supports splitting on a pattern like ``r'\\b'``, "
"``'^$'`` or ``(?=-)`` that matches an empty string. (Contributed by Serhiy "
2018-06-28 13:32:56 +00:00
"Storchaka in :issue:`25054`.)"
msgstr ""
#: whatsnew/3.7.rst:1247
2018-06-28 13:32:56 +00:00
msgid ""
"Regular expressions compiled with the :const:`re.LOCALE` flag no longer "
"depend on the locale at compile time. Locale settings are applied only when "
"the compiled regular expression is used. (Contributed by Serhiy Storchaka "
"in :issue:`30215`.)"
msgstr ""
#: whatsnew/3.7.rst:1252
2018-06-28 13:32:56 +00:00
msgid ""
":exc:`FutureWarning` is now emitted if a regular expression contains "
"character set constructs that will change semantically in the future, such "
"as nested sets and set operations. (Contributed by Serhiy Storchaka in :"
"issue:`30349`.)"
msgstr ""
#: whatsnew/3.7.rst:1257
2018-06-28 13:32:56 +00:00
msgid ""
"Compiled regular expression and match objects can now be copied using :func:"
"`copy.copy` and :func:`copy.deepcopy`. (Contributed by Serhiy Storchaka in :"
"issue:`10076`.)"
msgstr ""
#: whatsnew/3.7.rst:1263
2018-06-28 13:32:56 +00:00
msgid "signal"
msgstr ""
#: whatsnew/3.7.rst:1265
2018-06-28 13:32:56 +00:00
msgid ""
"The new *warn_on_full_buffer* argument to the :func:`signal.set_wakeup_fd` "
"function makes it possible to specify whether Python prints a warning on "
"stderr when the wakeup buffer overflows. (Contributed by Nathaniel J. Smith "
"in :issue:`30050`.)"
msgstr ""
#: whatsnew/3.7.rst:2045
2018-06-28 13:32:56 +00:00
msgid "socket"
msgstr ""
#: whatsnew/3.7.rst:1274
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`socket.getblocking() <socket.socket.getblocking>` method "
"returns ``True`` if the socket is in blocking mode and ``False`` otherwise. "
"(Contributed by Yury Selivanov in :issue:`32373`.)"
msgstr ""
#: whatsnew/3.7.rst:1278
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`socket.close` function closes the passed socket file "
"descriptor. This function should be used instead of :func:`os.close` for "
"better compatibility across platforms. (Contributed by Christian Heimes in :"
"issue:`32454`.)"
msgstr ""
#: whatsnew/3.7.rst:1283
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`socket` module now exposes the :data:`socket.TCP_CONGESTION` "
"(Linux 2.6.13), :data:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37), and :data:"
"`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) constants. (Contributed by Omar "
"Sandoval in :issue:`26273` and Nathaniel J. Smith in :issue:`29728`.)"
msgstr ""
#: whatsnew/3.7.rst:1289
2018-06-28 13:32:56 +00:00
msgid ""
"Support for :data:`socket.AF_VSOCK` sockets has been added to allow "
"communication between virtual machines and their hosts. (Contributed by "
"Cathy Avery in :issue:`27584`.)"
msgstr ""
#: whatsnew/3.7.rst:1293
2018-06-28 13:32:56 +00:00
msgid ""
"Sockets now auto-detect family, type and protocol from file descriptor by "
"default. (Contributed by Christian Heimes in :issue:`28134`.)"
msgstr ""
#: whatsnew/3.7.rst:1299
2018-06-28 13:32:56 +00:00
msgid "socketserver"
msgstr ""
#: whatsnew/3.7.rst:1301
2018-06-28 13:32:56 +00:00
msgid ""
":meth:`socketserver.ThreadingMixIn.server_close` now waits until all non-"
"daemon threads complete. :meth:`socketserver.ForkingMixIn.server_close` now "
"waits until all child processes complete."
msgstr ""
#: whatsnew/3.7.rst:1305
2018-06-28 13:32:56 +00:00
msgid ""
"Add a new :attr:`socketserver.ForkingMixIn.block_on_close` class attribute "
"to :class:`socketserver.ForkingMixIn` and :class:`socketserver."
"ThreadingMixIn` classes. Set the class attribute to ``False`` to get the "
"pre-3.7 behaviour."
msgstr ""
#: whatsnew/3.7.rst:1311
2018-06-28 13:32:56 +00:00
msgid "sqlite3"
msgstr ""
#: whatsnew/3.7.rst:1313
2018-06-28 13:32:56 +00:00
msgid ""
":class:`sqlite3.Connection` now exposes the :meth:`~sqlite3.Connection."
"backup` method when the underlying SQLite library is at version 3.6.11 or "
"higher. (Contributed by Lele Gaifax in :issue:`27645`.)"
msgstr ""
#: whatsnew/3.7.rst:1317
2018-06-28 13:32:56 +00:00
msgid ""
"The *database* argument of :func:`sqlite3.connect` now accepts any :term:"
"`path-like object`, instead of just a string. (Contributed by Anders "
"Lorentsen in :issue:`31843`.)"
msgstr ""
#: whatsnew/3.7.rst:2054
2018-06-28 13:32:56 +00:00
msgid "ssl"
msgstr ""
#: whatsnew/3.7.rst:1325
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`ssl` module now uses OpenSSL's builtin API instead of :func:`~ssl."
"match_hostname` to check a host name or an IP address. Values are validated "
"during TLS handshake. Any certificate validation error including failing "
"the host name check now raises :exc:`~ssl.SSLCertVerificationError` and "
"aborts the handshake with a proper TLS Alert message. The new exception "
"contains additional information. Host name validation can be customized "
2019-06-03 20:16:11 +00:00
"with :attr:`SSLContext.hostname_checks_common_name <ssl.SSLContext."
"hostname_checks_common_name>`. (Contributed by Christian Heimes in :issue:"
"`31399`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:1336
2018-06-28 13:32:56 +00:00
msgid ""
"The improved host name check requires a *libssl* implementation compatible "
"with OpenSSL 1.0.2 or 1.1. Consequently, OpenSSL 0.9.8 and 1.0.1 are no "
"longer supported (see :ref:`37-platform-support-removals` for more details). "
"The ssl module is mostly compatible with LibreSSL 2.7.2 and newer."
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:1341
2018-06-28 13:32:56 +00:00
msgid ""
"The ``ssl`` module no longer sends IP addresses in SNI TLS extension. "
"(Contributed by Christian Heimes in :issue:`32185`.)"
msgstr ""
#: whatsnew/3.7.rst:1344
2018-06-28 13:32:56 +00:00
msgid ""
":func:`~ssl.match_hostname` no longer supports partial wildcards like ``www*."
2019-06-03 20:16:11 +00:00
"example.org``. (Contributed by Mandeep Singh in :issue:`23033` and Christian "
"Heimes in :issue:`31399`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:1349
2018-06-28 13:32:56 +00:00
msgid ""
"The default cipher suite selection of the ``ssl`` module now uses a "
"blacklist approach rather than a hard-coded whitelist. Python no longer re-"
"enables ciphers that have been blocked by OpenSSL security updates. Default "
"cipher suite selection can be configured at compile time. (Contributed by "
"Christian Heimes in :issue:`31429`.)"
msgstr ""
#: whatsnew/3.7.rst:1355
2018-06-28 13:32:56 +00:00
msgid ""
"Validation of server certificates containing internationalized domain names "
"(IDNs) is now supported. As part of this change, the :attr:`SSLSocket."
"server_hostname <ssl.SSLSocket.server_hostname>` attribute now stores the "
"expected hostname in A-label form (``\"xn--pythn-mua.org\"``), rather than "
"the U-label form (``\"pythön.org\"``). (Contributed by Nathaniel J. Smith "
"and Christian Heimes in :issue:`28414`.)"
msgstr ""
#: whatsnew/3.7.rst:1362
2018-06-28 13:32:56 +00:00
msgid ""
"The ``ssl`` module has preliminary and experimental support for TLS 1.3 and "
"OpenSSL 1.1.1. At the time of Python 3.7.0 release, OpenSSL 1.1.1 is still "
"under development and TLS 1.3 hasn't been finalized yet. The TLS 1.3 "
"handshake and protocol behaves slightly differently than TLS 1.2 and "
"earlier, see :ref:`ssl-tlsv1_3`. (Contributed by Christian Heimes in :issue:"
"`32947`, :issue:`20995`, :issue:`29136`, :issue:`30622` and :issue:`33618`)"
msgstr ""
#: whatsnew/3.7.rst:1370
2018-06-28 13:32:56 +00:00
msgid ""
":class:`~ssl.SSLSocket` and :class:`~ssl.SSLObject` no longer have a public "
"constructor. Direct instantiation was never a documented and supported "
"feature. Instances must be created with :class:`~ssl.SSLContext` methods :"
"meth:`~ssl.SSLContext.wrap_socket` and :meth:`~ssl.SSLContext.wrap_bio`. "
"(Contributed by Christian Heimes in :issue:`32951`)"
msgstr ""
#: whatsnew/3.7.rst:1376
2018-06-28 13:32:56 +00:00
msgid ""
"OpenSSL 1.1 APIs for setting the minimum and maximum TLS protocol version "
"are available as :attr:`SSLContext.minimum_version <ssl.SSLContext."
"minimum_version>` and :attr:`SSLContext.maximum_version <ssl.SSLContext."
2018-10-13 15:54:03 +00:00
"maximum_version>`. Supported protocols are indicated by several new flags, "
2018-06-28 13:32:56 +00:00
"such as :data:`~ssl.HAS_TLSv1_1`. (Contributed by Christian Heimes in :issue:"
"`32609`.)"
msgstr ""
#: whatsnew/3.7.rst:1385
2018-06-28 13:32:56 +00:00
msgid "string"
msgstr "*string*"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1387
2018-06-28 13:32:56 +00:00
msgid ""
":class:`string.Template` now lets you to optionally modify the regular "
"expression pattern for braced placeholders and non-braced placeholders "
"separately. (Contributed by Barry Warsaw in :issue:`1198569`.)"
msgstr ""
#: whatsnew/3.7.rst:1393
2018-06-28 13:32:56 +00:00
msgid "subprocess"
msgstr "subprocess"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1395
2018-06-28 13:32:56 +00:00
msgid ""
"The :func:`subprocess.run` function accepts the new *capture_output* keyword "
"argument. When true, stdout and stderr will be captured. This is equivalent "
"to passing :data:`subprocess.PIPE` as *stdout* and *stderr* arguments. "
"(Contributed by Bo Bayles in :issue:`32102`.)"
msgstr ""
#: whatsnew/3.7.rst:1401
2018-06-28 13:32:56 +00:00
msgid ""
"The ``subprocess.run`` function and the :class:`subprocess.Popen` "
"constructor now accept the *text* keyword argument as an alias to "
"*universal_newlines*. (Contributed by Andrew Clegg in :issue:`31756`.)"
msgstr ""
#: whatsnew/3.7.rst:1406
2018-06-28 13:32:56 +00:00
msgid ""
"On Windows the default for *close_fds* was changed from ``False`` to "
"``True`` when redirecting the standard handles. It's now possible to set "
"*close_fds* to true when redirecting the standard handles. See :class:"
"`subprocess.Popen`. This means that *close_fds* now defaults to ``True`` on "
"all supported platforms. (Contributed by Segev Finer in :issue:`19764`.)"
msgstr ""
#: whatsnew/3.7.rst:1413
2018-06-28 13:32:56 +00:00
msgid ""
"The subprocess module is now more graceful when handling :exc:"
"`KeyboardInterrupt` during :func:`subprocess.call`, :func:`subprocess.run`, "
"or in a :class:`~subprocess.Popen` context manager. It now waits a short "
"amount of time for the child to exit, before continuing the handling of the "
"``KeyboardInterrupt`` exception. (Contributed by Gregory P. Smith in :issue:"
"`25942`.)"
msgstr ""
#: whatsnew/3.7.rst:2070
2018-06-28 13:32:56 +00:00
msgid "sys"
msgstr "sys"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1425
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`sys.breakpointhook` hook function is called by the built-in :"
"func:`breakpoint`. (Contributed by Barry Warsaw in :issue:`31353`.)"
msgstr ""
#: whatsnew/3.7.rst:1429
2018-06-28 13:32:56 +00:00
msgid ""
"On Android, the new :func:`sys.getandroidapilevel` returns the build-time "
"Android API version. (Contributed by Victor Stinner in :issue:`28740`.)"
msgstr ""
#: whatsnew/3.7.rst:1433
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`sys.get_coroutine_origin_tracking_depth` function returns the "
"current coroutine origin tracking depth, as set by the new :func:`sys."
"set_coroutine_origin_tracking_depth`. :mod:`asyncio` has been converted to "
"use this new API instead of the deprecated :func:`sys."
"set_coroutine_wrapper`. (Contributed by Nathaniel J. Smith in :issue:"
"`32591`.)"
msgstr ""
#: whatsnew/3.7.rst:1442
2018-06-28 13:32:56 +00:00
msgid "time"
msgstr "time"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1444
2018-06-28 13:32:56 +00:00
msgid ""
":pep:`564` adds six new functions with nanosecond resolution to the :mod:"
"`time` module:"
msgstr ""
#: whatsnew/3.7.rst:1454
2018-06-28 13:32:56 +00:00
msgid "New clock identifiers have been added:"
msgstr ""
#: whatsnew/3.7.rst:1456
2018-06-28 13:32:56 +00:00
msgid ""
":data:`time.CLOCK_BOOTTIME` (Linux): Identical to :data:`time."
"CLOCK_MONOTONIC`, except it also includes any time that the system is "
"suspended."
msgstr ""
#: whatsnew/3.7.rst:1459
2018-06-28 13:32:56 +00:00
msgid ""
":data:`time.CLOCK_PROF` (FreeBSD, NetBSD and OpenBSD): High-resolution per-"
"process CPU timer."
msgstr ""
#: whatsnew/3.7.rst:1461
2018-06-28 13:32:56 +00:00
msgid ""
":data:`time.CLOCK_UPTIME` (FreeBSD, OpenBSD): Time whose absolute value is "
"the time the system has been running and not suspended, providing accurate "
"uptime measurement."
msgstr ""
#: whatsnew/3.7.rst:1465
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`time.thread_time` and :func:`time.thread_time_ns` functions "
"can be used to get per-thread CPU time measurements. (Contributed by Antoine "
"Pitrou in :issue:`32025`.)"
msgstr ""
#: whatsnew/3.7.rst:1469
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`time.pthread_getcpuclockid` function returns the clock ID of "
"the thread-specific CPU-time clock."
msgstr ""
#: whatsnew/3.7.rst:1474
2018-06-28 13:32:56 +00:00
msgid "tkinter"
msgstr "tkinter"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1476
2018-06-28 13:32:56 +00:00
msgid ""
"The new :class:`tkinter.ttk.Spinbox` class is now available. (Contributed by "
"Alan Moore in :issue:`32585`.)"
msgstr ""
#: whatsnew/3.7.rst:1481
2018-06-28 13:32:56 +00:00
msgid "tracemalloc"
msgstr "tracemalloc"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1483
2018-06-28 13:32:56 +00:00
msgid ""
":class:`tracemalloc.Traceback` behaves more like regular tracebacks, sorting "
"the frames from oldest to most recent. :meth:`Traceback.format() "
"<tracemalloc.Traceback.format>` now accepts negative *limit*, truncating the "
"result to the ``abs(limit)`` oldest frames. To get the old behaviour, use "
"the new *most_recent_first* argument to ``Traceback.format()``. (Contributed "
"by Jesse Bakker in :issue:`32121`.)"
msgstr ""
#: whatsnew/3.7.rst:1493
2018-06-28 13:32:56 +00:00
msgid "types"
msgstr ""
#: whatsnew/3.7.rst:1495
2018-06-28 13:32:56 +00:00
msgid ""
"The new :class:`~types.WrapperDescriptorType`, :class:`~types."
"MethodWrapperType`, :class:`~types.MethodDescriptorType`, and :class:`~types."
"ClassMethodDescriptorType` classes are now available. (Contributed by Manuel "
"Krebber and Guido van Rossum in :issue:`29377`, and Serhiy Storchaka in :"
"issue:`32265`.)"
msgstr ""
#: whatsnew/3.7.rst:1501
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`types.resolve_bases` function resolves MRO entries "
"dynamically as specified by :pep:`560`. (Contributed by Ivan Levkivskyi in :"
"issue:`32717`.)"
msgstr ""
#: whatsnew/3.7.rst:1507
2018-06-28 13:32:56 +00:00
msgid "unicodedata"
msgstr "unicodedata"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1509
2018-06-28 13:32:56 +00:00
msgid ""
"The internal :mod:`unicodedata` database has been upgraded to use `Unicode "
"11 <https://www.unicode.org/versions/Unicode11.0.0/>`_. (Contributed by "
2018-06-28 13:32:56 +00:00
"Benjamin Peterson.)"
msgstr ""
#: whatsnew/3.7.rst:1515
2018-06-28 13:32:56 +00:00
msgid "unittest"
msgstr "unittest"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1517
2018-06-28 13:32:56 +00:00
msgid ""
"The new ``-k`` command-line option allows filtering tests by a name "
"substring or a Unix shell-like pattern. For example, ``python -m unittest -k "
"foo`` runs ``foo_tests.SomeTest.test_something``, ``bar_tests.SomeTest."
"test_foo``, but not ``bar_tests.FooTest.test_something``. (Contributed by "
"Jonas Haag in :issue:`32071`.)"
msgstr ""
#: whatsnew/3.7.rst:1526
2018-06-28 13:32:56 +00:00
msgid "unittest.mock"
msgstr "unittest.mock"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1528
2018-06-28 13:32:56 +00:00
msgid ""
"The :const:`~unittest.mock.sentinel` attributes now preserve their identity "
"when they are :mod:`copied <copy>` or :mod:`pickled <pickle>`. (Contributed "
"by Serhiy Storchaka in :issue:`20804`.)"
msgstr ""
#: whatsnew/3.7.rst:1532
2018-06-28 13:32:56 +00:00
msgid ""
"The new :func:`~unittest.mock.seal` function allows sealing :class:"
"`~unittest.mock.Mock` instances, which will disallow further creation of "
"attribute mocks. The seal is applied recursively to all attributes that are "
"themselves mocks. (Contributed by Mario Corchero in :issue:`30541`.)"
msgstr ""
#: whatsnew/3.7.rst:1540
2018-06-28 13:32:56 +00:00
msgid "urllib.parse"
msgstr "urllib.parse"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1542
2018-06-28 13:32:56 +00:00
msgid ""
":func:`urllib.parse.quote` has been updated from :rfc:`2396` to :rfc:`3986`, "
"adding ``~`` to the set of characters that are never quoted by default. "
"(Contributed by Christian Theune and Ratnadeep Debnath in :issue:`16285`.)"
msgstr ""
#: whatsnew/3.7.rst:1548
2018-06-28 13:32:56 +00:00
msgid "uu"
msgstr "uu"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1550
2018-06-28 13:32:56 +00:00
msgid ""
"The :func:`uu.encode` function now accepts an optional *backtick* keyword "
"argument. When it's true, zeros are represented by ``'`'`` instead of "
"spaces. (Contributed by Xiang Zhang in :issue:`30103`.)"
msgstr ""
#: whatsnew/3.7.rst:1556
2018-06-28 13:32:56 +00:00
msgid "uuid"
msgstr ""
#: whatsnew/3.7.rst:1558
2018-06-28 13:32:56 +00:00
msgid ""
"The new :attr:`UUID.is_safe <uuid.UUID.is_safe>` attribute relays "
"information from the platform about whether generated UUIDs are generated "
"with a multiprocessing-safe method. (Contributed by Barry Warsaw in :issue:"
"`22807`.)"
msgstr ""
#: whatsnew/3.7.rst:1563
2018-06-28 13:32:56 +00:00
msgid ""
":func:`uuid.getnode` now prefers universally administered MAC addresses over "
"locally administered MAC addresses. This makes a better guarantee for global "
"uniqueness of UUIDs returned from :func:`uuid.uuid1`. If only locally "
"administered MAC addresses are available, the first such one found is "
"returned. (Contributed by Barry Warsaw in :issue:`32107`.)"
msgstr ""
#: whatsnew/3.7.rst:1572
2018-06-28 13:32:56 +00:00
msgid "warnings"
msgstr ""
#: whatsnew/3.7.rst:1574
2018-06-28 13:32:56 +00:00
msgid ""
"The initialization of the default warnings filters has changed as follows:"
msgstr ""
#: whatsnew/3.7.rst:1576
2018-06-28 13:32:56 +00:00
msgid ""
"warnings enabled via command line options (including those for :option:`-b` "
"and the new CPython-specific :option:`-X` ``dev`` option) are always passed "
"to the warnings machinery via the :data:`sys.warnoptions` attribute."
msgstr ""
#: whatsnew/3.7.rst:1580
2018-06-28 13:32:56 +00:00
msgid ""
"warnings filters enabled via the command line or the environment now have "
"the following order of precedence:"
msgstr ""
#: whatsnew/3.7.rst:1583
2018-06-28 13:32:56 +00:00
msgid "the ``BytesWarning`` filter for :option:`-b` (or ``-bb``)"
msgstr ""
#: whatsnew/3.7.rst:1584
2018-06-28 13:32:56 +00:00
msgid "any filters specified with the :option:`-W` option"
msgstr ""
#: whatsnew/3.7.rst:1585
2018-06-28 13:32:56 +00:00
msgid ""
"any filters specified with the :envvar:`PYTHONWARNINGS` environment variable"
msgstr ""
#: whatsnew/3.7.rst:1587
2018-06-28 13:32:56 +00:00
msgid ""
"any other CPython specific filters (e.g. the ``default`` filter added for "
"the new ``-X dev`` mode)"
msgstr ""
#: whatsnew/3.7.rst:1589
2018-06-28 13:32:56 +00:00
msgid "any implicit filters defined directly by the warnings machinery"
msgstr ""
#: whatsnew/3.7.rst:1591
2018-06-28 13:32:56 +00:00
msgid ""
"in :ref:`CPython debug builds <debug-build>`, all warnings are now displayed "
"by default (the implicit filter list is empty)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:1594
2018-06-28 13:32:56 +00:00
msgid ""
"(Contributed by Nick Coghlan and Victor Stinner in :issue:`20361`, :issue:"
"`32043`, and :issue:`32230`.)"
msgstr ""
#: whatsnew/3.7.rst:1597
2018-06-28 13:32:56 +00:00
msgid ""
"Deprecation warnings are once again shown by default in single-file scripts "
"and at the interactive prompt. See :ref:`whatsnew37-pep565` for details. "
"(Contributed by Nick Coghlan in :issue:`31975`.)"
msgstr ""
#: whatsnew/3.7.rst:1603
2018-06-28 13:32:56 +00:00
msgid "xml.etree"
msgstr "xml.etree"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1605
2018-06-28 13:32:56 +00:00
msgid ""
":ref:`ElementPath <elementtree-xpath>` predicates in the :meth:`find` "
"methods can now compare text of the current node with ``[. = \"text\"]``, "
"not only text in children. Predicates also allow adding spaces for better "
"readability. (Contributed by Stefan Behnel in :issue:`31648`.)"
msgstr ""
#: whatsnew/3.7.rst:1612
2018-06-28 13:32:56 +00:00
msgid "xmlrpc.server"
msgstr ""
#: whatsnew/3.7.rst:1614
2018-06-28 13:32:56 +00:00
msgid ""
":meth:`SimpleXMLRPCDispatcher.register_function <xmlrpc.server."
"SimpleXMLRPCDispatcher>` can now be used as a decorator. (Contributed by "
"Xiang Zhang in :issue:`7769`.)"
msgstr ""
#: whatsnew/3.7.rst:1620
2018-06-28 13:32:56 +00:00
msgid "zipapp"
msgstr "zipapp"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1622
2018-06-28 13:32:56 +00:00
msgid ""
"Function :func:`~zipapp.create_archive` now accepts an optional *filter* "
"argument to allow the user to select which files should be included in the "
"archive. (Contributed by Irmen de Jong in :issue:`31072`.)"
msgstr ""
#: whatsnew/3.7.rst:1626
2018-06-28 13:32:56 +00:00
msgid ""
"Function :func:`~zipapp.create_archive` now accepts an optional *compressed* "
"argument to generate a compressed archive. A command line option ``--"
"compress`` has also been added to support compression. (Contributed by "
"Zhiming Wang in :issue:`31638`.)"
msgstr ""
#: whatsnew/3.7.rst:1633
2018-06-28 13:32:56 +00:00
msgid "zipfile"
msgstr "zipfile"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1635
2018-06-28 13:32:56 +00:00
msgid ""
":class:`~zipfile.ZipFile` now accepts the new *compresslevel* parameter to "
"control the compression level. (Contributed by Bo Bayles in :issue:`21417`.)"
msgstr ""
#: whatsnew/3.7.rst:1639
2018-06-28 13:32:56 +00:00
msgid ""
"Subdirectories in archives created by ``ZipFile`` are now stored in "
"alphabetical order. (Contributed by Bernhard M. Wiedemann in :issue:`30693`.)"
msgstr ""
#: whatsnew/3.7.rst:1645
2018-06-28 13:32:56 +00:00
msgid "C API Changes"
msgstr ""
#: whatsnew/3.7.rst:1647
2018-06-28 13:32:56 +00:00
msgid ""
"A new API for thread-local storage has been implemented. See :ref:"
"`whatsnew37-pep539` for an overview and :ref:`thread-specific-storage-api` "
"for a complete reference. (Contributed by Masayuki Yamamoto in :issue:"
"`25658`.)"
msgstr ""
#: whatsnew/3.7.rst:1652
2018-06-28 13:32:56 +00:00
msgid ""
"The new :ref:`context variables <whatsnew37-pep567>` functionality exposes a "
"number of :ref:`new C APIs <contextvarsobjects>`."
msgstr ""
#: whatsnew/3.7.rst:1655
2018-06-28 13:32:56 +00:00
msgid ""
"The new :c:func:`PyImport_GetModule` function returns the previously "
"imported module with the given name. (Contributed by Eric Snow in :issue:"
"`28411`.)"
msgstr ""
#: whatsnew/3.7.rst:1659
2018-06-28 13:32:56 +00:00
msgid ""
"The new :c:macro:`Py_RETURN_RICHCOMPARE` macro eases writing rich comparison "
"functions. (Contributed by Petr Victorin in :issue:`23699`.)"
msgstr ""
#: whatsnew/3.7.rst:1663
2018-06-28 13:32:56 +00:00
msgid ""
"The new :c:macro:`Py_UNREACHABLE` macro can be used to mark unreachable code "
"paths. (Contributed by Barry Warsaw in :issue:`31338`.)"
msgstr ""
#: whatsnew/3.7.rst:1667
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`tracemalloc` now exposes a C API through the new :c:func:"
"`PyTraceMalloc_Track` and :c:func:`PyTraceMalloc_Untrack` functions. "
"(Contributed by Victor Stinner in :issue:`30054`.)"
msgstr ""
#: whatsnew/3.7.rst:1672
2018-06-28 13:32:56 +00:00
msgid ""
"The new :c:func:`import__find__load__start` and :c:func:"
"`import__find__load__done` static markers can be used to trace module "
"imports. (Contributed by Christian Heimes in :issue:`31574`.)"
msgstr ""
#: whatsnew/3.7.rst:1677
2018-06-28 13:32:56 +00:00
msgid ""
"The fields :c:member:`name` and :c:member:`doc` of structures :c:type:"
"`PyMemberDef`, :c:type:`PyGetSetDef`, :c:type:`PyStructSequence_Field`, :c:"
"type:`PyStructSequence_Desc`, and :c:type:`wrapperbase` are now of type "
"``const char *`` rather of ``char *``. (Contributed by Serhiy Storchaka in :"
"issue:`28761`.)"
msgstr ""
#: whatsnew/3.7.rst:1683
2018-06-28 13:32:56 +00:00
msgid ""
"The result of :c:func:`PyUnicode_AsUTF8AndSize` and :c:func:"
"`PyUnicode_AsUTF8` is now of type ``const char *`` rather of ``char *``. "
"(Contributed by Serhiy Storchaka in :issue:`28769`.)"
msgstr ""
#: whatsnew/3.7.rst:1687
2018-06-28 13:32:56 +00:00
msgid ""
"The result of :c:func:`PyMapping_Keys`, :c:func:`PyMapping_Values` and :c:"
"func:`PyMapping_Items` is now always a list, rather than a list or a tuple. "
"(Contributed by Oren Milman in :issue:`28280`.)"
msgstr ""
#: whatsnew/3.7.rst:1691
2018-06-28 13:32:56 +00:00
msgid ""
"Added functions :c:func:`PySlice_Unpack` and :c:func:"
"`PySlice_AdjustIndices`. (Contributed by Serhiy Storchaka in :issue:`27867`.)"
msgstr ""
#: whatsnew/3.7.rst:1694
2018-06-28 13:32:56 +00:00
msgid ""
":c:func:`PyOS_AfterFork` is deprecated in favour of the new functions :c:"
"func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` and :c:func:"
"`PyOS_AfterFork_Child`. (Contributed by Antoine Pitrou in :issue:`16500`.)"
msgstr ""
#: whatsnew/3.7.rst:1699
2018-06-28 13:32:56 +00:00
msgid ""
"The ``PyExc_RecursionErrorInst`` singleton that was part of the public API "
"has been removed as its members being never cleared may cause a segfault "
"during finalization of the interpreter. Contributed by Xavier de Gaye in :"
"issue:`22898` and :issue:`30697`."
msgstr ""
#: whatsnew/3.7.rst:1704
2018-06-28 13:32:56 +00:00
msgid ""
"Added C API support for timezones with timezone constructors :c:func:"
"`PyTimeZone_FromOffset` and :c:func:`PyTimeZone_FromOffsetAndName`, and "
"access to the UTC singleton with :c:data:`PyDateTime_TimeZone_UTC`. "
"Contributed by Paul Ganssle in :issue:`10381`."
msgstr ""
#: whatsnew/3.7.rst:1709
2018-06-28 13:32:56 +00:00
msgid ""
"The type of results of :c:func:`PyThread_start_new_thread` and :c:func:"
"`PyThread_get_thread_ident`, and the *id* parameter of :c:func:"
"`PyThreadState_SetAsyncExc` changed from :c:expr:`long` to :c:expr:`unsigned "
2018-06-28 13:32:56 +00:00
"long`. (Contributed by Serhiy Storchaka in :issue:`6532`.)"
msgstr ""
#: whatsnew/3.7.rst:1715
2018-06-28 13:32:56 +00:00
msgid ""
":c:func:`PyUnicode_AsWideCharString` now raises a :exc:`ValueError` if the "
"second argument is ``NULL`` and the :c:expr:`wchar_t*` string contains null "
2018-06-28 13:32:56 +00:00
"characters. (Contributed by Serhiy Storchaka in :issue:`30708`.)"
msgstr ""
#: whatsnew/3.7.rst:1719
2018-06-28 13:32:56 +00:00
msgid ""
"Changes to the startup sequence and the management of dynamic memory "
"allocators mean that the long documented requirement to call :c:func:"
"`Py_Initialize` before calling most C API functions is now relied on more "
"heavily, and failing to abide by it may lead to segfaults in embedding "
"applications. See the :ref:`porting-to-python-37` section in this document "
"and the :ref:`pre-init-safe` section in the C API documentation for more "
"details."
msgstr ""
#: whatsnew/3.7.rst:1727
2018-06-28 13:32:56 +00:00
msgid ""
"The new :c:func:`PyInterpreterState_GetID` returns the unique ID for a given "
"interpreter. (Contributed by Eric Snow in :issue:`29102`.)"
msgstr ""
#: whatsnew/3.7.rst:1731
2018-06-28 13:32:56 +00:00
msgid ""
":c:func:`Py_DecodeLocale`, :c:func:`Py_EncodeLocale` now use the UTF-8 "
"encoding when the :ref:`UTF-8 mode <whatsnew37-pep540>` is enabled. "
"(Contributed by Victor Stinner in :issue:`29240`.)"
msgstr ""
#: whatsnew/3.7.rst:1735
2018-06-28 13:32:56 +00:00
msgid ""
":c:func:`PyUnicode_DecodeLocaleAndSize` and :c:func:`PyUnicode_EncodeLocale` "
"now use the current locale encoding for ``surrogateescape`` error handler. "
"(Contributed by Victor Stinner in :issue:`29240`.)"
msgstr ""
#: whatsnew/3.7.rst:1739
2018-06-28 13:32:56 +00:00
msgid ""
"The *start* and *end* parameters of :c:func:`PyUnicode_FindChar` are now "
"adjusted to behave like string slices. (Contributed by Xiang Zhang in :issue:"
"`28822`.)"
msgstr ""
#: whatsnew/3.7.rst:1745
2018-06-28 13:32:56 +00:00
msgid "Build Changes"
msgstr ""
#: whatsnew/3.7.rst:1747
2018-06-28 13:32:56 +00:00
msgid ""
"Support for building ``--without-threads`` has been removed. The :mod:"
"`threading` module is now always available. (Contributed by Antoine Pitrou "
"in :issue:`31370`.)."
msgstr ""
#: whatsnew/3.7.rst:1751
2018-06-28 13:32:56 +00:00
msgid ""
"A full copy of libffi is no longer bundled for use when building the :mod:"
"`_ctypes <ctypes>` module on non-OSX UNIX platforms. An installed copy of "
"libffi is now required when building ``_ctypes`` on such platforms. "
"(Contributed by Zachary Ware in :issue:`27979`.)"
msgstr ""
#: whatsnew/3.7.rst:1756
2018-06-28 13:32:56 +00:00
msgid ""
"The Windows build process no longer depends on Subversion to pull in "
"external sources, a Python script is used to download zipfiles from GitHub "
"instead. If Python 3.6 is not found on the system (via ``py -3.6``), NuGet "
"is used to download a copy of 32-bit Python for this purpose. (Contributed "
"by Zachary Ware in :issue:`30450`.)"
msgstr ""
#: whatsnew/3.7.rst:1762
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`ssl` module requires OpenSSL 1.0.2 or 1.1 compatible libssl. "
"OpenSSL 1.0.1 has reached end of lifetime on 2016-12-31 and is no longer "
"supported. LibreSSL is temporarily not supported as well. LibreSSL releases "
"up to version 2.6.4 are missing required OpenSSL 1.0.2 APIs."
msgstr ""
#: whatsnew/3.7.rst:1771
2020-02-14 10:18:53 +00:00
#, fuzzy
2018-06-28 13:32:56 +00:00
msgid "Optimizations"
2020-02-14 10:18:53 +00:00
msgstr "Optimisation"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1773
2018-06-28 13:32:56 +00:00
msgid ""
"The overhead of calling many methods of various standard library classes "
"implemented in C has been significantly reduced by porting more code to use "
"the ``METH_FASTCALL`` convention. (Contributed by Victor Stinner in :issue:"
"`29300`, :issue:`29507`, :issue:`29452`, and :issue:`29286`.)"
msgstr ""
#: whatsnew/3.7.rst:1779
2018-06-28 13:32:56 +00:00
msgid ""
"Various optimizations have reduced Python startup time by 10% on Linux and "
"up to 30% on macOS. (Contributed by Victor Stinner, INADA Naoki in :issue:"
"`29585`, and Ivan Levkivskyi in :issue:`31333`.)"
msgstr ""
#: whatsnew/3.7.rst:1784
2018-06-28 13:32:56 +00:00
msgid ""
"Method calls are now up to 20% faster due to the bytecode changes which "
"avoid creating bound method instances. (Contributed by Yury Selivanov and "
"INADA Naoki in :issue:`26110`.)"
msgstr ""
#: whatsnew/3.7.rst:1790
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`asyncio` module received a number of notable optimizations for "
"commonly used functions:"
msgstr ""
#: whatsnew/3.7.rst:1793
2018-06-28 13:32:56 +00:00
msgid ""
"The :func:`asyncio.get_event_loop` function has been reimplemented in C to "
"make it up to 15 times faster. (Contributed by Yury Selivanov in :issue:"
"`32296`.)"
msgstr ""
#: whatsnew/3.7.rst:1797
2018-06-28 13:32:56 +00:00
msgid ""
":class:`asyncio.Future` callback management has been optimized. (Contributed "
"by Yury Selivanov in :issue:`32348`.)"
msgstr ""
#: whatsnew/3.7.rst:1800
2018-06-28 13:32:56 +00:00
msgid ""
":func:`asyncio.gather` is now up to 15% faster. (Contributed by Yury "
"Selivanov in :issue:`32355`.)"
msgstr ""
#: whatsnew/3.7.rst:1803
2018-06-28 13:32:56 +00:00
msgid ""
":func:`asyncio.sleep` is now up to 2 times faster when the *delay* argument "
"is zero or negative. (Contributed by Andrew Svetlov in :issue:`32351`.)"
msgstr ""
#: whatsnew/3.7.rst:1807
2018-06-28 13:32:56 +00:00
msgid ""
"The performance overhead of asyncio debug mode has been reduced. "
"(Contributed by Antoine Pitrou in :issue:`31970`.)"
msgstr ""
#: whatsnew/3.7.rst:1810
2018-06-28 13:32:56 +00:00
msgid ""
"As a result of :ref:`PEP 560 work <whatsnew37-pep560>`, the import time of :"
"mod:`typing` has been reduced by a factor of 7, and many typing operations "
"are now faster. (Contributed by Ivan Levkivskyi in :issue:`32226`.)"
msgstr ""
#: whatsnew/3.7.rst:1815
2018-06-28 13:32:56 +00:00
msgid ""
":func:`sorted` and :meth:`list.sort` have been optimized for common cases to "
"be up to 40-75% faster. (Contributed by Elliot Gorokhovsky in :issue:"
"`28685`.)"
msgstr ""
#: whatsnew/3.7.rst:1819
2018-06-28 13:32:56 +00:00
msgid ""
":meth:`dict.copy` is now up to 5.5 times faster. (Contributed by Yury "
"Selivanov in :issue:`31179`.)"
msgstr ""
#: whatsnew/3.7.rst:1822
2018-06-28 13:32:56 +00:00
msgid ""
":func:`hasattr` and :func:`getattr` are now about 4 times faster when *name* "
"is not found and *obj* does not override :meth:`object.__getattr__` or :meth:"
"`object.__getattribute__`. (Contributed by INADA Naoki in :issue:`32544`.)"
msgstr ""
#: whatsnew/3.7.rst:1827
2018-06-28 13:32:56 +00:00
msgid ""
"Searching for certain Unicode characters (like Ukrainian capital \"Є\") in a "
"string was up to 25 times slower than searching for other characters. It is "
"now only 3 times slower in the worst case. (Contributed by Serhiy Storchaka "
"in :issue:`24821`.)"
msgstr ""
#: whatsnew/3.7.rst:1832
2018-06-28 13:32:56 +00:00
msgid ""
"The :func:`collections.namedtuple` factory has been reimplemented to make "
"the creation of named tuples 4 to 6 times faster. (Contributed by Jelle "
"Zijlstra with further improvements by INADA Naoki, Serhiy Storchaka, and "
"Raymond Hettinger in :issue:`28638`.)"
msgstr ""
#: whatsnew/3.7.rst:1837
2018-06-28 13:32:56 +00:00
msgid ""
":meth:`date.fromordinal` and :meth:`date.fromtimestamp` are now up to 30% "
"faster in the common case. (Contributed by Paul Ganssle in :issue:`32403`.)"
msgstr ""
#: whatsnew/3.7.rst:1841
2018-06-28 13:32:56 +00:00
msgid ""
"The :func:`os.fwalk` function is now up to 2 times faster thanks to the use "
"of :func:`os.scandir`. (Contributed by Serhiy Storchaka in :issue:`25996`.)"
msgstr ""
#: whatsnew/3.7.rst:1845
2018-06-28 13:32:56 +00:00
msgid ""
"The speed of the :func:`shutil.rmtree` function has been improved by 20--40% "
"thanks to the use of the :func:`os.scandir` function. (Contributed by Serhiy "
"Storchaka in :issue:`28564`.)"
msgstr ""
#: whatsnew/3.7.rst:1849
2018-06-28 13:32:56 +00:00
msgid ""
"Optimized case-insensitive matching and searching of :mod:`regular "
"expressions <re>`. Searching some patterns can now be up to 20 times "
"faster. (Contributed by Serhiy Storchaka in :issue:`30285`.)"
msgstr ""
#: whatsnew/3.7.rst:1853
2018-06-28 13:32:56 +00:00
msgid ""
":func:`re.compile` now converts ``flags`` parameter to int object if it is "
"``RegexFlag``. It is now as fast as Python 3.5, and faster than Python 3.6 "
"by about 10% depending on the pattern. (Contributed by INADA Naoki in :issue:"
"`31671`.)"
msgstr ""
#: whatsnew/3.7.rst:1858
2018-06-28 13:32:56 +00:00
msgid ""
"The :meth:`~selectors.BaseSelector.modify` methods of classes :class:"
"`selectors.EpollSelector`, :class:`selectors.PollSelector` and :class:"
"`selectors.DevpollSelector` may be around 10% faster under heavy loads. "
"(Contributed by Giampaolo Rodola' in :issue:`30014`)"
msgstr ""
#: whatsnew/3.7.rst:1863
2018-06-28 13:32:56 +00:00
msgid ""
"Constant folding has been moved from the peephole optimizer to the new AST "
"optimizer, which is able perform optimizations more consistently. "
"(Contributed by Eugene Toder and INADA Naoki in :issue:`29469` and :issue:"
"`11549`.)"
msgstr ""
#: whatsnew/3.7.rst:1868
2018-06-28 13:32:56 +00:00
msgid ""
"Most functions and methods in :mod:`abc` have been rewritten in C. This "
"makes creation of abstract base classes, and calling :func:`isinstance` and :"
"func:`issubclass` on them 1.5x faster. This also reduces Python start-up "
"time by up to 10%. (Contributed by Ivan Levkivskyi and INADA Naoki in :issue:"
"`31333`)"
msgstr ""
#: whatsnew/3.7.rst:1874
2018-06-28 13:32:56 +00:00
msgid ""
"Significant speed improvements to alternate constructors for :class:"
"`datetime.date` and :class:`datetime.datetime` by using fast-path "
"constructors when not constructing subclasses. (Contributed by Paul Ganssle "
"in :issue:`32403`)"
msgstr ""
#: whatsnew/3.7.rst:1879
2018-06-28 13:32:56 +00:00
msgid ""
"The speed of comparison of :class:`array.array` instances has been improved "
"considerably in certain cases. It is now from 10x to 70x faster when "
"comparing arrays holding values of the same integer type. (Contributed by "
"Adrian Wielgosik in :issue:`24700`.)"
msgstr ""
#: whatsnew/3.7.rst:1884
2018-06-28 13:32:56 +00:00
msgid ""
"The :func:`math.erf` and :func:`math.erfc` functions now use the (faster) C "
"library implementation on most platforms. (Contributed by Serhiy Storchaka "
"in :issue:`26121`.)"
msgstr ""
#: whatsnew/3.7.rst:1890
2018-06-28 13:32:56 +00:00
msgid "Other CPython Implementation Changes"
msgstr ""
#: whatsnew/3.7.rst:1892
2018-06-28 13:32:56 +00:00
msgid ""
"Trace hooks may now opt out of receiving the ``line`` and opt into receiving "
"the ``opcode`` events from the interpreter by setting the corresponding new "
"``f_trace_lines`` and ``f_trace_opcodes`` attributes on the frame being "
"traced. (Contributed by Nick Coghlan in :issue:`31344`.)"
msgstr ""
#: whatsnew/3.7.rst:1897
2018-06-28 13:32:56 +00:00
msgid ""
"Fixed some consistency problems with namespace package module attributes. "
"Namespace module objects now have an ``__file__`` that is set to ``None`` "
"(previously unset), and their ``__spec__.origin`` is also set to ``None`` "
"(previously the string ``\"namespace\"``). See :issue:`32305`. Also, the "
"namespace module object's ``__spec__.loader`` is set to the same value as "
"``__loader__`` (previously, the former was set to ``None``). See :issue:"
"`32303`."
msgstr ""
#: whatsnew/3.7.rst:1905
2018-06-28 13:32:56 +00:00
msgid ""
"The :func:`locals` dictionary now displays in the lexical order that "
"variables were defined. Previously, the order was undefined. (Contributed "
"by Raymond Hettinger in :issue:`32690`.)"
msgstr ""
#: whatsnew/3.7.rst:1909
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`distutils` ``upload`` command no longer tries to change CR end-of-"
"line characters to CRLF. This fixes a corruption issue with sdists that "
"ended with a byte equivalent to CR. (Contributed by Bo Bayles in :issue:"
"`32304`.)"
msgstr ""
#: whatsnew/3.7.rst:1916
2018-06-28 13:32:56 +00:00
msgid "Deprecated Python Behavior"
msgstr ""
#: whatsnew/3.7.rst:1918
2018-06-28 13:32:56 +00:00
msgid ""
"Yield expressions (both ``yield`` and ``yield from`` clauses) are now "
"deprecated in comprehensions and generator expressions (aside from the "
2018-12-24 13:20:55 +00:00
"iterable expression in the leftmost :keyword:`!for` clause). This ensures "
2018-06-28 13:32:56 +00:00
"that comprehensions always immediately return a container of the appropriate "
"type (rather than potentially returning a :term:`generator iterator` "
"object), while generator expressions won't attempt to interleave their "
"implicit output with the output from any explicit yield expressions. In "
"Python 3.7, such expressions emit :exc:`DeprecationWarning` when compiled, "
"in Python 3.8 this will be a :exc:`SyntaxError`. (Contributed by Serhiy "
"Storchaka in :issue:`10544`.)"
msgstr ""
#: whatsnew/3.7.rst:1929
2018-06-28 13:32:56 +00:00
msgid ""
"Returning a subclass of :class:`complex` from :meth:`object.__complex__` is "
"deprecated and will be an error in future Python versions. This makes "
"``__complex__()`` consistent with :meth:`object.__int__` and :meth:`object."
"__float__`. (Contributed by Serhiy Storchaka in :issue:`28894`.)"
msgstr ""
#: whatsnew/3.7.rst:1938
2018-06-28 13:32:56 +00:00
msgid "Deprecated Python modules, functions and methods"
msgstr ""
#: whatsnew/3.7.rst:1941
2018-06-28 13:32:56 +00:00
msgid "aifc"
msgstr "aifc"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:1943
2018-06-28 13:32:56 +00:00
msgid ""
":func:`aifc.openfp` has been deprecated and will be removed in Python 3.9. "
"Use :func:`aifc.open` instead. (Contributed by Brian Curtin in :issue:"
"`31985`.)"
msgstr ""
#: whatsnew/3.7.rst:1953
2018-06-28 13:32:56 +00:00
msgid ""
"Support for directly ``await``-ing instances of :class:`asyncio.Lock` and "
"other asyncio synchronization primitives has been deprecated. An "
"asynchronous context manager must be used in order to acquire and release "
2018-10-13 15:54:03 +00:00
"the synchronization resource. (Contributed by Andrew Svetlov in :issue:"
"`32253`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:1959
2018-06-28 13:32:56 +00:00
msgid ""
"The :meth:`asyncio.Task.current_task` and :meth:`asyncio.Task.all_tasks` "
"methods have been deprecated. (Contributed by Andrew Svetlov in :issue:"
"`32250`.)"
msgstr ""
#: whatsnew/3.7.rst:1967
2018-06-28 13:32:56 +00:00
msgid ""
"In Python 3.8, the abstract base classes in :mod:`collections.abc` will no "
"longer be exposed in the regular :mod:`collections` module. This will help "
"create a clearer distinction between the concrete classes and the abstract "
"base classes. (Contributed by Serhiy Storchaka in :issue:`25988`.)"
msgstr ""
#: whatsnew/3.7.rst:1977
2018-06-28 13:32:56 +00:00
msgid ""
":mod:`dbm.dumb` now supports reading read-only files and no longer writes "
"the index file when it is not changed. A deprecation warning is now emitted "
"if the index file is missing and recreated in the ``'r'`` and ``'w'`` modes "
"(this will be an error in future Python releases). (Contributed by Serhiy "
"Storchaka in :issue:`28847`.)"
msgstr ""
#: whatsnew/3.7.rst:1987
2018-06-28 13:32:56 +00:00
msgid ""
"In Python 3.8, attempting to check for non-Enum objects in :class:`Enum` "
"classes will raise a :exc:`TypeError` (e.g. ``1 in Color``); similarly, "
"attempting to check for non-Flag objects in a :class:`Flag` member will "
"raise :exc:`TypeError` (e.g. ``1 in Perm.RW``); currently, both operations "
"return :const:`False` instead. (Contributed by Ethan Furman in :issue:"
"`33217`.)"
msgstr ""
#: whatsnew/3.7.rst:1996
2018-06-28 13:32:56 +00:00
msgid "gettext"
msgstr ""
#: whatsnew/3.7.rst:1998
2018-06-28 13:32:56 +00:00
msgid ""
"Using non-integer value for selecting a plural form in :mod:`gettext` is now "
"deprecated. It never correctly worked. (Contributed by Serhiy Storchaka in :"
"issue:`28692`.)"
msgstr ""
#: whatsnew/3.7.rst:2006
2018-06-28 13:32:56 +00:00
msgid ""
"Methods :meth:`MetaPathFinder.find_module() <importlib.abc.MetaPathFinder."
"find_module>` (replaced by :meth:`MetaPathFinder.find_spec() <importlib.abc."
"MetaPathFinder.find_spec>`) and :meth:`PathEntryFinder.find_loader() "
"<importlib.abc.PathEntryFinder.find_loader>` (replaced by :meth:"
"`PathEntryFinder.find_spec() <importlib.abc.PathEntryFinder.find_spec>`) "
"both deprecated in Python 3.4 now emit :exc:`DeprecationWarning`. "
"(Contributed by Matthias Bussonnier in :issue:`29576`)"
msgstr ""
#: whatsnew/3.7.rst:2017
2018-06-28 13:32:56 +00:00
msgid ""
"The :class:`importlib.abc.ResourceLoader` ABC has been deprecated in favour "
"of :class:`importlib.abc.ResourceReader`."
msgstr ""
#: whatsnew/3.7.rst:2024
2018-06-28 13:32:56 +00:00
msgid ""
":func:`locale.format` has been deprecated, use :meth:`locale.format_string` "
"instead. (Contributed by Garvit in :issue:`10379`.)"
msgstr ""
#: whatsnew/3.7.rst:2029
2018-06-28 13:32:56 +00:00
msgid "macpath"
msgstr ""
#: whatsnew/3.7.rst:2031
2018-06-28 13:32:56 +00:00
msgid ""
"The :mod:`macpath` is now deprecated and will be removed in Python 3.8. "
"(Contributed by Chi Hsuan Yen in :issue:`9850`.)"
msgstr ""
#: whatsnew/3.7.rst:2036
2018-06-28 13:32:56 +00:00
msgid "threading"
msgstr "threading"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:2038
2018-06-28 13:32:56 +00:00
msgid ""
":mod:`dummy_threading` and :mod:`_dummy_thread` have been deprecated. It is "
"no longer possible to build Python with threading disabled. Use :mod:"
"`threading` instead. (Contributed by Antoine Pitrou in :issue:`31370`.)"
msgstr ""
#: whatsnew/3.7.rst:2047
2018-06-28 13:32:56 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The silent argument value truncation in :func:`socket.htons` and :func:"
2018-06-28 13:32:56 +00:00
"`socket.ntohs` has been deprecated. In future versions of Python, if the "
"passed argument is larger than 16 bits, an exception will be raised. "
"(Contributed by Oren Milman in :issue:`28332`.)"
msgstr ""
#: whatsnew/3.7.rst:2056
2018-06-28 13:32:56 +00:00
msgid ""
":func:`ssl.wrap_socket` is deprecated. Use :meth:`ssl.SSLContext."
"wrap_socket` instead. (Contributed by Christian Heimes in :issue:`28124`.)"
msgstr ""
#: whatsnew/3.7.rst:2062
2018-06-28 13:32:56 +00:00
msgid "sunau"
msgstr ""
#: whatsnew/3.7.rst:2064
2018-06-28 13:32:56 +00:00
msgid ""
":func:`sunau.openfp` has been deprecated and will be removed in Python 3.9. "
"Use :func:`sunau.open` instead. (Contributed by Brian Curtin in :issue:"
"`31985`.)"
msgstr ""
#: whatsnew/3.7.rst:2072
2018-06-28 13:32:56 +00:00
msgid ""
"Deprecated :func:`sys.set_coroutine_wrapper` and :func:`sys."
"get_coroutine_wrapper`."
msgstr ""
#: whatsnew/3.7.rst:2075
2018-06-28 13:32:56 +00:00
msgid ""
"The undocumented ``sys.callstats()`` function has been deprecated and will "
"be removed in a future Python version. (Contributed by Victor Stinner in :"
"issue:`28799`.)"
msgstr ""
#: whatsnew/3.7.rst:2081
2018-06-28 13:32:56 +00:00
msgid "wave"
msgstr "wave"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:2083
2018-06-28 13:32:56 +00:00
msgid ""
":func:`wave.openfp` has been deprecated and will be removed in Python 3.9. "
"Use :func:`wave.open` instead. (Contributed by Brian Curtin in :issue:"
"`31985`.)"
msgstr ""
#: whatsnew/3.7.rst:2089
2018-06-28 13:32:56 +00:00
msgid "Deprecated functions and types of the C API"
msgstr ""
#: whatsnew/3.7.rst:2091
2018-06-28 13:32:56 +00:00
msgid ""
"Function :c:func:`PySlice_GetIndicesEx` is deprecated and replaced with a "
"macro if ``Py_LIMITED_API`` is not set or set to a value in the range "
"between ``0x03050400`` and ``0x03060000`` (not inclusive), or is "
"``0x03060100`` or higher. (Contributed by Serhiy Storchaka in :issue:"
"`27867`.)"
msgstr ""
#: whatsnew/3.7.rst:2096
2018-06-28 13:32:56 +00:00
msgid ""
":c:func:`PyOS_AfterFork` has been deprecated. Use :c:func:"
"`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` or :c:func:"
"`PyOS_AfterFork_Child()` instead. (Contributed by Antoine Pitrou in :issue:"
"`16500`.)"
msgstr ""
#: whatsnew/3.7.rst:2104
2018-06-28 13:32:56 +00:00
msgid "Platform Support Removals"
msgstr ""
#: whatsnew/3.7.rst:2106
2018-06-28 13:32:56 +00:00
msgid "FreeBSD 9 and older are no longer officially supported."
msgstr ""
#: whatsnew/3.7.rst:2107
msgid ""
"For full Unicode support, including within extension modules, \\*nix "
"platforms are now expected to provide at least one of ``C.UTF-8`` (full "
"locale), ``C.utf8`` (full locale) or ``UTF-8`` (``LC_CTYPE``-only locale) as "
"an alternative to the legacy ``ASCII``-based ``C`` locale."
msgstr ""
#: whatsnew/3.7.rst:2111
msgid ""
"OpenSSL 0.9.8 and 1.0.1 are no longer supported, which means building "
"CPython 3.7 with SSL/TLS support on older platforms still using these "
"versions requires custom build options that link to a more recent version of "
"OpenSSL."
msgstr ""
#: whatsnew/3.7.rst:2115
msgid ""
"Notably, this issue affects the Debian 8 (aka \"jessie\") and Ubuntu 14.04 "
"(aka \"Trusty\") LTS Linux distributions, as they still use OpenSSL 1.0.1 by "
"default."
msgstr ""
#: whatsnew/3.7.rst:2119
msgid ""
"Debian 9 (\"stretch\") and Ubuntu 16.04 (\"xenial\"), as well as recent "
"releases of other LTS Linux releases (e.g. RHEL/CentOS 7.5, SLES 12-SP3), "
"use OpenSSL 1.0.2 or later, and remain supported in the default build "
"configuration."
msgstr ""
#: whatsnew/3.7.rst:2123
msgid ""
"CPython's own `CI configuration file <https://github.com/python/cpython/blob/"
"v3.7.13/.travis.yml>`_ provides an example of using the SSL :source:"
"`compatibility testing infrastructure <Tools/ssl/multissltests.py>` in "
"CPython's test suite to build and link against OpenSSL 1.1.0 rather than an "
"outdated system provided OpenSSL."
msgstr ""
#: whatsnew/3.7.rst:2132
2018-06-28 13:32:56 +00:00
msgid "API and Feature Removals"
msgstr ""
#: whatsnew/3.7.rst:2134
2018-06-28 13:32:56 +00:00
msgid "The following features and APIs have been removed from Python 3.7:"
msgstr ""
#: whatsnew/3.7.rst:2136
2018-06-28 13:32:56 +00:00
msgid ""
"The ``os.stat_float_times()`` function has been removed. It was introduced "
"in Python 2.3 for backward compatibility with Python 2.2, and was deprecated "
"since Python 3.1."
msgstr ""
#: whatsnew/3.7.rst:2140
2018-06-28 13:32:56 +00:00
msgid ""
"Unknown escapes consisting of ``'\\'`` and an ASCII letter in replacement "
"templates for :func:`re.sub` were deprecated in Python 3.5, and will now "
"cause an error."
msgstr ""
#: whatsnew/3.7.rst:2144
2018-06-28 13:32:56 +00:00
msgid ""
"Removed support of the *exclude* argument in :meth:`tarfile.TarFile.add`. It "
"was deprecated in Python 2.7 and 3.2. Use the *filter* argument instead."
msgstr ""
#: whatsnew/3.7.rst:2147
2018-06-28 13:32:56 +00:00
msgid ""
"The ``splitunc()`` function in the :mod:`ntpath` module was deprecated in "
"Python 3.1, and has now been removed. Use the :func:`~os.path.splitdrive` "
"function instead."
msgstr ""
#: whatsnew/3.7.rst:2151
2018-06-28 13:32:56 +00:00
msgid ""
":func:`collections.namedtuple` no longer supports the *verbose* parameter or "
"``_source`` attribute which showed the generated source code for the named "
"tuple class. This was part of an optimization designed to speed-up class "
"creation. (Contributed by Jelle Zijlstra with further improvements by INADA "
"Naoki, Serhiy Storchaka, and Raymond Hettinger in :issue:`28638`.)"
msgstr ""
#: whatsnew/3.7.rst:2157
2018-06-28 13:32:56 +00:00
msgid ""
"Functions :func:`bool`, :func:`float`, :func:`list` and :func:`tuple` no "
"longer take keyword arguments. The first argument of :func:`int` can now be "
"passed only as positional argument."
msgstr ""
#: whatsnew/3.7.rst:2161
2018-06-28 13:32:56 +00:00
msgid ""
"Removed previously deprecated in Python 2.4 classes ``Plist``, ``Dict`` and "
"``_InternalDict`` in the :mod:`plistlib` module. Dict values in the result "
"of functions :func:`~plistlib.readPlist` and :func:`~plistlib."
"readPlistFromBytes` are now normal dicts. You no longer can use attribute "
"access to access items of these dictionaries."
msgstr ""
#: whatsnew/3.7.rst:2167
2018-06-28 13:32:56 +00:00
msgid ""
"The ``asyncio.windows_utils.socketpair()`` function has been removed. Use "
"the :func:`socket.socketpair` function instead, it is available on all "
"platforms since Python 3.5. ``asyncio.windows_utils.socketpair`` was just an "
"alias to ``socket.socketpair`` on Python 3.5 and newer."
msgstr ""
#: whatsnew/3.7.rst:2173
2018-06-28 13:32:56 +00:00
msgid ""
":mod:`asyncio` no longer exports the :mod:`selectors` and :mod:`_overlapped` "
"modules as ``asyncio.selectors`` and ``asyncio._overlapped``. Replace ``from "
"asyncio import selectors`` with ``import selectors``."
msgstr ""
#: whatsnew/3.7.rst:2178
2018-06-28 13:32:56 +00:00
msgid ""
"Direct instantiation of :class:`ssl.SSLSocket` and :class:`ssl.SSLObject` "
"objects is now prohibited. The constructors were never documented, tested, "
"or designed as public constructors. Users were supposed to use :func:`ssl."
"wrap_socket` or :class:`ssl.SSLContext`. (Contributed by Christian Heimes "
"in :issue:`32951`.)"
msgstr ""
#: whatsnew/3.7.rst:2184
2018-06-28 13:32:56 +00:00
msgid ""
"The unused :mod:`distutils` ``install_misc`` command has been removed. "
"(Contributed by Eric N. Vander Weele in :issue:`29218`.)"
msgstr ""
#: whatsnew/3.7.rst:2189
2018-06-28 13:32:56 +00:00
msgid "Module Removals"
msgstr ""
#: whatsnew/3.7.rst:2191
2018-06-28 13:32:56 +00:00
msgid ""
"The ``fpectl`` module has been removed. It was never enabled by default, "
"never worked correctly on x86-64, and it changed the Python ABI in ways that "
"caused unexpected breakage of C extensions. (Contributed by Nathaniel J. "
"Smith in :issue:`29137`.)"
msgstr ""
#: whatsnew/3.7.rst:2474
2018-06-28 13:32:56 +00:00
msgid "Windows-only Changes"
msgstr ""
#: whatsnew/3.7.rst:2200
2018-06-28 13:32:56 +00:00
msgid ""
"The python launcher, (py.exe), can accept 32 & 64 bit specifiers **without** "
"having to specify a minor version as well. So ``py -3-32`` and ``py -3-64`` "
"become valid as well as ``py -3.7-32``, also the -*m*-64 and -*m.n*-64 forms "
"are now accepted to force 64 bit python even if 32 bit would have otherwise "
"been used. If the specified version is not available py.exe will error exit. "
"(Contributed by Steve Barnes in :issue:`30291`.)"
msgstr ""
#: whatsnew/3.7.rst:2207
2018-06-28 13:32:56 +00:00
msgid ""
"The launcher can be run as ``py -0`` to produce a list of the installed "
"pythons, *with default marked with an asterisk*. Running ``py -0p`` will "
"include the paths. If py is run with a version specifier that cannot be "
"matched it will also print the *short form* list of available specifiers. "
"(Contributed by Steve Barnes in :issue:`30362`.)"
msgstr ""
#: whatsnew/3.7.rst:2217
2020-02-14 10:18:53 +00:00
#, fuzzy
2018-06-28 13:32:56 +00:00
msgid "Porting to Python 3.7"
2020-02-14 10:18:53 +00:00
msgstr "Portage vers Python 2.7"
2018-06-28 13:32:56 +00:00
#: whatsnew/3.7.rst:2219
2018-06-28 13:32:56 +00:00
msgid ""
"This section lists previously described changes and other bugfixes that may "
"require changes to your code."
msgstr ""
#: whatsnew/3.7.rst:2224
2018-06-28 13:32:56 +00:00
msgid "Changes in Python Behavior"
msgstr ""
#: whatsnew/3.7.rst:2226
2018-06-28 13:32:56 +00:00
msgid ""
":keyword:`async` and :keyword:`await` names are now reserved keywords. Code "
"using these names as identifiers will now raise a :exc:`SyntaxError`. "
"(Contributed by Jelle Zijlstra in :issue:`30406`.)"
msgstr ""
#: whatsnew/3.7.rst:2230
2018-06-28 13:32:56 +00:00
msgid ""
":pep:`479` is enabled for all code in Python 3.7, meaning that :exc:"
"`StopIteration` exceptions raised directly or indirectly in coroutines and "
"generators are transformed into :exc:`RuntimeError` exceptions. (Contributed "
"by Yury Selivanov in :issue:`32670`.)"
msgstr ""
#: whatsnew/3.7.rst:2236
2018-06-28 13:32:56 +00:00
msgid ""
":meth:`object.__aiter__` methods can no longer be declared as asynchronous. "
"(Contributed by Yury Selivanov in :issue:`31709`.)"
msgstr ""
#: whatsnew/3.7.rst:2239
2018-06-28 13:32:56 +00:00
msgid ""
"Due to an oversight, earlier Python versions erroneously accepted the "
"following syntax::"
msgstr ""
#: whatsnew/3.7.rst:2247
2018-06-28 13:32:56 +00:00
msgid ""
"Python 3.7 now correctly raises a :exc:`SyntaxError`, as a generator "
"expression always needs to be directly inside a set of parentheses and "
"cannot have a comma on either side, and the duplication of the parentheses "
"can be omitted only on calls. (Contributed by Serhiy Storchaka in :issue:"
"`32012` and :issue:`32023`.)"
msgstr ""
#: whatsnew/3.7.rst:2253
2018-06-28 13:32:56 +00:00
msgid ""
"When using the :option:`-m` switch, the initial working directory is now "
"added to :data:`sys.path`, rather than an empty string (which dynamically "
"denoted the current working directory at the time of each import). Any "
"programs that are checking for the empty string, or otherwise relying on the "
"previous behaviour, will need to be updated accordingly (e.g. by also "
"checking for ``os.getcwd()`` or ``os.path.dirname(__main__.__file__)``, "
"depending on why the code was checking for the empty string in the first "
"place)."
msgstr ""
#: whatsnew/3.7.rst:2263
2018-06-28 13:32:56 +00:00
msgid "Changes in the Python API"
msgstr ""
#: whatsnew/3.7.rst:2265
2018-06-28 13:32:56 +00:00
msgid ""
":meth:`socketserver.ThreadingMixIn.server_close` now waits until all non-"
"daemon threads complete. Set the new :attr:`socketserver.ThreadingMixIn."
"block_on_close` class attribute to ``False`` to get the pre-3.7 behaviour. "
"(Contributed by Victor Stinner in :issue:`31233` and :issue:`33540`.)"
msgstr ""
#: whatsnew/3.7.rst:2271
2018-06-28 13:32:56 +00:00
msgid ""
":meth:`socketserver.ForkingMixIn.server_close` now waits until all child "
"processes complete. Set the new :attr:`socketserver.ForkingMixIn."
"block_on_close` class attribute to ``False`` to get the pre-3.7 behaviour. "
"(Contributed by Victor Stinner in :issue:`31151` and :issue:`33540`.)"
msgstr ""
#: whatsnew/3.7.rst:2277
2018-06-28 13:32:56 +00:00
msgid ""
"The :func:`locale.localeconv` function now temporarily sets the ``LC_CTYPE`` "
"locale to the value of ``LC_NUMERIC`` in some cases. (Contributed by Victor "
"Stinner in :issue:`31900`.)"
msgstr ""
#: whatsnew/3.7.rst:2281
2018-06-28 13:32:56 +00:00
msgid ""
":meth:`pkgutil.walk_packages` now raises a :exc:`ValueError` if *path* is a "
"string. Previously an empty list was returned. (Contributed by Sanyam "
"Khurana in :issue:`24744`.)"
msgstr ""
#: whatsnew/3.7.rst:2285
2018-06-28 13:32:56 +00:00
msgid ""
"A format string argument for :meth:`string.Formatter.format` is now :ref:"
"`positional-only <positional-only_parameter>`. Passing it as a keyword "
"argument was deprecated in Python 3.5. (Contributed by Serhiy Storchaka in :"
"issue:`29193`.)"
msgstr ""
#: whatsnew/3.7.rst:2290
2018-06-28 13:32:56 +00:00
msgid ""
"Attributes :attr:`~http.cookies.Morsel.key`, :attr:`~http.cookies.Morsel."
"value` and :attr:`~http.cookies.Morsel.coded_value` of class :class:`http."
"cookies.Morsel` are now read-only. Assigning to them was deprecated in "
"Python 3.5. Use the :meth:`~http.cookies.Morsel.set` method for setting "
"them. (Contributed by Serhiy Storchaka in :issue:`29192`.)"
msgstr ""
#: whatsnew/3.7.rst:2298
2018-06-28 13:32:56 +00:00
msgid ""
"The *mode* argument of :func:`os.makedirs` no longer affects the file "
"permission bits of newly created intermediate-level directories. To set "
2018-06-28 13:32:56 +00:00
"their file permission bits you can set the umask before invoking "
"``makedirs()``. (Contributed by Serhiy Storchaka in :issue:`19930`.)"
msgstr ""
#: whatsnew/3.7.rst:2304
2018-06-28 13:32:56 +00:00
msgid ""
"The :attr:`struct.Struct.format` type is now :class:`str` instead of :class:"
"`bytes`. (Contributed by Victor Stinner in :issue:`21071`.)"
msgstr ""
#: whatsnew/3.7.rst:2307
2018-06-28 13:32:56 +00:00
msgid ""
":func:`~cgi.parse_multipart` now accepts the *encoding* and *errors* "
"arguments and returns the same results as :class:`~FieldStorage`: for non-"
"file fields, the value associated to a key is a list of strings, not bytes. "
"(Contributed by Pierre Quentel in :issue:`29979`.)"
msgstr ""
#: whatsnew/3.7.rst:2313
2018-06-28 13:32:56 +00:00
msgid ""
"Due to internal changes in :mod:`socket`, calling :func:`socket.fromshare` "
"on a socket created by :func:`socket.share <socket.socket.share>` in older "
"Python versions is not supported."
msgstr ""
#: whatsnew/3.7.rst:2317
2018-06-28 13:32:56 +00:00
msgid ""
"``repr`` for :exc:`BaseException` has changed to not include the trailing "
"comma. Most exceptions are affected by this change. (Contributed by Serhiy "
"Storchaka in :issue:`30399`.)"
msgstr ""
#: whatsnew/3.7.rst:2321
2018-06-28 13:32:56 +00:00
msgid ""
"``repr`` for :class:`datetime.timedelta` has changed to include the keyword "
"arguments in the output. (Contributed by Utkarsh Upadhyay in :issue:`30302`.)"
msgstr ""
#: whatsnew/3.7.rst:2324
2018-06-28 13:32:56 +00:00
msgid ""
"Because :func:`shutil.rmtree` is now implemented using the :func:`os."
"scandir` function, the user specified handler *onerror* is now called with "
"the first argument ``os.scandir`` instead of ``os.listdir`` when listing the "
"directory is failed."
msgstr ""
#: whatsnew/3.7.rst:2329
2018-06-28 13:32:56 +00:00
msgid ""
"Support for nested sets and set operations in regular expressions as in "
"`Unicode Technical Standard #18`_ might be added in the future. This would "
"change the syntax. To facilitate this future change a :exc:`FutureWarning` "
"will be raised in ambiguous cases for the time being. That include sets "
"starting with a literal ``'['`` or containing literal character sequences "
"``'--'``, ``'&&'``, ``'~~'``, and ``'||'``. To avoid a warning, escape them "
"with a backslash. (Contributed by Serhiy Storchaka in :issue:`30349`.)"
msgstr ""
#: whatsnew/3.7.rst:2340
2018-06-28 13:32:56 +00:00
msgid ""
"The result of splitting a string on a :mod:`regular expression <re>` that "
"could match an empty string has been changed. For example splitting on "
"``r'\\s*'`` will now split not only on whitespaces as it did previously, but "
"also on empty strings before all non-whitespace characters and just before "
"the end of the string. The previous behavior can be restored by changing the "
"pattern to ``r'\\s+'``. A :exc:`FutureWarning` was emitted for such "
"patterns since Python 3.5."
msgstr ""
#: whatsnew/3.7.rst:2349
2018-06-28 13:32:56 +00:00
msgid ""
"For patterns that match both empty and non-empty strings, the result of "
"searching for all matches may also be changed in other cases. For example "
"in the string ``'a\\n\\n'``, the pattern ``r'(?m)^\\s*?$'`` will not only "
"match empty strings at positions 2 and 3, but also the string ``'\\n'`` at "
"positions 2--3. To match only blank lines, the pattern should be rewritten "
"as ``r'(?m)^[^\\S\\n]*$'``."
msgstr ""
#: whatsnew/3.7.rst:2356
2018-06-28 13:32:56 +00:00
msgid ""
":func:`re.sub()` now replaces empty matches adjacent to a previous non-empty "
"match. For example ``re.sub('x*', '-', 'abxd')`` returns now ``'-a-b--d-'`` "
"instead of ``'-a-b-d-'`` (the first minus between 'b' and 'd' replaces 'x', "
"and the second minus replaces an empty string between 'x' and 'd')."
msgstr ""
#: whatsnew/3.7.rst:2362
2018-06-28 13:32:56 +00:00
msgid "(Contributed by Serhiy Storchaka in :issue:`25054` and :issue:`32308`.)"
msgstr ""
#: whatsnew/3.7.rst:2364
2018-06-28 13:32:56 +00:00
msgid ""
"Change :func:`re.escape` to only escape regex special characters instead of "
"escaping all characters other than ASCII letters, numbers, and ``'_'``. "
"(Contributed by Serhiy Storchaka in :issue:`29995`.)"
msgstr ""
#: whatsnew/3.7.rst:2368
2018-06-28 13:32:56 +00:00
msgid ""
":class:`tracemalloc.Traceback` frames are now sorted from oldest to most "
"recent to be more consistent with :mod:`traceback`. (Contributed by Jesse "
"Bakker in :issue:`32121`.)"
msgstr ""
#: whatsnew/3.7.rst:2372
2018-06-28 13:32:56 +00:00
msgid ""
"On OSes that support :const:`socket.SOCK_NONBLOCK` or :const:`socket."
"SOCK_CLOEXEC` bit flags, the :attr:`socket.type <socket.socket.type>` no "
"longer has them applied. Therefore, checks like ``if sock.type == socket."
"SOCK_STREAM`` work as expected on all platforms. (Contributed by Yury "
"Selivanov in :issue:`32331`.)"
msgstr ""
#: whatsnew/3.7.rst:2379
2018-06-28 13:32:56 +00:00
msgid ""
"On Windows the default for the *close_fds* argument of :class:`subprocess."
"Popen` was changed from :const:`False` to :const:`True` when redirecting the "
"standard handles. If you previously depended on handles being inherited when "
"using :class:`subprocess.Popen` with standard io redirection, you will have "
"to pass ``close_fds=False`` to preserve the previous behaviour, or use :attr:"
"`STARTUPINFO.lpAttributeList <subprocess.STARTUPINFO.lpAttributeList>`."
msgstr ""
#: whatsnew/3.7.rst:2387
2018-06-28 13:32:56 +00:00
msgid ""
":meth:`importlib.machinery.PathFinder.invalidate_caches` -- which implicitly "
"affects :func:`importlib.invalidate_caches` -- now deletes entries in :data:"
"`sys.path_importer_cache` which are set to ``None``. (Contributed by Brett "
"Cannon in :issue:`33169`.)"
msgstr ""
#: whatsnew/3.7.rst:2392
2018-06-28 13:32:56 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"In :mod:`asyncio`, :meth:`loop.sock_recv() <asyncio.loop.sock_recv>`, :meth:"
"`loop.sock_sendall() <asyncio.loop.sock_sendall>`, :meth:`loop.sock_accept() "
"<asyncio.loop.sock_accept>`, :meth:`loop.getaddrinfo() <asyncio.loop."
"getaddrinfo>`, :meth:`loop.getnameinfo() <asyncio.loop.getnameinfo>` have "
"been changed to be proper coroutine methods to match their documentation. "
"Previously, these methods returned :class:`asyncio.Future` instances. "
"(Contributed by Yury Selivanov in :issue:`32327`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:2403
2018-06-28 13:32:56 +00:00
msgid ""
":attr:`asyncio.Server.sockets` now returns a copy of the internal list of "
"server sockets, instead of returning it directly. (Contributed by Yury "
"Selivanov in :issue:`32662`.)"
msgstr ""
#: whatsnew/3.7.rst:2407
2018-06-28 13:32:56 +00:00
msgid ""
":attr:`Struct.format <struct.Struct.format>` is now a :class:`str` instance "
"instead of a :class:`bytes` instance. (Contributed by Victor Stinner in :"
"issue:`21071`.)"
msgstr ""
#: whatsnew/3.7.rst:2411
2018-06-28 13:32:56 +00:00
msgid ""
2019-10-09 16:10:12 +00:00
":mod:`argparse` subparsers can now be made mandatory by passing "
"``required=True`` to :meth:`ArgumentParser.add_subparsers() <argparse."
"ArgumentParser.add_subparsers>`. (Contributed by Anthony Sottile in :issue:"
"`26510`.)"
msgstr ""
#: whatsnew/3.7.rst:2415
2019-10-09 16:10:12 +00:00
msgid ""
2018-06-28 13:32:56 +00:00
":meth:`ast.literal_eval()` is now stricter. Addition and subtraction of "
"arbitrary numbers are no longer allowed. (Contributed by Serhiy Storchaka "
"in :issue:`31778`.)"
msgstr ""
#: whatsnew/3.7.rst:2419
2018-06-28 13:32:56 +00:00
msgid ""
":meth:`Calendar.itermonthdates <calendar.Calendar.itermonthdates>` will now "
"consistently raise an exception when a date falls outside of the "
"``0001-01-01`` through ``9999-12-31`` range. To support applications that "
"cannot tolerate such exceptions, the new :meth:`Calendar.itermonthdays3 "
"<calendar.Calendar.itermonthdays3>` and :meth:`Calendar.itermonthdays4 "
"<calendar.Calendar.itermonthdays4>` can be used. The new methods return "
"tuples and are not restricted by the range supported by :class:`datetime."
"date`. (Contributed by Alexander Belopolsky in :issue:`28292`.)"
msgstr ""
#: whatsnew/3.7.rst:2429
2018-06-28 13:32:56 +00:00
msgid ""
":class:`collections.ChainMap` now preserves the order of the underlying "
"mappings. (Contributed by Raymond Hettinger in :issue:`32792`.)"
msgstr ""
#: whatsnew/3.7.rst:2432
2018-06-28 13:32:56 +00:00
msgid ""
"The ``submit()`` method of :class:`concurrent.futures.ThreadPoolExecutor` "
"and :class:`concurrent.futures.ProcessPoolExecutor` now raises a :exc:"
"`RuntimeError` if called during interpreter shutdown. (Contributed by Mark "
"Nemec in :issue:`33097`.)"
msgstr ""
#: whatsnew/3.7.rst:2437
2018-06-28 13:32:56 +00:00
msgid ""
"The :class:`configparser.ConfigParser` constructor now uses ``read_dict()`` "
"to process the default values, making its behavior consistent with the rest "
"of the parser. Non-string keys and values in the defaults dictionary are "
"now being implicitly converted to strings. (Contributed by James Tocknell "
"in :issue:`23835`.)"
msgstr ""
#: whatsnew/3.7.rst:2443
msgid ""
"Several undocumented internal imports were removed. One example is that ``os."
"errno`` is no longer available; use ``import errno`` directly instead. Note "
"that such undocumented internal imports may be removed any time without "
"notice, even in micro version releases."
msgstr ""
#: whatsnew/3.7.rst:2451
2018-06-28 13:32:56 +00:00
msgid "Changes in the C API"
msgstr ""
#: whatsnew/3.7.rst:2453
2018-06-28 13:32:56 +00:00
msgid ""
"The function :c:func:`PySlice_GetIndicesEx` is considered unsafe for "
"resizable sequences. If the slice indices are not instances of :class:"
"`int`, but objects that implement the :meth:`!__index__` method, the "
"sequence can be resized after passing its length to :c:func:`!"
"PySlice_GetIndicesEx`. This can lead to returning indices out of the length "
"of the sequence. For avoiding possible problems use new functions :c:func:"
"`PySlice_Unpack` and :c:func:`PySlice_AdjustIndices`. (Contributed by Serhiy "
"Storchaka in :issue:`27867`.)"
msgstr ""
#: whatsnew/3.7.rst:2464
2018-06-28 13:32:56 +00:00
msgid "CPython bytecode changes"
msgstr ""
#: whatsnew/3.7.rst:2466
2018-06-28 13:32:56 +00:00
msgid ""
"There are two new opcodes: :opcode:`LOAD_METHOD` and :opcode:`CALL_METHOD`. "
"(Contributed by Yury Selivanov and INADA Naoki in :issue:`26110`.)"
msgstr ""
#: whatsnew/3.7.rst:2469
2018-06-28 13:32:56 +00:00
msgid ""
"The :opcode:`STORE_ANNOTATION` opcode has been removed. (Contributed by Mark "
"Shannon in :issue:`32550`.)"
msgstr ""
#: whatsnew/3.7.rst:2476
2018-06-28 13:32:56 +00:00
msgid ""
"The file used to override :data:`sys.path` is now called ``<python-"
2022-03-23 17:40:12 +00:00
"executable>._pth`` instead of ``'sys.path'``. See :ref:"
"`windows_finding_modules` for more information. (Contributed by Steve Dower "
"in :issue:`28137`.)"
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:2483
2018-06-28 13:32:56 +00:00
msgid "Other CPython implementation changes"
msgstr ""
#: whatsnew/3.7.rst:2485
2018-06-28 13:32:56 +00:00
msgid ""
"In preparation for potential future changes to the public CPython runtime "
"initialization API (see :pep:`432` for an initial, but somewhat outdated, "
"draft), CPython's internal startup and configuration management logic has "
"been significantly refactored. While these updates are intended to be "
"entirely transparent to both embedding applications and users of the regular "
"CPython CLI, they're being mentioned here as the refactoring changes the "
"internal order of various operations during interpreter startup, and hence "
"may uncover previously latent defects, either in embedding applications, or "
"in CPython itself. (Initially contributed by Nick Coghlan and Eric Snow as "
"part of :issue:`22257`, and further updated by Nick, Eric, and Victor "
"Stinner in a number of other issues). Some known details affected:"
msgstr ""
#: whatsnew/3.7.rst:2498
2018-06-28 13:32:56 +00:00
msgid ""
":c:func:`PySys_AddWarnOptionUnicode` is not currently usable by embedding "
"applications due to the requirement to create a Unicode object prior to "
"calling ``Py_Initialize``. Use :c:func:`PySys_AddWarnOption` instead."
2018-06-28 13:32:56 +00:00
msgstr ""
#: whatsnew/3.7.rst:2502
2018-06-28 13:32:56 +00:00
msgid ""
"warnings filters added by an embedding application with :c:func:"
"`PySys_AddWarnOption` should now more consistently take precedence over the "
"default filters set by the interpreter"
msgstr ""
#: whatsnew/3.7.rst:2506
2018-06-28 13:32:56 +00:00
msgid ""
"Due to changes in the way the default warnings filters are configured, "
"setting :c:data:`Py_BytesWarningFlag` to a value greater than one is no "
"longer sufficient to both emit :exc:`BytesWarning` messages and have them "
"converted to exceptions. Instead, the flag must be set (to cause the "
"warnings to be emitted in the first place), and an explicit ``error::"
"BytesWarning`` warnings filter added to convert them to exceptions."
msgstr ""
#: whatsnew/3.7.rst:2513
2018-06-28 13:32:56 +00:00
msgid ""
"Due to a change in the way docstrings are handled by the compiler, the "
"implicit ``return None`` in a function body consisting solely of a docstring "
"is now marked as occurring on the same line as the docstring, not on the "
"function's header line."
msgstr ""
#: whatsnew/3.7.rst:2518
2018-06-28 13:32:56 +00:00
msgid ""
"The current exception state has been moved from the frame object to the co-"
"routine. This simplified the interpreter and fixed a couple of obscure bugs "
"caused by having swap exception state when entering or exiting a generator. "
"(Contributed by Mark Shannon in :issue:`25612`.)"
msgstr ""
2018-09-15 20:37:31 +00:00
#: whatsnew/3.7.rst:2524
2018-09-15 20:37:31 +00:00
msgid "Notable changes in Python 3.7.1"
msgstr ""
#: whatsnew/3.7.rst:2526
2018-09-15 20:37:31 +00:00
msgid ""
"Starting in 3.7.1, :c:func:`Py_Initialize` now consistently reads and "
"respects all of the same environment settings as :c:func:`Py_Main` (in "
"earlier Python versions, it respected an ill-defined subset of those "
"environment variables, while in Python 3.7.0 it didn't read any of them due "
"to :issue:`34247`). If this behavior is unwanted, set :c:data:"
"`Py_IgnoreEnvironmentFlag` to 1 before calling :c:func:`Py_Initialize`."
msgstr ""
2018-10-13 15:54:03 +00:00
#: whatsnew/3.7.rst:2533
2018-10-13 15:54:03 +00:00
msgid ""
"In 3.7.1 the C API for Context Variables :ref:`was updated "
"<contextvarsobjects_pointertype_change>` to use :c:type:`PyObject` "
"pointers. See also :issue:`34762`."
msgstr ""
#: whatsnew/3.7.rst:2537
2018-11-29 15:13:39 +00:00
msgid ""
"In 3.7.1 the :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token "
"when provided with input that does not have a trailing new line. This "
"behavior now matches what the C tokenizer does internally. (Contributed by "
"Ammar Askar in :issue:`33899`.)"
msgstr ""
2018-12-24 13:20:55 +00:00
#: whatsnew/3.7.rst:2543
2018-12-24 13:20:55 +00:00
msgid "Notable changes in Python 3.7.2"
msgstr ""
#: whatsnew/3.7.rst:2545
2018-12-24 13:20:55 +00:00
msgid ""
"In 3.7.2, :mod:`venv` on Windows no longer copies the original binaries, but "
"creates redirector scripts named ``python.exe`` and ``pythonw.exe`` instead. "
"This resolves a long standing issue where all virtual environments would "
"have to be upgraded or recreated with each Python update. However, note that "
"this release will still require recreation of virtual environments in order "
"to get the new scripts."
msgstr ""
2020-02-04 10:14:03 +00:00
#: whatsnew/3.7.rst:2553
2020-02-04 10:14:03 +00:00
msgid "Notable changes in Python 3.7.6"
msgstr ""
#: whatsnew/3.7.rst:2555
2020-02-04 10:14:03 +00:00
msgid ""
"Due to significant security concerns, the *reuse_address* parameter of :meth:"
"`asyncio.loop.create_datagram_endpoint` is no longer supported. This is "
"because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For "
"more details, see the documentation for ``loop.create_datagram_endpoint()``. "
"(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:"
"`37228`.)"
msgstr ""
#: whatsnew/3.7.rst:2563
#, fuzzy
msgid "Notable changes in Python 3.7.10"
msgstr "Portage vers Python 2.7"
#: whatsnew/3.7.rst:2565
msgid ""
"Earlier Python versions allowed using both ``;`` and ``&`` as query "
"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib."
"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C "
"recommendations, this has been changed to allow only a single separator key, "
"with ``&`` as the default. This change also affects :func:`cgi.parse` and :"
"func:`cgi.parse_multipart` as they use the affected functions internally. "
"For more details, please see their respective documentation. (Contributed by "
"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)"
msgstr ""