forked from AFPy/python-docs-fr
Julien Palard
2afee90322
* Make merge * Move merge to its own script. * No longer needed. * Use git ls-files.
3069 lines
98 KiB
Plaintext
3069 lines
98 KiB
Plaintext
# Copyright (C) 2001-2018, Python Software Foundation
|
||
# For licence information, see README file.
|
||
#
|
||
msgid ""
|
||
msgstr ""
|
||
"Project-Id-Version: Python 3\n"
|
||
"Report-Msgid-Bugs-To: \n"
|
||
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
|
||
"PO-Revision-Date: 2021-09-23 16:29+0200\n"
|
||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||
"Language: fr\n"
|
||
"MIME-Version: 1.0\n"
|
||
"Content-Type: text/plain; charset=UTF-8\n"
|
||
"Content-Transfer-Encoding: 8bit\n"
|
||
|
||
#: whatsnew/3.10.rst:3
|
||
msgid "What's New In Python 3.10"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:0
|
||
msgid "Release"
|
||
msgstr "Version"
|
||
|
||
#: whatsnew/3.10.rst:5
|
||
msgid "|release|"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:0
|
||
msgid "Date"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:6
|
||
msgid "|today|"
|
||
msgstr "|today|"
|
||
|
||
#: whatsnew/3.10.rst:0
|
||
msgid "Editor"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:7
|
||
msgid "Pablo Galindo Salgado"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:49
|
||
msgid "This article explains the new features in Python 3.10, compared to 3.9."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:51
|
||
msgid "For full details, see the :ref:`changelog <changelog>`."
|
||
msgstr "Pour plus de détails, voir le :ref:`changelog <changelog>`."
|
||
|
||
#: whatsnew/3.10.rst:54
|
||
msgid "Summary -- Release highlights"
|
||
msgstr "Résumé – Points forts de la publication"
|
||
|
||
#: whatsnew/3.10.rst:62
|
||
#, fuzzy
|
||
msgid "New syntax features:"
|
||
msgstr "Nouvelles fonctionnalités"
|
||
|
||
#: whatsnew/3.10.rst:64
|
||
msgid ":pep:`634`, Structural Pattern Matching: Specification"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:65
|
||
msgid ":pep:`635`, Structural Pattern Matching: Motivation and Rationale"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:66
|
||
msgid ":pep:`636`, Structural Pattern Matching: Tutorial"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:67
|
||
msgid ""
|
||
":issue:`12782`, Parenthesized context managers are now officially allowed."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:69
|
||
msgid "New features in the standard library:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:71
|
||
msgid ":pep:`618`, Add Optional Length-Checking To zip."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:73
|
||
msgid "Interpreter improvements:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:75
|
||
msgid ":pep:`626`, Precise line numbers for debugging and other tools."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:77
|
||
#, fuzzy
|
||
msgid "New typing features:"
|
||
msgstr "Nouvelles fonctionnalités"
|
||
|
||
#: whatsnew/3.10.rst:79
|
||
msgid ":pep:`604`, Allow writing union types as X | Y"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:80
|
||
msgid ":pep:`613`, Explicit Type Aliases"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:81
|
||
msgid ":pep:`612`, Parameter Specification Variables"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:83
|
||
msgid "Important deprecations, removals or restrictions:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:85
|
||
msgid ":pep:`644`, Require OpenSSL 1.1.1 or newer"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:86
|
||
msgid ":pep:`632`, Deprecate distutils module."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:87
|
||
msgid ""
|
||
":pep:`623`, Deprecate and prepare for the removal of the wstr member in "
|
||
"PyUnicodeObject."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:88
|
||
msgid ":pep:`624`, Remove Py_UNICODE encoder APIs"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:89
|
||
msgid ":pep:`597`, Add optional EncodingWarning"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2031
|
||
msgid "New Features"
|
||
msgstr "Nouvelles fonctionnalités"
|
||
|
||
#: whatsnew/3.10.rst:98
|
||
msgid "Parenthesized context managers"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:100
|
||
msgid ""
|
||
"Using enclosing parentheses for continuation across multiple lines in "
|
||
"context managers is now supported. This allows formatting a long collection "
|
||
"of context managers in multiple lines in a similar way as it was previously "
|
||
"possible with import statements. For instance, all these examples are now "
|
||
"valid:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:131
|
||
msgid ""
|
||
"it is also possible to use a trailing comma at the end of the enclosed group:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:143
|
||
msgid ""
|
||
"This new syntax uses the non LL(1) capacities of the new parser. Check :pep:"
|
||
"`617` for more details."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:146
|
||
msgid ""
|
||
"(Contributed by Guido van Rossum, Pablo Galindo and Lysandros Nikolaou in :"
|
||
"issue:`12782` and :issue:`40334`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:151
|
||
msgid "Better error messages"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:154
|
||
msgid "SyntaxErrors"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:156
|
||
msgid ""
|
||
"When parsing code that contains unclosed parentheses or brackets the "
|
||
"interpreter now includes the location of the unclosed bracket of parentheses "
|
||
"instead of displaying *SyntaxError: unexpected EOF while parsing* or "
|
||
"pointing to some incorrect location. For instance, consider the following "
|
||
"code (notice the unclosed '{'):"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:167
|
||
msgid ""
|
||
"Previous versions of the interpreter reported confusing places as the "
|
||
"location of the syntax error:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:177
|
||
msgid "but in Python 3.10 a more informative error is emitted:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:187
|
||
msgid ""
|
||
"In a similar way, errors involving unclosed string literals (single and "
|
||
"triple quoted) now point to the start of the string instead of reporting EOF/"
|
||
"EOL."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:190
|
||
msgid ""
|
||
"These improvements are inspired by previous work in the PyPy interpreter."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:192
|
||
msgid ""
|
||
"(Contributed by Pablo Galindo in :issue:`42864` and Batuhan Taskaya in :"
|
||
"issue:`40176`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:195
|
||
msgid ""
|
||
":exc:`SyntaxError` exceptions raised by the interpreter will now highlight "
|
||
"the full error range of the expression that constitutes the syntax error "
|
||
"itself, instead of just where the problem is detected. In this way, instead "
|
||
"of displaying (before Python 3.10):"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:208
|
||
msgid "now Python 3.10 will display the exception as:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:218
|
||
msgid "This improvement was contributed by Pablo Galindo in :issue:`43914`."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:220
|
||
msgid ""
|
||
"A considerable amount of new specialized messages for :exc:`SyntaxError` "
|
||
"exceptions have been incorporated. Some of the most notable ones are as "
|
||
"follows:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:223
|
||
msgid "Missing ``:`` before blocks:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:233
|
||
msgid "(Contributed by Pablo Galindo in :issue:`42997`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:235
|
||
msgid "Unparenthesised tuples in comprehensions targets:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:245
|
||
msgid "(Contributed by Pablo Galindo in :issue:`43017`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:247
|
||
msgid "Missing commas in collection literals and between expressions:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:260
|
||
msgid "(Contributed by Pablo Galindo in :issue:`43822`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:262
|
||
msgid "Multiple Exception types without parentheses:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:274
|
||
msgid "(Contributed by Pablo Galindo in :issue:`43149`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:276
|
||
msgid "Missing ``:`` and values in dictionary literals:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:296
|
||
msgid "(Contributed by Pablo Galindo in :issue:`43823`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:298
|
||
msgid "``try`` blocks without ``except`` or ``finally`` blocks:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:310
|
||
msgid "(Contributed by Pablo Galindo in :issue:`44305`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:312
|
||
msgid "Usage of ``=`` instead of ``==`` in comparisons:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:322
|
||
msgid "(Contributed by Pablo Galindo in :issue:`43797`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:324
|
||
msgid "Usage of ``*`` in f-strings:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:334
|
||
msgid "(Contributed by Pablo Galindo in :issue:`41064`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:337
|
||
msgid "IndentationErrors"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:339
|
||
msgid ""
|
||
"Many :exc:`IndentationError` exceptions now have more context regarding what "
|
||
"kind of block was expecting an indentation, including the location of the "
|
||
"statement:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:354
|
||
msgid "AttributeErrors"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:356
|
||
msgid ""
|
||
"When printing :exc:`AttributeError`, :c:func:`PyErr_Display` will offer "
|
||
"suggestions of similar attribute names in the object that the exception was "
|
||
"raised from:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:389
|
||
msgid "(Contributed by Pablo Galindo in :issue:`38530`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:370
|
||
msgid ""
|
||
"Notice this won't work if :c:func:`PyErr_Display` is not called to display "
|
||
"the error which can happen if some other custom error display function is "
|
||
"used. This is a common scenario in some REPLs like IPython."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:375
|
||
msgid "NameErrors"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:377
|
||
msgid ""
|
||
"When printing :exc:`NameError` raised by the interpreter, :c:func:"
|
||
"`PyErr_Display` will offer suggestions of similar variable names in the "
|
||
"function that the exception was raised from:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:392
|
||
msgid ""
|
||
"Notice this won't work if :c:func:`PyErr_Display` is not called to display "
|
||
"the error, which can happen if some other custom error display function is "
|
||
"used. This is a common scenario in some REPLs like IPython."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:398
|
||
msgid "PEP 626: Precise line numbers for debugging and other tools"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:400
|
||
msgid ""
|
||
"PEP 626 brings more precise and reliable line numbers for debugging, "
|
||
"profiling and coverage tools. Tracing events, with the correct line number, "
|
||
"are generated for all lines of code executed and only for lines of code that "
|
||
"are executed."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:403
|
||
msgid ""
|
||
"The ``f_lineno`` attribute of frame objects will always contain the expected "
|
||
"line number."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:405
|
||
msgid ""
|
||
"The ``co_lnotab`` attribute of code objects is deprecated and will be "
|
||
"removed in 3.12. Code that needs to convert from offset to line number "
|
||
"should use the new ``co_lines()`` method instead."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:409
|
||
msgid "PEP 634: Structural Pattern Matching"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:411
|
||
msgid ""
|
||
"Structural pattern matching has been added in the form of a *match "
|
||
"statement* and *case statements* of patterns with associated actions. "
|
||
"Patterns consist of sequences, mappings, primitive data types as well as "
|
||
"class instances. Pattern matching enables programs to extract information "
|
||
"from complex data types, branch on the structure of data, and apply specific "
|
||
"actions based on different forms of data."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:419
|
||
msgid "Syntax and operations"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:421
|
||
msgid "The generic syntax of pattern matching is::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:433
|
||
msgid ""
|
||
"A match statement takes an expression and compares its value to successive "
|
||
"patterns given as one or more case blocks. Specifically, pattern matching "
|
||
"operates by:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:437
|
||
msgid "using data with type and shape (the ``subject``)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:438
|
||
msgid "evaluating the ``subject`` in the ``match`` statement"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:439
|
||
msgid ""
|
||
"comparing the subject with each pattern in a ``case`` statement from top to "
|
||
"bottom until a match is confirmed."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:441
|
||
msgid "executing the action associated with the pattern of the confirmed match"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:443
|
||
msgid ""
|
||
"If an exact match is not confirmed, the last case, a wildcard ``_``, if "
|
||
"provided, will be used as the matching case. If an exact match is not "
|
||
"confirmed and a wildcard case does not exist, the entire match block is a no-"
|
||
"op."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:449
|
||
msgid "Declarative approach"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:451
|
||
msgid ""
|
||
"Readers may be aware of pattern matching through the simple example of "
|
||
"matching a subject (data object) to a literal (pattern) with the switch "
|
||
"statement found in C, Java or JavaScript (and many other languages). Often "
|
||
"the switch statement is used for comparison of an object/expression with "
|
||
"case statements containing literals."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:457
|
||
msgid ""
|
||
"More powerful examples of pattern matching can be found in languages such as "
|
||
"Scala and Elixir. With structural pattern matching, the approach is "
|
||
"\"declarative\" and explicitly states the conditions (the patterns) for data "
|
||
"to match."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:461
|
||
msgid ""
|
||
"While an \"imperative\" series of instructions using nested \"if\" "
|
||
"statements could be used to accomplish something similar to structural "
|
||
"pattern matching, it is less clear than the \"declarative\" approach. "
|
||
"Instead the \"declarative\" approach states the conditions to meet for a "
|
||
"match and is more readable through its explicit patterns. While structural "
|
||
"pattern matching can be used in its simplest form comparing a variable to a "
|
||
"literal in a case statement, its true value for Python lies in its handling "
|
||
"of the subject's type and shape."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:470
|
||
msgid "Simple pattern: match to a literal"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:472
|
||
msgid ""
|
||
"Let's look at this example as pattern matching in its simplest form: a "
|
||
"value, the subject, being matched to several literals, the patterns. In the "
|
||
"example below, ``status`` is the subject of the match statement. The "
|
||
"patterns are each of the case statements, where literals represent request "
|
||
"status codes. The associated action to the case is executed after a match::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:489
|
||
msgid ""
|
||
"If the above function is passed a ``status`` of 418, \"I'm a teapot\" is "
|
||
"returned. If the above function is passed a ``status`` of 500, the case "
|
||
"statement with ``_`` will match as a wildcard, and \"Something's wrong with "
|
||
"the internet\" is returned. Note the last block: the variable name, ``_``, "
|
||
"acts as a *wildcard* and insures the subject will always match. The use of "
|
||
"``_`` is optional."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:496
|
||
msgid ""
|
||
"You can combine several literals in a single pattern using ``|`` (\"or\")::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:502
|
||
msgid "Behavior without the wildcard"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:504
|
||
msgid ""
|
||
"If we modify the above example by removing the last case block, the example "
|
||
"becomes::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:516
|
||
msgid ""
|
||
"Without the use of ``_`` in a case statement, a match may not exist. If no "
|
||
"match exists, the behavior is a no-op. For example, if ``status`` of 500 is "
|
||
"passed, a no-op occurs."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:521
|
||
msgid "Patterns with a literal and variable"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:523
|
||
msgid ""
|
||
"Patterns can look like unpacking assignments, and a pattern may be used to "
|
||
"bind variables. In this example, a data point can be unpacked to its x-"
|
||
"coordinate and y-coordinate::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:540
|
||
msgid ""
|
||
"The first pattern has two literals, ``(0, 0)``, and may be thought of as an "
|
||
"extension of the literal pattern shown above. The next two patterns combine "
|
||
"a literal and a variable, and the variable *binds* a value from the subject "
|
||
"(``point``). The fourth pattern captures two values, which makes it "
|
||
"conceptually similar to the unpacking assignment ``(x, y) = point``."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:547
|
||
msgid "Patterns and classes"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:549
|
||
msgid ""
|
||
"If you are using classes to structure your data, you can use as a pattern "
|
||
"the class name followed by an argument list resembling a constructor. This "
|
||
"pattern has the ability to capture class attributes into variables::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:571
|
||
msgid "Patterns with positional parameters"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:573
|
||
msgid ""
|
||
"You can use positional parameters with some builtin classes that provide an "
|
||
"ordering for their attributes (e.g. dataclasses). You can also define a "
|
||
"specific position for attributes in patterns by setting the "
|
||
"``__match_args__`` special attribute in your classes. If it's set to (\"x\", "
|
||
"\"y\"), the following patterns are all equivalent (and all bind the ``y`` "
|
||
"attribute to the ``var`` variable)::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:585
|
||
msgid "Nested patterns"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:587
|
||
msgid ""
|
||
"Patterns can be arbitrarily nested. For example, if our data is a short "
|
||
"list of points, it could be matched like this::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:603
|
||
msgid "Complex patterns and the wildcard"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:605
|
||
msgid ""
|
||
"To this point, the examples have used ``_`` alone in the last case "
|
||
"statement. A wildcard can be used in more complex patterns, such as "
|
||
"``('error', code, _)``. For example::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:615
|
||
msgid ""
|
||
"In the above case, ``test_variable`` will match for ('error', code, 100) and "
|
||
"('error', code, 800)."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:619
|
||
msgid "Guard"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:621
|
||
msgid ""
|
||
"We can add an ``if`` clause to a pattern, known as a \"guard\". If the "
|
||
"guard is false, ``match`` goes on to try the next case block. Note that "
|
||
"value capture happens before the guard is evaluated::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:632
|
||
msgid "Other Key Features"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:634
|
||
msgid "Several other key features:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:636
|
||
msgid ""
|
||
"Like unpacking assignments, tuple and list patterns have exactly the same "
|
||
"meaning and actually match arbitrary sequences. Technically, the subject "
|
||
"must be a sequence. Therefore, an important exception is that patterns don't "
|
||
"match iterators. Also, to prevent a common mistake, sequence patterns don't "
|
||
"match strings."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:642
|
||
msgid ""
|
||
"Sequence patterns support wildcards: ``[x, y, *rest]`` and ``(x, y, *rest)`` "
|
||
"work similar to wildcards in unpacking assignments. The name after ``*`` "
|
||
"may also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two "
|
||
"items without binding the remaining items."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:647
|
||
msgid ""
|
||
"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the ``"
|
||
"\"bandwidth\"`` and ``\"latency\"`` values from a dict. Unlike sequence "
|
||
"patterns, extra keys are ignored. A wildcard ``**rest`` is also supported. "
|
||
"(But ``**_`` would be redundant, so is not allowed.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:652
|
||
msgid "Subpatterns may be captured using the ``as`` keyword::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:656
|
||
msgid ""
|
||
"This binds x1, y1, x2, y2 like you would expect without the ``as`` clause, "
|
||
"and p2 to the entire second item of the subject."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:659
|
||
msgid ""
|
||
"Most literals are compared by equality. However, the singletons ``True``, "
|
||
"``False`` and ``None`` are compared by identity."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:662
|
||
msgid ""
|
||
"Named constants may be used in patterns. These named constants must be "
|
||
"dotted names to prevent the constant from being interpreted as a capture "
|
||
"variable::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:680
|
||
msgid ""
|
||
"For the full specification see :pep:`634`. Motivation and rationale are in :"
|
||
"pep:`635`, and a longer tutorial is in :pep:`636`."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:687
|
||
msgid "Optional ``EncodingWarning`` and ``encoding=\"locale\"`` option"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:689
|
||
msgid ""
|
||
"The default encoding of :class:`TextIOWrapper` and :func:`open` is platform "
|
||
"and locale dependent. Since UTF-8 is used on most Unix platforms, omitting "
|
||
"``encoding`` option when opening UTF-8 files (e.g. JSON, YAML, TOML, "
|
||
"Markdown) is a very common bug. For example::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:698
|
||
msgid ""
|
||
"To find this type of bug, an optional ``EncodingWarning`` is added. It is "
|
||
"emitted when :data:`sys.flags.warn_default_encoding <sys.flags>` is true and "
|
||
"locale-specific default encoding is used."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:702
|
||
msgid ""
|
||
"``-X warn_default_encoding`` option and :envvar:`PYTHONWARNDEFAULTENCODING` "
|
||
"are added to enable the warning."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:705
|
||
msgid "See :ref:`io-text-encoding` for more information."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:709
|
||
msgid "New Features Related to Type Hints"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:711
|
||
msgid ""
|
||
"This section covers major changes affecting :pep:`484` type hints and the :"
|
||
"mod:`typing` module."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:716
|
||
msgid "PEP 604: New Type Union Operator"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:718
|
||
msgid ""
|
||
"A new type union operator was introduced which enables the syntax ``X | Y``. "
|
||
"This provides a cleaner way of expressing 'either type X or type Y' instead "
|
||
"of using :data:`typing.Union`, especially in type hints."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:722
|
||
msgid ""
|
||
"In previous versions of Python, to apply a type hint for functions accepting "
|
||
"arguments of multiple types, :data:`typing.Union` was used::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:729
|
||
msgid "Type hints can now be written in a more succinct manner::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:735
|
||
msgid ""
|
||
"This new syntax is also accepted as the second argument to :func:"
|
||
"`isinstance` and :func:`issubclass`::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:741
|
||
msgid "See :ref:`types-union` and :pep:`604` for more details."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:743
|
||
msgid ""
|
||
"(Contributed by Maggie Moss and Philippe Prados in :issue:`41428`, with "
|
||
"additions by Yurii Karabas and Serhiy Storchaka in :issue:`44490`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:748
|
||
msgid "PEP 612: Parameter Specification Variables"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:750
|
||
msgid ""
|
||
"Two new options to improve the information provided to static type checkers "
|
||
"for :pep:`484`\\ 's ``Callable`` have been added to the :mod:`typing` module."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:753
|
||
msgid ""
|
||
"The first is the parameter specification variable. They are used to forward "
|
||
"the parameter types of one callable to another callable -- a pattern "
|
||
"commonly found in higher order functions and decorators. Examples of usage "
|
||
"can be found in :class:`typing.ParamSpec`. Previously, there was no easy way "
|
||
"to type annotate dependency of parameter types in such a precise manner."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:759
|
||
msgid ""
|
||
"The second option is the new ``Concatenate`` operator. It's used in "
|
||
"conjunction with parameter specification variables to type annotate a higher "
|
||
"order callable which adds or removes parameters of another callable. "
|
||
"Examples of usage can be found in :class:`typing.Concatenate`."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:764
|
||
msgid ""
|
||
"See :class:`typing.Callable`, :class:`typing.ParamSpec`, :class:`typing."
|
||
"Concatenate`, :class:`typing.ParamSpecArgs`, :class:`typing."
|
||
"ParamSpecKwargs`, and :pep:`612` for more details."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:768
|
||
msgid ""
|
||
"(Contributed by Ken Jin in :issue:`41559`, with minor enhancements by Jelle "
|
||
"Zijlstra in :issue:`43783`. PEP written by Mark Mendoza.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:773
|
||
msgid "PEP 613: TypeAlias"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:775
|
||
msgid ""
|
||
":pep:`484` introduced the concept of type aliases, only requiring them to be "
|
||
"top-level unannotated assignments. This simplicity sometimes made it "
|
||
"difficult for type checkers to distinguish between type aliases and ordinary "
|
||
"assignments, especially when forward references or invalid types were "
|
||
"involved. Compare::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:783
|
||
msgid ""
|
||
"Now the :mod:`typing` module has a special value :data:`TypeAlias` which "
|
||
"lets you declare type aliases more explicitly::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:789
|
||
msgid "See :pep:`613` for more details."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:791
|
||
msgid "(Contributed by Mikhail Golubev in :issue:`41923`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:794
|
||
msgid "PEP 647: User-Defined Type Guards"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:796
|
||
msgid ""
|
||
":data:`TypeGuard` has been added to the :mod:`typing` module to annotate "
|
||
"type guard functions and improve information provided to static type "
|
||
"checkers during type narrowing. For more information, please see :data:"
|
||
"`TypeGuard`\\ 's documentation, and :pep:`647`."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:801
|
||
msgid ""
|
||
"(Contributed by Ken Jin and Guido van Rossum in :issue:`43766`. PEP written "
|
||
"by Eric Traut.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:805
|
||
msgid "Other Language Changes"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:807
|
||
msgid ""
|
||
"The :class:`int` type has a new method :meth:`int.bit_count`, returning the "
|
||
"number of ones in the binary expansion of a given integer, also known as the "
|
||
"population count. (Contributed by Niklas Fiekas in :issue:`29882`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:811
|
||
msgid ""
|
||
"The views returned by :meth:`dict.keys`, :meth:`dict.values` and :meth:`dict."
|
||
"items` now all have a ``mapping`` attribute that gives a :class:`types."
|
||
"MappingProxyType` object wrapping the original dictionary. (Contributed by "
|
||
"Dennis Sweeney in :issue:`40890`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:816
|
||
msgid ""
|
||
":pep:`618`: The :func:`zip` function now has an optional ``strict`` flag, "
|
||
"used to require that all the iterables have an equal length."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:819
|
||
msgid ""
|
||
"Builtin and extension functions that take integer arguments no longer "
|
||
"accept :class:`~decimal.Decimal`\\ s, :class:`~fractions.Fraction`\\ s and "
|
||
"other objects that can be converted to integers only with a loss (e.g. that "
|
||
"have the :meth:`~object.__int__` method but do not have the :meth:`~object."
|
||
"__index__` method). (Contributed by Serhiy Storchaka in :issue:`37999`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:826
|
||
msgid ""
|
||
"If :func:`object.__ipow__` returns :const:`NotImplemented`, the operator "
|
||
"will correctly fall back to :func:`object.__pow__` and :func:`object."
|
||
"__rpow__` as expected. (Contributed by Alex Shkop in :issue:`38302`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:830
|
||
msgid ""
|
||
"Assignment expressions can now be used unparenthesized within set literals "
|
||
"and set comprehensions, as well as in sequence indexes (but not slices)."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:833
|
||
msgid ""
|
||
"Functions have a new ``__builtins__`` attribute which is used to look for "
|
||
"builtin symbols when a function is executed, instead of looking into "
|
||
"``__globals__['__builtins__']``. The attribute is initialized from "
|
||
"``__globals__[\"__builtins__\"]`` if it exists, else from the current "
|
||
"builtins. (Contributed by Mark Shannon in :issue:`42990`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:839
|
||
msgid ""
|
||
"Two new builtin functions -- :func:`aiter` and :func:`anext` have been added "
|
||
"to provide asynchronous counterparts to :func:`iter` and :func:`next`, "
|
||
"respectively. (Contributed by Joshua Bronson, Daniel Pope, and Justin Wang "
|
||
"in :issue:`31861`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:844
|
||
msgid ""
|
||
"Static methods (:func:`@staticmethod <staticmethod>`) and class methods (:"
|
||
"func:`@classmethod <classmethod>`) now inherit the method attributes "
|
||
"(``__module__``, ``__name__``, ``__qualname__``, ``__doc__``, "
|
||
"``__annotations__``) and have a new ``__wrapped__`` attribute. Moreover, "
|
||
"static methods are now callable as regular functions. (Contributed by Victor "
|
||
"Stinner in :issue:`43682`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:851
|
||
msgid ""
|
||
"Annotations for complex targets (everything beside ``simple name`` targets "
|
||
"defined by :pep:`526`) no longer cause any runtime effects with ``from "
|
||
"__future__ import annotations``. (Contributed by Batuhan Taskaya in :issue:"
|
||
"`42737`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:855
|
||
msgid ""
|
||
"Class and module objects now lazy-create empty annotations dicts on demand. "
|
||
"The annotations dicts are stored in the object’s ``__dict__`` for backwards "
|
||
"compatibility. This improves the best practices for working with "
|
||
"``__annotations__``; for more information, please see :ref:`annotations-"
|
||
"howto`. (Contributed by Larry Hastings in :issue:`43901`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:862
|
||
msgid ""
|
||
"Annotations consist of ``yield``, ``yield from``, ``await`` or named "
|
||
"expressions are now forbidden under ``from __future__ import annotations`` "
|
||
"due to their side effects. (Contributed by Batuhan Taskaya in :issue:"
|
||
"`42725`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:867
|
||
msgid ""
|
||
"Usage of unbound variables, ``super()`` and other expressions that might "
|
||
"alter the processing of symbol table as annotations are now rendered "
|
||
"effectless under ``from __future__ import annotations``. (Contributed by "
|
||
"Batuhan Taskaya in :issue:`42725`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:872
|
||
msgid ""
|
||
"Hashes of NaN values of both :class:`float` type and :class:`decimal."
|
||
"Decimal` type now depend on object identity. Formerly, they always hashed to "
|
||
"``0`` even though NaN values are not equal to one another. This caused "
|
||
"potentially quadratic runtime behavior due to excessive hash collisions when "
|
||
"creating dictionaries and sets containing multiple NaNs. (Contributed by "
|
||
"Raymond Hettinger in :issue:`43475`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:879
|
||
msgid ""
|
||
"A :exc:`SyntaxError` (instead of a :exc:`NameError`) will be raised when "
|
||
"deleting the :const:`__debug__` constant. (Contributed by Dong-hee Na in :"
|
||
"issue:`45000`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:882
|
||
msgid ""
|
||
":exc:`SyntaxError` exceptions now have ``end_lineno`` and ``end_offset`` "
|
||
"attributes. They will be ``None`` if not determined. (Contributed by Pablo "
|
||
"Galindo in :issue:`43914`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:887
|
||
msgid "New Modules"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:889
|
||
msgid "None yet."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:893
|
||
msgid "Improved Modules"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:896
|
||
msgid "asyncio"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:898
|
||
msgid ""
|
||
"Add missing :meth:`~asyncio.events.AbstractEventLoop."
|
||
"connect_accepted_socket` method. (Contributed by Alex Grönholm in :issue:"
|
||
"`41332`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:903
|
||
msgid "argparse"
|
||
msgstr "argparse"
|
||
|
||
#: whatsnew/3.10.rst:905
|
||
msgid ""
|
||
"Misleading phrase \"optional arguments\" was replaced with \"options\" in "
|
||
"argparse help. Some tests might require adaptation if they rely on exact "
|
||
"output match. (Contributed by Raymond Hettinger in :issue:`9694`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:909
|
||
msgid "array"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:911
|
||
msgid ""
|
||
"The :meth:`~array.array.index` method of :class:`array.array` now has "
|
||
"optional *start* and *stop* parameters. (Contributed by Anders Lorentsen and "
|
||
"Zackery Spytz in :issue:`31956`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:916
|
||
msgid "asynchat, asyncore, smtpd"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:917
|
||
msgid ""
|
||
"These modules have been marked as deprecated in their module documentation "
|
||
"since Python 3.6. An import-time :class:`DeprecationWarning` has now been "
|
||
"added to all three of these modules."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:922
|
||
msgid "base64"
|
||
msgstr "base64"
|
||
|
||
#: whatsnew/3.10.rst:924
|
||
msgid ""
|
||
"Add :func:`base64.b32hexencode` and :func:`base64.b32hexdecode` to support "
|
||
"the Base32 Encoding with Extended Hex Alphabet."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:928
|
||
msgid "bdb"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:930
|
||
msgid ""
|
||
"Add :meth:`~bdb.Breakpoint.clearBreakpoints` to reset all set breakpoints. "
|
||
"(Contributed by Irit Katriel in :issue:`24160`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:934
|
||
msgid "bisect"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:936
|
||
msgid ""
|
||
"Added the possibility of providing a *key* function to the APIs in the :mod:"
|
||
"`bisect` module. (Contributed by Raymond Hettinger in :issue:`4356`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:940
|
||
msgid "codecs"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:942
|
||
msgid ""
|
||
"Add a :func:`codecs.unregister` function to unregister a codec search "
|
||
"function. (Contributed by Hai Shi in :issue:`41842`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:946
|
||
msgid "collections.abc"
|
||
msgstr "collections.abc"
|
||
|
||
#: whatsnew/3.10.rst:948
|
||
msgid ""
|
||
"The ``__args__`` of the :ref:`parameterized generic <types-genericalias>` "
|
||
"for :class:`collections.abc.Callable` are now consistent with :data:`typing."
|
||
"Callable`. :class:`collections.abc.Callable` generic now flattens type "
|
||
"parameters, similar to what :data:`typing.Callable` currently does. This "
|
||
"means that ``collections.abc.Callable[[int, str], str]`` will have "
|
||
"``__args__`` of ``(int, str, str)``; previously this was ``([int, str], "
|
||
"str)``. To allow this change, :class:`types.GenericAlias` can now be "
|
||
"subclassed, and a subclass will be returned when subscripting the :class:"
|
||
"`collections.abc.Callable` type. Note that a :exc:`TypeError` may be raised "
|
||
"for invalid forms of parameterizing :class:`collections.abc.Callable` which "
|
||
"may have passed silently in Python 3.9. (Contributed by Ken Jin in :issue:"
|
||
"`42195`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:961
|
||
msgid "contextlib"
|
||
msgstr "contextlib"
|
||
|
||
#: whatsnew/3.10.rst:963
|
||
msgid ""
|
||
"Add a :func:`contextlib.aclosing` context manager to safely close async "
|
||
"generators and objects representing asynchronously released resources. "
|
||
"(Contributed by Joongi Kim and John Belmonte in :issue:`41229`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:967
|
||
msgid ""
|
||
"Add asynchronous context manager support to :func:`contextlib.nullcontext`. "
|
||
"(Contributed by Tom Gringauz in :issue:`41543`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:970
|
||
msgid ""
|
||
"Add :class:`AsyncContextDecorator`, for supporting usage of async context "
|
||
"managers as decorators."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:974
|
||
msgid "curses"
|
||
msgstr "curses"
|
||
|
||
#: whatsnew/3.10.rst:976
|
||
msgid ""
|
||
"The extended color functions added in ncurses 6.1 will be used transparently "
|
||
"by :func:`curses.color_content`, :func:`curses.init_color`, :func:`curses."
|
||
"init_pair`, and :func:`curses.pair_content`. A new function, :func:`curses."
|
||
"has_extended_color_support`, indicates whether extended color support is "
|
||
"provided by the underlying ncurses library. (Contributed by Jeffrey "
|
||
"Kintscher and Hans Petter Jansson in :issue:`36982`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:983
|
||
msgid ""
|
||
"The ``BUTTON5_*`` constants are now exposed in the :mod:`curses` module if "
|
||
"they are provided by the underlying curses library. (Contributed by Zackery "
|
||
"Spytz in :issue:`39273`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:988
|
||
msgid "dataclasses"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:991
|
||
msgid "__slots__"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:993
|
||
msgid ""
|
||
"Added ``slots`` parameter in :func:`dataclasses.dataclass` decorator. "
|
||
"(Contributed by Yurii Karabas in :issue:`42269`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:997
|
||
msgid "Keyword-only fields"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:999
|
||
msgid ""
|
||
"dataclasses now supports fields that are keyword-only in the generated "
|
||
"__init__ method. There are a number of ways of specifying keyword-only "
|
||
"fields."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1003
|
||
msgid "You can say that every field is keyword-only:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1014
|
||
msgid ""
|
||
"Both ``name`` and ``birthday`` are keyword-only parameters to the generated "
|
||
"__init__ method."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1017
|
||
msgid "You can specify keyword-only on a per-field basis:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1028
|
||
msgid ""
|
||
"Here only ``birthday`` is keyword-only. If you set ``kw_only`` on "
|
||
"individual fields, be aware that there are rules about re-ordering fields "
|
||
"due to keyword-only fields needing to follow non-keyword-only fields. See "
|
||
"the full dataclasses documentation for details."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1033
|
||
msgid ""
|
||
"You can also specify that all fields following a KW_ONLY marker are keyword-"
|
||
"only. This will probably be the most common usage:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1048
|
||
msgid ""
|
||
"Here, ``z`` and ``t`` are keyword-only parameters, while ``x`` and ``y`` are "
|
||
"not. (Contributed by Eric V. Smith in :issue:`43532`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1055
|
||
msgid "distutils"
|
||
msgstr "distutils"
|
||
|
||
#: whatsnew/3.10.rst:1057
|
||
msgid ""
|
||
"The entire ``distutils`` package is deprecated, to be removed in Python "
|
||
"3.12. Its functionality for specifying package builds has already been "
|
||
"completely replaced by third-party packages ``setuptools`` and "
|
||
"``packaging``, and most other commonly used APIs are available elsewhere in "
|
||
"the standard library (such as :mod:`platform`, :mod:`shutil`, :mod:"
|
||
"`subprocess` or :mod:`sysconfig`). There are no plans to migrate any other "
|
||
"functionality from ``distutils``, and applications that are using other "
|
||
"functions should plan to make private copies of the code. Refer to :pep:"
|
||
"`632` for discussion."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1067
|
||
msgid ""
|
||
"The ``bdist_wininst`` command deprecated in Python 3.8 has been removed. The "
|
||
"``bdist_wheel`` command is now recommended to distribute binary packages on "
|
||
"Windows. (Contributed by Victor Stinner in :issue:`42802`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1073
|
||
msgid "doctest"
|
||
msgstr "doctest"
|
||
|
||
#: whatsnew/3.10.rst:1186 whatsnew/3.10.rst:1306
|
||
msgid ""
|
||
"When a module does not define ``__loader__``, fall back to ``__spec__."
|
||
"loader``. (Contributed by Brett Cannon in :issue:`42133`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1079
|
||
msgid "encodings"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1081
|
||
msgid ""
|
||
":func:`encodings.normalize_encoding` now ignores non-ASCII characters. "
|
||
"(Contributed by Hai Shi in :issue:`39337`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1085
|
||
msgid "fileinput"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1087
|
||
msgid ""
|
||
"Add *encoding* and *errors* parameters in :func:`fileinput.input` and :class:"
|
||
"`fileinput.FileInput`. (Contributed by Inada Naoki in :issue:`43712`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1091
|
||
msgid ""
|
||
":func:`fileinput.hook_compressed` now returns :class:`TextIOWrapper` object "
|
||
"when *mode* is \"r\" and file is compressed, like uncompressed files. "
|
||
"(Contributed by Inada Naoki in :issue:`5758`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1096
|
||
msgid "faulthandler"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1098
|
||
msgid ""
|
||
"The :mod:`faulthandler` module now detects if a fatal error occurs during a "
|
||
"garbage collector collection. (Contributed by Victor Stinner in :issue:"
|
||
"`44466`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1103
|
||
msgid "gc"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1105
|
||
msgid ""
|
||
"Add audit hooks for :func:`gc.get_objects`, :func:`gc.get_referrers` and :"
|
||
"func:`gc.get_referents`. (Contributed by Pablo Galindo in :issue:`43439`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1109
|
||
msgid "glob"
|
||
msgstr "glob"
|
||
|
||
#: whatsnew/3.10.rst:1111
|
||
msgid ""
|
||
"Add the *root_dir* and *dir_fd* parameters in :func:`~glob.glob` and :func:"
|
||
"`~glob.iglob` which allow to specify the root directory for searching. "
|
||
"(Contributed by Serhiy Storchaka in :issue:`38144`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1116
|
||
msgid "hashlib"
|
||
msgstr "``hashlib``"
|
||
|
||
#: whatsnew/3.10.rst:1118
|
||
msgid ""
|
||
"The hashlib module requires OpenSSL 1.1.1 or newer. (Contributed by "
|
||
"Christian Heimes in :pep:`644` and :issue:`43669`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1121
|
||
msgid ""
|
||
"The hashlib module has preliminary support for OpenSSL 3.0.0. (Contributed "
|
||
"by Christian Heimes in :issue:`38820` and other issues.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1124
|
||
msgid ""
|
||
"The pure-Python fallback of :func:`~hashlib.pbkdf2_hmac` is deprecated. In "
|
||
"the future PBKDF2-HMAC will only be available when Python has been built "
|
||
"with OpenSSL support. (Contributed by Christian Heimes in :issue:`43880`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1130
|
||
msgid "hmac"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1132
|
||
msgid ""
|
||
"The hmac module now uses OpenSSL's HMAC implementation internally. "
|
||
"(Contributed by Christian Heimes in :issue:`40645`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1136
|
||
msgid "IDLE and idlelib"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1138
|
||
msgid ""
|
||
"Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User "
|
||
"hooks were previously ignored. (Patch by Ken Hilton in :issue:`43008`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1142
|
||
msgid "This change was backported to a 3.9 maintenance release."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1144
|
||
msgid ""
|
||
"Add a Shell sidebar. Move the primary prompt ('>>>') to the sidebar. Add "
|
||
"secondary prompts ('...') to the sidebar. Left click and optional drag "
|
||
"selects one or more lines of text, as with the editor line number sidebar. "
|
||
"Right click after selecting text lines displays a context menu with 'copy "
|
||
"with prompts'. This zips together prompts from the sidebar with lines from "
|
||
"the selected text. This option also appears on the context menu for the "
|
||
"text. (Contributed by Tal Einat in :issue:`37903`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1153
|
||
msgid ""
|
||
"Use spaces instead of tabs to indent interactive code. This makes "
|
||
"interactive code entries 'look right'. Making this feasible was a major "
|
||
"motivation for adding the shell sidebar. Contributed by Terry Jan Reedy in :"
|
||
"issue:`37892`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1158
|
||
msgid ""
|
||
"We expect to backport these shell changes to a future 3.9 maintenance "
|
||
"release."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1161
|
||
msgid ""
|
||
"Highlight the new :ref:`soft keywords <soft-keywords>` :keyword:`match`, :"
|
||
"keyword:`case <match>`, and :keyword:`_ <wildcard-patterns>` in pattern-"
|
||
"matching statements. However, this highlighting is not perfect and will be "
|
||
"incorrect in some rare cases, including some ``_``-s in ``case`` patterns. "
|
||
"(Contributed by Tal Einat in bpo-44010.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1168
|
||
msgid "importlib.metadata"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1170
|
||
msgid ""
|
||
"Feature parity with ``importlib_metadata`` 4.6 (`history <https://importlib-"
|
||
"metadata.readthedocs.io/en/latest/history.html>`_)."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1173
|
||
msgid ""
|
||
":ref:`importlib.metadata entry points <entry-points>` now provides a nicer "
|
||
"experience for selecting entry points by group and name through a new :class:"
|
||
"`importlib.metadata.EntryPoints` class. See the Compatibility Note in the "
|
||
"docs for more info on the deprecation and usage."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1179
|
||
msgid ""
|
||
"Added :func:`importlib.metadata.packages_distributions` for resolving top-"
|
||
"level Python modules and packages to their :class:`importlib.metadata."
|
||
"Distribution`."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1184
|
||
msgid "inspect"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1189
|
||
msgid ""
|
||
"Add :func:`inspect.get_annotations`, which safely computes the annotations "
|
||
"defined on an object. It works around the quirks of accessing the "
|
||
"annotations on various types of objects, and makes very few assumptions "
|
||
"about the object it examines. :func:`inspect.get_annotations` can also "
|
||
"correctly un-stringize stringized annotations. :func:`inspect."
|
||
"get_annotations` is now considered best practice for accessing the "
|
||
"annotations dict defined on any Python object; for more information on best "
|
||
"practices for working with annotations, please see :ref:`annotations-howto`. "
|
||
"Relatedly, :func:`inspect.signature`, :func:`inspect.Signature."
|
||
"from_callable`, and :func:`inspect.Signature.from_function` now call :func:"
|
||
"`inspect.get_annotations` to retrieve annotations. This means :func:`inspect."
|
||
"signature` and :func:`inspect.Signature.from_callable` can also now un-"
|
||
"stringize stringized annotations. (Contributed by Larry Hastings in :issue:"
|
||
"`43817`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1205
|
||
msgid "linecache"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1211
|
||
msgid "os"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1213
|
||
msgid ""
|
||
"Add :func:`os.cpu_count()` support for VxWorks RTOS. (Contributed by Peixing "
|
||
"Xin in :issue:`41440`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1216
|
||
msgid ""
|
||
"Add a new function :func:`os.eventfd` and related helpers to wrap the "
|
||
"``eventfd2`` syscall on Linux. (Contributed by Christian Heimes in :issue:"
|
||
"`41001`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1220
|
||
msgid ""
|
||
"Add :func:`os.splice()` that allows to move data between two file "
|
||
"descriptors without copying between kernel address space and user address "
|
||
"space, where one of the file descriptors must refer to a pipe. (Contributed "
|
||
"by Pablo Galindo in :issue:`41625`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1225
|
||
msgid ""
|
||
"Add :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK` and :"
|
||
"data:`~os.O_NOFOLLOW_ANY` for macOS. (Contributed by Dong-hee Na in :issue:"
|
||
"`43106`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1230
|
||
msgid "os.path"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1232
|
||
msgid ""
|
||
":func:`os.path.realpath` now accepts a *strict* keyword-only argument. When "
|
||
"set to ``True``, :exc:`OSError` is raised if a path doesn't exist or a "
|
||
"symlink loop is encountered. (Contributed by Barney Gale in :issue:`43757`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1238
|
||
msgid "pathlib"
|
||
msgstr "pathlib"
|
||
|
||
#: whatsnew/3.10.rst:1240
|
||
msgid ""
|
||
"Add slice support to :attr:`PurePath.parents <pathlib.PurePath.parents>`. "
|
||
"(Contributed by Joshua Cannon in :issue:`35498`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1243
|
||
msgid ""
|
||
"Add negative indexing support to :attr:`PurePath.parents <pathlib.PurePath."
|
||
"parents>`. (Contributed by Yaroslav Pankovych in :issue:`21041`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1247
|
||
msgid ""
|
||
"Add :meth:`Path.hardlink_to <pathlib.Path.hardlink_to>` method that "
|
||
"supersedes :meth:`~pathlib.Path.link_to`. The new method has the same "
|
||
"argument order as :meth:`~pathlib.Path.symlink_to`. (Contributed by Barney "
|
||
"Gale in :issue:`39950`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1252
|
||
msgid ""
|
||
":meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now accept a "
|
||
"*follow_symlinks* keyword-only argument for consistency with corresponding "
|
||
"functions in the :mod:`os` module. (Contributed by Barney Gale in :issue:"
|
||
"`39906`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1258
|
||
msgid "platform"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1260
|
||
msgid ""
|
||
"Add :func:`platform.freedesktop_os_release()` to retrieve operation system "
|
||
"identification from `freedesktop.org os-release <https://www.freedesktop.org/"
|
||
"software/systemd/man/os-release.html>`_ standard file. (Contributed by "
|
||
"Christian Heimes in :issue:`28468`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1266
|
||
msgid "pprint"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1268
|
||
msgid ""
|
||
":func:`pprint.pprint` now accepts a new ``underscore_numbers`` keyword "
|
||
"argument. (Contributed by sblondon in :issue:`42914`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1271
|
||
msgid ""
|
||
":mod:`pprint` can now pretty-print :class:`dataclasses.dataclass` instances. "
|
||
"(Contributed by Lewis Gaul in :issue:`43080`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1275
|
||
msgid "py_compile"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1277
|
||
msgid ""
|
||
"Add ``--quiet`` option to command-line interface of :mod:`py_compile`. "
|
||
"(Contributed by Gregory Schevchenko in :issue:`38731`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1281
|
||
msgid "pyclbr"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1283
|
||
msgid ""
|
||
"Add an ``end_lineno`` attribute to the ``Function`` and ``Class`` objects in "
|
||
"the tree returned by :func:`pyclbr.readline` and :func:`pyclbr."
|
||
"readline_ex`. It matches the existing (start) ``lineno``. (Contributed by "
|
||
"Aviral Srivastava in :issue:`38307`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1289
|
||
msgid "shelve"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1291
|
||
msgid ""
|
||
"The :mod:`shelve` module now uses :data:`pickle.DEFAULT_PROTOCOL` by default "
|
||
"instead of :mod:`pickle` protocol ``3`` when creating shelves. (Contributed "
|
||
"by Zackery Spytz in :issue:`34204`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1296
|
||
msgid "statistics"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1298
|
||
msgid ""
|
||
"Add :func:`~statistics.covariance`, Pearson's :func:`~statistics."
|
||
"correlation`, and simple :func:`~statistics.linear_regression` functions. "
|
||
"(Contributed by Tymoteusz Wołodźko in :issue:`38490`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1304
|
||
msgid "site"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1310
|
||
msgid "socket"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1312
|
||
msgid ""
|
||
"The exception :exc:`socket.timeout` is now an alias of :exc:`TimeoutError`. "
|
||
"(Contributed by Christian Heimes in :issue:`42413`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1315
|
||
msgid ""
|
||
"Add option to create MPTCP sockets with ``IPPROTO_MPTCP`` (Contributed by "
|
||
"Rui Cunha in :issue:`43571`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1318
|
||
msgid ""
|
||
"Add ``IP_RECVTOS`` option to receive the type of service (ToS) or DSCP/ECN "
|
||
"fields (Contributed by Georg Sauthoff in :issue:`44077`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1322
|
||
msgid "ssl"
|
||
msgstr "ssl"
|
||
|
||
#: whatsnew/3.10.rst:1324
|
||
msgid ""
|
||
"The ssl module requires OpenSSL 1.1.1 or newer. (Contributed by Christian "
|
||
"Heimes in :pep:`644` and :issue:`43669`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1327
|
||
msgid ""
|
||
"The ssl module has preliminary support for OpenSSL 3.0.0 and new option :"
|
||
"data:`~ssl.OP_IGNORE_UNEXPECTED_EOF`. (Contributed by Christian Heimes in :"
|
||
"issue:`38820`, :issue:`43794`, :issue:`43788`, :issue:`43791`, :issue:"
|
||
"`43799`, :issue:`43920`, :issue:`43789`, and :issue:`43811`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1333
|
||
msgid ""
|
||
"Deprecated function and use of deprecated constants now result in a :exc:"
|
||
"`DeprecationWarning`. :attr:`ssl.SSLContext.options` has :data:`~ssl."
|
||
"OP_NO_SSLv2` and :data:`~ssl.OP_NO_SSLv3` set by default and therefore "
|
||
"cannot warn about setting the flag again. The :ref:`deprecation section "
|
||
"<whatsnew310-deprecated>` has a list of deprecated features. (Contributed by "
|
||
"Christian Heimes in :issue:`43880`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1341
|
||
msgid ""
|
||
"The ssl module now has more secure default settings. Ciphers without forward "
|
||
"secrecy or SHA-1 MAC are disabled by default. Security level 2 prohibits "
|
||
"weak RSA, DH, and ECC keys with less than 112 bits of security. :class:`~ssl."
|
||
"SSLContext` defaults to minimum protocol version TLS 1.2. Settings are based "
|
||
"on Hynek Schlawack's research. (Contributed by Christian Heimes in :issue:"
|
||
"`43998`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1348
|
||
msgid ""
|
||
"The deprecated protocols SSL 3.0, TLS 1.0, and TLS 1.1 are no longer "
|
||
"officially supported. Python does not block them actively. However OpenSSL "
|
||
"build options, distro configurations, vendor patches, and cipher suites may "
|
||
"prevent a successful handshake."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1353
|
||
msgid ""
|
||
"Add a *timeout* parameter to the :func:`ssl.get_server_certificate` "
|
||
"function. (Contributed by Zackery Spytz in :issue:`31870`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1356
|
||
msgid ""
|
||
"The ssl module uses heap-types and multi-phase initialization. (Contributed "
|
||
"by Christian Heimes in :issue:`42333`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1359
|
||
msgid ""
|
||
"A new verify flag :data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` has been added. "
|
||
"(Contributed by l0x in :issue:`40849`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1363
|
||
msgid "sqlite3"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1365
|
||
msgid ""
|
||
"Add audit events for :func:`~sqlite3.connect/handle`, :meth:`~sqlite3."
|
||
"Connection.enable_load_extension`, and :meth:`~sqlite3.Connection."
|
||
"load_extension`. (Contributed by Erlend E. Aasland in :issue:`43762`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1371
|
||
msgid "sys"
|
||
msgstr "sys"
|
||
|
||
#: whatsnew/3.10.rst:1373
|
||
msgid ""
|
||
"Add :data:`sys.orig_argv` attribute: the list of the original command line "
|
||
"arguments passed to the Python executable. (Contributed by Victor Stinner "
|
||
"in :issue:`23427`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1377
|
||
msgid ""
|
||
"Add :data:`sys.stdlib_module_names`, containing the list of the standard "
|
||
"library module names. (Contributed by Victor Stinner in :issue:`42955`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1382
|
||
msgid "_thread"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1384
|
||
msgid ""
|
||
":func:`_thread.interrupt_main` now takes an optional signal number to "
|
||
"simulate (the default is still :data:`signal.SIGINT`). (Contributed by "
|
||
"Antoine Pitrou in :issue:`43356`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1389
|
||
msgid "threading"
|
||
msgstr "threading"
|
||
|
||
#: whatsnew/3.10.rst:1391
|
||
msgid ""
|
||
"Add :func:`threading.gettrace` and :func:`threading.getprofile` to retrieve "
|
||
"the functions set by :func:`threading.settrace` and :func:`threading."
|
||
"setprofile` respectively. (Contributed by Mario Corchero in :issue:`42251`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1396
|
||
msgid ""
|
||
"Add :data:`threading.__excepthook__` to allow retrieving the original value "
|
||
"of :func:`threading.excepthook` in case it is set to a broken or a different "
|
||
"value. (Contributed by Mario Corchero in :issue:`42308`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1402
|
||
msgid "traceback"
|
||
msgstr "traceback"
|
||
|
||
#: whatsnew/3.10.rst:1404
|
||
msgid ""
|
||
"The :func:`~traceback.format_exception`, :func:`~traceback."
|
||
"format_exception_only`, and :func:`~traceback.print_exception` functions can "
|
||
"now take an exception object as a positional-only argument. (Contributed by "
|
||
"Zackery Spytz and Matthias Bussonnier in :issue:`26389`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1411
|
||
msgid "types"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1413
|
||
msgid ""
|
||
"Reintroduce the :data:`types.EllipsisType`, :data:`types.NoneType` and :data:"
|
||
"`types.NotImplementedType` classes, providing a new set of types readily "
|
||
"interpretable by type checkers. (Contributed by Bas van Beek in :issue:"
|
||
"`41810`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1419
|
||
msgid "typing"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1421
|
||
msgid "For major changes, see `New Features Related to Type Hints`_."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1423
|
||
msgid ""
|
||
"The behavior of :class:`typing.Literal` was changed to conform with :pep:"
|
||
"`586` and to match the behavior of static type checkers specified in the PEP."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1426
|
||
msgid "``Literal`` now de-duplicates parameters."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1427
|
||
msgid ""
|
||
"Equality comparisons between ``Literal`` objects are now order independent."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1428
|
||
msgid ""
|
||
"``Literal`` comparisons now respects types. For example, ``Literal[0] == "
|
||
"Literal[False]`` previously evaluated to ``True``. It is now ``False``. To "
|
||
"support this change, the internally used type cache now supports "
|
||
"differentiating types."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1432
|
||
msgid ""
|
||
"``Literal`` objects will now raise a :exc:`TypeError` exception during "
|
||
"equality comparisons if any of their parameters are not :term:`hashable`. "
|
||
"Note that declaring ``Literal`` with unhashable parameters will not throw an "
|
||
"error::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1444
|
||
msgid "(Contributed by Yurii Karabas in :issue:`42345`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1446
|
||
msgid ""
|
||
"Add new function :func:`typing.is_typeddict` to introspect if an annotation "
|
||
"is a :class:`typing.TypedDict`. (Contributed by Patrick Reader in :issue:"
|
||
"`41792`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1450
|
||
msgid ""
|
||
"Subclasses of ``typing.Protocol`` which only have data variables declared "
|
||
"will now raise a ``TypeError`` when checked with ``isinstance`` unless they "
|
||
"are decorated with :func:`runtime_checkable`. Previously, these checks "
|
||
"passed silently. Users should decorate their subclasses with the :func:"
|
||
"`runtime_checkable` decorator if they want runtime protocols. (Contributed "
|
||
"by Yurii Karabas in :issue:`38908`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1458
|
||
msgid ""
|
||
"Importing from the ``typing.io`` and ``typing.re`` submodules will now emit :"
|
||
"exc:`DeprecationWarning`. These submodules have been deprecated since "
|
||
"Python 3.8 and will be removed in a future version of Python. Anything "
|
||
"belonging to those submodules should be imported directly from :mod:`typing` "
|
||
"instead. (Contributed by Sebastian Rittau in :issue:`38291`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1466
|
||
msgid "unittest"
|
||
msgstr "unittest"
|
||
|
||
#: whatsnew/3.10.rst:1468
|
||
msgid ""
|
||
"Add new method :meth:`~unittest.TestCase.assertNoLogs` to complement the "
|
||
"existing :meth:`~unittest.TestCase.assertLogs`. (Contributed by Kit Yan Choi "
|
||
"in :issue:`39385`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1473
|
||
msgid "urllib.parse"
|
||
msgstr "urllib.parse"
|
||
|
||
#: whatsnew/3.10.rst:1475
|
||
msgid ""
|
||
"Python versions earlier than Python 3.10 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 ""
|
||
|
||
#: whatsnew/3.10.rst:1485
|
||
msgid ""
|
||
"The presence of newline or tab characters in parts of a URL allows for some "
|
||
"forms of attacks. Following the WHATWG specification that updates :rfc:"
|
||
"`3986`, ASCII newline ``\\n``, ``\\r`` and tab ``\\t`` characters are "
|
||
"stripped from the URL by the parser in :mod:`urllib.parse` preventing such "
|
||
"attacks. The removal characters are controlled by a new module level "
|
||
"variable ``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. (See :issue:`43882`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1493
|
||
msgid "xml"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1495
|
||
msgid ""
|
||
"Add a :class:`~xml.sax.handler.LexicalHandler` class to the :mod:`xml.sax."
|
||
"handler` module. (Contributed by Jonathan Gossage and Zackery Spytz in :"
|
||
"issue:`35018`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1500
|
||
msgid "zipimport"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1501
|
||
msgid ""
|
||
"Add methods related to :pep:`451`: :meth:`~zipimport.zipimporter."
|
||
"find_spec`, :meth:`zipimport.zipimporter.create_module`, and :meth:"
|
||
"`zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon in :issue:"
|
||
"`42131`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1506
|
||
msgid ""
|
||
"Add :meth:`~zipimport.zipimporter.invalidate_caches` method. (Contributed by "
|
||
"Desmond Cheong in :issue:`14678`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1511
|
||
msgid "Optimizations"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1513
|
||
msgid ""
|
||
"Constructors :func:`str`, :func:`bytes` and :func:`bytearray` are now faster "
|
||
"(around 30--40% for small objects). (Contributed by Serhiy Storchaka in :"
|
||
"issue:`41334`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1517
|
||
msgid ""
|
||
"The :mod:`runpy` module now imports fewer modules. The ``python3 -m module-"
|
||
"name`` command startup time is 1.4x faster in average. On Linux, ``python3 -"
|
||
"I -m module-name`` imports 69 modules on Python 3.9, whereas it only imports "
|
||
"51 modules (-18) on Python 3.10. (Contributed by Victor Stinner in :issue:"
|
||
"`41006` and :issue:`41718`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1523
|
||
msgid ""
|
||
"The ``LOAD_ATTR`` instruction now uses new \"per opcode cache\" mechanism. "
|
||
"It is about 36% faster now for regular attributes and 44% faster for slots. "
|
||
"(Contributed by Pablo Galindo and Yury Selivanov in :issue:`42093` and Guido "
|
||
"van Rossum in :issue:`42927`, based on ideas implemented originally in PyPy "
|
||
"and MicroPython.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1529
|
||
msgid ""
|
||
"When building Python with :option:`--enable-optimizations` now ``-fno-"
|
||
"semantic-interposition`` is added to both the compile and link line. This "
|
||
"speeds builds of the Python interpreter created with :option:`--enable-"
|
||
"shared` with ``gcc`` by up to 30%. See `this article <https://developers."
|
||
"redhat.com/blog/2020/06/25/red-hat-enterprise-linux-8-2-brings-faster-"
|
||
"python-3-8-run-speeds/>`_ for more details. (Contributed by Victor Stinner "
|
||
"and Pablo Galindo in :issue:`38980`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1537
|
||
msgid ""
|
||
"Use a new output buffer management code for :mod:`bz2` / :mod:`lzma` / :mod:"
|
||
"`zlib` modules, and add ``.readall()`` function to ``_compression."
|
||
"DecompressReader`` class. bz2 decompression is now 1.09x ~ 1.17x faster, "
|
||
"lzma decompression 1.20x ~ 1.32x faster, ``GzipFile.read(-1)`` 1.11x ~ 1.18x "
|
||
"faster. (Contributed by Ma Lin, reviewed by Gregory P. Smith, in :issue:"
|
||
"`41486`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1543
|
||
msgid ""
|
||
"When using stringized annotations, annotations dicts for functions are no "
|
||
"longer created when the function is created. Instead, they are stored as a "
|
||
"tuple of strings, and the function object lazily converts this into the "
|
||
"annotations dict on demand. This optimization cuts the CPU time needed to "
|
||
"define an annotated function by half. (Contributed by Yurii Karabas and "
|
||
"Inada Naoki in :issue:`42202`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1550
|
||
msgid ""
|
||
"Substring search functions such as ``str1 in str2`` and ``str2.find(str1)`` "
|
||
"now sometimes use Crochemore & Perrin's \"Two-Way\" string searching "
|
||
"algorithm to avoid quadratic behavior on long strings. (Contributed by "
|
||
"Dennis Sweeney in :issue:`41972`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1555
|
||
msgid ""
|
||
"Add micro-optimizations to ``_PyType_Lookup()`` to improve type attribute "
|
||
"cache lookup performance in the common case of cache hits. This makes the "
|
||
"interpreter 1.04 times faster on average. (Contributed by Dino Viehland in :"
|
||
"issue:`43452`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1559
|
||
msgid ""
|
||
"The following built-in functions now support the faster :pep:`590` "
|
||
"vectorcall calling convention: :func:`map`, :func:`filter`, :func:"
|
||
"`reversed`, :func:`bool` and :func:`float`. (Contributed by Dong-hee Na and "
|
||
"Jeroen Demeyer in :issue:`43575`, :issue:`43287`, :issue:`41922`, :issue:"
|
||
"`41873` and :issue:`41870`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1563
|
||
msgid ""
|
||
":class:`BZ2File` performance is improved by removing internal ``RLock``. "
|
||
"This makes :class:`BZ2File` thread unsafe in the face of multiple "
|
||
"simultaneous readers or writers, just like its equivalent classes in :mod:"
|
||
"`gzip` and :mod:`lzma` have always been. (Contributed by Inada Naoki in :"
|
||
"issue:`43785`)."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2192
|
||
msgid "Deprecated"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1573
|
||
msgid ""
|
||
"Currently Python accepts numeric literals immediately followed by keywords, "
|
||
"for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing and "
|
||
"ambiguous expressions like ``[0x1for x in y]`` (which can be interpreted as "
|
||
"``[0x1 for x in y]`` or ``[0x1f or x in y]``). Starting in this release, a "
|
||
"deprecation warning is raised if the numeric literal is immediately followed "
|
||
"by one of keywords :keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:"
|
||
"`if`, :keyword:`in`, :keyword:`is` and :keyword:`or`. In future releases it "
|
||
"will be changed to syntax warning, and finally to syntax error. (Contributed "
|
||
"by Serhiy Storchaka in :issue:`43833`)."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1584
|
||
msgid ""
|
||
"Starting in this release, there will be a concerted effort to begin cleaning "
|
||
"up old import semantics that were kept for Python 2.7 compatibility. "
|
||
"Specifically, :meth:`~importlib.abc.PathEntryFinder.find_loader`/:meth:"
|
||
"`~importlib.abc.Finder.find_module` (superseded by :meth:`~importlib.abc."
|
||
"Finder.find_spec`), :meth:`~importlib.abc.Loader.load_module` (superseded "
|
||
"by :meth:`~importlib.abc.Loader.exec_module`), :meth:`~importlib.abc.Loader."
|
||
"module_repr` (which the import system takes care of for you), the "
|
||
"``__package__`` attribute (superseded by ``__spec__.parent``), the "
|
||
"``__loader__`` attribute (superseded by ``__spec__.loader``), and the "
|
||
"``__cached__`` attribute (superseded by ``__spec__.cached``) will slowly be "
|
||
"removed (as well as other classes and methods in :mod:`importlib`). :exc:"
|
||
"`ImportWarning` and/or :exc:`DeprecationWarning` will be raised as "
|
||
"appropriate to help identify code which needs updating during this "
|
||
"transition."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1601
|
||
msgid ""
|
||
"The entire ``distutils`` namespace is deprecated, to be removed in Python "
|
||
"3.12. Refer to the :ref:`module changes <distutils-deprecated>` section for "
|
||
"more information."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1605
|
||
msgid ""
|
||
"Non-integer arguments to :func:`random.randrange` are deprecated. The :exc:"
|
||
"`ValueError` is deprecated in favor of a :exc:`TypeError`. (Contributed by "
|
||
"Serhiy Storchaka and Raymond Hettinger in :issue:`37319`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1609
|
||
msgid ""
|
||
"The various ``load_module()`` methods of :mod:`importlib` have been "
|
||
"documented as deprecated since Python 3.6, but will now also trigger a :exc:"
|
||
"`DeprecationWarning`. Use :meth:`~importlib.abc.Loader.exec_module` instead. "
|
||
"(Contributed by Brett Cannon in :issue:`26131`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1615
|
||
msgid ""
|
||
":meth:`zimport.zipimporter.load_module` has been deprecated in preference "
|
||
"for :meth:`~zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon "
|
||
"in :issue:`26131`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1619
|
||
msgid ""
|
||
"The use of :meth:`~importlib.abc.Loader.load_module` by the import system "
|
||
"now triggers an :exc:`ImportWarning` as :meth:`~importlib.abc.Loader."
|
||
"exec_module` is preferred. (Contributed by Brett Cannon in :issue:`26131`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1624
|
||
msgid ""
|
||
"The use of :meth:`importlib.abc.MetaPathFinder.find_module` and :meth:"
|
||
"`importlib.abc.PathEntryFinder.find_module` by the import system now trigger "
|
||
"an :exc:`ImportWarning` as :meth:`importlib.abc.MetaPathFinder.find_spec` "
|
||
"and :meth:`importlib.abc.PathEntryFinder.find_spec` are preferred, "
|
||
"respectively. You can use :func:`importlib.util.spec_from_loader` to help in "
|
||
"porting. (Contributed by Brett Cannon in :issue:`42134`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1633
|
||
msgid ""
|
||
"The use of :meth:`importlib.abc.PathEntryFinder.find_loader` by the import "
|
||
"system now triggers an :exc:`ImportWarning` as :meth:`importlib.abc."
|
||
"PathEntryFinder.find_spec` is preferred. You can use :func:`importlib.util."
|
||
"spec_from_loader` to help in porting. (Contributed by Brett Cannon in :issue:"
|
||
"`43672`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1639
|
||
msgid ""
|
||
"The various implementations of :meth:`importlib.abc.MetaPathFinder."
|
||
"find_module` ( :meth:`importlib.machinery.BuiltinImporter.find_module`, :"
|
||
"meth:`importlib.machinery.FrozenImporter.find_module`, :meth:`importlib."
|
||
"machinery.WindowsRegistryFinder.find_module`, :meth:`importlib.machinery."
|
||
"PathFinder.find_module`, :meth:`importlib.abc.MetaPathFinder.find_module`), :"
|
||
"meth:`importlib.abc.PathEntryFinder.find_module` ( :meth:`importlib."
|
||
"machinery.FileFinder.find_module`, ), and :meth:`importlib.abc."
|
||
"PathEntryFinder.find_loader` ( :meth:`importlib.machinery.FileFinder."
|
||
"find_loader` ) now raise :exc:`DeprecationWarning` and are slated for "
|
||
"removal in Python 3.12 (previously they were documented as deprecated in "
|
||
"Python 3.4). (Contributed by Brett Cannon in :issue:`42135`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1655
|
||
msgid ""
|
||
":class:`importlib.abc.Finder` is deprecated (including its sole method, :"
|
||
"meth:`~importlib.abc.Finder.find_module`). Both :class:`importlib.abc."
|
||
"MetaPathFinder` and :class:`importlib.abc.PathEntryFinder` no longer inherit "
|
||
"from the class. Users should inherit from one of these two classes as "
|
||
"appropriate instead. (Contributed by Brett Cannon in :issue:`42135`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1662
|
||
msgid ""
|
||
"The deprecations of :mod:`imp`, :func:`importlib.find_loader`, :func:"
|
||
"`importlib.util.set_package_wrapper`, :func:`importlib.util."
|
||
"set_loader_wrapper`, :func:`importlib.util.module_for_loader`, :class:"
|
||
"`pkgutil.ImpImporter`, and :class:`pkgutil.ImpLoader` have all been updated "
|
||
"to list Python 3.12 as the slated version of removal (they began raising :"
|
||
"exc:`DeprecationWarning` in previous versions of Python). (Contributed by "
|
||
"Brett Cannon in :issue:`43720`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1672
|
||
msgid ""
|
||
"The import system now uses the ``__spec__`` attribute on modules before "
|
||
"falling back on :meth:`~importlib.abc.Loader.module_repr` for a module's "
|
||
"``__repr__()`` method. Removal of the use of ``module_repr()`` is scheduled "
|
||
"for Python 3.12. (Contributed by Brett Cannon in :issue:`42137`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1678
|
||
msgid ""
|
||
":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery."
|
||
"FrozenLoader.module_repr`, and :meth:`importlib.machinery.BuiltinLoader."
|
||
"module_repr` are deprecated and slated for removal in Python 3.12. "
|
||
"(Contributed by Brett Cannon in :issue:`42136`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1684
|
||
msgid ""
|
||
"``sqlite3.OptimizedUnicode`` has been undocumented and obsolete since Python "
|
||
"3.3, when it was made an alias to :class:`str`. It is now deprecated, "
|
||
"scheduled for removal in Python 3.12. (Contributed by Erlend E. Aasland in :"
|
||
"issue:`42264`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1689
|
||
msgid ""
|
||
":func:`asyncio.get_event_loop` now emits a deprecation warning if there is "
|
||
"no running event loop. In the future it will be an alias of :func:`~asyncio."
|
||
"get_running_loop`. :mod:`asyncio` functions which implicitly create a :class:"
|
||
"`~asyncio.Future` or :class:`~asyncio.Task` objects now emit a deprecation "
|
||
"warning if there is no running event loop and no explicit *loop* argument is "
|
||
"passed: :func:`~asyncio.ensure_future`, :func:`~asyncio.wrap_future`, :func:"
|
||
"`~asyncio.gather`, :func:`~asyncio.shield`, :func:`~asyncio.as_completed` "
|
||
"and constructors of :class:`~asyncio.Future`, :class:`~asyncio.Task`, :class:"
|
||
"`~asyncio.StreamReader`, :class:`~asyncio.StreamReaderProtocol`. "
|
||
"(Contributed by Serhiy Storchaka in :issue:`39529`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1702
|
||
msgid ""
|
||
"The undocumented built-in function ``sqlite3.enable_shared_cache`` is now "
|
||
"deprecated, scheduled for removal in Python 3.12. Its use is strongly "
|
||
"discouraged by the SQLite3 documentation. See `the SQLite3 docs <https://"
|
||
"sqlite.org/c3ref/enable_shared_cache.html>`_ for more details. If a shared "
|
||
"cache must be used, open the database in URI mode using the ``cache=shared`` "
|
||
"query parameter. (Contributed by Erlend E. Aasland in :issue:`24464`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1710
|
||
msgid "The following ``threading`` methods are now deprecated:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1712
|
||
msgid "``threading.currentThread`` => :func:`threading.current_thread`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1714
|
||
msgid "``threading.activeCount`` => :func:`threading.active_count`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1716
|
||
msgid ""
|
||
"``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1719
|
||
msgid "``threading.Event.isSet`` => :meth:`threading.Event.is_set`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1721
|
||
msgid "``threading.Thread.setName`` => :attr:`threading.Thread.name`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1723
|
||
msgid "``threading.thread.getName`` => :attr:`threading.Thread.name`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1725
|
||
msgid "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1727
|
||
msgid "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1729
|
||
msgid "(Contributed by Jelle Zijlstra in :issue:`21574`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1731
|
||
msgid ""
|
||
":meth:`pathlib.Path.link_to` is deprecated and slated for removal in Python "
|
||
"3.12. Use :meth:`pathlib.Path.hardlink_to` instead. (Contributed by Barney "
|
||
"Gale in :issue:`39950`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1735
|
||
msgid ""
|
||
"``cgi.log()`` is deprecated and slated for removal in Python 3.12. "
|
||
"(Contributed by Inada Naoki in :issue:`41139`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1738
|
||
msgid ""
|
||
"The following :mod:`ssl` features have been deprecated since Python 3.6, "
|
||
"Python 3.7, or OpenSSL 1.1.0 and will be removed in 3.11:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1741
|
||
msgid ""
|
||
":data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl."
|
||
"OP_NO_TLSv1`, :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2`, and :"
|
||
"data:`~ssl.OP_NO_TLSv1_3` are replaced by :attr:`sslSSLContext."
|
||
"minimum_version` and :attr:`sslSSLContext.maximum_version`."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1747
|
||
msgid ""
|
||
":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl."
|
||
"PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl."
|
||
"PROTOCOL_TLSv1_1`, :data:`~ssl.PROTOCOL_TLSv1_2`, and :data:`~ssl."
|
||
"PROTOCOL_TLS` are deprecated in favor of :data:`~ssl.PROTOCOL_TLS_CLIENT` "
|
||
"and :data:`~ssl.PROTOCOL_TLS_SERVER`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1753
|
||
msgid ""
|
||
":func:`~ssl.wrap_socket` is replaced by :meth:`ssl.SSLContext.wrap_socket`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1755
|
||
msgid ":func:`~ssl.match_hostname`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1757
|
||
msgid ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1759
|
||
msgid ""
|
||
"NPN features like :meth:`ssl.SSLSocket.selected_npn_protocol` and :meth:`ssl."
|
||
"SSLContext.set_npn_protocols` are replaced by ALPN."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1762
|
||
msgid ""
|
||
"The threading debug (:envvar:`PYTHONTHREADDEBUG` environment variable) is "
|
||
"deprecated in Python 3.10 and will be removed in Python 3.12. This feature "
|
||
"requires a :ref:`debug build of Python <debug-build>`. (Contributed by "
|
||
"Victor Stinner in :issue:`44584`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1767
|
||
msgid ""
|
||
"Importing from the ``typing.io`` and ``typing.re`` submodules will now emit :"
|
||
"exc:`DeprecationWarning`. These submodules will be removed in a future "
|
||
"version of Python. Anything belonging to these submodules should be "
|
||
"imported directly from :mod:`typing` instead. (Contributed by Sebastian "
|
||
"Rittau in :issue:`38291`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2200
|
||
msgid "Removed"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1778
|
||
msgid ""
|
||
"Removed special methods ``__int__``, ``__float__``, ``__floordiv__``, "
|
||
"``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and "
|
||
"``__rdivmod__`` of the :class:`complex` class. They always raised a :exc:"
|
||
"`TypeError`. (Contributed by Serhiy Storchaka in :issue:`41974`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1784
|
||
msgid ""
|
||
"The ``ParserBase.error()`` method from the private and undocumented "
|
||
"``_markupbase`` module has been removed. :class:`html.parser.HTMLParser` is "
|
||
"the only subclass of ``ParserBase`` and its ``error()`` implementation was "
|
||
"already removed in Python 3.5. (Contributed by Berker Peksag in :issue:"
|
||
"`31844`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1790
|
||
msgid ""
|
||
"Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal "
|
||
"PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was "
|
||
"moved to the internal C API. (Contributed by Victor Stinner in :issue:"
|
||
"`42157`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1795
|
||
msgid ""
|
||
"Removed the ``parser`` module, which was deprecated in 3.9 due to the switch "
|
||
"to the new PEG parser, as well as all the C source and header files that "
|
||
"were only being used by the old parser, including ``node.h``, ``parser.h``, "
|
||
"``graminit.h`` and ``grammar.h``."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1800
|
||
msgid ""
|
||
"Removed the Public C API functions ``PyParser_SimpleParseStringFlags``, "
|
||
"``PyParser_SimpleParseStringFlagsFilename``, "
|
||
"``PyParser_SimpleParseFileFlags`` and ``PyNode_Compile`` that were "
|
||
"deprecated in 3.9 due to the switch to the new PEG parser."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1805
|
||
msgid ""
|
||
"Removed the ``formatter`` module, which was deprecated in Python 3.4. It is "
|
||
"somewhat obsolete, little used, and not tested. It was originally scheduled "
|
||
"to be removed in Python 3.6, but such removals were delayed until after "
|
||
"Python 2.7 EOL. Existing users should copy whatever classes they use into "
|
||
"their code. (Contributed by Dong-hee Na and Terry J. Reedy in :issue:"
|
||
"`42299`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1812
|
||
msgid ""
|
||
"Removed the :c:func:`PyModule_GetWarningsModule` function that was useless "
|
||
"now due to the _warnings module was converted to a builtin module in 2.6. "
|
||
"(Contributed by Hai Shi in :issue:`42599`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1816
|
||
msgid ""
|
||
"Remove deprecated aliases to :ref:`collections-abstract-base-classes` from "
|
||
"the :mod:`collections` module. (Contributed by Victor Stinner in :issue:"
|
||
"`37324`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1820
|
||
msgid ""
|
||
"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :"
|
||
"doc:`high-level API <../library/asyncio-api-index>` following deprecation in "
|
||
"Python 3.8. The motivation behind this change is multifold:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1824
|
||
msgid "This simplifies the high-level API."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1825
|
||
msgid ""
|
||
"The functions in the high-level API have been implicitly getting the current "
|
||
"thread's running event loop since Python 3.7. There isn't a need to pass "
|
||
"the event loop to the API in most normal use cases."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1828
|
||
msgid ""
|
||
"Event loop passing is error-prone especially when dealing with loops running "
|
||
"in different threads."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1831
|
||
msgid ""
|
||
"Note that the low-level API will still accept ``loop``. See `Changes in the "
|
||
"Python API`_ for examples of how to replace existing code."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1905
|
||
msgid ""
|
||
"(Contributed by Yurii Karabas, Andrew Svetlov, Yury Selivanov and Kyle "
|
||
"Stanley in :issue:`42392`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2125
|
||
msgid "Porting to Python 3.10"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1841
|
||
msgid ""
|
||
"This section lists previously described changes and other bugfixes that may "
|
||
"require changes to your code."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1846
|
||
msgid "Changes in the Python syntax"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1848
|
||
msgid ""
|
||
"Deprecation warning is now emitted when compiling previously valid syntax if "
|
||
"the numeric literal is immediately followed by a keyword (like in ``0in "
|
||
"x``). In future releases it will be changed to syntax warning, and finally "
|
||
"to a syntax error. To get rid of the warning and make the code compatible "
|
||
"with future releases just add a space between the numeric literal and the "
|
||
"following keyword. (Contributed by Serhiy Storchaka in :issue:`43833`)."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1858
|
||
msgid "Changes in the Python API"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1860
|
||
msgid ""
|
||
"The *etype* parameters of the :func:`~traceback.format_exception`, :func:"
|
||
"`~traceback.format_exception_only`, and :func:`~traceback.print_exception` "
|
||
"functions in the :mod:`traceback` module have been renamed to *exc*. "
|
||
"(Contributed by Zackery Spytz and Matthias Bussonnier in :issue:`26389`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1866
|
||
msgid ""
|
||
":mod:`atexit`: At Python exit, if a callback registered with :func:`atexit."
|
||
"register` fails, its exception is now logged. Previously, only some "
|
||
"exceptions were logged, and the last exception was always silently ignored. "
|
||
"(Contributed by Victor Stinner in :issue:`42639`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1872
|
||
msgid ""
|
||
":class:`collections.abc.Callable` generic now flattens type parameters, "
|
||
"similar to what :data:`typing.Callable` currently does. This means that "
|
||
"``collections.abc.Callable[[int, str], str]`` will have ``__args__`` of "
|
||
"``(int, str, str)``; previously this was ``([int, str], str)``. Code which "
|
||
"accesses the arguments via :func:`typing.get_args` or ``__args__`` need to "
|
||
"account for this change. Furthermore, :exc:`TypeError` may be raised for "
|
||
"invalid forms of parameterizing :class:`collections.abc.Callable` which may "
|
||
"have passed silently in Python 3.9. (Contributed by Ken Jin in :issue:"
|
||
"`42195`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1882
|
||
msgid ""
|
||
":meth:`socket.htons` and :meth:`socket.ntohs` now raise :exc:`OverflowError` "
|
||
"instead of :exc:`DeprecationWarning` if the given parameter will not fit in "
|
||
"a 16-bit unsigned integer. (Contributed by Erlend E. Aasland in :issue:"
|
||
"`42393`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1887
|
||
msgid ""
|
||
"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :"
|
||
"doc:`high-level API <../library/asyncio-api-index>` following deprecation in "
|
||
"Python 3.8."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1891
|
||
msgid "A coroutine that currently looks like this::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1896
|
||
msgid "Should be replaced with this::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1901
|
||
msgid ""
|
||
"If ``foo()`` was specifically designed *not* to run in the current thread's "
|
||
"running event loop (e.g. running in another thread's event loop), consider "
|
||
"using :func:`asyncio.run_coroutine_threadsafe` instead."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1908
|
||
msgid ""
|
||
"The :data:`types.FunctionType` constructor now inherits the current builtins "
|
||
"if the *globals* dictionary has no ``\"__builtins__\"`` key, rather than "
|
||
"using ``{\"None\": None}`` as builtins: same behavior as :func:`eval` and :"
|
||
"func:`exec` functions. Defining a function with ``def function(...): ...`` "
|
||
"in Python is not affected, globals cannot be overridden with this syntax: it "
|
||
"also inherits the current builtins. (Contributed by Victor Stinner in :issue:"
|
||
"`42990`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1917
|
||
msgid "Changes in the C API"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1919
|
||
msgid ""
|
||
"The C API functions ``PyParser_SimpleParseStringFlags``, "
|
||
"``PyParser_SimpleParseStringFlagsFilename``, "
|
||
"``PyParser_SimpleParseFileFlags``, ``PyNode_Compile`` and the type used by "
|
||
"these functions, ``struct _node``, were removed due to the switch to the new "
|
||
"PEG parser."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1925
|
||
msgid ""
|
||
"Source should be now be compiled directly to a code object using, for "
|
||
"example, :c:func:`Py_CompileString`. The resulting code object can then be "
|
||
"evaluated using, for example, :c:func:`PyEval_EvalCode`."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1929
|
||
msgid "Specifically:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1931
|
||
msgid ""
|
||
"A call to ``PyParser_SimpleParseStringFlags`` followed by ``PyNode_Compile`` "
|
||
"can be replaced by calling :c:func:`Py_CompileString`."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1934
|
||
msgid ""
|
||
"There is no direct replacement for ``PyParser_SimpleParseFileFlags``. To "
|
||
"compile code from a ``FILE *`` argument, you will need to read the file in C "
|
||
"and pass the resulting buffer to :c:func:`Py_CompileString`."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1938
|
||
msgid ""
|
||
"To compile a file given a ``char *`` filename, explicitly open the file, "
|
||
"read it and compile the result. One way to do this is using the :py:mod:`io` "
|
||
"module with :c:func:`PyImport_ImportModule`, :c:func:`PyObject_CallMethod`, :"
|
||
"c:func:`PyBytes_AsString` and :c:func:`Py_CompileString`, as sketched below. "
|
||
"(Declarations and error handling are omitted.) ::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1951
|
||
msgid ""
|
||
"For ``FrameObject`` objects, the ``f_lasti`` member now represents a "
|
||
"wordcode offset instead of a simple offset into the bytecode string. This "
|
||
"means that this number needs to be multiplied by 2 to be used with APIs that "
|
||
"expect a byte offset instead (like :c:func:`PyCode_Addr2Line` for example). "
|
||
"Notice as well that the ``f_lasti`` member of ``FrameObject`` objects is not "
|
||
"considered stable: please use :c:func:`PyFrame_GetLineNumber` instead."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1959
|
||
msgid "CPython bytecode changes"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1961
|
||
msgid ""
|
||
"The ``MAKE_FUNCTION`` instruction now accepts either a dict or a tuple of "
|
||
"strings as the function's annotations. (Contributed by Yurii Karabas and "
|
||
"Inada Naoki in :issue:`42202`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1966
|
||
msgid "Build Changes"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1968
|
||
msgid ""
|
||
":pep:`644`: Python now requires OpenSSL 1.1.1 or newer. OpenSSL 1.0.2 is no "
|
||
"longer supported. (Contributed by Christian Heimes in :issue:`43669`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1972
|
||
msgid ""
|
||
"The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf` are now "
|
||
"required to build Python. (Contributed by Victor Stinner in :issue:`36020`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1976
|
||
msgid ""
|
||
":mod:`sqlite3` requires SQLite 3.7.15 or higher. (Contributed by Sergey "
|
||
"Fedoseev and Erlend E. Aasland :issue:`40744` and :issue:`40810`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1979
|
||
msgid ""
|
||
"The :mod:`atexit` module must now always be built as a built-in module. "
|
||
"(Contributed by Victor Stinner in :issue:`42639`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1982
|
||
msgid ""
|
||
"Add :option:`--disable-test-modules` option to the ``configure`` script: "
|
||
"don't build nor install test modules. (Contributed by Xavier de Gaye, Thomas "
|
||
"Petazzoni and Peixing Xin in :issue:`27640`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1986
|
||
msgid ""
|
||
"Add :option:`--with-wheel-pkg-dir=PATH option <--with-wheel-pkg-dir>` to the "
|
||
"``./configure`` script. If specified, the :mod:`ensurepip` module looks for "
|
||
"``setuptools`` and ``pip`` wheel packages in this directory: if both are "
|
||
"present, these wheel packages are used instead of ensurepip bundled wheel "
|
||
"packages."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1992
|
||
msgid ""
|
||
"Some Linux distribution packaging policies recommend against bundling "
|
||
"dependencies. For example, Fedora installs wheel packages in the ``/usr/"
|
||
"share/python-wheels/`` directory and don't install the ``ensurepip."
|
||
"_bundled`` package."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1997
|
||
msgid "(Contributed by Victor Stinner in :issue:`42856`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:1999
|
||
msgid ""
|
||
"Add a new :option:`configure --without-static-libpython option <--without-"
|
||
"static-libpython>` to not build the ``libpythonMAJOR.MINOR.a`` static "
|
||
"library and not install the ``python.o`` object file."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2003
|
||
msgid "(Contributed by Victor Stinner in :issue:`43103`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2005
|
||
msgid ""
|
||
"The ``configure`` script now uses the ``pkg-config`` utility, if available, "
|
||
"to detect the location of Tcl/Tk headers and libraries. As before, those "
|
||
"locations can be explicitly specified with the :option:`--with-tcltk-"
|
||
"includes` and :option:`--with-tcltk-libs` configuration options. "
|
||
"(Contributed by Manolis Stamatogiannakis in :issue:`42603`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2011
|
||
msgid ""
|
||
"Add :option:`--with-openssl-rpath` option to ``configure`` script. The "
|
||
"option simplifies building Python with a custom OpenSSL installation, e.g. "
|
||
"``./configure --with-openssl=/path/to/openssl --with-openssl-rpath=auto``. "
|
||
"(Contributed by Christian Heimes in :issue:`43466`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2018
|
||
msgid "C API Changes"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2021
|
||
msgid "PEP 652: Maintaining the Stable ABI"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2023
|
||
msgid ""
|
||
"The Stable ABI (Application Binary Interface) for extension modules or "
|
||
"embedding Python is now explicitly defined. :ref:`stable` describes C API "
|
||
"and ABI stability guarantees along with best practices for using the Stable "
|
||
"ABI."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2028
|
||
msgid "(Contributed by Petr Viktorin in :pep:`652` and :issue:`43795`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2033
|
||
msgid ""
|
||
"The result of :c:func:`PyNumber_Index` now always has exact type :class:"
|
||
"`int`. Previously, the result could have been an instance of a subclass of "
|
||
"``int``. (Contributed by Serhiy Storchaka in :issue:`40792`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2037
|
||
msgid ""
|
||
"Add a new :c:member:`~PyConfig.orig_argv` member to the :c:type:`PyConfig` "
|
||
"structure: the list of the original command line arguments passed to the "
|
||
"Python executable. (Contributed by Victor Stinner in :issue:`23427`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2042
|
||
msgid ""
|
||
"The :c:func:`PyDateTime_DATE_GET_TZINFO` and :c:func:"
|
||
"`PyDateTime_TIME_GET_TZINFO` macros have been added for accessing the "
|
||
"``tzinfo`` attributes of :class:`datetime.datetime` and :class:`datetime."
|
||
"time` objects. (Contributed by Zackery Spytz in :issue:`30155`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2048
|
||
msgid ""
|
||
"Add a :c:func:`PyCodec_Unregister` function to unregister a codec search "
|
||
"function. (Contributed by Hai Shi in :issue:`41842`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2052
|
||
msgid ""
|
||
"The :c:func:`PyIter_Send` function was added to allow sending value into "
|
||
"iterator without raising ``StopIteration`` exception. (Contributed by "
|
||
"Vladimir Matveev in :issue:`41756`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2056
|
||
msgid ""
|
||
"Add :c:func:`PyUnicode_AsUTF8AndSize` to the limited C API. (Contributed by "
|
||
"Alex Gaynor in :issue:`41784`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2059
|
||
msgid ""
|
||
"Add :c:func:`PyModule_AddObjectRef` function: similar to :c:func:"
|
||
"`PyModule_AddObject` but don't steal a reference to the value on success. "
|
||
"(Contributed by Victor Stinner in :issue:`1635741`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2064
|
||
msgid ""
|
||
"Add :c:func:`Py_NewRef` and :c:func:`Py_XNewRef` functions to increment the "
|
||
"reference count of an object and return the object. (Contributed by Victor "
|
||
"Stinner in :issue:`42262`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2068
|
||
msgid ""
|
||
"The :c:func:`PyType_FromSpecWithBases` and :c:func:"
|
||
"`PyType_FromModuleAndSpec` functions now accept a single class as the "
|
||
"*bases* argument. (Contributed by Serhiy Storchaka in :issue:`42423`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2072
|
||
msgid ""
|
||
"The :c:func:`PyType_FromModuleAndSpec` function now accepts NULL ``tp_doc`` "
|
||
"slot. (Contributed by Hai Shi in :issue:`41832`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2076
|
||
msgid ""
|
||
"The :c:func:`PyType_GetSlot` function can accept :ref:`static types <static-"
|
||
"types>`. (Contributed by Hai Shi and Petr Viktorin in :issue:`41073`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2080
|
||
msgid ""
|
||
"Add a new :c:func:`PySet_CheckExact` function to the C-API to check if an "
|
||
"object is an instance of :class:`set` but not an instance of a subtype. "
|
||
"(Contributed by Pablo Galindo in :issue:`43277`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2084
|
||
msgid ""
|
||
"Add :c:func:`PyErr_SetInterruptEx` which allows passing a signal number to "
|
||
"simulate. (Contributed by Antoine Pitrou in :issue:`43356`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2088
|
||
msgid ""
|
||
"The limited C API is now supported if :ref:`Python is built in debug mode "
|
||
"<debug-build>` (if the ``Py_DEBUG`` macro is defined). In the limited C API, "
|
||
"the :c:func:`Py_INCREF` and :c:func:`Py_DECREF` functions are now "
|
||
"implemented as opaque function calls, rather than accessing directly the :c:"
|
||
"member:`PyObject.ob_refcnt` member, if Python is built in debug mode and the "
|
||
"``Py_LIMITED_API`` macro targets Python 3.10 or newer. It became possible to "
|
||
"support the limited C API in debug mode because the :c:type:`PyObject` "
|
||
"structure is the same in release and debug mode since Python 3.8 (see :issue:"
|
||
"`36465`)."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2098
|
||
msgid ""
|
||
"The limited C API is still not supported in the :option:`--with-trace-refs` "
|
||
"special build (``Py_TRACE_REFS`` macro). (Contributed by Victor Stinner in :"
|
||
"issue:`43688`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2102
|
||
msgid ""
|
||
"Add the :c:func:`Py_Is(x, y) <Py_Is>` function to test if the *x* object is "
|
||
"the *y* object, the same as ``x is y`` in Python. Add also the :c:func:"
|
||
"`Py_IsNone`, :c:func:`Py_IsTrue`, :c:func:`Py_IsFalse` functions to test if "
|
||
"an object is, respectively, the ``None`` singleton, the ``True`` singleton "
|
||
"or the ``False`` singleton. (Contributed by Victor Stinner in :issue:"
|
||
"`43753`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2109
|
||
msgid ""
|
||
"Add new functions to control the garbage collector from C code: :c:func:"
|
||
"`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`. These "
|
||
"functions allow to activate, deactivate and query the state of the garbage "
|
||
"collector from C code without having to import the :mod:`gc` module."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2116
|
||
msgid ""
|
||
"Add a new :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow "
|
||
"creating type instances. (Contributed by Victor Stinner in :issue:`43916`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2120
|
||
msgid ""
|
||
"Add a new :c:data:`Py_TPFLAGS_IMMUTABLETYPE` type flag for creating "
|
||
"immutable type objects: type attributes cannot be set nor deleted. "
|
||
"(Contributed by Victor Stinner and Erlend E. Aasland in :issue:`43908`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2127
|
||
msgid ""
|
||
"The ``PY_SSIZE_T_CLEAN`` macro must now be defined to use :c:func:"
|
||
"`PyArg_ParseTuple` and :c:func:`Py_BuildValue` formats which use ``#``: "
|
||
"``es#``, ``et#``, ``s#``, ``u#``, ``y#``, ``z#``, ``U#`` and ``Z#``. See :"
|
||
"ref:`Parsing arguments and building values <arg-parsing>` and the :pep:"
|
||
"`353`. (Contributed by Victor Stinner in :issue:`40943`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2134
|
||
msgid ""
|
||
"Since :c:func:`Py_REFCNT()` is changed to the inline static function, "
|
||
"``Py_REFCNT(obj) = new_refcnt`` must be replaced with ``Py_SET_REFCNT(obj, "
|
||
"new_refcnt)``: see :c:func:`Py_SET_REFCNT()` (available since Python 3.9). "
|
||
"For backward compatibility, this macro can be used::"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2143
|
||
msgid "(Contributed by Victor Stinner in :issue:`39573`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2145
|
||
msgid ""
|
||
"Calling :c:func:`PyDict_GetItem` without :term:`GIL` held had been allowed "
|
||
"for historical reason. It is no longer allowed. (Contributed by Victor "
|
||
"Stinner in :issue:`40839`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2149
|
||
msgid ""
|
||
"``PyUnicode_FromUnicode(NULL, size)`` and "
|
||
"``PyUnicode_FromStringAndSize(NULL, size)`` raise ``DeprecationWarning`` "
|
||
"now. Use :c:func:`PyUnicode_New` to allocate Unicode object without initial "
|
||
"data. (Contributed by Inada Naoki in :issue:`36346`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2154
|
||
msgid ""
|
||
"The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule API "
|
||
"``unicodedata.ucnhash_CAPI`` has been moved to the internal C API. "
|
||
"(Contributed by Victor Stinner in :issue:`42157`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2158
|
||
msgid ""
|
||
":c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:"
|
||
"func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome` and :c:func:"
|
||
"`Py_GetProgramName` functions now return ``NULL`` if called before :c:func:"
|
||
"`Py_Initialize` (before Python is initialized). Use the new :ref:`Python "
|
||
"Initialization Configuration API <init-config>` to get the :ref:`Python Path "
|
||
"Configuration. <init-path-config>`. (Contributed by Victor Stinner in :"
|
||
"issue:`42260`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2166
|
||
msgid ""
|
||
":c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` and :c:func:"
|
||
"`PyCell_SET` macros can no longer be used as l-value or r-value. For "
|
||
"example, ``x = PyList_SET_ITEM(a, b, c)`` and ``PyList_SET_ITEM(a, b, c) = "
|
||
"x`` now fail with a compiler error. It prevents bugs like ``if "
|
||
"(PyList_SET_ITEM (a, b, c) < 0) ...`` test. (Contributed by Zackery Spytz "
|
||
"and Victor Stinner in :issue:`30459`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2173
|
||
msgid ""
|
||
"The non-limited API files ``odictobject.h``, ``parser_interface.h``, "
|
||
"``picklebufobject.h``, ``pyarena.h``, ``pyctype.h``, ``pydebug.h``, ``pyfpe."
|
||
"h``, and ``pytime.h`` have been moved to the ``Include/cpython`` directory. "
|
||
"These files must not be included directly, as they are already included in "
|
||
"``Python.h``: :ref:`Include Files <api-includes>`. If they have been "
|
||
"included directly, consider including ``Python.h`` instead. (Contributed by "
|
||
"Nicholas Sim in :issue:`35134`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2181
|
||
msgid ""
|
||
"Use the :c:data:`Py_TPFLAGS_IMMUTABLETYPE` type flag to create immutable "
|
||
"type objects. Do not rely on :c:data:`Py_TPFLAGS_HEAPTYPE` to decide if a "
|
||
"type object is mutable or not; check if :c:data:`Py_TPFLAGS_IMMUTABLETYPE` "
|
||
"is set instead. (Contributed by Victor Stinner and Erlend E. Aasland in :"
|
||
"issue:`43908`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2187
|
||
msgid ""
|
||
"The undocumented function ``Py_FrozenMain`` has been removed from the "
|
||
"limited API. The function is mainly useful for custom builds of Python. "
|
||
"(Contributed by Petr Viktorin in :issue:`26241`)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2194
|
||
msgid ""
|
||
"The ``PyUnicode_InternImmortal()`` function is now deprecated and will be "
|
||
"removed in Python 3.12: use :c:func:`PyUnicode_InternInPlace` instead. "
|
||
"(Contributed by Victor Stinner in :issue:`41692`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2202
|
||
msgid ""
|
||
"Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings. "
|
||
"(Contributed by Inada Naoki in :issue:`41123`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2205
|
||
msgid ""
|
||
"``Py_UNICODE_strlen``: use :c:func:`PyUnicode_GetLength` or :c:macro:"
|
||
"`PyUnicode_GET_LENGTH`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2207
|
||
msgid ""
|
||
"``Py_UNICODE_strcat``: use :c:func:`PyUnicode_CopyCharacters` or :c:func:"
|
||
"`PyUnicode_FromFormat`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2209
|
||
msgid ""
|
||
"``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: use :c:func:"
|
||
"`PyUnicode_CopyCharacters` or :c:func:`PyUnicode_Substring`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2211
|
||
msgid "``Py_UNICODE_strcmp``: use :c:func:`PyUnicode_Compare`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2212
|
||
msgid "``Py_UNICODE_strncmp``: use :c:func:`PyUnicode_Tailmatch`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2213
|
||
msgid ""
|
||
"``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: use :c:func:"
|
||
"`PyUnicode_FindChar`"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2216
|
||
msgid ""
|
||
"Removed ``PyUnicode_GetMax()``. Please migrate to new (:pep:`393`) APIs. "
|
||
"(Contributed by Inada Naoki in :issue:`41103`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2219
|
||
msgid ""
|
||
"Removed ``PyLong_FromUnicode()``. Please migrate to :c:func:"
|
||
"`PyLong_FromUnicodeObject`. (Contributed by Inada Naoki in :issue:`41103`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2222
|
||
msgid ""
|
||
"Removed ``PyUnicode_AsUnicodeCopy()``. Please use :c:func:"
|
||
"`PyUnicode_AsUCS4Copy` or :c:func:`PyUnicode_AsWideCharString` (Contributed "
|
||
"by Inada Naoki in :issue:`41103`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2226
|
||
msgid ""
|
||
"Removed ``_Py_CheckRecursionLimit`` variable: it has been replaced by "
|
||
"``ceval.recursion_limit`` of the :c:type:`PyInterpreterState` structure. "
|
||
"(Contributed by Victor Stinner in :issue:`41834`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2230
|
||
msgid ""
|
||
"Removed undocumented macros ``Py_ALLOW_RECURSION`` and "
|
||
"``Py_END_ALLOW_RECURSION`` and the ``recursion_critical`` field of the :c:"
|
||
"type:`PyInterpreterState` structure. (Contributed by Serhiy Storchaka in :"
|
||
"issue:`41936`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2235
|
||
msgid ""
|
||
"Removed the undocumented ``PyOS_InitInterrupts()`` function. Initializing "
|
||
"Python already implicitly installs signal handlers: see :c:member:`PyConfig."
|
||
"install_signal_handlers`. (Contributed by Victor Stinner in :issue:`41713`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2240
|
||
msgid ""
|
||
"Remove the ``PyAST_Validate()`` function. It is no longer possible to build "
|
||
"a AST object (``mod_ty`` type) with the public C API. The function was "
|
||
"already excluded from the limited C API (:pep:`384`). (Contributed by Victor "
|
||
"Stinner in :issue:`43244`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2245
|
||
msgid "Remove the ``symtable.h`` header file and the undocumented functions:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2247
|
||
msgid "``PyST_GetScope()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2248
|
||
msgid "``PySymtable_Build()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2249
|
||
msgid "``PySymtable_BuildObject()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2250
|
||
msgid "``PySymtable_Free()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2251
|
||
msgid "``Py_SymtableString()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2252
|
||
msgid "``Py_SymtableStringObject()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2254
|
||
msgid ""
|
||
"The ``Py_SymtableString()`` function was part the stable ABI by mistake but "
|
||
"it could not be used, because the ``symtable.h`` header file was excluded "
|
||
"from the limited C API."
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2258
|
||
msgid ""
|
||
"Use Python :mod:`symtable` module instead. (Contributed by Victor Stinner "
|
||
"in :issue:`43244`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2261
|
||
msgid ""
|
||
"Remove :c:func:`PyOS_ReadlineFunctionPointer` from the limited C API headers "
|
||
"and from ``python3.dll``, the library that provides the stable ABI on "
|
||
"Windows. Since the function takes a ``FILE*`` argument, its ABI stability "
|
||
"cannot be guaranteed. (Contributed by Petr Viktorin in :issue:`43868`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2267
|
||
msgid ""
|
||
"Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files. These "
|
||
"functions were undocumented and excluded from the limited C API. Most names "
|
||
"defined by these header files were not prefixed by ``Py`` and so could "
|
||
"create names conflicts. For example, ``Python-ast.h`` defined a ``Yield`` "
|
||
"macro which was conflict with the ``Yield`` name used by the Windows "
|
||
"``<winbase.h>`` header. Use the Python :mod:`ast` module instead. "
|
||
"(Contributed by Victor Stinner in :issue:`43244`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2275
|
||
msgid ""
|
||
"Remove the compiler and parser functions using ``struct _mod`` type, because "
|
||
"the public AST C API was removed:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2278
|
||
msgid "``PyAST_Compile()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2279
|
||
msgid "``PyAST_CompileEx()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2280
|
||
msgid "``PyAST_CompileObject()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2281
|
||
msgid "``PyFuture_FromAST()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2282
|
||
msgid "``PyFuture_FromASTObject()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2283
|
||
msgid "``PyParser_ASTFromFile()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2284
|
||
msgid "``PyParser_ASTFromFileObject()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2285
|
||
msgid "``PyParser_ASTFromFilename()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2286
|
||
msgid "``PyParser_ASTFromString()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2287
|
||
msgid "``PyParser_ASTFromStringObject()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2289
|
||
msgid ""
|
||
"These functions were undocumented and excluded from the limited C API. "
|
||
"(Contributed by Victor Stinner in :issue:`43244`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2292
|
||
msgid "Remove the ``pyarena.h`` header file with functions:"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2294
|
||
msgid "``PyArena_New()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2295
|
||
msgid "``PyArena_Free()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2296
|
||
msgid "``PyArena_Malloc()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2297
|
||
msgid "``PyArena_AddPyObject()``"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2299
|
||
msgid ""
|
||
"These functions were undocumented, excluded from the limited C API, and were "
|
||
"only used internally by the compiler. (Contributed by Victor Stinner in :"
|
||
"issue:`43244`.)"
|
||
msgstr ""
|
||
|
||
#: whatsnew/3.10.rst:2303
|
||
msgid ""
|
||
"The ``PyThreadState.use_tracing`` member has been removed to optimize "
|
||
"Python. (Contributed by Mark Shannon in :issue:`43760`.)"
|
||
msgstr ""
|