From c5b972ef13b12eb59904f07e0128298e17db4a7b Mon Sep 17 00:00:00 2001 From: sba72 <142266608+sba72@users.noreply.github.com> Date: Mon, 12 Oct 2026 03:20:52 +0000 Subject: [PATCH] =?UTF-8?q?Sync=20mit=20Upstream-=C3=84nderungen=20(3.15)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builtins/functions.po | 811 +- builtins/threadsafety.po | 32 +- c-api/buffer.po | 6 +- c-api/bytes.po | 140 +- c-api/exceptions.po | 263 +- c-api/marshal.po | 42 +- c-api/slice.po | 42 +- cpython-src | 2 +- howto/abi3t-migration.po | 308 +- howto/free-threading-python.po | 102 +- library/asyncio-eventloop.po | 688 +- library/asyncio-stream.po | 56 +- library/code.po | 9 +- library/ctypes.po | 884 +- library/idle.po | 44 +- library/imaplib.po | 32 +- library/inspect.po | 524 +- library/optparse.po | 1073 +- library/os.po | 60 +- library/pyexpat.po | 456 +- library/ssl.po | 475 +- library/subprocess.po | 6 +- library/tempfile.po | 109 +- library/test.po | 338 +- library/time.po | 573 +- library/turtle.po | 3510 ++-- library/uuid.po | 169 +- library/xml.etree.elementtree.po | 364 +- library/xml.sax.handler.po | 242 +- library/xml.sax.po | 82 +- library/xml.sax.reader.po | 82 +- library/xml.sax.utils.po | 12 +- reference/datamodel.po | 1047 +- using/android.po | 42 +- using/cmdline.po | 617 +- using/configure.po | 1276 +- using/ios.po | 147 +- using/mac.po | 129 +- using/unix.po | 26 +- using/windows.po | 461 +- whatsnew/3.12.po | 1371 +- whatsnew/3.13.po | 1625 +- whatsnew/3.14.po | 1614 +- whatsnew/3.15.po | 1439 +- whatsnew/changelog.po | 32530 +++++++++++++++-------------- 45 files changed, 27800 insertions(+), 26060 deletions(-) diff --git a/builtins/functions.po b/builtins/functions.po index b3611cbb..ca2b4d40 100644 --- a/builtins/functions.po +++ b/builtins/functions.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2026-08-16 00:01+0000\n" "Last-Translator: Swen Bachmann\n" "Language-Team: German (https://github.com/python/python-docs-de)\n" @@ -546,8 +546,8 @@ msgstr "" "Siehe auch :func:`enum.bin`, um negative Werte als Zweierkomplement " "darzustellen." -#: ../../builtins/functions.rst:145 ../../builtins/functions.rst:990 -#: ../../builtins/functions.rst:1374 +#: ../../builtins/functions.rst:145 ../../builtins/functions.rst:1000 +#: ../../builtins/functions.rst:1384 msgid "See also :func:`format` for more information." msgstr "Weitere Informationen findest du unter :func:`format`." @@ -568,7 +568,7 @@ msgstr "" "`int` (siehe :ref:`typesnumeric`). Sie kann nicht weiter unterteilt werden. " "Ihre einzigen Instanzen sind ``False`` und ``True`` (siehe :ref:`typebool`)." -#: ../../builtins/functions.rst:160 ../../builtins/functions.rst:840 +#: ../../builtins/functions.rst:160 ../../builtins/functions.rst:850 msgid "The parameter is now positional-only." msgstr "Der Parameter ist jetzt rein positionsgebunden." @@ -951,13 +951,16 @@ msgstr "" #: ../../builtins/functions.rst:347 msgid "" -"This function raises :exc:`SyntaxError` or :exc:`ValueError` if the compiled " -"source is invalid." +"This function raises :exc:`SyntaxError` if the compiled source is invalid, " +"including a *source* containing a null character or that cannot be decoded; :" +"exc:`ValueError` if *mode* or *flags* is invalid, or if a string *source* " +"contains surrogate characters; :exc:`MemoryError` or :exc:`RecursionError` " +"if *source* is too complex to parse or compile, for example an expression " +"with many thousands of nested operators; and :exc:`OverflowError` if " +"*source* is too large." msgstr "" -"Diese Funktion löst :exc:`SyntaxError` oder :exc:`ValueError` aus, wenn die " -"kompilierte Quelle ungültig ist." -#: ../../builtins/functions.rst:350 +#: ../../builtins/functions.rst:356 msgid "" "If you want to parse Python code into its AST representation, see :func:`ast." "parse`." @@ -965,7 +968,7 @@ msgstr "" "Wenn du Python-Code in seine AST-Darstellung parsen möchtest, siehe :func:" "`ast.parse`." -#: ../../builtins/functions.rst:353 ../../builtins/functions.rst:355 +#: ../../builtins/functions.rst:359 ../../builtins/functions.rst:361 msgid "" "Raises an :ref:`auditing event ` ``compile`` with arguments " "``source`` and ``filename``. This event may also be raised by implicit " @@ -975,7 +978,7 @@ msgstr "" "Argumenten ``source`` und ``filename`` aus. Dieses Ereignis kann auch durch " "implizite Kompilierung ausgelöst werden." -#: ../../builtins/functions.rst:361 +#: ../../builtins/functions.rst:367 msgid "" "When compiling a string with multi-line code in ``'single'`` or ``'eval'`` " "mode, input must be terminated by at least one newline character. This is " @@ -987,7 +990,7 @@ msgstr "" "Zeilenumbruchzeichen enden. Dies dient dazu, die Erkennung unvollständiger " "und vollständiger Anweisungen im Modul :mod:`code` zu ​​erleichtern." -#: ../../builtins/functions.rst:368 +#: ../../builtins/functions.rst:374 msgid "" "It is possible to crash the Python interpreter with a sufficiently large/" "complex string when compiling to an AST object due to stack depth " @@ -997,7 +1000,7 @@ msgstr "" "mit einem hinreichend großen oder komplexen String zum Absturz zu bringen – " "bedingt durch die Beschränkungen der Stack-Tiefe im AST-Compiler von Python." -#: ../../builtins/functions.rst:372 +#: ../../builtins/functions.rst:378 msgid "" "Allowed use of Windows and Mac newlines. Also, input in ``'exec'`` mode " "does not have to end in a newline anymore. Added the *optimize* parameter." @@ -1006,7 +1009,7 @@ msgstr "" "muss die Eingabe im Modus ``'exec'`` nicht mehr mit einem Zeilenumbruch " "enden. Der Parameter *optimize* wurde hinzugefügt." -#: ../../builtins/functions.rst:376 +#: ../../builtins/functions.rst:382 msgid "" "Previously, :exc:`TypeError` was raised when null bytes were encountered in " "*source*." @@ -1014,7 +1017,7 @@ msgstr "" "Früher wurde ein :exc:`TypeError` ausgelöst, wenn in *source* Null-Bytes " "auftraten." -#: ../../builtins/functions.rst:380 +#: ../../builtins/functions.rst:386 msgid "" "``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` can now be passed in flags to enable " "support for top-level ``await``, ``async for``, and ``async with``." @@ -1023,11 +1026,20 @@ msgstr "" "um die Unterstützung für ``await``, ``async for`` und ``async with`` auf " "oberster Ebene zu aktivieren." -#: ../../builtins/functions.rst:384 +#: ../../builtins/functions.rst:390 +#, fuzzy +msgid "" +":exc:`SyntaxError` is raised instead of :exc:`ValueError` when null bytes " +"are encountered in *source*." +msgstr "" +"Früher wurde ein :exc:`TypeError` ausgelöst, wenn in *source* Null-Bytes " +"auftraten." + +#: ../../builtins/functions.rst:394 msgid "Added the *module* parameter." msgstr "Der Parameter *module* wurde hinzugefügt." -#: ../../builtins/functions.rst:392 +#: ../../builtins/functions.rst:402 msgid "" "Convert a single string or number to a complex number, or create a complex " "number from real and imaginary parts." @@ -1035,12 +1047,12 @@ msgstr "" "Wandelst du eine einzelne Zeichenkette oder Zahl in eine komplexe Zahl um " "oder erstelle eine komplexe Zahl aus Real- und Imaginärteil." -#: ../../builtins/functions.rst:395 ../../builtins/functions.rst:783 -#: ../../builtins/functions.rst:1046 +#: ../../builtins/functions.rst:405 ../../builtins/functions.rst:793 +#: ../../builtins/functions.rst:1056 msgid "Examples:" msgstr "Beispiele:" -#: ../../builtins/functions.rst:397 +#: ../../builtins/functions.rst:407 msgid "" ">>> complex('+1.23')\n" "(1.23+0j)\n" @@ -1076,7 +1088,7 @@ msgstr "" ">>> complex(-1.23, 4.5)\n" "(-1.23+4.5j)" -#: ../../builtins/functions.rst:416 +#: ../../builtins/functions.rst:426 msgid "" "If the argument is a string, it must contain either a real part (in the same " "format as for :func:`float`) or an imaginary part (in the same format but " @@ -1104,7 +1116,7 @@ msgstr "" "nachgestellten Leerzeichen – der Produktionsregel :token:`~float:" "complexvalue` in der folgenden Grammatik entsprechen:" -#: ../../builtins/functions.rst:435 +#: ../../builtins/functions.rst:445 msgid "" "If the argument is a number, the constructor serves as a numeric conversion " "like :class:`int` and :class:`float`. For a general Python object ``x``, " @@ -1120,7 +1132,7 @@ msgstr "" "meth:`~object.__float__` zurückgegriffen. Ist :meth:`!__float__` nicht " "definiert, wird auf :meth:`~object.__index__` zurückgegriffen." -#: ../../builtins/functions.rst:444 +#: ../../builtins/functions.rst:454 msgid "" "If two arguments are provided or keyword arguments are used, each argument " "may be any numeric type (including complex). If both arguments are real " @@ -1139,7 +1151,7 @@ msgstr "" "imag+imag.real`` zurückgegeben. Ist eines der Argumente eine reelle Zahl, " "wird in den obigen Ausdrücken nur deren Realteil verwendet." -#: ../../builtins/functions.rst:454 +#: ../../builtins/functions.rst:464 msgid "" "See also :meth:`complex.from_number` which only accepts a single numeric " "argument." @@ -1147,22 +1159,22 @@ msgstr "" "Siehe auch :meth:`complex.from_number`, das nur ein einzelnes numerisches " "Argument akzeptiert." -#: ../../builtins/functions.rst:456 +#: ../../builtins/functions.rst:466 msgid "If all arguments are omitted, returns ``0j``." msgstr "Wenn keine Argumente angegeben werden, wird ``0j`` zurückgegeben." -#: ../../builtins/functions.rst:458 +#: ../../builtins/functions.rst:468 msgid "The complex type is described in :ref:`typesnumeric`." msgstr "Der komplexe Typ wird unter :ref:`typesnumeric` beschrieben." -#: ../../builtins/functions.rst:460 ../../builtins/functions.rst:837 -#: ../../builtins/functions.rst:1094 +#: ../../builtins/functions.rst:470 ../../builtins/functions.rst:847 +#: ../../builtins/functions.rst:1104 msgid "Grouping digits with underscores as in code literals is allowed." msgstr "" "Die Gruppierung von Ziffern mittels Unterstrichen, wie bei Code-Literalen, " "ist zulässig." -#: ../../builtins/functions.rst:463 +#: ../../builtins/functions.rst:473 msgid "" "Falls back to :meth:`~object.__index__` if :meth:`~object.__complex__` and :" "meth:`~object.__float__` are not defined." @@ -1170,7 +1182,7 @@ msgstr "" "Fällt auf :meth:`~object.__index__` zurück, wenn :meth:`~object.__complex__` " "und :meth:`~object.__float__` nicht definiert sind." -#: ../../builtins/functions.rst:467 +#: ../../builtins/functions.rst:477 msgid "" "Passing a complex number as the *real* or *imag* argument is now deprecated; " "it should only be passed as a single positional argument." @@ -1179,7 +1191,7 @@ msgstr "" "veraltet;sie sollte nur noch als einzelnes Positionsargument übergeben " "werden." -#: ../../builtins/functions.rst:474 +#: ../../builtins/functions.rst:484 msgid "" "This is a relative of :func:`setattr`. The arguments are an object and a " "string. The string must be the name of one of the object's attributes. The " @@ -1194,7 +1206,7 @@ msgstr "" "der Anweisung ``del x.foobar``. *name* muss kein Python-Bezeichner sein " "(siehe :func:`setattr`)." -#: ../../builtins/functions.rst:487 +#: ../../builtins/functions.rst:497 msgid "" "Create a new dictionary. The :class:`dict` object is the dictionary class. " "See also :ref:`typesmapping` for documentation about this class." @@ -1203,7 +1215,7 @@ msgstr "" "Klasse. Siehe auch :ref:`typesmapping` für die Dokumentation zu dieser " "Klasse." -#: ../../builtins/functions.rst:490 +#: ../../builtins/functions.rst:500 msgid "" "For other containers see the built-in :class:`frozendict`, :class:`list`, :" "class:`set`, and :class:`tuple` classes, as well as the :mod:`collections` " @@ -1213,7 +1225,7 @@ msgstr "" "class:`list`, :class:`set` und :class:`tuple` sowie das Modul :mod:" "`collections`." -#: ../../builtins/functions.rst:497 +#: ../../builtins/functions.rst:507 msgid "" "Without arguments, return the list of names in the current local scope. " "With an argument, attempt to return a list of valid attributes for that " @@ -1223,7 +1235,7 @@ msgstr "" "Gültigkeitsbereich zurückgegeben. Mit einem Argument wird versucht, eine " "Liste der gültigen Attribute für dieses Objekt zurückzugeben." -#: ../../builtins/functions.rst:500 +#: ../../builtins/functions.rst:510 msgid "" "If the object has a method named :meth:`~object.__dir__`, this method will " "be called and must return the list of attributes. This allows objects that " @@ -1237,7 +1249,7 @@ msgstr "" "__getattr__` oder :func:`~object.__getattribute__` implementieren, die Art " "und Weise anzupassen, wie :func:`dir` ihre Attribute auflistet." -#: ../../builtins/functions.rst:507 +#: ../../builtins/functions.rst:517 msgid "" "If the object does not provide :meth:`~object.__dir__`, the function tries " "its best to gather information from the object's :attr:`~object.__dict__` " @@ -1252,7 +1264,7 @@ msgstr "" "kann ungenau sein, wenn das Objekt über eine benutzerdefinierte :func:" "`~object.__getattr__`-Methode verfügt." -#: ../../builtins/functions.rst:513 +#: ../../builtins/functions.rst:523 msgid "" "The default :func:`dir` mechanism behaves differently with different types " "of objects, as it attempts to produce the most relevant, rather than " @@ -1262,7 +1274,7 @@ msgstr "" "Objekttypen unterschiedlich, da er versucht, die relevantesten – und nicht " "etwa die vollständigen – Informationen zu liefern:" -#: ../../builtins/functions.rst:517 +#: ../../builtins/functions.rst:527 msgid "" "If the object is a module object, the list contains the names of the " "module's attributes." @@ -1270,7 +1282,7 @@ msgstr "" "Wenn es sich bei dem Objekt um ein Modulobjekt handelt, enthält die Liste " "die Namen der Attribute des Moduls." -#: ../../builtins/functions.rst:520 +#: ../../builtins/functions.rst:530 msgid "" "If the object is a type or class object, the list contains the names of its " "attributes, and recursively of the attributes of its bases." @@ -1279,7 +1291,7 @@ msgstr "" "die Liste die Namen seiner Attribute sowie – rekursiv – die Namen der " "Attribute seiner Basisklassen." -#: ../../builtins/functions.rst:523 +#: ../../builtins/functions.rst:533 msgid "" "Otherwise, the list contains the object's attributes' names, the names of " "its class's attributes, and recursively of the attributes of its class's " @@ -1289,11 +1301,11 @@ msgstr "" "der Attribute seiner Klasse sowie – rekursiv – die Namen der Attribute der " "Basisklassen seiner Klasse." -#: ../../builtins/functions.rst:527 +#: ../../builtins/functions.rst:537 msgid "The resulting list is sorted alphabetically. For example:" msgstr "Die resultierende Liste ist alphabetisch sortiert. Zum Beispiel:" -#: ../../builtins/functions.rst:547 +#: ../../builtins/functions.rst:557 msgid "" "Because :func:`dir` is supplied primarily as a convenience for use at an " "interactive prompt, it tries to supply an interesting set of names more than " @@ -1309,7 +1321,7 @@ msgstr "" "Attribute nicht in der Ergebnisliste enthalten, wenn das Argument eine " "Klasse ist." -#: ../../builtins/functions.rst:557 +#: ../../builtins/functions.rst:567 msgid "" "Take two (non-complex) numbers as arguments and return a pair of numbers " "consisting of their quotient and remainder when using integer division. " @@ -1330,7 +1342,7 @@ msgstr "" "% b`` ungleich null, so hat es dasselbe Vorzeichen wie *b*, und es gilt ``0 " "<= abs(a % b) < abs(b)``." -#: ../../builtins/functions.rst:569 +#: ../../builtins/functions.rst:579 msgid "" "Return an enumerate object. *iterable* must be a sequence, an :term:" "`iterator`, or some other object which supports iteration. The :meth:" @@ -1345,11 +1357,11 @@ msgstr "" "(beginnend bei *start*, standardmäßig 0) und die durch Iteration über " "*iterable* erhaltenen Werte enthält." -#: ../../builtins/functions.rst:581 +#: ../../builtins/functions.rst:591 msgid "Equivalent to::" msgstr "Gleichbedeutend mit::" -#: ../../builtins/functions.rst:583 +#: ../../builtins/functions.rst:593 msgid "" "def enumerate(iterable, start=0):\n" " n = start\n" @@ -1367,15 +1379,15 @@ msgstr "" msgid "Parameters" msgstr "Parameter" -#: ../../builtins/functions.rst:593 +#: ../../builtins/functions.rst:603 msgid "A Python expression." msgstr "Ein Python Ausdruck" -#: ../../builtins/functions.rst:597 +#: ../../builtins/functions.rst:607 msgid "The global namespace (default: ``None``)." msgstr "Der globale Namensraum (default: ``None``)." -#: ../../builtins/functions.rst:601 +#: ../../builtins/functions.rst:611 msgid "The local namespace (default: ``None``)." msgstr "Der lokale Namensraum (default: ``None``)." @@ -1383,7 +1395,7 @@ msgstr "Der lokale Namensraum (default: ``None``)." msgid "Returns" msgstr "Rückgaben" -#: ../../builtins/functions.rst:605 +#: ../../builtins/functions.rst:615 msgid "The result of the evaluated expression." msgstr "Das Ergebnis des ausgewerteten Ausdrucks." @@ -1391,11 +1403,11 @@ msgstr "Das Ergebnis des ausgewerteten Ausdrucks." msgid "raises" msgstr "Meldung" -#: ../../builtins/functions.rst:606 +#: ../../builtins/functions.rst:616 msgid "Syntax errors are reported as exceptions." msgstr "Syntaxfehler werden als Ausnahmen gemeldet." -#: ../../builtins/functions.rst:610 ../../builtins/functions.rst:680 +#: ../../builtins/functions.rst:620 ../../builtins/functions.rst:690 msgid "" "This function executes arbitrary code. Calling it with untrusted user-" "supplied input will lead to security vulnerabilities." @@ -1403,7 +1415,7 @@ msgstr "" "Diese Funktion führt beliebigen Code aus. Der Aufruf mit nicht " "vertrauenswürdigen, benutzerdefinierten Eingaben führt zu Sicherheitslücken." -#: ../../builtins/functions.rst:613 +#: ../../builtins/functions.rst:623 msgid "" "The *source* argument is parsed and evaluated as a Python expression " "(technically speaking, an :ref:`expression list `) using the " @@ -1439,11 +1451,11 @@ msgstr "" "bereits im Gültigkeitsbereich referenziert werden, der :func:`eval` aufruft " "(z. B. über eine :keyword:`nonlocal`-Anweisung)." -#: ../../builtins/functions.rst:631 +#: ../../builtins/functions.rst:641 msgid "Example:" msgstr "Beispiel:" -#: ../../builtins/functions.rst:640 +#: ../../builtins/functions.rst:650 msgid "" "This function can also be used to execute arbitrary code objects (such as " "those created by :func:`compile`). In this case, pass a code object instead " @@ -1456,7 +1468,7 @@ msgstr "" "Code-Objekt mit ``'exec'`` als *mode*-Argument kompiliert wurde, ist der " "Rückgabewert von :func:`eval` ``None``." -#: ../../builtins/functions.rst:645 +#: ../../builtins/functions.rst:655 msgid "" "Hints: dynamic execution of statements is supported by the :func:`exec` " "function. The :func:`globals` and :func:`locals` functions return the " @@ -1468,7 +1480,7 @@ msgstr "" "liefern das aktuelle globale beziehungsweise lokale Dictionary zurück; dies " "kann nützlich sein, um sie an :func:`eval` oder :func:`exec` weiterzugeben." -#: ../../builtins/functions.rst:650 +#: ../../builtins/functions.rst:660 msgid "" "If the given source is a string, then leading and trailing spaces and tabs " "are stripped." @@ -1476,7 +1488,7 @@ msgstr "" "Wenn die angegebene Quelle eine Zeichenkette ist, werden führende und " "nachstehende Leerzeichen sowie Tabulatoren entfernt." -#: ../../builtins/functions.rst:653 +#: ../../builtins/functions.rst:663 msgid "" "See :func:`ast.literal_eval` for a function to evaluate strings with " "expressions containing only literals." @@ -1484,8 +1496,8 @@ msgstr "" "Siehe :func:`ast.literal_eval` für eine Funktion, um Zeichenketten mit " "Ausdrücken auszuwerten, die nur Literale enthalten." -#: ../../builtins/functions.rst:656 ../../builtins/functions.rst:658 -#: ../../builtins/functions.rst:723 ../../builtins/functions.rst:725 +#: ../../builtins/functions.rst:666 ../../builtins/functions.rst:668 +#: ../../builtins/functions.rst:733 ../../builtins/functions.rst:735 msgid "" "Raises an :ref:`auditing event ` ``exec`` with the code object as " "the argument. Code compilation events may also be raised." @@ -1494,13 +1506,13 @@ msgstr "" "Argument aus. Es können auch Ereignisse zur Code-Kompilierung ausgelöst " "werden." -#: ../../builtins/functions.rst:663 ../../builtins/functions.rst:745 +#: ../../builtins/functions.rst:673 ../../builtins/functions.rst:755 msgid "The *globals* and *locals* arguments can now be passed as keywords." msgstr "" "Die Argumente *globals* und *locals* können nun als Schlüsselwortargumente " "übergeben werden." -#: ../../builtins/functions.rst:667 ../../builtins/functions.rst:749 +#: ../../builtins/functions.rst:677 ../../builtins/functions.rst:759 msgid "" "The semantics of the default *locals* namespace have been adjusted as " "described for the :func:`locals` builtin." @@ -1508,11 +1520,11 @@ msgstr "" "Die Semantik des Standard-Namensraums für lokale Variablen (*locals*) wurde " "wie für die integrierte Funktion :func:`locals` beschrieben angepasst." -#: ../../builtins/functions.rst:672 ../../builtins/functions.rst:754 +#: ../../builtins/functions.rst:682 ../../builtins/functions.rst:764 msgid "*globals* can now be a :class:`frozendict`." msgstr "*globals* kann jetzt ein :class:`frozendict` sein." -#: ../../builtins/functions.rst:683 +#: ../../builtins/functions.rst:693 msgid "" "This function supports dynamic execution of Python code. *source* must be " "either a string or a code object. If it is a string, the string is parsed " @@ -1536,7 +1548,7 @@ msgstr "" "nicht außerhalb von Funktionsdefinitionen verwendet werden dürfen. Der " "Rückgabewert ist ``None``." -#: ../../builtins/functions.rst:694 +#: ../../builtins/functions.rst:704 msgid "" "In all cases, if the optional parts are omitted, the code is executed in the " "current scope. If only *globals* is provided, it must be a dictionary (and " @@ -1556,7 +1568,7 @@ msgstr "" "sein. Beachte, dass auf Modulebene globale und lokale Variablen dasselbe " "Dictionary darstellen." -#: ../../builtins/functions.rst:704 +#: ../../builtins/functions.rst:714 msgid "" "When ``exec`` gets two separate objects as *globals* and *locals*, the code " "will be executed as if it were embedded in a class definition. This means " @@ -1571,7 +1583,7 @@ msgstr "" "wurden (da diese Variablen der „obersten Ebene“ in einer Klassendefinition " "als Klassenvariablen behandelt werden)." -#: ../../builtins/functions.rst:710 +#: ../../builtins/functions.rst:720 msgid "" "If the *globals* dictionary does not contain a value for the key " "``__builtins__``, a reference to the dictionary of the built-in module :mod:" @@ -1587,7 +1599,7 @@ msgstr "" "Sicherheitsmechanismus: Der ausgeführte Code kann weiterhin auf alle " "Builtins zugreifen." -#: ../../builtins/functions.rst:717 +#: ../../builtins/functions.rst:727 msgid "" "The *closure* argument specifies a closure--a tuple of cellvars. It's only " "valid when the *object* is a code object containing :term:`free (closure) " @@ -1600,7 +1612,7 @@ msgstr "" "des Tupels muss exakt der Länge des Attributs :attr:`~codeobject." "co_freevars` des Code-Objekts entsprechen." -#: ../../builtins/functions.rst:730 +#: ../../builtins/functions.rst:740 msgid "" "The built-in functions :func:`globals` and :func:`locals` return the current " "global and local namespace, respectively, which may be useful to pass around " @@ -1611,7 +1623,7 @@ msgstr "" "nützlich sein, um sie als zweites und drittes Argument an :func:`exec` zu " "übergeben." -#: ../../builtins/functions.rst:736 +#: ../../builtins/functions.rst:746 msgid "" "The default *locals* act as described for function :func:`locals` below. " "Pass an explicit *locals* dictionary if you need to see effects of the code " @@ -1622,11 +1634,11 @@ msgstr "" "Auswirkungen des Codes auf die *locals* sehen möchten, nachdem die Funktion :" "func:`exec` zurückgekehrt ist." -#: ../../builtins/functions.rst:740 +#: ../../builtins/functions.rst:750 msgid "Added the *closure* parameter." msgstr "Der Parameter *closure* wurde hinzugefügt." -#: ../../builtins/functions.rst:759 +#: ../../builtins/functions.rst:769 msgid "" "Construct an iterator from those elements of *iterable* for which *function* " "is true. *iterable* may be either a sequence, a container which supports " @@ -1639,7 +1651,7 @@ msgstr "" "``None``, so wird die Identitätsfunktion angenommen; das heißt, alle " "Elemente von *iterable*, die „falsch“ sind, werden entfernt." -#: ../../builtins/functions.rst:765 +#: ../../builtins/functions.rst:775 msgid "" "Note that ``filter(function, iterable)`` is equivalent to the generator " "expression ``(item for item in iterable if function(item))`` if function is " @@ -1651,7 +1663,7 @@ msgstr "" "nicht ``None`` ist, und ``(item for item in iterable if item)``, wenn " "``function`` ``None`` ist." -#: ../../builtins/functions.rst:770 +#: ../../builtins/functions.rst:780 msgid "" "See :func:`itertools.filterfalse` for the complementary function that " "returns elements of *iterable* for which *function* is false." @@ -1659,13 +1671,13 @@ msgstr "" "Siehe :func:`itertools.filterfalse` für die komplementäre Funktion, die " "Elemente von *iterable* zurückgibt, für die *function* falsch ist." -#: ../../builtins/functions.rst:781 +#: ../../builtins/functions.rst:791 msgid "Return a floating-point number constructed from a number or a string." msgstr "" "Gibt eine Gleitkommazahl zurück, die aus einer Zahl oder einer Zeichenkette " "erstellt wurde." -#: ../../builtins/functions.rst:785 +#: ../../builtins/functions.rst:795 msgid "" ">>> float('+1.23')\n" "1.23\n" @@ -1689,7 +1701,7 @@ msgstr "" ">>> float('-Infinity')\n" "-inf" -#: ../../builtins/functions.rst:798 +#: ../../builtins/functions.rst:808 msgid "" "If the argument is a string, it should contain a decimal number, optionally " "preceded by a sign, and optionally embedded in whitespace. The optional " @@ -1709,7 +1721,7 @@ msgstr "" "Leerzeichen – der Produktionsregel :token:`~float:floatvalue` in der " "folgenden Grammatik entsprechen:" -#: ../../builtins/functions.rst:819 +#: ../../builtins/functions.rst:829 msgid "" "Case is not significant, so, for example, \"inf\", \"Inf\", \"INFINITY\", " "and \"iNfINity\" are all acceptable spellings for positive infinity." @@ -1718,7 +1730,7 @@ msgstr "" "„Inf“, „INFINITY“ und „iNfINity“ allesamt zulässige Schreibweisen für " "positive Unendlichkeit." -#: ../../builtins/functions.rst:822 +#: ../../builtins/functions.rst:832 msgid "" "Otherwise, if the argument is an integer or a floating-point number, a " "floating-point number with the same value (within Python's floating-point " @@ -1731,7 +1743,7 @@ msgstr "" "außerhalb des Wertebereichs eines Python-Floats, wird ein :exc:" "`OverflowError` ausgelöst." -#: ../../builtins/functions.rst:827 +#: ../../builtins/functions.rst:837 msgid "" "For a general Python object ``x``, ``float(x)`` delegates to ``x." "__float__()``. If :meth:`~object.__float__` is not defined then it falls " @@ -1741,22 +1753,22 @@ msgstr "" "__float__()``. Wenn :meth:`~object.__float__` nicht definiert ist, fällt es " "zurück zu :meth:`~object.__index__`." -#: ../../builtins/functions.rst:831 +#: ../../builtins/functions.rst:841 msgid "" "See also :meth:`float.from_number` which only accepts a numeric argument." msgstr "" "Siehe auch :meth:`float.from_number`, das nur ein numerisches Argument " "akzeptiert." -#: ../../builtins/functions.rst:833 +#: ../../builtins/functions.rst:843 msgid "If no argument is given, ``0.0`` is returned." msgstr "Wenn kein Argument angegeben wird, wird ``0.0`` zurückgegeben." -#: ../../builtins/functions.rst:835 +#: ../../builtins/functions.rst:845 msgid "The float type is described in :ref:`typesnumeric`." msgstr "Der Typ „float“ wird in :ref:`typesnumeric` beschrieben." -#: ../../builtins/functions.rst:843 +#: ../../builtins/functions.rst:853 msgid "" "Falls back to :meth:`~object.__index__` if :meth:`~object.__float__` is not " "defined." @@ -1764,7 +1776,7 @@ msgstr "" "Fällt auf :meth:`~object.__index__` zurück, wenn :meth:`~object.__float__` " "nicht definiert ist." -#: ../../builtins/functions.rst:853 +#: ../../builtins/functions.rst:863 msgid "" "Convert a *value* to a \"formatted\" representation, as controlled by " "*format_spec*. The interpretation of *format_spec* will depend on the type " @@ -1776,7 +1788,7 @@ msgstr "" "des Arguments *Wert* ab; es gibt jedoch eine Standard-Formatierungssyntax, " "die von den meisten integrierten Typen verwendet wird: :ref:`formatspec`." -#: ../../builtins/functions.rst:858 +#: ../../builtins/functions.rst:868 msgid "" "The default *format_spec* is an empty string which usually gives the same " "effect as calling :func:`str(value) `." @@ -1784,7 +1796,7 @@ msgstr "" "Die Standard *format_spec* ist eine leere Zeichenkette, was normalerweise " "denselben Effekt hat wie der Aufruf von :func:`str(value) `." -#: ../../builtins/functions.rst:861 +#: ../../builtins/functions.rst:871 msgid "" "A call to ``format(value, format_spec)`` is translated to ``type(value)." "__format__(value, format_spec)`` which bypasses the instance dictionary when " @@ -1800,7 +1812,7 @@ msgstr "" "mod:`object` erreicht und *format_spec* nicht leer ist, oder wenn entweder " "*format_spec* oder der Rückgabewert keine Zeichenkette ist." -#: ../../builtins/functions.rst:868 +#: ../../builtins/functions.rst:878 msgid "" "``object().__format__(format_spec)`` raises :exc:`TypeError` if " "*format_spec* is not an empty string." @@ -1808,7 +1820,7 @@ msgstr "" "``object().__format__(format_spec)`` löst :exc:`TypeError` aus, wenn " "*format_spec* keine leere Zeichenkette ist." -#: ../../builtins/functions.rst:879 +#: ../../builtins/functions.rst:889 msgid "" "Create a new frozen dictionary. The :class:`frozendict` object is a built-" "in class. See also :ref:`typesmapping` for documentation about this class." @@ -1817,7 +1829,7 @@ msgstr "" "`frozendict` ist eine integrierte Klasse. Siehe auch :ref:`typesmapping` für " "die Dokumentation zu dieser Klasse." -#: ../../builtins/functions.rst:882 +#: ../../builtins/functions.rst:892 msgid "" "For other containers see the built-in :class:`dict`, :class:`list`, :class:" "`set`, and :class:`tuple` classes, as well as the :mod:`collections` module." @@ -1825,7 +1837,7 @@ msgstr "" "Für andere Container siehe die integrierten Klassen :class:`dict`, :class:" "`list`, :class:`set` und :class:`tuple` sowie das Modul :mod:`collections`." -#: ../../builtins/functions.rst:892 +#: ../../builtins/functions.rst:902 msgid "" "Return a new :class:`frozenset` object, optionally with elements taken from " "*iterable*. :class:`frozenset` is a built-in class. See also :ref:`types-" @@ -1835,7 +1847,7 @@ msgstr "" "*iterable*. :class:`frozenset` ist eine integrierte Klasse. Siehe auch :ref:" "`types-set` für die Dokumentation zu dieser Klasse." -#: ../../builtins/functions.rst:896 +#: ../../builtins/functions.rst:906 msgid "" "For other containers see the built-in :class:`set`, :class:`list`, :class:" "`tuple`, and :class:`dict` classes, as well as the :mod:`collections` module." @@ -1843,7 +1855,7 @@ msgstr "" "Für weitere Container siehe die integrierten Klassen :class:`set`, :class:" "`list`, :class:`tuple` und :class:`dict` sowie das Modul :mod:`collections`." -#: ../../builtins/functions.rst:904 +#: ../../builtins/functions.rst:914 msgid "" "Return the value of the named attribute of *object*. *name* must be a " "string. If the string is the name of one of the object's attributes, the " @@ -1860,7 +1872,7 @@ msgstr "" "wird ein :exc:`AttributeError` ausgelöst. *name* muss kein Python-Bezeichner " "sein (siehe :func:`setattr`)." -#: ../../builtins/functions.rst:913 +#: ../../builtins/functions.rst:923 msgid "" "Since :ref:`private name mangling ` happens at " "compilation time, one must manually mangle a private attribute's (attributes " @@ -1872,7 +1884,7 @@ msgstr "" "führenden Unterstrichen) manuell umgewandelt werden, um es mittels :func:" "`getattr` abrufen zu können." -#: ../../builtins/functions.rst:921 +#: ../../builtins/functions.rst:931 msgid "" "Return the dictionary implementing the current module namespace. For code " "within functions, this is set when the function is defined and remains the " @@ -1883,7 +1895,7 @@ msgstr "" "Definition der Funktion festgelegt und bleibt unverändert, unabhängig davon, " "von wo aus die Funktion aufgerufen wird." -#: ../../builtins/functions.rst:928 +#: ../../builtins/functions.rst:938 msgid "" "The arguments are an object and a string. The result is ``True`` if the " "string is the name of one of the object's attributes, ``False`` if not. " @@ -1896,7 +1908,7 @@ msgstr "" "aufgerufen und geprüft wird, ob ein :exc:`AttributeError` ausgelöst wird " "oder nicht.)" -#: ../../builtins/functions.rst:936 +#: ../../builtins/functions.rst:946 msgid "" "Return the hash value of the object (if it has one). Hash values are " "integers. They are used to quickly compare dictionary keys during a " @@ -1909,7 +1921,7 @@ msgstr "" "haben denselben Hash-Wert (selbst wenn sie unterschiedlichen Typs sind, wie " "es bei 1 und 1.0 der Fall ist)." -#: ../../builtins/functions.rst:943 +#: ../../builtins/functions.rst:953 msgid "" "For objects with custom :meth:`~object.__hash__` methods, note that :func:" "`hash` truncates the return value based on the bit width of the host machine." @@ -1918,7 +1930,7 @@ msgstr "" "Methoden, dass :func:`hash` den Rückgabewert basierend auf der Bitbreite des " "Host-Rechners abschneidet." -#: ../../builtins/functions.rst:950 +#: ../../builtins/functions.rst:960 msgid "" "Invoke the built-in help system. (This function is intended for interactive " "use.) If no argument is given, the interactive help system starts on the " @@ -1936,7 +1948,7 @@ msgstr "" "ausgegeben. Wenn das Argument ein anderes Objekt ist, wird eine Hilfeseite " "zu diesem Objekt generiert." -#: ../../builtins/functions.rst:957 +#: ../../builtins/functions.rst:967 msgid "" "Note that if a slash(/) appears in the parameter list of a function when " "invoking :func:`help`, it means that the parameters prior to the slash are " @@ -1949,14 +1961,14 @@ msgstr "" "findest du unter :ref:`dem FAQ-Eintrag zu reinen Positionsparametern `." -#: ../../builtins/functions.rst:962 +#: ../../builtins/functions.rst:972 msgid "" "This function is added to the built-in namespace by the :mod:`site` module." msgstr "" "Diese Funktion wird vom Modul :mod:`site` dem integrierten Namensraum " "hinzugefügt." -#: ../../builtins/functions.rst:964 +#: ../../builtins/functions.rst:974 msgid "" "Changes to :mod:`pydoc` and :mod:`inspect` mean that the reported signatures " "for callables are now more comprehensive and consistent." @@ -1965,7 +1977,7 @@ msgstr "" "aufrufbare Objekte (Callables) gemeldeten Signaturen nun umfassender und " "konsistenter sind." -#: ../../builtins/functions.rst:971 +#: ../../builtins/functions.rst:981 msgid "" "Convert an integer number to a lowercase hexadecimal string prefixed with " "\"0x\". If *integer* is not a Python :class:`int` object, it has to define " @@ -1976,7 +1988,7 @@ msgstr "" "`int` ist, muss es eine :meth:`~object.__index__`-Methode definieren, die " "eine Ganzzahl zurückgibt. Einige Beispiele:" -#: ../../builtins/functions.rst:980 +#: ../../builtins/functions.rst:990 msgid "" "If you want to convert an integer number to an uppercase or lower " "hexadecimal string with prefix or not, you can use either of the following " @@ -1986,7 +1998,7 @@ msgstr "" "Kleinbuchstaben umwandeln möchten – wahlweise mit oder ohne Präfix –, können " "Sie eine der folgenden Methoden verwenden:" -#: ../../builtins/functions.rst:992 +#: ../../builtins/functions.rst:1002 msgid "" "See also :func:`int` for converting a hexadecimal string to an integer using " "a base of 16." @@ -1994,7 +2006,7 @@ msgstr "" "Siehe auch :func:`int` für die Umwandlung einer Hexadezimalzeichenkette in " "eine Ganzzahl unter Verwendung der Basis 16." -#: ../../builtins/functions.rst:997 +#: ../../builtins/functions.rst:1007 msgid "" "To obtain a hexadecimal string representation for a float, use the :meth:" "`float.hex` method." @@ -2002,7 +2014,7 @@ msgstr "" "Um eine hexadezimale String-Darstellung für einen Float-Wert zu erhalten, " "verwende die Methode :meth:`float.hex`." -#: ../../builtins/functions.rst:1003 +#: ../../builtins/functions.rst:1013 msgid "" "Return the \"identity\" of an object. This is an integer which is " "guaranteed to be unique and constant for this object during its lifetime. " @@ -2014,11 +2026,11 @@ msgstr "" "bleibt. Zwei Objekte, deren Lebensdauern sich nicht überschneiden, können " "denselben :func:`id`-Wert haben." -#: ../../builtins/functions.rst:1008 +#: ../../builtins/functions.rst:1018 msgid "This is the address of the object in memory." msgstr "Dies ist die Adresse des Objekts im Speicher." -#: ../../builtins/functions.rst:1010 +#: ../../builtins/functions.rst:1020 msgid "" "Raises an :ref:`auditing event ` ``builtins.id`` with argument " "``id``." @@ -2026,7 +2038,7 @@ msgstr "" "Löst ein :ref:`Audit-Ereignis ` ``builtins.id`` mit dem Argument " "``id`` aus." -#: ../../builtins/functions.rst:1016 +#: ../../builtins/functions.rst:1026 msgid "" "If the *prompt* argument is present, it is written to standard output " "without a trailing newline. The function then reads a line from input, " @@ -2040,7 +2052,7 @@ msgstr "" "zurück. Beim Erreichen des Dateiendes (EOF) wird :exc:`EOFError` ausgelöst. " "Beispiel::" -#: ../../builtins/functions.rst:1021 +#: ../../builtins/functions.rst:1031 msgid "" ">>> s = input('--> ')\n" "--> Monty Python's Flying Circus\n" @@ -2052,7 +2064,7 @@ msgstr "" ">>> s\n" "\"Monty Python's Flying Circus\"" -#: ../../builtins/functions.rst:1026 +#: ../../builtins/functions.rst:1036 msgid "" "If the :mod:`readline` module was loaded, then :func:`input` will use it to " "provide elaborate line editing and history features." @@ -2061,7 +2073,7 @@ msgstr "" "umfangreiche Funktionen zur Zeilenbearbeitung und Historienverwaltung " "bereitzustellen." -#: ../../builtins/functions.rst:1029 ../../builtins/functions.rst:1031 +#: ../../builtins/functions.rst:1039 ../../builtins/functions.rst:1041 msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " "``prompt`` before reading input" @@ -2069,7 +2081,7 @@ msgstr "" "Löst ein :ref:`Audit-Ereignis ` ``builtins.input`` mit dem " "Argument ``prompt`` aus, bevor die Eingabe gelesen wird" -#: ../../builtins/functions.rst:1034 ../../builtins/functions.rst:1036 +#: ../../builtins/functions.rst:1044 ../../builtins/functions.rst:1046 msgid "" "Raises an :ref:`auditing event ` ``builtins.input/result`` with " "the result after successfully reading input." @@ -2077,7 +2089,7 @@ msgstr "" "Löst ein :ref:`Audit-Ereignis ` ``builtins.input/result`` mit dem " "Ergebnis nach erfolgreichem Einlesen der Eingabe aus." -#: ../../builtins/functions.rst:1043 +#: ../../builtins/functions.rst:1053 msgid "" "Return an integer object constructed from a number or a string, or return " "``0`` if no arguments are given." @@ -2085,7 +2097,7 @@ msgstr "" "Gibt ein Integer-Objekt zurück, das aus einer Zahl oder einer Zeichenkette " "erstellt wurde, oder gibt ``0`` zurück, wenn keine Argumente angegeben sind." -#: ../../builtins/functions.rst:1048 +#: ../../builtins/functions.rst:1058 msgid "" ">>> int(123.45)\n" "123\n" @@ -2113,7 +2125,7 @@ msgstr "" ">>> int('01110011', base=2)\n" "115" -#: ../../builtins/functions.rst:1063 +#: ../../builtins/functions.rst:1073 msgid "" "If the argument defines :meth:`~object.__int__`, ``int(x)`` returns ``x." "__int__()``. If the argument defines :meth:`~object.__index__`, it returns " @@ -2124,7 +2136,7 @@ msgstr "" "gibt es ``x.__index__()`` zurück. Bei Gleitkommazahlen erfolgt dabei eine " "Rundung in Richtung Null." -#: ../../builtins/functions.rst:1068 +#: ../../builtins/functions.rst:1078 msgid "" "If the argument is not a number or if *base* is given, then it must be a " "string, :class:`bytes`, or :class:`bytearray` instance representing an " @@ -2139,7 +2151,7 @@ msgstr "" "dazwischen), sie kann führende Nullen haben, von Whitespace umgeben sein und " "einzelne Unterstriche zwischen den Ziffern eingestreut haben." -#: ../../builtins/functions.rst:1074 +#: ../../builtins/functions.rst:1084 msgid "" "A base-n integer string contains digits, each representing a value from 0 to " "n-1. The values 0--9 can be represented by any Unicode decimal digit. The " @@ -2166,11 +2178,11 @@ msgstr "" "führenden Nullen zulässig: ``int('010', 0)`` ist ungültig, während " "``int('010')`` und ``int('010', 8)`` zulässig sind." -#: ../../builtins/functions.rst:1085 +#: ../../builtins/functions.rst:1095 msgid "The integer type is described in :ref:`typesnumeric`." msgstr "Der Ganzzahltyp wird in :ref:`typesnumeric` beschrieben." -#: ../../builtins/functions.rst:1087 +#: ../../builtins/functions.rst:1097 msgid "" "If *base* is not an instance of :class:`int` and the *base* object has a :" "meth:`base.__index__ ` method, that method is called to " @@ -2183,11 +2195,11 @@ msgstr "" "Versionen wurde :meth:`base.__int__ ` anstelle von :meth:" "`base.__index__ ` verwendet." -#: ../../builtins/functions.rst:1097 +#: ../../builtins/functions.rst:1107 msgid "The first parameter is now positional-only." msgstr "Der erste Parameter ist nun rein positional." -#: ../../builtins/functions.rst:1100 +#: ../../builtins/functions.rst:1110 msgid "" "Falls back to :meth:`~object.__index__` if :meth:`~object.__int__` is not " "defined." @@ -2195,7 +2207,7 @@ msgstr "" "Greift auf :meth:`~object.__index__` zurück, wenn :meth:`~object.__int__` " "nicht definiert ist." -#: ../../builtins/functions.rst:1103 +#: ../../builtins/functions.rst:1113 msgid "" ":class:`int` string inputs and string representations can be limited to help " "avoid denial of service attacks. A :exc:`ValueError` is raised when the " @@ -2212,13 +2224,13 @@ msgstr "" "würde. Siehe die Dokumentation zur :ref:`Längenbegrenzung bei der Umwandlung " "von Ganzzahlen in Zeichenketten `." -#: ../../builtins/functions.rst:1111 +#: ../../builtins/functions.rst:1121 msgid "" ":func:`int` no longer delegates to the :meth:`~object.__trunc__` method." msgstr "" ":func:`int` delegiert nicht mehr an die Methode :meth:`~object.__trunc__`." -#: ../../builtins/functions.rst:1116 +#: ../../builtins/functions.rst:1126 msgid "" "Return ``True`` if the *object* argument is an instance of the *classinfo* " "argument, or of a (direct, indirect, or :term:`virtual `) of *classinfo*. A class is considered a subclass of " @@ -2263,7 +2275,7 @@ msgstr "" "Unterklasse eines beliebigen Eintrags in *classinfo* ist. In jedem anderen " "Fall wird eine Ausnahme vom Typ :exc:`TypeError` ausgelöst." -#: ../../builtins/functions.rst:1148 +#: ../../builtins/functions.rst:1158 msgid "" "Return an :term:`iterator` object. The first argument is interpreted very " "differently depending on the presence of the second argument. Without a " @@ -2292,11 +2304,11 @@ msgstr "" "Rückgabewert *sentinel*, so wird :exc:`StopIteration` ausgelöst, andernfalls " "wird der Wert zurückgegeben." -#: ../../builtins/functions.rst:1162 +#: ../../builtins/functions.rst:1172 msgid "See also :ref:`typeiter`." msgstr "Siehe auch :ref:`typeiter`." -#: ../../builtins/functions.rst:1164 +#: ../../builtins/functions.rst:1174 msgid "" "One useful application of the second form of :func:`iter` is to build a " "block-reader. For example, reading fixed-width blocks from a binary database " @@ -2306,7 +2318,7 @@ msgstr "" "Erstellung eines Block-Readers. Zum Beispiel das Lesen von Blöcken fester " "Größe aus einer binären Datenbankdatei bis zum Erreichen des Dateiende::" -#: ../../builtins/functions.rst:1168 +#: ../../builtins/functions.rst:1178 msgid "" "from functools import partial\n" "with open('mydata.db', 'rb') as f:\n" @@ -2318,7 +2330,7 @@ msgstr "" " for block in iter(partial(f.read, 64), b''):\n" " process_block(block)" -#: ../../builtins/functions.rst:1176 +#: ../../builtins/functions.rst:1186 msgid "" "Return the length (the number of items) of an object. The argument may be a " "sequence (such as a string, bytes, tuple, list, or range) or a collection " @@ -2329,7 +2341,7 @@ msgstr "" "ein Range-Objekt) oder eine Collection (wie etwa ein Dictionary, ein Set " "oder ein Frozen Set) sein." -#: ../../builtins/functions.rst:1182 +#: ../../builtins/functions.rst:1192 msgid "" "``len`` raises :exc:`OverflowError` on lengths larger than :data:`sys." "maxsize`, such as :class:`range(2 ** 100) `." @@ -2337,7 +2349,7 @@ msgstr "" "``len`` löst bei Längen größer als :data:`sys.maxsize` eine :exc:" "`OverflowError`-Ausnahme aus.Z. B. :class:`range(2 ** 100) `." -#: ../../builtins/functions.rst:1190 +#: ../../builtins/functions.rst:1200 msgid "" "Rather than being a function, :class:`list` is actually a mutable sequence " "type, as documented in :ref:`typesseq-list` and :ref:`typesseq`." @@ -2346,7 +2358,7 @@ msgstr "" "veränderbarer Sequenztyp, wie in :ref:`typesseq-list` und :ref:`typesseq` " "dokumentiert." -#: ../../builtins/functions.rst:1196 +#: ../../builtins/functions.rst:1206 msgid "" "Return a mapping object representing the current local symbol table, with " "variable names as the keys, and their currently bound references as the " @@ -2356,7 +2368,7 @@ msgstr "" "repräsentiert, wobei die Variablennamen als Schlüssel und die aktuell daran " "gebundenen Referenzen als Werte dienen." -#: ../../builtins/functions.rst:1200 +#: ../../builtins/functions.rst:1210 msgid "" "At module scope, as well as when using :func:`exec` or :func:`eval` with a " "single namespace, this function returns the same namespace as :func:" @@ -2366,7 +2378,7 @@ msgstr "" "mit einem einzigen Namensraum gibt diese Funktion denselben Namensraum " "zurück wie :func:`globals`." -#: ../../builtins/functions.rst:1204 +#: ../../builtins/functions.rst:1214 msgid "" "At class scope, it returns the namespace that will be passed to the " "metaclass constructor." @@ -2374,7 +2386,7 @@ msgstr "" "Auf Klassenebene gibt es den Namensraum zurück, der an den Metaklassen-" "Konstruktor übergeben wird." -#: ../../builtins/functions.rst:1207 +#: ../../builtins/functions.rst:1217 msgid "" "When using ``exec()`` or ``eval()`` with separate local and global " "arguments, it returns the local namespace passed in to the function call." @@ -2383,7 +2395,7 @@ msgstr "" "globalen Argumenten wird der lokale Namensraum zurückgegeben, der an den " "Funktionsaufruf übergeben wurde." -#: ../../builtins/functions.rst:1210 +#: ../../builtins/functions.rst:1220 msgid "" "In all of the above cases, each call to ``locals()`` in a given frame of " "execution will return the *same* mapping object. Changes made through the " @@ -2400,7 +2412,7 @@ msgstr "" "Löschen lokaler Variablen unmittelbar auf den Inhalt des zurückgegebenen " "Mapping-Objekts aus." -#: ../../builtins/functions.rst:1217 +#: ../../builtins/functions.rst:1227 msgid "" "In an :term:`optimized scope` (including functions, generators, and " "coroutines), each call to ``locals()`` instead returns a fresh dictionary " @@ -2422,7 +2434,7 @@ msgstr "" "Variablen und nonlocal-Zellreferenzen *keine* Auswirkungen auf den Inhalt " "zuvor zurückgegebener Dictionaries." -#: ../../builtins/functions.rst:1226 +#: ../../builtins/functions.rst:1236 msgid "" "Calling ``locals()`` as part of a comprehension in a function, generator, or " "coroutine is equivalent to calling it in the containing scope, except that " @@ -2438,7 +2450,7 @@ msgstr "" "Gültigkeitsbereichen verhält es sich so, als würde die Listen-Abstraktion " "(comprehension) als verschachtelte Funktion ausgeführt." -#: ../../builtins/functions.rst:1232 +#: ../../builtins/functions.rst:1242 msgid "" "Calling ``locals()`` as part of a generator expression is equivalent to " "calling it in a nested generator function." @@ -2447,7 +2459,7 @@ msgstr "" "gleichbedeutend mit dem Aufruf innerhalb einer verschachtelten " "Generatorfunktion." -#: ../../builtins/functions.rst:1235 +#: ../../builtins/functions.rst:1245 msgid "" "The behaviour of ``locals()`` in a comprehension has been updated as " "described in :pep:`709`." @@ -2455,7 +2467,7 @@ msgstr "" "Das Verhalten von ``locals()`` in einer Listen-Abstraktion (comprehension) " "wurde wie in :pep:`709` beschrieben aktualisiert." -#: ../../builtins/functions.rst:1239 +#: ../../builtins/functions.rst:1249 msgid "" "As part of :pep:`667`, the semantics of mutating the mapping objects " "returned from this function are now defined. The behavior in :term:" @@ -2469,7 +2481,7 @@ msgstr "" "obigen Beschreibung. Abgesehen von dieser Definition bleibt das Verhalten in " "anderen Gültigkeitsbereichen gegenüber früheren Versionen unverändert." -#: ../../builtins/functions.rst:1249 +#: ../../builtins/functions.rst:1259 msgid "" "Return an iterator that applies *function* to every item of *iterable*, " "yielding the results. If additional *iterables* arguments are passed, " @@ -2490,11 +2502,11 @@ msgstr "" "ausgelöst. Für Fälle, in denen die Eingabewerte für die Funktion bereits als " "Argument-Tupel vorliegen, siehe :func:`itertools.starmap`." -#: ../../builtins/functions.rst:1258 +#: ../../builtins/functions.rst:1268 msgid "Added the *strict* parameter." msgstr "Den Parameter *strict* hinzugefügt." -#: ../../builtins/functions.rst:1266 +#: ../../builtins/functions.rst:1276 msgid "" "Return the largest item in an iterable or the largest of two or more " "arguments." @@ -2502,7 +2514,7 @@ msgstr "" "Gibt das größte Element eines iterierbaren Objekts oder das größte von zwei " "oder mehr Argumenten zurück." -#: ../../builtins/functions.rst:1269 +#: ../../builtins/functions.rst:1279 msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " "The largest item in the iterable is returned. If two or more positional " @@ -2513,7 +2525,7 @@ msgstr "" "Werden zwei oder mehr Positionsargumente übergeben, so wird das größte der " "Positionsargumente zurückgegeben." -#: ../../builtins/functions.rst:1274 ../../builtins/functions.rst:1312 +#: ../../builtins/functions.rst:1284 ../../builtins/functions.rst:1322 msgid "" "There are two optional keyword-only arguments. The *key* argument specifies " "a one-argument ordering function like that used for :meth:`list.sort`. The " @@ -2528,7 +2540,7 @@ msgstr "" "übergebene Iterable leer ist. Ist das Iterable leer und wird kein *default*-" "Wert angegeben, so wird ein :exc:`ValueError` ausgelöst." -#: ../../builtins/functions.rst:1280 +#: ../../builtins/functions.rst:1290 msgid "" "If multiple items are maximal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " @@ -2540,17 +2552,17 @@ msgstr "" "Sortierstabilität bewahren, wie etwa ``sorted(iterable, key=keyfunc, " "reverse=True)[0]`` und ``heapq.nlargest(1, iterable, key=keyfunc)``." -#: ../../builtins/functions.rst:1285 ../../builtins/functions.rst:1323 +#: ../../builtins/functions.rst:1295 ../../builtins/functions.rst:1333 msgid "Added the *default* keyword-only parameter." msgstr "" "Der *default*-Parameter (nur als Keyword-Argument verwendbar) wurde " "hinzugefügt." -#: ../../builtins/functions.rst:1288 ../../builtins/functions.rst:1326 +#: ../../builtins/functions.rst:1298 ../../builtins/functions.rst:1336 msgid "The *key* can be ``None``." msgstr "Der *Schlüssel* kann ``None`` sein." -#: ../../builtins/functions.rst:1296 +#: ../../builtins/functions.rst:1306 msgid "" "Return a \"memory view\" object created from the given argument. See :ref:" "`typememoryview` for more information." @@ -2558,7 +2570,7 @@ msgstr "" "Gibt ein aus dem angegebenen Argument erstelltes „memory-View“-Objekt " "zurück. Siehe :ref:`typememoryview` für weitere Informationen." -#: ../../builtins/functions.rst:1304 +#: ../../builtins/functions.rst:1314 msgid "" "Return the smallest item in an iterable or the smallest of two or more " "arguments." @@ -2566,7 +2578,7 @@ msgstr "" "Gibt das kleinste Element eines iterierbaren Objekts oder das kleinste von " "zwei oder mehr Argumenten zurück." -#: ../../builtins/functions.rst:1307 +#: ../../builtins/functions.rst:1317 msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " "The smallest item in the iterable is returned. If two or more positional " @@ -2577,7 +2589,7 @@ msgstr "" "zurückgegeben. Werden zwei oder mehr Positionsargumente übergeben, so wird " "das kleinste der Positionsargumente zurückgegeben." -#: ../../builtins/functions.rst:1318 +#: ../../builtins/functions.rst:1328 msgid "" "If multiple items are minimal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " @@ -2589,7 +2601,7 @@ msgstr "" "die die Sortierstabilität wahren, wie etwa ``sorted(iterable, key=keyfunc)" "[0]`` und ``heapq.nsmallest(1, iterable, key=keyfunc)``." -#: ../../builtins/functions.rst:1333 +#: ../../builtins/functions.rst:1343 msgid "" "Retrieve the next item from the :term:`iterator` by calling its :meth:" "`~iterator.__next__` method. If *default* is given, it is returned if the " @@ -2600,7 +2612,7 @@ msgstr "" "angegeben ist, wird dieser Wert zurückgegeben, falls der Iterator :term:" "`erschöpft ` ist; andernfalls wird :exc:`StopIteration` ausgelöst." -#: ../../builtins/functions.rst:1340 +#: ../../builtins/functions.rst:1350 msgid "" "This is the ultimate base class of all other classes. It has methods that " "are common to all instances of Python classes. When the constructor is " @@ -2612,7 +2624,7 @@ msgstr "" "des Konstruktors wird ein neues, eigenschaftsloses Objekt zurückgegeben. Der " "Konstruktor akzeptiert keine Argumente." -#: ../../builtins/functions.rst:1347 +#: ../../builtins/functions.rst:1357 msgid "" ":class:`object` instances do *not* have :attr:`~object.__dict__` attributes, " "so you can't assign arbitrary attributes to an instance of :class:`object`." @@ -2621,7 +2633,7 @@ msgstr "" "Attribute. Daher kannst du einer Instanz von :class:`object` keine " "beliebigen Attribute zuweisen." -#: ../../builtins/functions.rst:1354 +#: ../../builtins/functions.rst:1364 msgid "" "Convert an integer number to an octal string prefixed with \"0o\". The " "result is a valid Python expression. If *integer* is not a Python :class:" @@ -2633,7 +2645,7 @@ msgstr "" "`int` Objekt ist, muss es eine :meth:`~object.__index__`-Methode definieren, " "die eine Ganzzahl zurückgibt. Zum Beispiel:" -#: ../../builtins/functions.rst:1364 +#: ../../builtins/functions.rst:1374 msgid "" "If you want to convert an integer number to an octal string either with the " "prefix \"0o\" or not, you can use either of the following ways." @@ -2642,7 +2654,7 @@ msgstr "" "Oktalzeichenkette umwandeln möchtest, kannst du eine der folgenden " "Möglichkeiten nutzen." -#: ../../builtins/functions.rst:1381 +#: ../../builtins/functions.rst:1391 msgid "" "Open *file* and return a corresponding :term:`file object`. If the file " "cannot be opened, an :exc:`OSError` is raised. See :ref:`tut-files` for more " @@ -2653,7 +2665,7 @@ msgstr "" "ausgelöst. Weitere Beispiele für die Verwendung dieser Funktion findest du " "unter :ref:`tut-files`." -#: ../../builtins/functions.rst:1385 +#: ../../builtins/functions.rst:1395 msgid "" "*file* is a :term:`path-like object` giving the pathname (absolute or " "relative to the current working directory) of the file to be opened or an " @@ -2668,7 +2680,7 @@ msgstr "" "angegeben, so wird dieser geschlossen, wenn das zurückgegebene E/A-Objekt " "geschlossen wird, es sei denn, *closefd* ist auf ``False`` gesetzt.)" -#: ../../builtins/functions.rst:1391 +#: ../../builtins/functions.rst:1401 msgid "" "*mode* is an optional string that specifies the mode in which the file is " "opened. It defaults to ``'r'`` which means open for reading in text mode. " @@ -2694,75 +2706,75 @@ msgstr "" "der aktuellen Locale zu ermitteln. (Verwende für das Lesen und Schreiben von " "Rohbytes den Binärmodus und lass *encoding* weg.) Die verfügbaren Modi sind:" -#: ../../builtins/functions.rst:1409 +#: ../../builtins/functions.rst:1419 msgid "Character" msgstr "Zeichen" -#: ../../builtins/functions.rst:1409 +#: ../../builtins/functions.rst:1419 msgid "Meaning" msgstr "`." msgstr "Die neu erstellte Datei ist :ref:`nicht vererbbar `." -#: ../../builtins/functions.rst:1508 +#: ../../builtins/functions.rst:1518 msgid "" "The following example uses the :ref:`dir_fd ` parameter of the :func:" "`os.open` function to open a file relative to a given directory::" @@ -2967,7 +2979,7 @@ msgstr "" "Funktion :func:`os.open`, um eine Datei relativ zu einem bestimmten " "Verzeichnis zu öffnen::" -#: ../../builtins/functions.rst:1511 +#: ../../builtins/functions.rst:1521 msgid "" ">>> import os\n" ">>> dir_fd = os.open('somedir', os.O_RDONLY)\n" @@ -2989,7 +3001,7 @@ msgstr "" "...\n" ">>> os.close(dir_fd) # don't leak a file descriptor" -#: ../../builtins/functions.rst:1521 +#: ../../builtins/functions.rst:1531 msgid "" "The type of :term:`file object` returned by the :func:`open` function " "depends on the mode. When :func:`open` is used to open a file in a text " @@ -3016,7 +3028,7 @@ msgstr "" "deaktiviert, wird der Rohdatenstrom (Raw Stream) zurückgegeben – eine " "Unterklasse von :class:`io.RawIOBase`, nämlich :class:`io.FileIO`." -#: ../../builtins/functions.rst:1542 +#: ../../builtins/functions.rst:1552 msgid "" "See also the file handling modules, such as :mod:`fileinput`, :mod:`io` " "(where :func:`open` is declared), :mod:`os`, :mod:`os.path`, :mod:" @@ -3026,7 +3038,7 @@ msgstr "" "(wo :func:`open` definiert ist), :mod:`os`, :mod:`os.path`, :mod:`tempfile` " "und :mod:`shutil`." -#: ../../builtins/functions.rst:1546 +#: ../../builtins/functions.rst:1556 msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``path``, " "``mode``, ``flags``." @@ -3034,7 +3046,7 @@ msgstr "" "Löst ein :ref:`Audit-Ereignis ` ``open`` mit den Argumenten " "``path``, ``mode`` und ``flags`` aus." -#: ../../builtins/functions.rst:1548 +#: ../../builtins/functions.rst:1558 msgid "" "The ``mode`` and ``flags`` arguments may have been modified or inferred from " "the original call." @@ -3042,21 +3054,21 @@ msgstr "" "Die Argumente ``mode`` und ``flags`` wurden möglicherweise modifiziert oder " "aus dem ursprünglichen Aufruf abgeleitet." -#: ../../builtins/functions.rst:1553 +#: ../../builtins/functions.rst:1563 msgid "The *opener* parameter was added." msgstr "Der Parameter *opener* wurde hinzugefügt." -#: ../../builtins/functions.rst:1554 +#: ../../builtins/functions.rst:1564 msgid "The ``'x'`` mode was added." msgstr "Der Modus ``'x'`` wurde hinzugefügt." -#: ../../builtins/functions.rst:1555 +#: ../../builtins/functions.rst:1565 msgid ":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." msgstr "" "Früher wurde :exc:`IOError` ausgelöst; mittlerweile ist es ein Alias ​​für :" "exc:`OSError`." -#: ../../builtins/functions.rst:1556 +#: ../../builtins/functions.rst:1566 msgid "" ":exc:`FileExistsError` is now raised if the file opened in exclusive " "creation mode (``'x'``) already exists." @@ -3064,11 +3076,11 @@ msgstr "" "Ein :exc:`FileExistsError` wird nun ausgelöst, wenn die im exklusiven " "Erstellungsmodus (``'x'``) geöffnete Datei bereits existiert." -#: ../../builtins/functions.rst:1561 +#: ../../builtins/functions.rst:1571 msgid "The file is now non-inheritable." msgstr "Die Datei ist nun nicht mehr vererbbar." -#: ../../builtins/functions.rst:1565 +#: ../../builtins/functions.rst:1575 msgid "" "If the system call is interrupted and the signal handler does not raise an " "exception, the function now retries the system call instead of raising an :" @@ -3079,17 +3091,17 @@ msgstr "" "eine :exc:`InterruptedError`-Ausnahme auszulösen (siehe :pep:`475` für die " "Begründung)." -#: ../../builtins/functions.rst:1568 +#: ../../builtins/functions.rst:1578 msgid "The ``'namereplace'`` error handler was added." msgstr "Der Fehlerbehandlungsmechanismus ``'namereplace'`` wurde hinzugefügt." -#: ../../builtins/functions.rst:1572 +#: ../../builtins/functions.rst:1582 msgid "Support added to accept objects implementing :class:`os.PathLike`." msgstr "" "Unterstützung für Objekte hinzugefügt, die :class:`os.PathLike` " "implementieren." -#: ../../builtins/functions.rst:1573 +#: ../../builtins/functions.rst:1583 msgid "" "On Windows, opening a console buffer may return a subclass of :class:`io." "RawIOBase` other than :class:`io.FileIO`." @@ -3098,11 +3110,11 @@ msgstr "" "class:`io.RawIOBase` zurückgeben, bei der es sich nicht um :class:`io." "FileIO` handelt." -#: ../../builtins/functions.rst:1576 +#: ../../builtins/functions.rst:1586 msgid "The ``'U'`` mode has been removed." msgstr "Der Modus ``'U'`` wurde entfernt." -#: ../../builtins/functions.rst:1579 +#: ../../builtins/functions.rst:1589 msgid "" "UTF-8 is now the default encoding, instead of the platform-dependent locale " "encoding (:pep:`686`)." @@ -3110,11 +3122,11 @@ msgstr "" "UTF-8 ist jetzt die Standardkodierung anstelle der plattformabhängigen " "Locale-Kodierung (:pep:`686`)." -#: ../../builtins/functions.rst:1585 +#: ../../builtins/functions.rst:1595 msgid "Return the ordinal value of a character." msgstr "Gibt den Ordinalwert eines Zeichens zurück." -#: ../../builtins/functions.rst:1587 +#: ../../builtins/functions.rst:1597 msgid "" "If the argument is a one-character string, return the Unicode code point of " "that character. For example, ``ord('a')`` returns the integer ``97`` and " @@ -3126,7 +3138,7 @@ msgstr "" "die Ganzzahl ``97`` und ``ord('€')`` (Euro-Zeichen) liefert ``8364``. Dies " "ist die Umkehrfunktion zu :func:`chr`." -#: ../../builtins/functions.rst:1592 +#: ../../builtins/functions.rst:1602 msgid "" "If the argument is a :class:`bytes` or :class:`bytearray` object of length " "1, return its single byte value. For example, ``ord(b'a')`` returns the " @@ -3136,7 +3148,7 @@ msgstr "" "Länge 1 ist, wird dessen einzelner Bytewert zurückgegeben. Beispielsweise " "gibt ``ord(b'a')`` die Ganzzahl ``97`` zurück." -#: ../../builtins/functions.rst:1599 +#: ../../builtins/functions.rst:1609 msgid "" "Return *base* to the power *exp*; if *mod* is present, return *base* to the " "power *exp*, modulo *mod* (computed more efficiently than ``pow(base, exp) % " @@ -3148,7 +3160,7 @@ msgstr "" "mod``). Die Form mit zwei Argumenten ``pow(base, exp)`` entspricht der " "Verwendung des Potenzoperators: ``base**exp``." -#: ../../builtins/functions.rst:1604 +#: ../../builtins/functions.rst:1614 msgid "" "When arguments are builtin numeric types with mixed operand types, the " "coercion rules for binary arithmetic operators apply. For :class:`int` " @@ -3176,7 +3188,7 @@ msgstr "" "`float`) und der Exponent ganzzahlig, so wird ein float-Ergebnis geliefert. " "So ergibt ``pow(-9, 2.0)`` beispielsweise ``81.0``." -#: ../../builtins/functions.rst:1616 +#: ../../builtins/functions.rst:1626 msgid "" "For :class:`int` operands *base* and *exp*, if *mod* is present, *mod* must " "also be of integer type and *mod* must be nonzero. If *mod* is present and " @@ -3190,13 +3202,13 @@ msgstr "" "sein. In diesem Fall wird ``pow(inv_base, -exp, mod)`` zurückgegeben, wobei " "*inv_base* das Inverse von *base* modulo *mod* ist." -#: ../../builtins/functions.rst:1622 +#: ../../builtins/functions.rst:1632 msgid "Here's an example of computing an inverse for ``38`` modulo ``97``::" msgstr "" "Hier ist ein Beispiel für die Berechnung des Inversen von ``38`` modulo " "``97``::" -#: ../../builtins/functions.rst:1624 +#: ../../builtins/functions.rst:1634 msgid "" ">>> pow(38, -1, mod=97)\n" "23\n" @@ -3208,7 +3220,7 @@ msgstr "" ">>> 23 * 38 % 97 == 1\n" "True" -#: ../../builtins/functions.rst:1629 +#: ../../builtins/functions.rst:1639 msgid "" "For :class:`int` operands, the three-argument form of ``pow`` now allows the " "second argument to be negative, permitting computation of modular inverses." @@ -3217,14 +3229,14 @@ msgstr "" "nun ein negatives zweites Argument, was die Berechnung modularer Inverser " "ermöglicht." -#: ../../builtins/functions.rst:1634 +#: ../../builtins/functions.rst:1644 msgid "" "Allow keyword arguments. Formerly, only positional arguments were supported." msgstr "" "Erlaube Schlüsselwortargumente. Zuvor wurden nur Positionsargumente " "unterstützt." -#: ../../builtins/functions.rst:1641 +#: ../../builtins/functions.rst:1651 msgid "" "Print *objects* to the text stream *file*, separated by *sep* and followed " "by *end*. *sep*, *end*, *file*, and *flush*, if present, must be given as " @@ -3234,7 +3246,7 @@ msgstr "" "und gefolgt von *end*. *sep*, *end*, *file* und *flush* müssen, sofern " "angegeben, als Schlüsselwortargumente übergeben werden." -#: ../../builtins/functions.rst:1645 +#: ../../builtins/functions.rst:1655 msgid "" "All non-keyword arguments are converted to strings like :func:`str` does and " "written to the stream, separated by *sep* and followed by *end*. Both *sep* " @@ -3249,7 +3261,7 @@ msgstr "" "bedeutet, dass die Standardwerte verwendet werden. Werden keine *objects* " "angegeben, schreibt :func:`print` lediglich *end*." -#: ../../builtins/functions.rst:1651 +#: ../../builtins/functions.rst:1661 msgid "" "The *file* argument must be an object with a ``write(string)`` method; if it " "is not present or ``None``, :data:`sys.stdout` will be used. Since printed " @@ -3262,7 +3274,7 @@ msgstr "" "werden, kann :func:`print` nicht mit Dateiobjekten im Binärmodus verwendet " "werden. Verwende für diese stattdessen ``file.write(...)``." -#: ../../builtins/functions.rst:1656 +#: ../../builtins/functions.rst:1666 msgid "" "Output buffering is usually determined by *file*. However, if *flush* is " "true, the stream is forcibly flushed." @@ -3270,15 +3282,15 @@ msgstr "" "Die Ausgabepufferung wird normalerweise durch *file* bestimmt. Wenn *flush* " "jedoch auf „true“ gesetzt ist, wird der Stream zwangsweise geleert." -#: ../../builtins/functions.rst:1660 +#: ../../builtins/functions.rst:1670 msgid "Added the *flush* keyword argument." msgstr "Das Keyword-Argument *flush* wurde hinzugefügt." -#: ../../builtins/functions.rst:1666 +#: ../../builtins/functions.rst:1676 msgid "Return a property attribute." msgstr "Gibt ein Eigenschaftsattribut zurück." -#: ../../builtins/functions.rst:1668 +#: ../../builtins/functions.rst:1678 msgid "" "*fget* is a function for getting an attribute value. *fset* is a function " "for setting an attribute value. *fdel* is a function for deleting an " @@ -3289,13 +3301,13 @@ msgstr "" "Löschen eines Attributwerts. Und *doc* erstellt einen Docstring für das " "Attribut." -#: ../../builtins/functions.rst:1672 +#: ../../builtins/functions.rst:1682 msgid "A typical use is to define a managed attribute ``x``::" msgstr "" "Eine typische Verwendung ist die Definition eines verwalteten Attributs " "``x``::" -#: ../../builtins/functions.rst:1674 +#: ../../builtins/functions.rst:1684 msgid "" "class C:\n" " def __init__(self):\n" @@ -3327,7 +3339,7 @@ msgstr "" "\n" " x = property(getx, setx, delx, \"I'm the 'x' property.\")" -#: ../../builtins/functions.rst:1689 +#: ../../builtins/functions.rst:1699 msgid "" "If *c* is an instance of *C*, ``c.x`` will invoke the getter, ``c.x = " "value`` will invoke the setter, and ``del c.x`` the deleter." @@ -3335,7 +3347,7 @@ msgstr "" "Wenn *c* eine Instanz von *C* ist, ruft ``c.x`` den Empfänger (getter) auf, " "``c.x = value`` den Einsetzer (setter) und ``del c.x`` den Löscher (deleter)." -#: ../../builtins/functions.rst:1692 +#: ../../builtins/functions.rst:1702 msgid "" "If given, *doc* will be the docstring of the property attribute. Otherwise, " "the property will copy *fget*'s docstring (if it exists). This makes it " @@ -3347,7 +3359,7 @@ msgstr "" "vorhanden). Dies ermöglicht es, mit :deco:`property` als :term:`Decorator " "` auf einfache Weise Nur-Lese-Properties zu erstellen::" -#: ../../builtins/functions.rst:1696 +#: ../../builtins/functions.rst:1706 msgid "" "class Parrot:\n" " def __init__(self):\n" @@ -3367,7 +3379,7 @@ msgstr "" " \"\"\"Get the current voltage.\"\"\"\n" " return self._voltage" -#: ../../builtins/functions.rst:1705 +#: ../../builtins/functions.rst:1715 msgid "" "The ``@property`` decorator turns the :meth:`!voltage` method into a " "\"getter\" for a read-only attribute with the same name, and it sets the " @@ -3377,7 +3389,7 @@ msgstr "" "„Empfänger“ für ein gleichnamiges Attribut mit Lesezugriff um und setzt den " "Docstring für *voltage* auf „Hole die aktuelle Spannung.“" -#: ../../builtins/functions.rst:1713 +#: ../../builtins/functions.rst:1723 msgid "" "A property object has ``getter``, ``setter``, and ``deleter`` methods usable " "as decorators that create a copy of the property with the corresponding " @@ -3390,7 +3402,7 @@ msgstr "" "dekorierte Funktion gesetzt ist. Dies lässt sich am besten anhand eines " "Beispiels erläutern:" -#: ../../builtins/functions.rst:1718 +#: ../../builtins/functions.rst:1728 msgid "" "class C:\n" " def __init__(self):\n" @@ -3426,7 +3438,7 @@ msgstr "" " def x(self):\n" " del self._x" -#: ../../builtins/functions.rst:1737 +#: ../../builtins/functions.rst:1747 msgid "" "This code is exactly equivalent to the first example. Be sure to give the " "additional functions the same name as the original property (``x`` in this " @@ -3436,7 +3448,7 @@ msgstr "" "den zusätzlichen Funktionen denselben Namen zu geben wie der ursprünglichen " "Eigenschaft (in diesem Fall ``x``)." -#: ../../builtins/functions.rst:1741 +#: ../../builtins/functions.rst:1751 msgid "" "The returned property object also has the attributes ``fget``, ``fset``, and " "``fdel`` corresponding to the constructor arguments." @@ -3444,11 +3456,11 @@ msgstr "" "Das zurückgegebene Property-Objekt verfügt zudem über die Attribute " "``fget``, ``fset`` und ``fdel``, die den Konstruktorargumenten entsprechen." -#: ../../builtins/functions.rst:1744 +#: ../../builtins/functions.rst:1754 msgid "The docstrings of property objects are now writeable." msgstr "Die Docstrings von Property-Objekten sind jetzt beschreibbar." -#: ../../builtins/functions.rst:1749 +#: ../../builtins/functions.rst:1759 msgid "" "Attribute holding the name of the property. The name of the property can be " "changed at runtime." @@ -3456,7 +3468,7 @@ msgstr "" "Attribut, das den Namen der Eigenschaft enthält. Der Name der Eigenschaft " "kann zur Laufzeit geändert werden." -#: ../../builtins/functions.rst:1760 +#: ../../builtins/functions.rst:1770 msgid "" "Rather than being a function, :class:`range` is actually an immutable " "sequence type, as documented in :ref:`typesseq-range` and :ref:`typesseq`." @@ -3465,7 +3477,7 @@ msgstr "" "unveränderlicher Sequenztyp, wie in :ref:`typesseq-range` und :ref:" "`typesseq` dokumentiert." -#: ../../builtins/functions.rst:1766 +#: ../../builtins/functions.rst:1776 msgid "" "Return a string containing a printable representation of an object. For " "many types, this function makes an attempt to return a string that would " @@ -3488,13 +3500,13 @@ msgstr "" "definiert. Ist :func:`sys.displayhook` nicht verfügbar, löst diese Funktion " "einen :exc:`RuntimeError` aus." -#: ../../builtins/functions.rst:1777 +#: ../../builtins/functions.rst:1787 msgid "This class has a custom representation that can be evaluated::" msgstr "" "Diese Klasse verfügt über eine benutzerdefinierte Darstellung, die " "ausgewertet werden kann::" -#: ../../builtins/functions.rst:1779 +#: ../../builtins/functions.rst:1789 msgid "" "class Person:\n" " def __init__(self, name, age):\n" @@ -3512,7 +3524,7 @@ msgstr "" " def __repr__(self):\n" " return f\"Person({self.name!r}, {self.age!r})\"" -#: ../../builtins/functions.rst:1790 +#: ../../builtins/functions.rst:1800 msgid "" "Return a reverse :term:`iterator`. The argument must be an object which has " "a :meth:`~object.__reversed__` method or supports the sequence protocol " @@ -3525,7 +3537,7 @@ msgstr "" "und die :meth:`~object.__getitem__`-Methode mit ganzzahligen Argumenten " "beginnend bei ``0``)." -#: ../../builtins/functions.rst:1798 +#: ../../builtins/functions.rst:1808 msgid "" "Return *number* rounded to *ndigits* precision after the decimal point. If " "*ndigits* is omitted or is ``None``, it returns the nearest integer to its " @@ -3535,7 +3547,7 @@ msgstr "" "weggelassen wird oder ``None`` ist, wird die dem Eingabewert nächstgelegene " "Ganzzahl zurückgegeben." -#: ../../builtins/functions.rst:1802 +#: ../../builtins/functions.rst:1812 msgid "" "For the built-in types supporting :func:`round`, values are rounded to the " "closest multiple of 10 to the power minus *ndigits*; if two multiples are " @@ -3554,7 +3566,7 @@ msgstr "" "eine Ganzzahl, wenn *ndigits* weggelassen wird oder ``None`` ist. " "Andernfalls hat der Rückgabewert denselben Typ wie *number*." -#: ../../builtins/functions.rst:1811 +#: ../../builtins/functions.rst:1821 msgid "" "For a general Python object ``number``, ``round`` delegates to ``number." "__round__``." @@ -3562,7 +3574,7 @@ msgstr "" "Bei einem allgemeinen Python-Objekt ``number`` delegiert ``round`` an " "``number.__round__``." -#: ../../builtins/functions.rst:1816 +#: ../../builtins/functions.rst:1826 msgid "" "The behavior of :func:`round` for floats can be surprising: for example, " "``round(2.675, 2)`` gives ``2.67`` instead of the expected ``2.68``. This is " @@ -3576,7 +3588,7 @@ msgstr "" "meisten Dezimalbrüche nicht exakt als Gleitkommazahl dargestellt werden " "können. Weitere Informationen findest du unter :ref:`tut-fp-issues`." -#: ../../builtins/functions.rst:1827 +#: ../../builtins/functions.rst:1837 msgid "" "Return a new :class:`set` object, optionally with elements taken from " "*iterable*. :class:`set` is a built-in class. See also :ref:`types-set` " @@ -3586,7 +3598,7 @@ msgstr "" "*iterable*. :class:`set` ist eine integrierte Klasse. Siehe auch :ref:`types-" "set` für die Dokumentation zu dieser Klasse." -#: ../../builtins/functions.rst:1831 +#: ../../builtins/functions.rst:1841 msgid "" "For other containers see the built-in :class:`frozenset`, :class:`list`, :" "class:`tuple`, and :class:`dict` classes, as well as the :mod:`collections` " @@ -3596,7 +3608,7 @@ msgstr "" "class:`list`, :class:`tuple` und :class:`dict` sowie das Modul :mod:" "`collections`." -#: ../../builtins/functions.rst:1838 +#: ../../builtins/functions.rst:1848 msgid "" "This is the counterpart of :func:`getattr`. The arguments are an object, a " "string, and an arbitrary value. The string may name an existing attribute " @@ -3611,7 +3623,7 @@ msgstr "" "beispielsweise ``setattr(x, 'foobar', 123)`` der Anweisung ``x.foobar = " "123``." -#: ../../builtins/functions.rst:1844 +#: ../../builtins/functions.rst:1854 msgid "" "*name* need not be a Python identifier as defined in :ref:`identifiers` " "unless the object chooses to enforce that, for example in a custom :meth:" @@ -3626,7 +3638,7 @@ msgstr "" "nicht über die Punktnotation angesprochen werden, ist jedoch über :func:" "`getattr` usw. zugänglich." -#: ../../builtins/functions.rst:1852 +#: ../../builtins/functions.rst:1862 msgid "" "Since :ref:`private name mangling ` happens at " "compilation time, one must manually mangle a private attribute's (attributes " @@ -3637,7 +3649,7 @@ msgstr "" "führenden Unterstrichen) manuell umgewandelt werden, um es mittels :func:" "`setattr` zu setzen." -#: ../../builtins/functions.rst:1860 +#: ../../builtins/functions.rst:1870 msgid "" "Return a new unique sentinel object. *name* must be a :class:`str`, and is " "used by default as the returned object's representation::" @@ -3646,7 +3658,7 @@ msgstr "" "`str` sein und wird standardmäßig als Repräsentation des zurückgegebenen " "Objekts verwendet::" -#: ../../builtins/functions.rst:1863 +#: ../../builtins/functions.rst:1873 msgid "" ">>> MISSING = sentinel(\"MISSING\")\n" ">>> MISSING\n" @@ -3656,7 +3668,7 @@ msgstr "" ">>> MISSING\n" "MISSING" -#: ../../builtins/functions.rst:1867 +#: ../../builtins/functions.rst:1877 msgid "" "The optional *repr* argument can be used to specify a different " "representation::" @@ -3664,7 +3676,7 @@ msgstr "" "Das optionale Argument *repr* kann verwendet werden, um eine andere " "Darstellung anzugeben::" -#: ../../builtins/functions.rst:1869 +#: ../../builtins/functions.rst:1879 msgid "" ">>> MISSING = sentinel(\"MISSING\", repr=\"\")\n" ">>> MISSING\n" @@ -3674,7 +3686,7 @@ msgstr "" ">>> MISSING\n" "" -#: ../../builtins/functions.rst:1873 +#: ../../builtins/functions.rst:1883 msgid "" "Sentinel objects are truthy and compare equal only to themselves. They are " "intended to be compared with the :keyword:`is` operator." @@ -3683,17 +3695,17 @@ msgstr "" "sind nur mit sich selbst gleich. Sie sind dafür vorgesehen, mit dem " "Operator :keyword:`is` verglichen zu werden." -#: ../../builtins/functions.rst:1876 +#: ../../builtins/functions.rst:1886 msgid "``sentinel`` does not support subclassing." msgstr "``sentinel`` unterstützt kein Subclassing." -#: ../../builtins/functions.rst:1878 +#: ../../builtins/functions.rst:1888 msgid "Shallow and deep copies of a sentinel object return the object itself." msgstr "" "Flache und tiefe Kopien eines Sentinel-Objekts geben das Objekt selbst " "zurück." -#: ../../builtins/functions.rst:1880 +#: ../../builtins/functions.rst:1890 msgid "" "Sentinels are conventionally assigned to a variable with a matching name. " "Sentinels defined in this way can be used in :term:`type hints `::" @@ -3702,7 +3714,7 @@ msgstr "" "zugewiesen. Auf diese Weise definierte Sentinels können in :term:`Type Hints " "` verwendet werden::" -#: ../../builtins/functions.rst:1883 +#: ../../builtins/functions.rst:1893 msgid "" "MISSING = sentinel(\"MISSING\")\n" "\n" @@ -3714,7 +3726,7 @@ msgstr "" "def next_value(default: int | MISSING = MISSING):\n" " ..." -#: ../../builtins/functions.rst:1888 +#: ../../builtins/functions.rst:1898 msgid "" "Sentinel objects support the :ref:`| ` operator for use in type " "expressions." @@ -3722,7 +3734,7 @@ msgstr "" "Sentinel-Objekte unterstützen den Operator :ref:`| ` zur Verwendung " "in Typ-Ausdrücken." -#: ../../builtins/functions.rst:1890 +#: ../../builtins/functions.rst:1900 msgid "" ":mod:`Pickling ` is supported for sentinel objects that are placed " "in the global scope of a module under a name matching the sentinel's name, " @@ -3740,7 +3752,7 @@ msgstr "" "Gültigkeitsbereich definiert sind, sind nicht picklebar. Die Identität des " "Sentinels bleibt nach dem Pickling erhalten::" -#: ../../builtins/functions.rst:1897 +#: ../../builtins/functions.rst:1907 msgid "" "import pickle\n" "\n" @@ -3764,15 +3776,15 @@ msgstr "" "\n" "assert pickle.loads(pickle.dumps(Cls.PICKLABLE)) is Cls.PICKLABLE" -#: ../../builtins/functions.rst:1908 +#: ../../builtins/functions.rst:1918 msgid "Sentinel objects have the following attributes:" msgstr "Sentinel-Objekte haben die folgenden Attribute:" -#: ../../builtins/functions.rst:1912 +#: ../../builtins/functions.rst:1922 msgid "The sentinel's name." msgstr "Der Name des Sentinels." -#: ../../builtins/functions.rst:1916 +#: ../../builtins/functions.rst:1926 msgid "" "The name of the module where the sentinel was created. This attribute is " "writable." @@ -3780,7 +3792,7 @@ msgstr "" "Der Name des Moduls, in dem das Sentinel erstellt wurde. Dieses Attribut ist " "beschreibbar." -#: ../../builtins/functions.rst:1924 +#: ../../builtins/functions.rst:1934 msgid "" "Return a :term:`slice` object representing the set of indices specified by " "``range(start, stop, step)``. The *start* and *step* arguments default to " @@ -3790,7 +3802,7 @@ msgstr "" "step)`` festgelegte Menge an Indizes repräsentiert. Die Argumente *start* " "und *step* haben standardmäßig den Wert ``None``." -#: ../../builtins/functions.rst:1928 +#: ../../builtins/functions.rst:1938 msgid "" "Slice objects are also generated when :ref:`slicing syntax ` is " "used. For example: ``a[start:stop:step]`` or ``a[start:stop, i]``." @@ -3799,7 +3811,7 @@ msgstr "" "verwendet wird. Zum Beispiel: ``a[start:stop:step]`` oder ``a[start:stop, " "i]``." -#: ../../builtins/functions.rst:1931 +#: ../../builtins/functions.rst:1941 msgid "" "See :func:`itertools.islice` for an alternate version that returns an :term:" "`iterator`." @@ -3807,7 +3819,7 @@ msgstr "" "Siehe :func:`itertools.islice` für eine alternative Version, die einen :term:" "`Iterator ` zurückgibt." -#: ../../builtins/functions.rst:1938 +#: ../../builtins/functions.rst:1948 msgid "" "These read-only attributes are set to the argument values (or their " "default). They have no other explicit functionality; however, they are used " @@ -3817,7 +3829,7 @@ msgstr "" "Standardwerte) gesetzt. Sie haben keine weitere explizite Funktionalität, " "werden jedoch von NumPy und anderen Drittanbieter-Paketen verwendet." -#: ../../builtins/functions.rst:1942 +#: ../../builtins/functions.rst:1952 msgid "" "Slice objects are now :term:`hashable` (provided :attr:`~slice.start`, :attr:" "`~slice.stop`, and :attr:`~slice.step` are hashable)." @@ -3825,18 +3837,18 @@ msgstr "" "Slice-Objekte sind jetzt :term:`hashbar ` (sofern :attr:`~slice." "start`, :attr:`~slice.stop` und :attr:`~slice.step` hashbar sind)." -#: ../../builtins/functions.rst:1948 +#: ../../builtins/functions.rst:1958 msgid "Return a new sorted list from the items in *iterable*." msgstr "Gibt eine neue sortierte Liste der Elemente aus *iterable* zurück." -#: ../../builtins/functions.rst:1950 +#: ../../builtins/functions.rst:1960 msgid "" "Has two optional arguments which must be specified as keyword arguments." msgstr "" "Verfügt über zwei optionale Argumente, die als Schlüsselwortargumente " "angegeben werden müssen." -#: ../../builtins/functions.rst:1952 +#: ../../builtins/functions.rst:1962 msgid "" "*key* specifies a function of one argument that is used to extract a " "comparison key from each element in *iterable* (for example, ``key=str." @@ -3847,7 +3859,7 @@ msgstr "" "Beispiel ``key=str.lower``). Der Standardwert ist ``None`` (die Elemente " "werden direkt verglichen)." -#: ../../builtins/functions.rst:1956 +#: ../../builtins/functions.rst:1966 msgid "" "*reverse* is a boolean value. If set to ``True``, then the list elements " "are sorted as if each comparison were reversed." @@ -3855,7 +3867,7 @@ msgstr "" "*reverse* ist ein boolescher Wert. Wenn er auf ``True`` gesetzt ist, werden " "die Listenelemente so sortiert, als ob jeder Vergleich umgekehrt würde." -#: ../../builtins/functions.rst:1959 +#: ../../builtins/functions.rst:1969 msgid "" "Use :func:`functools.cmp_to_key` to convert an old-style *cmp* function to a " "*key* function." @@ -3863,7 +3875,7 @@ msgstr "" "Verwende :func:`functools.cmp_to_key`, um eine veraltete *cmp*-Funktion in " "eine *key*-Funktion umzuwandeln." -#: ../../builtins/functions.rst:1962 +#: ../../builtins/functions.rst:1972 msgid "" "The built-in :func:`sorted` function is guaranteed to be stable. A sort is " "stable if it guarantees not to change the relative order of elements that " @@ -3876,7 +3888,7 @@ msgstr "" "in mehreren Durchläufen (zum Beispiel Sortierung nach Abteilung und " "anschließend nach Gehaltsgruppe)." -#: ../../builtins/functions.rst:1967 +#: ../../builtins/functions.rst:1977 msgid "" "The sort algorithm uses only ``<`` comparisons between items. While " "defining an :meth:`~object.__lt__` method will suffice for sorting, :PEP:`8` " @@ -3897,18 +3909,18 @@ msgstr "" "Verwirrung bei gemischten Typvergleichen zu vermeiden, die die gespiegelte " "Methode :meth:`~object.__gt__` aufrufen können." -#: ../../builtins/functions.rst:1976 +#: ../../builtins/functions.rst:1986 msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." msgstr "" "Beispiele und eine kurze Anleitung zum Sortieren findest du unter :ref:" "`sortinghowto`." -#: ../../builtins/functions.rst:1980 +#: ../../builtins/functions.rst:1990 msgid "Transform a method into a static method." msgstr "Wandelt eine Methode in eine statische Methode um." -#: ../../builtins/functions.rst:1982 +#: ../../builtins/functions.rst:1992 msgid "" "A static method does not receive an implicit first argument. To declare a " "static method, use this idiom::" @@ -3916,7 +3928,7 @@ msgstr "" "Eine statische Methode erhält kein implizites erstes Argument. Um eine " "statische Methode zu deklarieren, verwende dieses Idiom::" -#: ../../builtins/functions.rst:1985 +#: ../../builtins/functions.rst:1995 msgid "" "class C:\n" " @staticmethod\n" @@ -3926,7 +3938,7 @@ msgstr "" " @staticmethod\n" " def f(arg1, arg2, argN): ..." -#: ../../builtins/functions.rst:1989 +#: ../../builtins/functions.rst:1999 msgid "" "The ``@staticmethod`` form is a function :term:`decorator` -- see :ref:" "`function` for details." @@ -3934,7 +3946,7 @@ msgstr "" "Die Form ``@staticmethod`` ist ein Funktions-:term:`Decorator ` – " "siehe :ref:`function` für Einzelheiten." -#: ../../builtins/functions.rst:1992 +#: ../../builtins/functions.rst:2002 msgid "" "A static method can be called either on the class (such as ``C.f()``) or on " "an instance (such as ``C().f()``). Moreover, the static method :term:" @@ -3946,7 +3958,7 @@ msgstr "" "der :term:`Deskriptor ` der statischen Methode selbst aufrufbar, " "sodass er in der Klassendefinition verwendet werden kann (z. B. ``f()``)." -#: ../../builtins/functions.rst:1997 +#: ../../builtins/functions.rst:2007 msgid "" "Static methods in Python are similar to those found in Java or C++. Also, " "see :deco:`classmethod` for a variant that is useful for creating alternate " @@ -3956,7 +3968,7 @@ msgstr "" "deco:`classmethod`, eine Variante, die sich zum Erstellen alternativer " "Klassenkonstruktoren eignet." -#: ../../builtins/functions.rst:2001 +#: ../../builtins/functions.rst:2011 msgid "" "Like all decorators, it is also possible to call ``staticmethod`` as a " "regular function and do something with its result. This is needed in some " @@ -3971,7 +3983,7 @@ msgstr "" "Instanzmethode vermeiden möchte. Für solche Fälle verwendet man folgendes " "Idiom::" -#: ../../builtins/functions.rst:2007 +#: ../../builtins/functions.rst:2017 msgid "" "def regular_function():\n" " ...\n" @@ -3985,12 +3997,12 @@ msgstr "" "class C:\n" " method = staticmethod(regular_function)" -#: ../../builtins/functions.rst:2013 +#: ../../builtins/functions.rst:2023 msgid "For more information on static methods, see :ref:`types`." msgstr "" "Weitere Informationen zu statischen Methoden findest du unter :ref:`types`." -#: ../../builtins/functions.rst:2015 +#: ../../builtins/functions.rst:2025 msgid "" "Static methods now inherit the method attributes (:attr:`~function." "__module__`, :attr:`~function.__name__`, :attr:`~function.__qualname__`, :" @@ -4003,14 +4015,14 @@ msgstr "" "über ein neues ``__wrapped__``-Attribut und sind nun wie reguläre Funktionen " "aufrufbar." -#: ../../builtins/functions.rst:2033 +#: ../../builtins/functions.rst:2043 msgid "" "Return a :class:`str` version of *object*. See :func:`str` for details." msgstr "" "Gibt eine :class:`str`-Version von *object* zurück. Siehe :func:`str` für " "Details." -#: ../../builtins/functions.rst:2035 +#: ../../builtins/functions.rst:2045 msgid "" "``str`` is the built-in string :term:`class`. For general information about " "strings, see :ref:`textseq`." @@ -4018,7 +4030,7 @@ msgstr "" "``str`` ist die integrierte Zeichenketten-:term:`Klasse `. Allgemeine " "Informationen zu Zeichenketten findest du unter :ref:`textseq`." -#: ../../builtins/functions.rst:2041 +#: ../../builtins/functions.rst:2051 msgid "" "Sums *start* and the items of an *iterable* from left to right and returns " "the total. The *iterable*'s items are normally numbers, and the start value " @@ -4028,7 +4040,7 @@ msgstr "" "auf und gibt die Gesamtsumme zurück. Die Elemente des *Iterables* sind " "normalerweise Zahlen, und der Startwert darf kein String sein." -#: ../../builtins/functions.rst:2045 +#: ../../builtins/functions.rst:2055 msgid "" "For some use cases, there are good alternatives to :func:`sum`. The " "preferred, fast way to concatenate a sequence of strings is by calling ``''." @@ -4043,11 +4055,11 @@ msgstr "" "Verketten einer Reihe von Iterables empfiehlt sich die Verwendung von :func:" "`itertools.chain`." -#: ../../builtins/functions.rst:2051 +#: ../../builtins/functions.rst:2061 msgid "The *start* parameter can be specified as a keyword argument." msgstr "Der Parameter *start* kann als Schlüsselwortargument angegeben werden." -#: ../../builtins/functions.rst:2054 +#: ../../builtins/functions.rst:2064 msgid "" "Summation of floats switched to an algorithm that gives higher accuracy and " "better commutativity on most builds." @@ -4056,7 +4068,7 @@ msgstr "" "der bei den meisten Builds eine höhere Genauigkeit und eine bessere " "Kommutativität bietet." -#: ../../builtins/functions.rst:2057 +#: ../../builtins/functions.rst:2067 msgid "" "Added specialization for summation of complexes, using same algorithm as for " "summation of floats." @@ -4064,7 +4076,7 @@ msgstr "" "Spezialisierung für die Summation komplexer Zahlen hinzugefügt; dabei wird " "derselbe Algorithmus wie für die Summation von Gleitkommazahlen verwendet." -#: ../../builtins/functions.rst:2065 +#: ../../builtins/functions.rst:2075 msgid "" "Return a proxy object that delegates method calls to a parent or sibling " "class of *type*. This is useful for accessing inherited methods that have " @@ -4074,7 +4086,7 @@ msgstr "" "Geschwisterklasse von *type* delegiert. Dies ist nützlich für den Zugriff " "auf geerbte Methoden, die in einer Klasse überschrieben wurden." -#: ../../builtins/functions.rst:2069 +#: ../../builtins/functions.rst:2079 msgid "" "The *object_or_type* determines the :term:`method resolution order` to be " "searched. The search starts from the class right after the *type*." @@ -4083,7 +4095,7 @@ msgstr "" "` (method resolution order), die durchsucht werden " "soll. Die Suche beginnt bei der Klasse, die direkt auf den *type* folgt." -#: ../../builtins/functions.rst:2073 +#: ../../builtins/functions.rst:2083 msgid "" "For example, if :attr:`~type.__mro__` of *object_or_type* is ``D -> B -> C -" "> A -> object`` and the value of *type* is ``B``, then :func:`super` " @@ -4093,7 +4105,7 @@ msgstr "" "> A -> object`` lautet und der Wert von *type* ``B`` ist, dann durchsucht :" "func:`super` ``C -> A -> object``." -#: ../../builtins/functions.rst:2077 +#: ../../builtins/functions.rst:2087 msgid "" "The :attr:`~type.__mro__` attribute of the class corresponding to " "*object_or_type* lists the method resolution search order used by both :func:" @@ -4106,7 +4118,7 @@ msgstr "" "Attribut ist dynamisch und kann sich ändern, wann immer die " "Vererbungshierarchie aktualisiert wird." -#: ../../builtins/functions.rst:2082 +#: ../../builtins/functions.rst:2092 msgid "" "If the second argument is omitted, the super object returned is unbound. If " "the second argument is an object, ``isinstance(obj, type)`` must be true. " @@ -4118,7 +4130,7 @@ msgstr "" "type)`` wahr sein. Ist das zweite Argument ein Typ, muss ``issubclass(type2, " "type)`` wahr sein (dies ist nützlich für Klassenmethoden)." -#: ../../builtins/functions.rst:2087 +#: ../../builtins/functions.rst:2097 msgid "" "When called directly within an ordinary method of a class, both arguments " "may be omitted (\"zero-argument :func:`!super`\"). In this case, *type* will " @@ -4136,7 +4148,7 @@ msgstr "" "implizit verschachtelte Funktionen erzeugen – nicht wie erwartet " "funktioniert.)" -#: ../../builtins/functions.rst:2094 +#: ../../builtins/functions.rst:2104 msgid "" "There are two typical use cases for *super*. In a class hierarchy with " "single inheritance, *super* can be used to refer to parent classes without " @@ -4149,7 +4161,7 @@ msgstr "" "Code wartungsfreundlicher wird. Diese Verwendung entspricht weitgehend der " "Verwendung von *super* in anderen Programmiersprachen." -#: ../../builtins/functions.rst:2099 +#: ../../builtins/functions.rst:2109 msgid "" "The second use case is to support cooperative multiple inheritance in a " "dynamic execution environment. This use case is unique to Python and is not " @@ -4173,13 +4185,13 @@ msgstr "" "Geschwisterklassen einbeziehen kann, die vor der Laufzeit noch unbekannt " "sind)." -#: ../../builtins/functions.rst:2109 +#: ../../builtins/functions.rst:2119 msgid "For both use cases, a typical superclass call looks like this::" msgstr "" "Für beide Anwendungsfälle sieht ein typischer Aufruf der Superklasse " "folgendermaßen aus:" -#: ../../builtins/functions.rst:2111 +#: ../../builtins/functions.rst:2121 msgid "" "class C(B):\n" " def method(self, arg):\n" @@ -4191,7 +4203,7 @@ msgstr "" " super().method(arg) # Dies bewirkt dasselbe wie:\n" " # super(C, self).method(arg)" -#: ../../builtins/functions.rst:2116 +#: ../../builtins/functions.rst:2126 msgid "" "In addition to method lookups, :func:`super` also works for attribute " "lookups. One possible use case for this is calling :term:`descriptors " @@ -4201,7 +4213,7 @@ msgstr "" "Attributsuche. Ein möglicher Anwendungsfall hierfür ist der Aufruf von :term:" "`Deskriptoren ` in einer Eltern- oder Geschwisterklasse." -#: ../../builtins/functions.rst:2120 +#: ../../builtins/functions.rst:2130 msgid "" "Note that :func:`super` is implemented as part of the binding process for " "explicit dotted attribute lookups such as ``super().__getitem__(name)``. It " @@ -4218,7 +4230,7 @@ msgstr "" "Folglich ist :func:`super` für implizite Zugriffe mittels Anweisungen oder " "Operatoren, wie beispielsweise ``super()[name]``, nicht definiert." -#: ../../builtins/functions.rst:2128 +#: ../../builtins/functions.rst:2138 msgid "" "Also note that, aside from the zero argument form, :func:`super` is not " "limited to use inside methods. The two argument form specifies the " @@ -4235,7 +4247,7 @@ msgstr "" "erforderlichen Details ergänzt, um die gerade definierte Klasse korrekt zu " "ermitteln und bei gewöhnlichen Methoden auf die aktuelle Instanz zuzugreifen." -#: ../../builtins/functions.rst:2135 +#: ../../builtins/functions.rst:2145 msgid "" "For practical suggestions on how to design cooperative classes using :func:" "`super`, see `guide to using super() `_." -#: ../../builtins/functions.rst:2139 +#: ../../builtins/functions.rst:2149 msgid "" ":class:`super` objects are now :mod:`pickleable ` and :mod:" "`copyable `." @@ -4253,7 +4265,7 @@ msgstr "" ":class:`super`-Objekte sind jetzt :mod:`picklebar ` und :mod:" "`kopierbar `." -#: ../../builtins/functions.rst:2148 +#: ../../builtins/functions.rst:2158 msgid "" "Rather than being a function, :class:`tuple` is actually an immutable " "sequence type, as documented in :ref:`typesseq-tuple` and :ref:`typesseq`." @@ -4262,7 +4274,7 @@ msgstr "" "unveränderlicher Sequenztyp, wie in :ref:`typesseq-tuple` und :ref:" "`typesseq` dokumentiert." -#: ../../builtins/functions.rst:2157 +#: ../../builtins/functions.rst:2167 msgid "" "With one argument, return the type of an *object*. The return value is a " "type object and generally the same object as returned by :attr:`object." @@ -4272,7 +4284,7 @@ msgstr "" "ein Typobjekt und im Allgemeinen dasselbe Objekt, das von :attr:`object." "__class__` zurückgegeben wird." -#: ../../builtins/functions.rst:2161 +#: ../../builtins/functions.rst:2171 msgid "" "The :func:`isinstance` built-in function is recommended for testing the type " "of an object, because it takes subclasses into account." @@ -4280,7 +4292,7 @@ msgstr "" "Die integrierte Funktion :func:`isinstance` wird empfohlen, um den Typ eines " "Objekts zu überprüfen, da sie Unterklassen berücksichtigt." -#: ../../builtins/functions.rst:2164 +#: ../../builtins/functions.rst:2174 msgid "" "With three arguments, return a new type object. This is essentially a " "dynamic form of the :keyword:`class` statement. The *name* string is the " @@ -4302,11 +4314,11 @@ msgstr "" "oder gekapselt werden, bevor es zum Attribut :attr:`~type.__dict__` wird. " "Die folgenden beiden Anweisungen erzeugen identische :class:`!type`-Objekte:" -#: ../../builtins/functions.rst:2179 +#: ../../builtins/functions.rst:2189 msgid "See also:" msgstr "Siehe auch:" -#: ../../builtins/functions.rst:2181 +#: ../../builtins/functions.rst:2191 msgid "" ":ref:`Documentation on attributes and methods on classes `." @@ -4314,11 +4326,11 @@ msgstr "" ":ref:`Dokumentation zu Attributen und Methoden von Klassen `." -#: ../../builtins/functions.rst:2182 +#: ../../builtins/functions.rst:2192 msgid ":ref:`bltin-type-objects`" msgstr ":ref:`bltin-type-objects`" -#: ../../builtins/functions.rst:2184 +#: ../../builtins/functions.rst:2194 msgid "" "Keyword arguments provided to the three argument form are passed to the " "appropriate metaclass machinery (usually :meth:`~object.__init_subclass__`) " @@ -4331,7 +4343,7 @@ msgstr "" "bei Schlüsselwörtern in einer Klassendefinition (abgesehen von *metaclass*) " "der Fall wäre." -#: ../../builtins/functions.rst:2189 +#: ../../builtins/functions.rst:2199 msgid "" "Unlike a :keyword:`class` statement, the three argument form does not call " "the metaclass ``__prepare__`` method (see :ref:`prepare`). Use :func:`types." @@ -4342,11 +4354,11 @@ msgstr "" "`prepare`). Verwende :func:`types.new_class`, um eine Klasse dynamisch unter " "Verwendung der passenden Metaklasse zu erstellen." -#: ../../builtins/functions.rst:2194 +#: ../../builtins/functions.rst:2204 msgid "See also :ref:`class-customization`." msgstr "Siehe auch :ref:`class-customization`." -#: ../../builtins/functions.rst:2196 +#: ../../builtins/functions.rst:2206 msgid "" "Subclasses of :class:`!type` which don't override ``type.__new__`` may no " "longer use the one-argument form to get the type of an object." @@ -4355,11 +4367,11 @@ msgstr "" "dürfen nicht mehr die Form mit einem Argument verwenden, um den Typ eines " "Objekts zu ermitteln." -#: ../../builtins/functions.rst:2202 +#: ../../builtins/functions.rst:2212 msgid "*dict* can now be a :class:`frozendict`." msgstr "*dict* kann jetzt ein :class:`frozendict` sein." -#: ../../builtins/functions.rst:2207 +#: ../../builtins/functions.rst:2217 msgid "" "Return the :attr:`~object.__dict__` attribute for a module, class, instance, " "or any other object with a :attr:`!__dict__` attribute." @@ -4368,7 +4380,7 @@ msgstr "" "Instanz oder ein beliebiges anderes Objekt mit einem :attr:`!__dict__`-" "Attribut zurück." -#: ../../builtins/functions.rst:2210 +#: ../../builtins/functions.rst:2220 msgid "" "Objects such as modules and instances have an updateable :attr:`~object." "__dict__` attribute; however, other objects may have write restrictions on " @@ -4381,11 +4393,11 @@ msgstr "" "(Klassen verwenden beispielsweise ein :class:`types.MappingProxyType`, um " "direkte Aktualisierungen des Dictionarys zu verhindern)." -#: ../../builtins/functions.rst:2215 +#: ../../builtins/functions.rst:2225 msgid "Without an argument, :func:`vars` acts like :func:`locals`." msgstr "Ohne Argument verhält sich :func:`vars` wie :func:`locals`." -#: ../../builtins/functions.rst:2217 +#: ../../builtins/functions.rst:2227 msgid "" "A :exc:`TypeError` exception is raised if an object is specified but it " "doesn't have a :attr:`~object.__dict__` attribute (for example, if its class " @@ -4395,7 +4407,7 @@ msgstr "" "wird, das kein :attr:`~object.__dict__`-Attribut besitzt (zum Beispiel, wenn " "seine Klasse das :attr:`~object.__slots__`-Attribut definiert)." -#: ../../builtins/functions.rst:2223 +#: ../../builtins/functions.rst:2233 msgid "" "The result of calling this function without an argument has been updated as " "described for the :func:`locals` builtin." @@ -4403,7 +4415,7 @@ msgstr "" "Das Ergebnis des Aufrufs dieser Funktion ohne Argument wurde wie für die " "integrierte Funktion :func:`locals` beschrieben aktualisiert." -#: ../../builtins/functions.rst:2229 +#: ../../builtins/functions.rst:2239 msgid "" "Iterate over several iterables in parallel, producing tuples with an item " "from each one." @@ -4411,11 +4423,11 @@ msgstr "" "Über mehrere Iterables parallel iterieren und dabei Tupel mit je einem " "Element aus jedem Iterable erzeugen." -#: ../../builtins/functions.rst:2232 +#: ../../builtins/functions.rst:2242 msgid "Example::" msgstr "Beispiel::" -#: ../../builtins/functions.rst:2234 +#: ../../builtins/functions.rst:2244 msgid "" ">>> for item in zip([1, 2, 3], ['sugar', 'spice', 'everything nice']):\n" "... print(item)\n" @@ -4431,7 +4443,7 @@ msgstr "" "(2, 'spice')\n" "(3, 'everything nice')" -#: ../../builtins/functions.rst:2241 +#: ../../builtins/functions.rst:2251 msgid "" "More formally: :func:`zip` returns an iterator of tuples, where the *i*-th " "tuple contains the *i*-th element from each of the argument iterables." @@ -4440,7 +4452,7 @@ msgstr "" "zurück, wobei das *i*-te Tupel das *i*-te Element aus jedem der als Argument " "übergebenen Iterables enthält." -#: ../../builtins/functions.rst:2244 +#: ../../builtins/functions.rst:2254 msgid "" "Another way to think of :func:`zip` is that it turns rows into columns, and " "columns into rows. This is similar to `transposing a matrix `_." -#: ../../builtins/functions.rst:2248 +#: ../../builtins/functions.rst:2258 msgid "" ":func:`zip` is lazy: The elements won't be processed until the iterable is " "iterated on, e.g. by a :keyword:`!for` loop or by wrapping in a :class:" @@ -4460,7 +4472,7 @@ msgstr "" "wenn über das Iterable iteriert wird, z. B. mittels einer :keyword:`!for`-" "Schleife oder durch Umwandlung in eine :class:`list`." -#: ../../builtins/functions.rst:2252 +#: ../../builtins/functions.rst:2262 msgid "" "One thing to consider is that the iterables passed to :func:`zip` could have " "different lengths; sometimes by design, and sometimes because of a bug in " @@ -4472,7 +4484,7 @@ msgstr "" "aufgrund eines Fehlers in dem Code, der diese Iterables erstellt hat. Python " "bietet drei verschiedene Ansätze für den Umgang mit diesem Problem:" -#: ../../builtins/functions.rst:2257 +#: ../../builtins/functions.rst:2267 msgid "" "By default, :func:`zip` stops when the shortest iterable is :term:" "`exhausted`. It will ignore the remaining items in the longer iterables, " @@ -4483,7 +4495,7 @@ msgstr "" "den längeren iterierbaren Objekten und begrenzt das Ergebnis auf die Länge " "des kürzesten::" -#: ../../builtins/functions.rst:2261 +#: ../../builtins/functions.rst:2271 msgid "" ">>> list(zip(range(3), ['fee', 'fi', 'fo', 'fum']))\n" "[(0, 'fee'), (1, 'fi'), (2, 'fo')]" @@ -4491,7 +4503,7 @@ msgstr "" ">>> list(zip(range(3), ['fee', 'fi', 'fo', 'fum']))\n" "[(0, 'fee'), (1, 'fi'), (2, 'fo')]" -#: ../../builtins/functions.rst:2264 +#: ../../builtins/functions.rst:2274 msgid "" ":func:`zip` is often used in cases where the iterables are assumed to be of " "equal length. In such cases, it's recommended to use the ``strict=True`` " @@ -4502,7 +4514,7 @@ msgstr "" "die Verwendung der Option ``strict=True``. Die Ausgabe entspricht der von " "regulärem :func:`zip`::" -#: ../../builtins/functions.rst:2268 +#: ../../builtins/functions.rst:2278 msgid "" ">>> list(zip(('a', 'b', 'c'), (1, 2, 3), strict=True))\n" "[('a', 1), ('b', 2), ('c', 3)]" @@ -4510,7 +4522,7 @@ msgstr "" ">>> list(zip(('a', 'b', 'c'), (1, 2, 3), strict=True))\n" "[('a', 1), ('b', 2), ('c', 3)]" -#: ../../builtins/functions.rst:2271 +#: ../../builtins/functions.rst:2281 msgid "" "Unlike the default behavior, it raises a :exc:`ValueError` if one iterable " "is :term:`exhausted` before the others:" @@ -4518,7 +4530,7 @@ msgstr "" "Im Gegensatz zum Standardverhalten löst es einen :exc:`ValueError` aus, wenn " "ein iterierbares Objekt vor den anderen :term:`erschöpft ` ist:" -#: ../../builtins/functions.rst:2289 +#: ../../builtins/functions.rst:2299 msgid "" "Without the ``strict=True`` argument, any bug that results in iterables of " "different lengths will be silenced, possibly manifesting as a hard-to-find " @@ -4528,7 +4540,7 @@ msgstr "" "unterschiedlicher Länge führen, unterdrückt. Das kann sich als schwer zu " "findender Fehler an einer anderen Stelle des Programms äußern." -#: ../../builtins/functions.rst:2293 +#: ../../builtins/functions.rst:2303 msgid "" "Shorter iterables can be padded with a constant value to make all the " "iterables have the same length. This is done by :func:`itertools." @@ -4538,7 +4550,7 @@ msgstr "" "alle Iterables dieselbe Länge haben. Dies geschieht mit :func:`itertools." "zip_longest`." -#: ../../builtins/functions.rst:2297 +#: ../../builtins/functions.rst:2307 msgid "" "Edge cases: With a single iterable argument, :func:`zip` returns an iterator " "of 1-tuples. With no arguments, it returns an empty iterator." @@ -4547,11 +4559,11 @@ msgstr "" "Iterator von 1-Tupeln zurück. Ohne Argumente gibt es einen leeren Iterator " "zurück." -#: ../../builtins/functions.rst:2300 +#: ../../builtins/functions.rst:2310 msgid "Tips and tricks:" msgstr "Tipps und Tricks:" -#: ../../builtins/functions.rst:2302 +#: ../../builtins/functions.rst:2312 msgid "" "The left-to-right evaluation order of the iterables is guaranteed. This " "makes possible an idiom for clustering a data series into n-length groups " @@ -4566,7 +4578,7 @@ msgstr "" "jedes Ergebnis-Tupel die Resultate von ``n`` Aufrufen des Iterators enthält. " "Dies bewirkt eine Aufteilung der Eingabe in Abschnitte der Länge ``n``." -#: ../../builtins/functions.rst:2308 +#: ../../builtins/functions.rst:2318 msgid "" ":func:`zip` in conjunction with the ``*`` operator can be used to unzip a " "list::" @@ -4574,7 +4586,7 @@ msgstr "" ":func:`zip` kann in Verbindung mit dem ``*``-Operator verwendet werden, um " "eine Liste zu entpacken::" -#: ../../builtins/functions.rst:2311 +#: ../../builtins/functions.rst:2321 msgid "" ">>> x = [1, 2, 3]\n" ">>> y = [4, 5, 6]\n" @@ -4592,11 +4604,11 @@ msgstr "" ">>> x == list(x2) and y == list(y2)\n" "True" -#: ../../builtins/functions.rst:2319 +#: ../../builtins/functions.rst:2329 msgid "Added the ``strict`` argument." msgstr "Das Argument ``strict`` wurde hinzugefügt." -#: ../../builtins/functions.rst:2331 +#: ../../builtins/functions.rst:2341 msgid "" "This is an advanced function that is not needed in everyday Python " "programming, unlike :func:`importlib.import_module`." @@ -4605,7 +4617,7 @@ msgstr "" "`importlib.import_module` in der alltäglichen Python-Programmierung nicht " "benötigt wird." -#: ../../builtins/functions.rst:2334 +#: ../../builtins/functions.rst:2344 msgid "" "This function is invoked by the :keyword:`import` statement. It can be " "replaced (by importing the :mod:`builtins` module and assigning to " @@ -4626,7 +4638,7 @@ msgstr "" "von :func:`__import__` wird zugunsten von :func:`importlib.import_module` " "abgeraten." -#: ../../builtins/functions.rst:2343 +#: ../../builtins/functions.rst:2353 msgid "" "The function imports the module *name*, potentially using the given " "*globals* and *locals* to determine how to interpret the name in a package " @@ -4644,7 +4656,7 @@ msgstr "" "lediglich dazu, den Paketkontext der :keyword:`import`-Anweisung zu " "bestimmen." -#: ../../builtins/functions.rst:2350 +#: ../../builtins/functions.rst:2360 msgid "" "*level* specifies whether to use absolute or relative imports. ``0`` (the " "default) means only perform absolute imports. Positive values for *level* " @@ -4659,7 +4671,7 @@ msgstr "" "`__import__` aufruft, durchsucht werden sollen (siehe :pep:`328` für die " "Details)." -#: ../../builtins/functions.rst:2356 +#: ../../builtins/functions.rst:2366 msgid "" "When the *name* variable is of the form ``package.module``, normally, the " "top-level package (the name up till the first dot) is returned, *not* the " @@ -4672,7 +4684,7 @@ msgstr "" "*fromlist*-Argument angegeben, so wird das durch *name* bezeichnete Modul " "zurückgegeben." -#: ../../builtins/functions.rst:2361 +#: ../../builtins/functions.rst:2371 msgid "" "For example, the statement ``import spam`` results in bytecode resembling " "the following code::" @@ -4680,19 +4692,19 @@ msgstr "" "Die Anweisung ``import spam`` führt beispielsweise zu Bytecode, der dem " "folgenden Code ähnelt::" -#: ../../builtins/functions.rst:2364 +#: ../../builtins/functions.rst:2374 msgid "spam = __import__('spam', globals(), locals(), [], 0)" msgstr "spam = __import__('spam', globals(), locals(), [], 0)" -#: ../../builtins/functions.rst:2366 +#: ../../builtins/functions.rst:2376 msgid "The statement ``import spam.ham`` results in this call::" msgstr "Die Anweisung ``import spam.ham`` führt zu diesem Aufruf::" -#: ../../builtins/functions.rst:2368 +#: ../../builtins/functions.rst:2378 msgid "spam = __import__('spam.ham', globals(), locals(), [], 0)" msgstr "spam = __import__('spam.ham', globals(), locals(), [], 0)" -#: ../../builtins/functions.rst:2370 +#: ../../builtins/functions.rst:2380 msgid "" "Note how :func:`__import__` returns the toplevel module here because this is " "the object that is bound to a name by the :keyword:`import` statement." @@ -4701,7 +4713,7 @@ msgstr "" "zurückgibt, da dies das Objekt ist, das durch die :keyword:`import`-" "Anweisung an einen Namen gebunden wird." -#: ../../builtins/functions.rst:2373 +#: ../../builtins/functions.rst:2383 msgid "" "On the other hand, the statement ``from spam.ham import eggs, sausage as " "saus`` results in ::" @@ -4709,7 +4721,7 @@ msgstr "" "Andererseits führt die Anweisung ``from spam.ham import eggs, sausage as " "saus`` zu ::" -#: ../../builtins/functions.rst:2376 +#: ../../builtins/functions.rst:2386 msgid "" "_temp = __import__('spam.ham', globals(), locals(), ['eggs', 'sausage'], 0)\n" "eggs = _temp.eggs\n" @@ -4719,7 +4731,7 @@ msgstr "" "eggs = _temp.eggs\n" "saus = _temp.sausage" -#: ../../builtins/functions.rst:2380 +#: ../../builtins/functions.rst:2390 msgid "" "Here, the ``spam.ham`` module is returned from :func:`__import__`. From " "this object, the names to import are retrieved and assigned to their " @@ -4729,7 +4741,7 @@ msgstr "" "diesem Objekt werden die zu importierenden Namen abgerufen und den " "entsprechenden Namen zugewiesen." -#: ../../builtins/functions.rst:2384 +#: ../../builtins/functions.rst:2394 msgid "" "If you simply want to import a module (potentially within a package) by " "name, use :func:`importlib.import_module`." @@ -4737,7 +4749,7 @@ msgstr "" "Wenn du ein Modul (möglicherweise innerhalb eines Pakets) einfach anhand " "seines Namens importieren möchten, verwende :func:`importlib.import_module`." -#: ../../builtins/functions.rst:2387 +#: ../../builtins/functions.rst:2397 msgid "" "Negative values for *level* are no longer supported (which also changes the " "default value to 0)." @@ -4745,7 +4757,7 @@ msgstr "" "Negative Werte für *level* werden nicht mehr unterstützt (wodurch sich auch " "der Standardwert auf 0 ändert)." -#: ../../builtins/functions.rst:2391 +#: ../../builtins/functions.rst:2401 msgid "" "When the command line options :option:`-E` or :option:`-I` are being used, " "the environment variable :envvar:`PYTHONCASEOK` is now ignored." @@ -4753,11 +4765,11 @@ msgstr "" "Wenn die Befehlszeilenoptionen :option:`-E` oder :option:`-I` verwendet " "werden, wird die Umgebungsvariable :envvar:`PYTHONCASEOK` nun ignoriert." -#: ../../builtins/functions.rst:2396 +#: ../../builtins/functions.rst:2406 msgid "Footnotes" msgstr "Fußnoten" -#: ../../builtins/functions.rst:2397 +#: ../../builtins/functions.rst:2407 msgid "" "Note that the parser only accepts the Unix-style end of line convention. If " "you are reading the code from a file, make sure to use newline conversion " @@ -4772,110 +4784,117 @@ msgstr "" msgid "Boolean" msgstr "Boolescher Wert" -#: ../../builtins/functions.rst:158 ../../builtins/functions.rst:2155 +#: ../../builtins/functions.rst:158 ../../builtins/functions.rst:2165 msgid "type" msgstr "Typ" -#: ../../builtins/functions.rst:674 +#: ../../builtins/functions.rst:684 msgid "built-in function" msgstr "Integrierte Funktion" -#: ../../builtins/functions.rst:674 +#: ../../builtins/functions.rst:684 msgid "exec" msgstr "Ausführen" -#: ../../builtins/functions.rst:777 +#: ../../builtins/functions.rst:787 msgid "NaN" msgstr "Keine Nummer (NaN, Not a Number)" -#: ../../builtins/functions.rst:777 +#: ../../builtins/functions.rst:787 msgid "Infinity" msgstr "Unendlichkeit" -#: ../../builtins/functions.rst:847 +#: ../../builtins/functions.rst:857 msgid "__format__" msgstr "__format__" -#: ../../builtins/functions.rst:847 ../../builtins/functions.rst:2023 +#: ../../builtins/functions.rst:857 ../../builtins/functions.rst:2033 msgid "string" msgstr "Zeichenkette" -#: ../../builtins/functions.rst:847 +#: ../../builtins/functions.rst:857 msgid "format() (built-in function)" msgstr "format() (Integrierte Funktion)" -#: ../../builtins/functions.rst:1376 +#: ../../builtins/functions.rst:1386 msgid "file object" msgstr "Datei Objekt" -#: ../../builtins/functions.rst:1376 ../../builtins/functions.rst:1472 +#: ../../builtins/functions.rst:1386 ../../builtins/functions.rst:1482 msgid "open() built-in function" msgstr "open() Integrierte Funktion" -#: ../../builtins/functions.rst:1405 +#: ../../builtins/functions.rst:1415 msgid "file" msgstr "Datei" -#: ../../builtins/functions.rst:1405 +#: ../../builtins/functions.rst:1415 msgid "modes" msgstr "Modus / Modi" -#: ../../builtins/functions.rst:1472 +#: ../../builtins/functions.rst:1482 msgid "universal newlines" msgstr "Universal Neue Zeile" -#: ../../builtins/functions.rst:1533 +#: ../../builtins/functions.rst:1543 msgid "line-buffered I/O" msgstr "Zeilen gepufferte I/O" -#: ../../builtins/functions.rst:1533 +#: ../../builtins/functions.rst:1543 msgid "unbuffered I/O" msgstr "Ungepufferte I/O" -#: ../../builtins/functions.rst:1533 +#: ../../builtins/functions.rst:1543 msgid "buffer size, I/O" msgstr "Puffer Größe, I/O" -#: ../../builtins/functions.rst:1533 +#: ../../builtins/functions.rst:1543 msgid "I/O control" msgstr "I/O Kontrolle" -#: ../../builtins/functions.rst:1533 +#: ../../builtins/functions.rst:1543 msgid "buffering" msgstr "Puffern" -#: ../../builtins/functions.rst:1533 +#: ../../builtins/functions.rst:1543 msgid "text mode" msgstr "Text Modus" -#: ../../builtins/functions.rst:1533 ../../builtins/functions.rst:2325 +#: ../../builtins/functions.rst:1543 ../../builtins/functions.rst:2335 msgid "module" msgstr "Modul" -#: ../../builtins/functions.rst:1533 +#: ../../builtins/functions.rst:1543 msgid "sys" msgstr "sys" -#: ../../builtins/functions.rst:2023 +#: ../../builtins/functions.rst:2033 msgid "str() (built-in function)" msgstr "str() (Integrierte Funktion)" -#: ../../builtins/functions.rst:2155 +#: ../../builtins/functions.rst:2165 msgid "object" msgstr "Objekt" -#: ../../builtins/functions.rst:2325 +#: ../../builtins/functions.rst:2335 msgid "statement" msgstr "Ausdruck" -#: ../../builtins/functions.rst:2325 +#: ../../builtins/functions.rst:2335 msgid "import" msgstr "Import" -#: ../../builtins/functions.rst:2325 +#: ../../builtins/functions.rst:2335 msgid "builtins" msgstr "Integrierte Funktionen" +#~ msgid "" +#~ "This function raises :exc:`SyntaxError` or :exc:`ValueError` if the " +#~ "compiled source is invalid." +#~ msgstr "" +#~ "Diese Funktion löst :exc:`SyntaxError` oder :exc:`ValueError` aus, wenn " +#~ "die kompilierte Quelle ungültig ist." + #~ msgid "" #~ "``'strict'`` to raise a :exc:`ValueError` exception if there is an " #~ "encoding error. The default value of ``None`` has the same effect." diff --git a/builtins/threadsafety.po b/builtins/threadsafety.po index ec74b522..c4e64d4f 100644 --- a/builtins/threadsafety.po +++ b/builtins/threadsafety.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2026-09-22 21:21+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -566,20 +566,15 @@ msgid "" msgstr "" #: ../../builtins/threadsafety.rst:410 -msgid ":meth:`set.update` and :meth:`set.union` lock both objects only when" -msgstr "" - -#: ../../builtins/threadsafety.rst:411 msgid "" -"the other operand is a :class:`set`, :class:`frozenset`, or :class:`dict`." +":meth:`set.update` and :meth:`set.union` lock both objects only when the " +"other operand is a :class:`set`, :class:`frozenset`, or :class:`dict`." msgstr "" #: ../../builtins/threadsafety.rst:412 -msgid ":meth:`set.intersection` and :meth:`set.difference` always try to lock" -msgstr "" - -#: ../../builtins/threadsafety.rst:413 -msgid "all objects." +msgid "" +":meth:`set.intersection` and :meth:`set.difference` always try to lock all " +"objects." msgstr "" #: ../../builtins/threadsafety.rst:415 @@ -593,20 +588,15 @@ msgid "" msgstr "" #: ../../builtins/threadsafety.rst:420 -msgid ":meth:`set.difference_update` and :meth:`set.intersection_update` try" -msgstr "" - -#: ../../builtins/threadsafety.rst:421 -msgid "to lock all objects one-by-one." +msgid "" +":meth:`set.difference_update` and :meth:`set.intersection_update` try to " +"lock all objects one-by-one." msgstr "" #: ../../builtins/threadsafety.rst:422 msgid "" -":meth:`set.symmetric_difference_update` only locks the arguments if it is" -msgstr "" - -#: ../../builtins/threadsafety.rst:423 -msgid "of type :class:`set`, :class:`frozenset`, or :class:`dict`." +":meth:`set.symmetric_difference_update` only locks the arguments if it is of " +"type :class:`set`, :class:`frozenset`, or :class:`dict`." msgstr "" #: ../../builtins/threadsafety.rst:425 diff --git a/c-api/buffer.po b/c-api/buffer.po index 08cea87b..af971994 100644 --- a/c-api/buffer.po +++ b/c-api/buffer.po @@ -996,9 +996,9 @@ msgid "" "``0`` is returned on success, ``-1`` on error." msgstr "" "Kopiert *len* zusammenhängende Bytes von *buf* nach *view*. *order* kann " -"``'C'``, ``'F'`` oder ``'A'`` sein (für eine Anordnung im C-Stil, im " -"Fortran-Stil oder für eine von beiden). Bei Erfolg wird ``0`` zurückgegeben, " -"bei einem Fehler ``-1``." +"``'C'``, ``'F'`` oder ``'A'`` sein (für eine Anordnung im C-Stil, im Fortran-" +"Stil oder für eine von beiden). Bei Erfolg wird ``0`` zurückgegeben, bei " +"einem Fehler ``-1``." #: ../../c-api/buffer.rst:515 msgid "" diff --git a/c-api/bytes.po b/c-api/bytes.po index dbf8d18d..67f7b15a 100644 --- a/c-api/bytes.po +++ b/c-api/bytes.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -652,6 +652,144 @@ msgid "" "return (char*)PyBytesWriter_GetData(writer) + pos;" msgstr "" +#: ../../c-api/bytes.rst:464 +msgid "Example creating the string ``b'abc'``" +msgstr "" + +#: ../../c-api/bytes.rst:466 +msgid "" +"Example creating the bytes string ``b\"abc\"``, with a fixed size of 3 " +"bytes::" +msgstr "" + +#: ../../c-api/bytes.rst:468 +msgid "" +"PyObject* create_abc(void)\n" +"{\n" +" PyBytesWriter *writer = PyBytesWriter_Create(3);\n" +" if (writer == NULL) {\n" +" return NULL;\n" +" }\n" +"\n" +" char *str = PyBytesWriter_GetData(writer);\n" +" memcpy(str, \"abc\", 3);\n" +" return PyBytesWriter_Finish(writer);\n" +"}" +msgstr "" + +#: ../../c-api/bytes.rst:480 +msgid "Variant using a pointer to compute the final size::" +msgstr "" + +#: ../../c-api/bytes.rst:482 +msgid "" +"PyObject* create_abc_ptr(void)\n" +"{\n" +" PyBytesWriter *writer = PyBytesWriter_Create(3);\n" +" if (writer == NULL) {\n" +" return NULL;\n" +" }\n" +"\n" +" char *str = PyBytesWriter_GetData(writer);\n" +" memcpy(str, \"abc\", 3);\n" +" str += 1;\n" +" return PyBytesWriter_FinishWithPointer(writer, str);\n" +"}" +msgstr "" + +#: ../../c-api/bytes.rst:497 +msgid "Update ``PyBytes_FromStringAndSize()`` code" +msgstr "" + +#: ../../c-api/bytes.rst:499 +msgid "" +"Example of code using the soft deprecated ``PyBytes_FromStringAndSize(NULL, " +"size)`` API::" +msgstr "" + +#: ../../c-api/bytes.rst:502 +msgid "" +"int copy_bytes(char *dest, const char *src, Py_ssize_t num_bytes)\n" +"{\n" +" ...\n" +"}\n" +"\n" +"PyObject* create_string(const char *start, Py_ssize_t num_bytes)\n" +"{\n" +" PyObject *result = PyBytes_FromStringAndSize(NULL, num_bytes);\n" +" if (result == NULL) {\n" +" return NULL;\n" +" }\n" +" if (copy_bytes(PyBytes_AS_STRING(result), start, num_bytes) < 0) {\n" +" Py_CLEAR(result);\n" +" }\n" +" return result;\n" +"}" +msgstr "" + +#: ../../c-api/bytes.rst:519 ../../c-api/bytes.rst:556 +msgid "It can now be updated to::" +msgstr "" + +#: ../../c-api/bytes.rst:521 +msgid "" +"PyObject* create_string(const char *start, Py_ssize_t num_bytes)\n" +"{\n" +" PyBytesWriter *writer = PyBytesWriter_Create(num_bytes);\n" +" if (writer == NULL) {\n" +" return NULL;\n" +" }\n" +" if (copy_bytes(PyBytesWriter_GetData(writer), start, num_bytes) < 0) {\n" +" PyBytesWriter_Discard(writer);\n" +" return NULL;\n" +" }\n" +" return PyBytesWriter_Finish(writer);\n" +"}" +msgstr "" + +#: ../../c-api/bytes.rst:536 +msgid "Update ``_PyBytes_Resize()`` code" +msgstr "" + +#: ../../c-api/bytes.rst:538 +msgid "Example of code using the soft deprecated ``_PyBytes_Resize()`` API::" +msgstr "" + +#: ../../c-api/bytes.rst:540 +msgid "" +"void create_string(Py_ssize_t size)\n" +"{\n" +" PyObject *bytes = PyBytes_FromStringAndSize(NULL, size);\n" +" if (bytes == NULL) {\n" +" return NULL;\n" +" }\n" +" char *str = PyBytes_AS_STRING(bytes);\n" +"\n" +" // ... write data into str ...\n" +"\n" +" if (_PyBytes_Resize(&bytes, (str - PyBytes_AS_STRING(bytes)))) {\n" +" return NULL;\n" +" }\n" +" return bytes;\n" +"}" +msgstr "" + +#: ../../c-api/bytes.rst:558 +msgid "" +"void create_string(Py_ssize_t size)\n" +"{\n" +" PyBytesWriter *writer = PyBytesWriter_Create(size);\n" +" if (writer == NULL) {\n" +" return NULL;\n" +" }\n" +" char *str = PyBytesWriter_GetData(writer);\n" +"\n" +" // ... write data into str ...\n" +"\n" +" return PyBytesWriter_FinishWithPointer(writer, str);\n" +"}" +msgstr "" + #: ../../c-api/bytes.rst:18 msgid "object" msgstr "" diff --git a/c-api/exceptions.po b/c-api/exceptions.po index 88a949c7..07dab0f8 100644 --- a/c-api/exceptions.po +++ b/c-api/exceptions.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-14 20:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -1119,28 +1119,41 @@ msgstr "" #: ../../c-api/exceptions.rst:1037 msgid "" +"The check is based on the remaining C stack space of the current thread, not " +"on a count of calls, so it is unaffected by :c:func:`Py_SetRecursionLimit` " +"and :func:`sys.setrecursionlimit`." +msgstr "" + +#: ../../c-api/exceptions.rst:1041 +msgid "" "*where* should be a UTF-8 encoded string such as ``\" in instance check\"`` " "to be concatenated to the :exc:`RecursionError` message caused by the " "recursion depth limit." msgstr "" -#: ../../c-api/exceptions.rst:1042 +#: ../../c-api/exceptions.rst:1046 msgid "The :c:func:`PyUnstable_ThreadState_SetStackProtection` function." msgstr "" -#: ../../c-api/exceptions.rst:1044 ../../c-api/exceptions.rst:1052 +#: ../../c-api/exceptions.rst:1048 ../../c-api/exceptions.rst:1060 msgid "" "This function is now also available in the :ref:`limited API `." msgstr "" -#: ../../c-api/exceptions.rst:1049 +#: ../../c-api/exceptions.rst:1051 +msgid "" +"The check is based on the remaining C stack space. Previously, a separate " +"counter of C-level calls was used." +msgstr "" + +#: ../../c-api/exceptions.rst:1057 msgid "" "Ends a :c:func:`Py_EnterRecursiveCall`. Must be called once for each " "*successful* invocation of :c:func:`Py_EnterRecursiveCall`." msgstr "" -#: ../../c-api/exceptions.rst:1055 +#: ../../c-api/exceptions.rst:1063 msgid "" "Properly implementing :c:member:`~PyTypeObject.tp_repr` for container types " "requires special recursion handling. In addition to protecting the stack, :" @@ -1149,13 +1162,13 @@ msgid "" "Effectively, these are the C equivalent to :deco:`reprlib.recursive_repr`." msgstr "" -#: ../../c-api/exceptions.rst:1063 +#: ../../c-api/exceptions.rst:1071 msgid "" "Called at the beginning of the :c:member:`~PyTypeObject.tp_repr` " "implementation to detect cycles." msgstr "" -#: ../../c-api/exceptions.rst:1066 +#: ../../c-api/exceptions.rst:1074 msgid "" "If the object has already been processed, the function returns a positive " "integer. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " @@ -1163,305 +1176,305 @@ msgid "" "`dict` objects return ``{...}`` and :class:`list` objects return ``[...]``." msgstr "" -#: ../../c-api/exceptions.rst:1072 +#: ../../c-api/exceptions.rst:1080 msgid "" "The function will return a negative integer if the recursion limit is " "reached. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " "should typically return ``NULL``." msgstr "" -#: ../../c-api/exceptions.rst:1076 +#: ../../c-api/exceptions.rst:1084 msgid "" "Otherwise, the function returns zero and the :c:member:`~PyTypeObject." "tp_repr` implementation can continue normally." msgstr "" -#: ../../c-api/exceptions.rst:1081 +#: ../../c-api/exceptions.rst:1089 msgid "" "Ends a :c:func:`Py_ReprEnter`. Must be called once for each invocation of :" "c:func:`Py_ReprEnter` that returns zero." msgstr "" -#: ../../c-api/exceptions.rst:1086 +#: ../../c-api/exceptions.rst:1094 msgid "" "Get the recursion limit for the current interpreter. It can be set with :c:" "func:`Py_SetRecursionLimit`. The recursion limit prevents the Python " "interpreter stack from growing infinitely." msgstr "" -#: ../../c-api/exceptions.rst:1090 ../../c-api/exceptions.rst:1100 +#: ../../c-api/exceptions.rst:1098 ../../c-api/exceptions.rst:1108 msgid "" "This function cannot fail, and the caller must hold an :term:`attached " "thread state`." msgstr "" -#: ../../c-api/exceptions.rst:1094 +#: ../../c-api/exceptions.rst:1102 msgid ":py:func:`sys.getrecursionlimit`" msgstr "" -#: ../../c-api/exceptions.rst:1098 +#: ../../c-api/exceptions.rst:1106 msgid "Set the recursion limit for the current interpreter." msgstr "" -#: ../../c-api/exceptions.rst:1104 +#: ../../c-api/exceptions.rst:1112 msgid ":py:func:`sys.setrecursionlimit`" msgstr "" -#: ../../c-api/exceptions.rst:1109 +#: ../../c-api/exceptions.rst:1117 msgid "Exception and warning types" msgstr "" -#: ../../c-api/exceptions.rst:1111 +#: ../../c-api/exceptions.rst:1119 msgid "" "All standard Python exceptions and warning categories are available as " "global variables whose names are ``PyExc_`` followed by the Python exception " "name. These have the type :c:expr:`PyObject*`; they are all class objects." msgstr "" -#: ../../c-api/exceptions.rst:1115 +#: ../../c-api/exceptions.rst:1123 msgid "For completeness, here are all the variables:" msgstr "" -#: ../../c-api/exceptions.rst:1118 +#: ../../c-api/exceptions.rst:1126 msgid "Exception types" msgstr "" -#: ../../c-api/exceptions.rst:1125 ../../c-api/exceptions.rst:1273 -#: ../../c-api/exceptions.rst:1303 +#: ../../c-api/exceptions.rst:1133 ../../c-api/exceptions.rst:1281 +#: ../../c-api/exceptions.rst:1311 msgid "C name" msgstr "" -#: ../../c-api/exceptions.rst:1126 ../../c-api/exceptions.rst:1274 -#: ../../c-api/exceptions.rst:1304 +#: ../../c-api/exceptions.rst:1134 ../../c-api/exceptions.rst:1282 +#: ../../c-api/exceptions.rst:1312 msgid "Python name" msgstr "" -#: ../../c-api/exceptions.rst:1128 +#: ../../c-api/exceptions.rst:1136 msgid ":exc:`BaseException`" msgstr "" -#: ../../c-api/exceptions.rst:1130 +#: ../../c-api/exceptions.rst:1138 msgid ":exc:`BaseExceptionGroup`" msgstr "" -#: ../../c-api/exceptions.rst:1132 +#: ../../c-api/exceptions.rst:1140 msgid ":exc:`Exception`" msgstr "" -#: ../../c-api/exceptions.rst:1134 +#: ../../c-api/exceptions.rst:1142 msgid ":exc:`ArithmeticError`" msgstr "" -#: ../../c-api/exceptions.rst:1136 +#: ../../c-api/exceptions.rst:1144 msgid ":exc:`AssertionError`" msgstr "" -#: ../../c-api/exceptions.rst:1138 +#: ../../c-api/exceptions.rst:1146 msgid ":exc:`AttributeError`" msgstr "" -#: ../../c-api/exceptions.rst:1140 +#: ../../c-api/exceptions.rst:1148 msgid ":exc:`BlockingIOError`" msgstr "" -#: ../../c-api/exceptions.rst:1142 +#: ../../c-api/exceptions.rst:1150 msgid ":exc:`BrokenPipeError`" msgstr "" -#: ../../c-api/exceptions.rst:1144 +#: ../../c-api/exceptions.rst:1152 msgid ":exc:`BufferError`" msgstr "" -#: ../../c-api/exceptions.rst:1146 +#: ../../c-api/exceptions.rst:1154 msgid ":exc:`ChildProcessError`" msgstr "" -#: ../../c-api/exceptions.rst:1148 +#: ../../c-api/exceptions.rst:1156 msgid ":exc:`ConnectionAbortedError`" msgstr "" -#: ../../c-api/exceptions.rst:1150 +#: ../../c-api/exceptions.rst:1158 msgid ":exc:`ConnectionError`" msgstr "" -#: ../../c-api/exceptions.rst:1152 +#: ../../c-api/exceptions.rst:1160 msgid ":exc:`ConnectionRefusedError`" msgstr "" -#: ../../c-api/exceptions.rst:1154 +#: ../../c-api/exceptions.rst:1162 msgid ":exc:`ConnectionResetError`" msgstr "" -#: ../../c-api/exceptions.rst:1156 +#: ../../c-api/exceptions.rst:1164 msgid ":exc:`EOFError`" msgstr "" -#: ../../c-api/exceptions.rst:1158 +#: ../../c-api/exceptions.rst:1166 msgid ":exc:`FileExistsError`" msgstr "" -#: ../../c-api/exceptions.rst:1160 +#: ../../c-api/exceptions.rst:1168 msgid ":exc:`FileNotFoundError`" msgstr "" -#: ../../c-api/exceptions.rst:1162 +#: ../../c-api/exceptions.rst:1170 msgid ":exc:`FloatingPointError`" msgstr "" -#: ../../c-api/exceptions.rst:1164 +#: ../../c-api/exceptions.rst:1172 msgid ":exc:`GeneratorExit`" msgstr "" -#: ../../c-api/exceptions.rst:1166 +#: ../../c-api/exceptions.rst:1174 msgid ":exc:`ImportCycleError`" msgstr "" -#: ../../c-api/exceptions.rst:1168 +#: ../../c-api/exceptions.rst:1176 msgid ":exc:`ImportError`" msgstr "" -#: ../../c-api/exceptions.rst:1170 +#: ../../c-api/exceptions.rst:1178 msgid ":exc:`IndentationError`" msgstr "" -#: ../../c-api/exceptions.rst:1172 +#: ../../c-api/exceptions.rst:1180 msgid ":exc:`IndexError`" msgstr "" -#: ../../c-api/exceptions.rst:1174 +#: ../../c-api/exceptions.rst:1182 msgid ":exc:`InterruptedError`" msgstr "" -#: ../../c-api/exceptions.rst:1176 +#: ../../c-api/exceptions.rst:1184 msgid ":exc:`IsADirectoryError`" msgstr "" -#: ../../c-api/exceptions.rst:1178 +#: ../../c-api/exceptions.rst:1186 msgid ":exc:`KeyError`" msgstr "" -#: ../../c-api/exceptions.rst:1180 +#: ../../c-api/exceptions.rst:1188 msgid ":exc:`KeyboardInterrupt`" msgstr "" -#: ../../c-api/exceptions.rst:1182 +#: ../../c-api/exceptions.rst:1190 msgid ":exc:`LookupError`" msgstr "" -#: ../../c-api/exceptions.rst:1184 +#: ../../c-api/exceptions.rst:1192 msgid ":exc:`MemoryError`" msgstr "" -#: ../../c-api/exceptions.rst:1186 +#: ../../c-api/exceptions.rst:1194 msgid ":exc:`ModuleNotFoundError`" msgstr "" -#: ../../c-api/exceptions.rst:1188 +#: ../../c-api/exceptions.rst:1196 msgid ":exc:`NameError`" msgstr "" -#: ../../c-api/exceptions.rst:1190 +#: ../../c-api/exceptions.rst:1198 msgid ":exc:`NotADirectoryError`" msgstr "" -#: ../../c-api/exceptions.rst:1192 +#: ../../c-api/exceptions.rst:1200 msgid ":exc:`NotImplementedError`" msgstr "" -#: ../../c-api/exceptions.rst:1194 ../../c-api/exceptions.rst:1277 -#: ../../c-api/exceptions.rst:1280 ../../c-api/exceptions.rst:1283 +#: ../../c-api/exceptions.rst:1202 ../../c-api/exceptions.rst:1285 +#: ../../c-api/exceptions.rst:1288 ../../c-api/exceptions.rst:1291 msgid ":exc:`OSError`" msgstr "" -#: ../../c-api/exceptions.rst:1196 +#: ../../c-api/exceptions.rst:1204 msgid ":exc:`OverflowError`" msgstr "" -#: ../../c-api/exceptions.rst:1198 +#: ../../c-api/exceptions.rst:1206 msgid ":exc:`PermissionError`" msgstr "" -#: ../../c-api/exceptions.rst:1200 +#: ../../c-api/exceptions.rst:1208 msgid ":exc:`ProcessLookupError`" msgstr "" -#: ../../c-api/exceptions.rst:1202 +#: ../../c-api/exceptions.rst:1210 msgid ":exc:`PythonFinalizationError`" msgstr "" -#: ../../c-api/exceptions.rst:1204 +#: ../../c-api/exceptions.rst:1212 msgid ":exc:`RecursionError`" msgstr "" -#: ../../c-api/exceptions.rst:1206 +#: ../../c-api/exceptions.rst:1214 msgid ":exc:`ReferenceError`" msgstr "" -#: ../../c-api/exceptions.rst:1208 +#: ../../c-api/exceptions.rst:1216 msgid ":exc:`RuntimeError`" msgstr "" -#: ../../c-api/exceptions.rst:1210 +#: ../../c-api/exceptions.rst:1218 msgid ":exc:`StopAsyncIteration`" msgstr "" -#: ../../c-api/exceptions.rst:1212 +#: ../../c-api/exceptions.rst:1220 msgid ":exc:`StopIteration`" msgstr "" -#: ../../c-api/exceptions.rst:1214 +#: ../../c-api/exceptions.rst:1222 msgid ":exc:`SyntaxError`" msgstr "" -#: ../../c-api/exceptions.rst:1216 +#: ../../c-api/exceptions.rst:1224 msgid ":exc:`SystemError`" msgstr "" -#: ../../c-api/exceptions.rst:1218 +#: ../../c-api/exceptions.rst:1226 msgid ":exc:`SystemExit`" msgstr "" -#: ../../c-api/exceptions.rst:1220 +#: ../../c-api/exceptions.rst:1228 msgid ":exc:`TabError`" msgstr "" -#: ../../c-api/exceptions.rst:1222 +#: ../../c-api/exceptions.rst:1230 msgid ":exc:`TimeoutError`" msgstr "" -#: ../../c-api/exceptions.rst:1224 +#: ../../c-api/exceptions.rst:1232 msgid ":exc:`TypeError`" msgstr "" -#: ../../c-api/exceptions.rst:1226 +#: ../../c-api/exceptions.rst:1234 msgid ":exc:`UnboundLocalError`" msgstr "" -#: ../../c-api/exceptions.rst:1228 +#: ../../c-api/exceptions.rst:1236 msgid ":exc:`UnicodeDecodeError`" msgstr "" -#: ../../c-api/exceptions.rst:1230 +#: ../../c-api/exceptions.rst:1238 msgid ":exc:`UnicodeEncodeError`" msgstr "" -#: ../../c-api/exceptions.rst:1232 +#: ../../c-api/exceptions.rst:1240 msgid ":exc:`UnicodeError`" msgstr "" -#: ../../c-api/exceptions.rst:1234 +#: ../../c-api/exceptions.rst:1242 msgid ":exc:`UnicodeTranslateError`" msgstr "" -#: ../../c-api/exceptions.rst:1236 +#: ../../c-api/exceptions.rst:1244 msgid ":exc:`ValueError`" msgstr "" -#: ../../c-api/exceptions.rst:1238 +#: ../../c-api/exceptions.rst:1246 msgid ":exc:`ZeroDivisionError`" msgstr "" -#: ../../c-api/exceptions.rst:1240 +#: ../../c-api/exceptions.rst:1248 msgid "" ":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:" "`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:" @@ -1473,151 +1486,151 @@ msgid "" "`PyExc_TimeoutError` were introduced following :pep:`3151`." msgstr "" -#: ../../c-api/exceptions.rst:1250 +#: ../../c-api/exceptions.rst:1258 msgid ":c:data:`PyExc_StopAsyncIteration` and :c:data:`PyExc_RecursionError`." msgstr "" -#: ../../c-api/exceptions.rst:1253 +#: ../../c-api/exceptions.rst:1261 msgid ":c:data:`PyExc_ModuleNotFoundError`." msgstr "" -#: ../../c-api/exceptions.rst:1256 +#: ../../c-api/exceptions.rst:1264 msgid ":c:data:`PyExc_BaseExceptionGroup`." msgstr "" -#: ../../c-api/exceptions.rst:1261 +#: ../../c-api/exceptions.rst:1269 msgid "OSError aliases" msgstr "" -#: ../../c-api/exceptions.rst:1263 +#: ../../c-api/exceptions.rst:1271 msgid "The following are a compatibility aliases to :c:data:`PyExc_OSError`." msgstr "" -#: ../../c-api/exceptions.rst:1265 +#: ../../c-api/exceptions.rst:1273 msgid "These aliases used to be separate exception types." msgstr "" -#: ../../c-api/exceptions.rst:1275 +#: ../../c-api/exceptions.rst:1283 msgid "Notes" msgstr "" -#: ../../c-api/exceptions.rst:1284 +#: ../../c-api/exceptions.rst:1292 msgid "[win]_" msgstr "" -#: ../../c-api/exceptions.rst:1286 +#: ../../c-api/exceptions.rst:1294 msgid "Notes:" msgstr "" -#: ../../c-api/exceptions.rst:1289 +#: ../../c-api/exceptions.rst:1297 msgid "" ":c:var:`!PyExc_WindowsError` is only defined on Windows; protect code that " "uses this by testing that the preprocessor macro ``MS_WINDOWS`` is defined." msgstr "" -#: ../../c-api/exceptions.rst:1296 +#: ../../c-api/exceptions.rst:1304 msgid "Warning types" msgstr "" -#: ../../c-api/exceptions.rst:1306 +#: ../../c-api/exceptions.rst:1314 msgid ":exc:`Warning`" msgstr "" -#: ../../c-api/exceptions.rst:1308 +#: ../../c-api/exceptions.rst:1316 msgid ":exc:`BytesWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1310 +#: ../../c-api/exceptions.rst:1318 msgid ":exc:`DeprecationWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1312 +#: ../../c-api/exceptions.rst:1320 msgid ":exc:`EncodingWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1314 +#: ../../c-api/exceptions.rst:1322 msgid ":exc:`FutureWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1316 +#: ../../c-api/exceptions.rst:1324 msgid ":exc:`ImportWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1318 +#: ../../c-api/exceptions.rst:1326 msgid ":exc:`PendingDeprecationWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1320 +#: ../../c-api/exceptions.rst:1328 msgid ":exc:`ResourceWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1322 +#: ../../c-api/exceptions.rst:1330 msgid ":exc:`RuntimeWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1324 +#: ../../c-api/exceptions.rst:1332 msgid ":exc:`SyntaxWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1326 +#: ../../c-api/exceptions.rst:1334 msgid ":exc:`UnicodeWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1328 +#: ../../c-api/exceptions.rst:1336 msgid ":exc:`UserWarning`" msgstr "" -#: ../../c-api/exceptions.rst:1330 +#: ../../c-api/exceptions.rst:1338 msgid ":c:data:`PyExc_ResourceWarning`." msgstr "" -#: ../../c-api/exceptions.rst:1333 +#: ../../c-api/exceptions.rst:1341 msgid ":c:data:`PyExc_EncodingWarning`." msgstr "" -#: ../../c-api/exceptions.rst:1338 +#: ../../c-api/exceptions.rst:1346 msgid "Tracebacks" msgstr "" -#: ../../c-api/exceptions.rst:1342 +#: ../../c-api/exceptions.rst:1350 msgid "" "Type object for traceback objects. This is available as :class:`types." "TracebackType` in the Python layer." msgstr "" -#: ../../c-api/exceptions.rst:1348 +#: ../../c-api/exceptions.rst:1356 msgid "" "Return true if *op* is a traceback object, false otherwise. This function " "does not account for subtypes." msgstr "" -#: ../../c-api/exceptions.rst:1354 +#: ../../c-api/exceptions.rst:1362 msgid "" "Replace the :attr:`~BaseException.__traceback__` attribute on the current " "exception with a new traceback prepending *f* to the existing chain." msgstr "" -#: ../../c-api/exceptions.rst:1357 +#: ../../c-api/exceptions.rst:1365 msgid "Calling this function without an exception set is undefined behavior." msgstr "" -#: ../../c-api/exceptions.rst:1359 ../../c-api/exceptions.rst:1367 +#: ../../c-api/exceptions.rst:1367 ../../c-api/exceptions.rst:1375 msgid "" "This function returns ``0`` on success, and returns ``-1`` with an exception " "set on failure." msgstr "" -#: ../../c-api/exceptions.rst:1365 +#: ../../c-api/exceptions.rst:1373 msgid "Write the traceback *tb* into the file *f*." msgstr "" -#: ../../c-api/exceptions.rst:1372 +#: ../../c-api/exceptions.rst:1380 msgid "" "Write a trace of the Python stack in *tstate* into the file *fd*. The " "format looks like::" msgstr "" -#: ../../c-api/exceptions.rst:1375 +#: ../../c-api/exceptions.rst:1383 msgid "" "Traceback (most recent call first):\n" " File \"xxx\", line xxx in \n" @@ -1626,7 +1639,7 @@ msgid "" " File \"xxx\", line xxx in " msgstr "" -#: ../../c-api/exceptions.rst:1381 +#: ../../c-api/exceptions.rst:1389 msgid "" "This function is meant to debug situations such as segfaults, fatal errors, " "and similar. The file and function names it outputs are encoded to ASCII " @@ -1634,12 +1647,12 @@ msgid "" "first 100 frames; further frames are truncated with the line ``...``." msgstr "" -#: ../../c-api/exceptions.rst:1386 ../../c-api/exceptions.rst:1411 +#: ../../c-api/exceptions.rst:1394 ../../c-api/exceptions.rst:1419 msgid "" "This function will return ``NULL`` on success, or an error message on error." msgstr "" -#: ../../c-api/exceptions.rst:1388 ../../c-api/exceptions.rst:1419 +#: ../../c-api/exceptions.rst:1396 ../../c-api/exceptions.rst:1427 msgid "" "This function is intended for use in crash scenarios such as signal handlers " "for SIGSEGV, where the interpreter may be in an inconsistent state. Given " @@ -1647,24 +1660,24 @@ msgid "" "the function might produce incomplete output or it may even crash itself." msgstr "" -#: ../../c-api/exceptions.rst:1393 +#: ../../c-api/exceptions.rst:1401 msgid "" "The caller does not need to hold an :term:`attached thread state`, nor does " "*tstate* need to be attached." msgstr "" -#: ../../c-api/exceptions.rst:1400 +#: ../../c-api/exceptions.rst:1408 msgid "Write the traces of all Python threads in *interp* into the file *fd*." msgstr "" -#: ../../c-api/exceptions.rst:1402 +#: ../../c-api/exceptions.rst:1410 msgid "" "If *interp* is ``NULL`` then this function will try to identify the current " "interpreter using thread-specific storage. If it cannot, it will return an " "error." msgstr "" -#: ../../c-api/exceptions.rst:1406 +#: ../../c-api/exceptions.rst:1414 msgid "" "If *current_tstate* is not ``NULL`` then it will be used to identify what " "the current thread is in the written output. If it is ``NULL`` then this " @@ -1673,7 +1686,7 @@ msgid "" "state." msgstr "" -#: ../../c-api/exceptions.rst:1413 +#: ../../c-api/exceptions.rst:1421 msgid "" "This function is meant to debug situations such as segfaults, fatal errors, " "and similar. It calls :c:func:`PyUnstable_DumpTraceback` for each thread. It " @@ -1682,13 +1695,13 @@ msgid "" "function will use a default value of 100 for the argument." msgstr "" -#: ../../c-api/exceptions.rst:1424 +#: ../../c-api/exceptions.rst:1432 msgid "" "The caller does not need to hold an :term:`attached thread state`, nor does " "*current_tstate* need to be attached." msgstr "" -#: ../../c-api/exceptions.rst:1428 +#: ../../c-api/exceptions.rst:1436 msgid "" "On the :term:`free-threaded build`, this function is not thread-safe. If " "another thread deletes its :term:`thread state` while this function is being " diff --git a/c-api/marshal.po b/c-api/marshal.po index bb4269f5..ac6aa290 100644 --- a/c-api/marshal.po +++ b/c-api/marshal.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-14 20:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -51,7 +51,7 @@ msgid "" "native :c:expr:`long` type. *version* indicates the file format." msgstr "" -#: ../../c-api/marshal.rst:29 ../../c-api/marshal.rst:37 +#: ../../c-api/marshal.rst:29 ../../c-api/marshal.rst:43 msgid "" "This function can fail, in which case it sets the error indicator. Use :c:" "func:`PyErr_Occurred` to check for that." @@ -59,54 +59,72 @@ msgstr "" #: ../../c-api/marshal.rst:34 msgid "" +"In Python 3.15 and earlier, this function does not set the error indicator " +"if writing to *file* fails. The same caveat applies as for :c:func:" +"`PyMarshal_WriteObjectToFile`." +msgstr "" + +#: ../../c-api/marshal.rst:40 +msgid "" "Marshal a Python object, *value*, to *file*. *version* indicates the file " "format." msgstr "" -#: ../../c-api/marshal.rst:42 +#: ../../c-api/marshal.rst:48 +msgid "" +"In Python 3.15 and earlier, this function can write only part of the data to " +"*file* and return without setting the error indicator, for example if " +"*value* contains an object which cannot be marshalled or if writing to " +"*file* fails (see :gh:`155907`). Code which has to support these versions " +"cannot rely on :c:func:`PyErr_Occurred` alone to know that all the data was " +"written. It can use :c:func:`PyMarshal_WriteObjectToString` and write the " +"result itself, or validate what was written." +msgstr "" + +#: ../../c-api/marshal.rst:59 msgid "" "Return a bytes object containing the marshalled representation of *value*. " "*version* indicates the file format." msgstr "" -#: ../../c-api/marshal.rst:46 +#: ../../c-api/marshal.rst:63 msgid "The following functions allow marshalled values to be read back in." msgstr "" -#: ../../c-api/marshal.rst:51 +#: ../../c-api/marshal.rst:68 msgid "" "Return a C :c:expr:`long` from the data stream in a :c:expr:`FILE*` opened " "for reading. Only a 32-bit value can be read in using this function, " "regardless of the native size of :c:expr:`long`." msgstr "" -#: ../../c-api/marshal.rst:55 ../../c-api/marshal.rst:65 +#: ../../c-api/marshal.rst:72 ../../c-api/marshal.rst:82 msgid "" "On error, sets the appropriate exception (:exc:`EOFError`) and returns " "``-1``." msgstr "" -#: ../../c-api/marshal.rst:61 +#: ../../c-api/marshal.rst:78 msgid "" "Return a C :c:expr:`short` from the data stream in a :c:expr:`FILE*` opened " "for reading. Only a 16-bit value can be read in using this function, " "regardless of the native size of :c:expr:`short`." msgstr "" -#: ../../c-api/marshal.rst:71 +#: ../../c-api/marshal.rst:88 msgid "" "Return a Python object from the data stream in a :c:expr:`FILE*` opened for " "reading." msgstr "" -#: ../../c-api/marshal.rst:74 ../../c-api/marshal.rst:88 -#: ../../c-api/marshal.rst:97 +#: ../../c-api/marshal.rst:91 ../../c-api/marshal.rst:105 +#: ../../c-api/marshal.rst:114 msgid "" "On error, sets the appropriate exception (:exc:`EOFError`, :exc:`ValueError` " "or :exc:`TypeError`) and returns ``NULL``." msgstr "" -#: ../../c-api/marshal.rst:80 +#: ../../c-api/marshal.rst:97 msgid "" "Return a Python object from the data stream in a :c:expr:`FILE*` opened for " "reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function " @@ -117,7 +135,7 @@ msgid "" "anything else from the file." msgstr "" -#: ../../c-api/marshal.rst:94 +#: ../../c-api/marshal.rst:111 msgid "" "Return a Python object from the data stream in a byte buffer containing " "*len* bytes pointed to by *data*." diff --git a/c-api/slice.po b/c-api/slice.po index 21c4ebbf..826766cf 100644 --- a/c-api/slice.po +++ b/c-api/slice.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-14 20:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -65,7 +65,7 @@ msgstr "" msgid "You probably do not want to use this function." msgstr "" -#: ../../c-api/slice.rst:44 ../../c-api/slice.rst:75 +#: ../../c-api/slice.rst:44 ../../c-api/slice.rst:76 msgid "" "The parameter type for the *slice* parameter was ``PySliceObject*`` before." msgstr "" @@ -76,21 +76,21 @@ msgid "" "stop, and step indices from the slice object *slice* assuming a sequence of " "length *length*, and store the length of the slice in *slicelength*. Out of " "bounds indices are clipped in a manner consistent with the handling of " -"normal slices." +"normal slices. *length* must not be negative." msgstr "" -#: ../../c-api/slice.rst:57 +#: ../../c-api/slice.rst:58 msgid "Return ``0`` on success and ``-1`` on error with an exception set." msgstr "" -#: ../../c-api/slice.rst:60 +#: ../../c-api/slice.rst:61 msgid "" "This function is considered not safe for resizable sequences. Its invocation " "should be replaced by a combination of :c:func:`PySlice_Unpack` and :c:func:" "`PySlice_AdjustIndices` where ::" msgstr "" -#: ../../c-api/slice.rst:64 +#: ../../c-api/slice.rst:65 msgid "" "if (PySlice_GetIndicesEx(slice, length, &start, &stop, &step, &slicelength) " "< 0) {\n" @@ -98,11 +98,11 @@ msgid "" "}" msgstr "" -#: ../../c-api/slice.rst:68 +#: ../../c-api/slice.rst:69 msgid "is replaced by ::" msgstr "" -#: ../../c-api/slice.rst:70 +#: ../../c-api/slice.rst:71 msgid "" "if (PySlice_Unpack(slice, &start, &stop, &step) < 0) {\n" " // return error\n" @@ -110,7 +110,7 @@ msgid "" "slicelength = PySlice_AdjustIndices(length, &start, &stop, step);" msgstr "" -#: ../../c-api/slice.rst:79 +#: ../../c-api/slice.rst:80 msgid "" "If ``Py_LIMITED_API`` is not set or set to the value between ``0x03050400`` " "and ``0x03060000`` (not including) or ``0x03060100`` or higher :c:func:`!" @@ -119,14 +119,14 @@ msgid "" "*stop* and *step* are evaluated more than once." msgstr "" -#: ../../c-api/slice.rst:86 +#: ../../c-api/slice.rst:87 msgid "" "If ``Py_LIMITED_API`` is set to the value less than ``0x03050400`` or " "between ``0x03060000`` and ``0x03060100`` (not including) :c:func:`!" "PySlice_GetIndicesEx` is a deprecated function." msgstr "" -#: ../../c-api/slice.rst:94 +#: ../../c-api/slice.rst:95 msgid "" "Extract the start, stop and step data members from a slice object as C " "integers. Silently reduce values larger than ``PY_SSIZE_T_MAX`` to " @@ -135,39 +135,45 @@ msgid "" "less than ``-PY_SSIZE_T_MAX`` to ``-PY_SSIZE_T_MAX``." msgstr "" -#: ../../c-api/slice.rst:100 +#: ../../c-api/slice.rst:101 msgid "Return ``-1`` with an exception set on error, ``0`` on success." msgstr "" -#: ../../c-api/slice.rst:107 +#: ../../c-api/slice.rst:108 msgid "" "Adjust start/end slice indices assuming a sequence of the specified length. " "Out of bounds indices are clipped in a manner consistent with the handling " "of normal slices." msgstr "" -#: ../../c-api/slice.rst:111 +#: ../../c-api/slice.rst:112 +msgid "" +"*length* must not be negative. *step* must not be zero and must not be less " +"than ``-PY_SSIZE_T_MAX``, as guaranteed by :c:func:`PySlice_Unpack`." +msgstr "" + +#: ../../c-api/slice.rst:116 msgid "" "Return the length of the slice. Always successful. Doesn't call Python " "code." msgstr "" -#: ../../c-api/slice.rst:118 +#: ../../c-api/slice.rst:123 msgid "Ellipsis Object" msgstr "" -#: ../../c-api/slice.rst:123 +#: ../../c-api/slice.rst:128 msgid "" "The type of Python :const:`Ellipsis` object. Same as :class:`types." "EllipsisType` in the Python layer." msgstr "" -#: ../../c-api/slice.rst:129 +#: ../../c-api/slice.rst:134 msgid "" "The Python ``Ellipsis`` object. This object has no methods. Like :c:data:" "`Py_None`, it is an :term:`immortal` singleton object." msgstr "" -#: ../../c-api/slice.rst:132 +#: ../../c-api/slice.rst:137 msgid ":c:data:`Py_Ellipsis` is immortal." msgstr "" diff --git a/cpython-src b/cpython-src index 5985fcbb..631ab6fd 160000 --- a/cpython-src +++ b/cpython-src @@ -1 +1 @@ -Subproject commit 5985fcbb43d19dd5caeadec0e2f241a3105a822e +Subproject commit 631ab6fdff98c1626228ccfe5f1e448025ea3249 diff --git a/howto/abi3t-migration.po b/howto/abi3t-migration.po index acfccf06..64e286ad 100644 --- a/howto/abi3t-migration.po +++ b/howto/abi3t-migration.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2026-09-22 21:21+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -313,63 +313,90 @@ msgid "" "ported to ``abi3t`` 3.15." msgstr "" -#: ../../howto/abi3t-migration.rst:173 +#: ../../howto/abi3t-migration.rst:175 msgid "Setting up the build" msgstr "" -#: ../../howto/abi3t-migration.rst:175 +#: ../../howto/abi3t-migration.rst:177 +msgid "" +"If you use a build tool, search its documentation for \"``abi3t``\", and " +"follow any instructions to select the ABI. For reference, here are direct " +"links for several popular build tools:" +msgstr "" + +#: ../../howto/abi3t-migration.rst:181 +msgid "" +"`meson-python `__" +msgstr "" + +#: ../../howto/abi3t-migration.rst:183 msgid "" -"If you use a build tool (such as setuptools, meson-python, scikit-build-" -"core), search its documentation for a way to select ``abi3t``. At the time " -"of writing, not all of them have this; but if your tool does, use it. You " -"may want to verify that it set the right flag by temporarily adding the " -"following just after ``#include ``::" +"`scikit-build-core `__" +msgstr "" + +#: ../../howto/abi3t-migration.rst:185 +msgid "`Maturin `__" msgstr "" -#: ../../howto/abi3t-migration.rst:182 +#: ../../howto/abi3t-migration.rst:187 +msgid "" +"You may want to verify that the tool set the right flag by temporarily " +"adding the following just after ``#include ``::" +msgstr "" + +#: ../../howto/abi3t-migration.rst:190 msgid "" "#if Py_TARGET_ABI3T+0 <= 0x30f0000\n" "#error \"abi3t define is not set!\"\n" "#endif" msgstr "" -#: ../../howto/abi3t-migration.rst:186 +#: ../../howto/abi3t-migration.rst:194 msgid "" "This should result in a different error than \"``abi3t`` define is not set\"." msgstr "" -#: ../../howto/abi3t-migration.rst:190 +#: ../../howto/abi3t-migration.rst:198 +msgid "" +"`Building and distributing abi3t extensions `__: Build configuration and wheel testing examples in the " +"community-maintained Python Free-Threading Guide." +msgstr "" + +#: ../../howto/abi3t-migration.rst:205 msgid "" "If your build tool doesn't support ``abi3t`` yet, set the following macro " "before including ``Python.h``::" msgstr "" -#: ../../howto/abi3t-migration.rst:193 +#: ../../howto/abi3t-migration.rst:208 msgid "#define Py_TARGET_ABI3T 0x30f0000" msgstr "" -#: ../../howto/abi3t-migration.rst:195 +#: ../../howto/abi3t-migration.rst:210 msgid "or specify it as a compiler flag, for example::" msgstr "" -#: ../../howto/abi3t-migration.rst:197 +#: ../../howto/abi3t-migration.rst:212 msgid "-DPy_TARGET_ABI3T=0x30f0000" msgstr "" -#: ../../howto/abi3t-migration.rst:199 +#: ../../howto/abi3t-migration.rst:214 msgid "" "Once your extension builds with this setting, it will be compatible with " "CPython 3.15 and above." msgstr "" -#: ../../howto/abi3t-migration.rst:202 +#: ../../howto/abi3t-migration.rst:217 msgid "" "If you set this macro manually, you will later need to name and tag the " "resulting extension manually as well. This is covered in :ref:`abi3t-" "migration-tagging` below." msgstr "" -#: ../../howto/abi3t-migration.rst:206 +#: ../../howto/abi3t-migration.rst:221 msgid "" "This guide will ask you to make a series of changes. After each one, verify " "that your extension still builds in the original (non-``abi3t``) " @@ -377,26 +404,27 @@ msgid "" "This will ensure that nothing breaks as you are porting." msgstr "" -#: ../../howto/abi3t-migration.rst:216 +#: ../../howto/abi3t-migration.rst:231 msgid "Module export hook" msgstr "" -#: ../../howto/abi3t-migration.rst:218 +#: ../../howto/abi3t-migration.rst:233 msgid "" "Unless you've done this step already, your extension module defines a :ref:" "`module initialization function ` named :samp:" -"`PyInit_{}`. You will need to port it to a :ref:`module export " -"hook `, :samp:`PyModExport_{}`, a " -"feature added in CPython 3.15 in :pep:`793`." +"`PyInit_{}` (where ``modname`` is the name of your module). You " +"will need to port it to a :ref:`module export hook `, :samp:`PyModExport_{}`, a feature added in CPython 3.15 in :" +"pep:`793`." msgstr "" -#: ../../howto/abi3t-migration.rst:225 +#: ../../howto/abi3t-migration.rst:240 msgid "" "Your existing init function should look like this (with your own names for " "```` and ````):" msgstr "" -#: ../../howto/abi3t-migration.rst:228 +#: ../../howto/abi3t-migration.rst:243 msgid "" "PyMODINIT_FUNC\n" "PyInit_(void)\n" @@ -405,21 +433,21 @@ msgid "" "}" msgstr "" -#: ../../howto/abi3t-migration.rst:237 +#: ../../howto/abi3t-migration.rst:252 msgid "" "If there is some code before the ``return``, move it to a :c:macro:" "`Py_mod_create` or :c:macro:`Py_mod_exec` slot function. See the :ref:" "`PyInit documentation ` for related information." msgstr "" -#: ../../howto/abi3t-migration.rst:241 +#: ../../howto/abi3t-migration.rst:256 msgid "" "The function references a ``PyModuleDef`` object (```` in the code " "above). Its definition should be similar to the following, with different " "values and perhaps some fields unnnamed or left out:" msgstr "" -#: ../../howto/abi3t-migration.rst:246 +#: ../../howto/abi3t-migration.rst:261 msgid "" "static PyModuleDef = {\n" " PyModuleDef_HEAD_INIT,\n" @@ -434,14 +462,14 @@ msgid "" "};" msgstr "" -#: ../../howto/abi3t-migration.rst:261 +#: ../../howto/abi3t-migration.rst:276 msgid "" "Remove this definition and the ``PyInit`` function (or put them in an " "``#ifndef Py_TARGET_ABI3T`` block, to retain backwards compatibility), and " "replace them with the following:" msgstr "" -#: ../../howto/abi3t-migration.rst:265 +#: ../../howto/abi3t-migration.rst:280 msgid "" "PyABIInfo_VAR(abi_info);\n" "\n" @@ -465,36 +493,66 @@ msgid "" "}" msgstr "" -#: ../../howto/abi3t-migration.rst:289 +#: ../../howto/abi3t-migration.rst:304 msgid "" "Leave out any fields that were missing (except the new :c:macro:" "`Py_mod_abi`), and substitute your own values." msgstr "" -#: ../../howto/abi3t-migration.rst:292 +#: ../../howto/abi3t-migration.rst:307 msgid "" "See the :c:type:`PySlot` and :c:ref:`export hook ` " "documentation for details on this API." msgstr "" -#: ../../howto/abi3t-migration.rst:295 +#: ../../howto/abi3t-migration.rst:310 msgid "" "As in the example, your ``PyModExport_`` function should *only* return a " "pointer to static data. If you cannot avoid additional code, refer to the :" "ref:`caveats in PyModExport documentation `." msgstr "" -#: ../../howto/abi3t-migration.rst:302 +#: ../../howto/abi3t-migration.rst:317 +msgid "" +"When building for Windows using the Setuptools_ build tool, removing the :" +"samp:`PyInit_{}` function may result in the linker error :samp:" +"`LINK : error LNK2001: unresolved external symbol PyInit_{}`. This " +"is caused by Setuptools passing an ``/EXPORT`` linker flag, which is " +"redundant since Python 3.15 (see :gh:`141671`). A workaround is to add a " +"dummy :samp:`PyInit_{}` function to your code. Python 3.15+ will " +"never call this function if :samp:`PyModExport_{}` is present, so " +"it can always fail:" +msgstr "" + +#: ../../howto/abi3t-migration.rst:327 +msgid "" +"// Workaround for https://github.com/pypa/distutils/issues/387\n" +"PyMODINIT_FUNC\n" +"PyInit_(void)\n" +"{\n" +" PyErr_SetString(PyExc_SystemError,\n" +" \"PyInit_* called for module with PyModExport_*\");\n" +" return NULL;\n" +"}" +msgstr "" + +#: ../../howto/abi3t-migration.rst:338 +msgid "" +"(This issue is present in Setuptools 84.0.0; it might be fixed in newer " +"versions.)" +msgstr "" + +#: ../../howto/abi3t-migration.rst:345 msgid "Existing slots" msgstr "" -#: ../../howto/abi3t-migration.rst:304 +#: ../../howto/abi3t-migration.rst:347 msgid "" "If you have a ``Py_mod_slots`` slot, check the array it refers to. It should " "be a :c:type:`PyModuleDef_Slot` array like the following:" msgstr "" -#: ../../howto/abi3t-migration.rst:307 +#: ../../howto/abi3t-migration.rst:350 msgid "" "static PyObject *create_module(PyObject *spec, PyModuleDef *def) { ... }\n" "static int my_first_module_exec(PyObject *module) { ... }\n" @@ -510,11 +568,11 @@ msgid "" "};" msgstr "" -#: ../../howto/abi3t-migration.rst:324 +#: ../../howto/abi3t-migration.rst:367 msgid "``py_mod_create``" msgstr "" -#: ../../howto/abi3t-migration.rst:327 +#: ../../howto/abi3t-migration.rst:370 msgid "" "If you have a :c:macro:`Py_mod_create` entry, make sure the function can be " "called with ``NULL`` as its second argument (instead of the :c:type:" @@ -522,12 +580,12 @@ msgid "" "all; you can check by renaming it:" msgstr "" -#: ../../howto/abi3t-migration.rst:332 +#: ../../howto/abi3t-migration.rst:375 msgid "" "static PyObject *create_module(PyObject *spec, PyModuleDef *_unused) { ... }" msgstr "" -#: ../../howto/abi3t-migration.rst:337 +#: ../../howto/abi3t-migration.rst:380 msgid "" "If the argument is used, find a different way to pass in the data. Commonly, " "the information is static and you can refer to it directly. (If you're " @@ -535,18 +593,18 @@ msgid "" "several functions instead.)" msgstr "" -#: ../../howto/abi3t-migration.rst:344 +#: ../../howto/abi3t-migration.rst:387 msgid "Multiple ``py_mod_exec``" msgstr "" -#: ../../howto/abi3t-migration.rst:346 +#: ../../howto/abi3t-migration.rst:389 msgid "" "If you have *more than one* :c:macro:`Py_mod_exec` entry, consolidate them: " "create a new function that calls the others, and replace existing slots with " "it." msgstr "" -#: ../../howto/abi3t-migration.rst:350 +#: ../../howto/abi3t-migration.rst:393 msgid "" "static int my_module_exec(PyObject *module) {\n" " if (my_first_module_exec(module) < 0) return -1;\n" @@ -562,23 +620,23 @@ msgid "" "};" msgstr "" -#: ../../howto/abi3t-migration.rst:366 +#: ../../howto/abi3t-migration.rst:409 msgid "" "If the functions aren't used elsewhere, you can combine their bodies instead." msgstr "" -#: ../../howto/abi3t-migration.rst:370 +#: ../../howto/abi3t-migration.rst:413 msgid "Merging slot arrays" msgstr "" -#: ../../howto/abi3t-migration.rst:372 +#: ../../howto/abi3t-migration.rst:415 msgid "" "Optionally, when you break compatibility with Python 3.14, you may clean up " "the code by moving slots into the :c:type:`PySlot` array, and converting the " "definitions to :c:macro:`PySlot_DATA` and :c:macro:`PySlot_FUNC`:" msgstr "" -#: ../../howto/abi3t-migration.rst:376 +#: ../../howto/abi3t-migration.rst:419 msgid "" "static PySlot my_slot_array[] = {\n" " ...\n" @@ -591,41 +649,41 @@ msgid "" "};" msgstr "" -#: ../../howto/abi3t-migration.rst:389 +#: ../../howto/abi3t-migration.rst:432 msgid "" "If you do this, delete the original :c:type:`PyModuleDef_Slot` array and its " "``Py_mod_slots`` entry." msgstr "" -#: ../../howto/abi3t-migration.rst:394 +#: ../../howto/abi3t-migration.rst:437 msgid "Associated ``PyModuleDef``" msgstr "" -#: ../../howto/abi3t-migration.rst:396 +#: ../../howto/abi3t-migration.rst:439 msgid "" "Since the new API does not use a :c:type:`!PyModuleDef` structure, a " "definition will not be associated with the resulting module. This changes " "the behavior of the following functions:" msgstr "" -#: ../../howto/abi3t-migration.rst:400 +#: ../../howto/abi3t-migration.rst:443 msgid ":c:func:`PyModule_GetDef`" msgstr "" -#: ../../howto/abi3t-migration.rst:401 +#: ../../howto/abi3t-migration.rst:444 msgid ":c:func:`PyType_GetModuleByDef`" msgstr "" -#: ../../howto/abi3t-migration.rst:403 +#: ../../howto/abi3t-migration.rst:446 msgid "" "Check your code for these. If you do not use them, you can skip this section." msgstr "" -#: ../../howto/abi3t-migration.rst:406 +#: ../../howto/abi3t-migration.rst:449 msgid "These functions are typically used for two purposes:" msgstr "" -#: ../../howto/abi3t-migration.rst:408 +#: ../../howto/abi3t-migration.rst:451 msgid "" "To get the definition the module was created with. This is no longer " "possible using the new API. Modules no longer keep a reference to the " @@ -633,7 +691,7 @@ msgid "" "relevant data around." msgstr "" -#: ../../howto/abi3t-migration.rst:415 +#: ../../howto/abi3t-migration.rst:458 msgid "" "To check if a given module object is “yours”. This use case is now served " "by :ref:`module tokens ` -- opaque pointers that identify " @@ -641,16 +699,16 @@ msgid "" "example:" msgstr "" -#: ../../howto/abi3t-migration.rst:420 +#: ../../howto/abi3t-migration.rst:463 msgid "static char my_token;" msgstr "" -#: ../../howto/abi3t-migration.rst:425 +#: ../../howto/abi3t-migration.rst:468 msgid "" "and add a pointer to it in a new entry to your module's ``PySlot`` array:" msgstr "" -#: ../../howto/abi3t-migration.rst:427 +#: ../../howto/abi3t-migration.rst:470 msgid "" "static PySlot my_slot_array[] = {\n" " ...\n" @@ -659,21 +717,21 @@ msgid "" "}" msgstr "" -#: ../../howto/abi3t-migration.rst:437 +#: ../../howto/abi3t-migration.rst:480 msgid "Then, switch from :c:func:`PyModule_GetDef` calls such as:" msgstr "" -#: ../../howto/abi3t-migration.rst:439 +#: ../../howto/abi3t-migration.rst:482 msgid "PyModuleDef *def = PyModule_GetDef(module);" msgstr "" -#: ../../howto/abi3t-migration.rst:444 +#: ../../howto/abi3t-migration.rst:487 msgid "" "to :c:func:`PyModule_GetToken` (which uses an output argument and may fail " "with an exception):" msgstr "" -#: ../../howto/abi3t-migration.rst:447 +#: ../../howto/abi3t-migration.rst:490 msgid "" "void *token;\n" "if (PyModule_GetToken(module, &token) < 0) {\n" @@ -681,63 +739,63 @@ msgid "" "}" msgstr "" -#: ../../howto/abi3t-migration.rst:455 +#: ../../howto/abi3t-migration.rst:498 msgid "and from :c:func:`PyType_GetModuleByDef` calls such as:" msgstr "" -#: ../../howto/abi3t-migration.rst:457 +#: ../../howto/abi3t-migration.rst:500 msgid "" "PyObject *module = PyType_GetModuleByDef(type, my_def);\n" "/* handle error; use module */" msgstr "" -#: ../../howto/abi3t-migration.rst:463 +#: ../../howto/abi3t-migration.rst:506 msgid "" "to :c:func:`PyType_GetModuleByToken` (which returns a strong reference):" msgstr "" -#: ../../howto/abi3t-migration.rst:465 +#: ../../howto/abi3t-migration.rst:508 msgid "" "PyObject *module = PyType_GetModuleByToken(type, my_token);\n" "/* handle error; use module */\n" "Py_XDECREF(module);" msgstr "" -#: ../../howto/abi3t-migration.rst:473 +#: ../../howto/abi3t-migration.rst:516 msgid "``PyObject`` opaqueness" msgstr "" -#: ../../howto/abi3t-migration.rst:475 +#: ../../howto/abi3t-migration.rst:518 msgid "" "The :c:type:`PyObject` and :c:type:`PyVarObject` structures are opaque in " "``abi3t``." msgstr "" -#: ../../howto/abi3t-migration.rst:478 +#: ../../howto/abi3t-migration.rst:521 msgid "" "Accessing their members is prohibited. If you do this, switch to getter/" "setter functions mentioned in their documentation:" msgstr "" -#: ../../howto/abi3t-migration.rst:482 +#: ../../howto/abi3t-migration.rst:525 msgid ":c:member:`PyObject.ob_type`" msgstr "" -#: ../../howto/abi3t-migration.rst:483 +#: ../../howto/abi3t-migration.rst:526 msgid ":c:member:`PyObject.ob_refcnt`" msgstr "" -#: ../../howto/abi3t-migration.rst:484 +#: ../../howto/abi3t-migration.rst:527 msgid ":c:member:`PyVarObject.ob_size`" msgstr "" -#: ../../howto/abi3t-migration.rst:486 +#: ../../howto/abi3t-migration.rst:529 msgid "" "Also, the *size* of the :c:type:`PyObject` structures is unknown to the " "compiler. It can -- and *does* -- change between different CPython builds." msgstr "" -#: ../../howto/abi3t-migration.rst:492 +#: ../../howto/abi3t-migration.rst:535 msgid "" "While the size is available at runtime (for example as ``sys." "getsizeof(object())`` in Python code), you should resist the temptation to " @@ -745,17 +803,17 @@ msgid "" "change in future ``abi3t`` implementations." msgstr "" -#: ../../howto/abi3t-migration.rst:500 +#: ../../howto/abi3t-migration.rst:543 msgid "Custom type definitions" msgstr "" -#: ../../howto/abi3t-migration.rst:502 +#: ../../howto/abi3t-migration.rst:545 msgid "" "Since :c:type:`!PyObject` is opaque, the traditional way of defining custom " "types no longer works:" msgstr "" -#: ../../howto/abi3t-migration.rst:505 +#: ../../howto/abi3t-migration.rst:548 msgid "" "typedef struct {\n" " PyObject_HEAD // expands to `PyObject ob_base;` which has unknown size\n" @@ -770,28 +828,28 @@ msgid "" "};" msgstr "" -#: ../../howto/abi3t-migration.rst:520 +#: ../../howto/abi3t-migration.rst:563 msgid "" "Most likely, all your class definitions, *and* all code that accesses your " "classes' data, will need to be rewritten. This will probably be the biggest " "change you need to support ``abi3t``." msgstr "" -#: ../../howto/abi3t-migration.rst:524 +#: ../../howto/abi3t-migration.rst:567 msgid "" "For each such type, instead of defining a ``struct`` for the entire " "instance, define one with only the “additional” fields -- ones specific to " "your class, not its superclasses:" msgstr "" -#: ../../howto/abi3t-migration.rst:528 +#: ../../howto/abi3t-migration.rst:571 msgid "" "typedef struct {\n" " int my_data;\n" "} CustomObjectData;" msgstr "" -#: ../../howto/abi3t-migration.rst:535 +#: ../../howto/abi3t-migration.rst:578 msgid "" "Change the name. Almost all code that uses the struct will need to change " "(notably, pointers to the new structure cannot be cast to/from " @@ -801,13 +859,13 @@ msgid "" "running tools to detect undefined behavior.)" msgstr "" -#: ../../howto/abi3t-migration.rst:543 +#: ../../howto/abi3t-migration.rst:586 msgid "" "Then, to create the class, use *negative* ``basicsize`` to indicate “extra” " "storage space rather than *total* instance size:" msgstr "" -#: ../../howto/abi3t-migration.rst:546 +#: ../../howto/abi3t-migration.rst:589 msgid "" "static PyType_Spec CustomType_spec = {\n" " ...\n" @@ -816,36 +874,36 @@ msgid "" "};" msgstr "" -#: ../../howto/abi3t-migration.rst:555 +#: ../../howto/abi3t-migration.rst:598 msgid "" "If you use :c:macro:`Py_tp_members`, set the :c:macro:`Py_RELATIVE_OFFSET` " "flag on each member and specify the :c:member:`~PyMemberDef.offset` relative " "to your new struct." msgstr "" -#: ../../howto/abi3t-migration.rst:561 +#: ../../howto/abi3t-migration.rst:604 msgid "Custom type data access" msgstr "" -#: ../../howto/abi3t-migration.rst:563 +#: ../../howto/abi3t-migration.rst:606 msgid "" "Then comes the hard part: in all code that needs to access this struct, you " "will need an additional :c:func:`PyObject_GetTypeData` call to retrieve a " "``CustomObjectData *`` pointer from ``PyObject *``:" msgstr "" -#: ../../howto/abi3t-migration.rst:567 +#: ../../howto/abi3t-migration.rst:610 msgid "" "PyObject *obj = ...;\n" "CustomObjectData *data = PyObject_GetTypeData(obj, cls);" msgstr "" -#: ../../howto/abi3t-migration.rst:573 +#: ../../howto/abi3t-migration.rst:616 msgid "" "Note that this call requires the *type object* for your class (``cls``)." msgstr "" -#: ../../howto/abi3t-migration.rst:575 +#: ../../howto/abi3t-migration.rst:618 msgid "" "If your class is not subclassable (that is, it does not use the :c:macro:" "`Py_TPFLAGS_BASETYPE` flag), ``cls`` will be ``Py_TYPE(obj)``. Otherwise, " @@ -854,19 +912,19 @@ msgid "" "makes a subclass like this:" msgstr "" -#: ../../howto/abi3t-migration.rst:581 +#: ../../howto/abi3t-migration.rst:624 msgid "" "class Sub(YourCustomClass):\n" " __slots__ = ('a', 'b')" msgstr "" -#: ../../howto/abi3t-migration.rst:586 +#: ../../howto/abi3t-migration.rst:629 msgid "" "then ``Py_TYPE(obj)`` is ``Sub``, and the underlying memory may look like " "this:" msgstr "" -#: ../../howto/abi3t-migration.rst:589 +#: ../../howto/abi3t-migration.rst:632 msgid "" "╭─ PyObject *obj\n" "│ ╭─ the pointer you want\n" @@ -878,31 +936,31 @@ msgid "" "└──────────┴───┴────────────────┴───┴─────────────┴───┴─────────────┘" msgstr "" -#: ../../howto/abi3t-migration.rst:599 +#: ../../howto/abi3t-migration.rst:642 msgid "" "(Ellipses indicate possible padding. Note that this memory layout is not " "guaranteed: future versions of Python may add different padding or even " "switch the order of the structures.)" msgstr "" -#: ../../howto/abi3t-migration.rst:603 +#: ../../howto/abi3t-migration.rst:646 msgid "There are two main ways to get the right class:" msgstr "" -#: ../../howto/abi3t-migration.rst:605 +#: ../../howto/abi3t-migration.rst:648 msgid "" "In instance methods, your implementation may use the :c:type:`PyCMethod` " "signature (and the :c:macro:`METH_METHOD` bit in :c:member:`PyMethodDef." "ml_flags`), and get the class as the ``defining_class`` argument." msgstr "" -#: ../../howto/abi3t-migration.rst:609 +#: ../../howto/abi3t-migration.rst:652 msgid "" "Otherwise, give your class a unique static token using the :c:macro:" "`Py_tp_token` slot, and use:" msgstr "" -#: ../../howto/abi3t-migration.rst:612 +#: ../../howto/abi3t-migration.rst:655 msgid "" "PyTypeObject cls;\n" "if (PyType_GetBaseByToken(Py_TYPE(obj), my_tp_token, &cls) < 0) {\n" @@ -911,17 +969,17 @@ msgid "" "CustomObjectData *data = PyObject_GetTypeData(obj, cls);" msgstr "" -#: ../../howto/abi3t-migration.rst:621 +#: ../../howto/abi3t-migration.rst:664 msgid "" "Type tokens work similarly to module tokens covered :ref:`earlier in this " "guide `." msgstr "" -#: ../../howto/abi3t-migration.rst:627 +#: ../../howto/abi3t-migration.rst:670 msgid "Avoid build-time conditionals" msgstr "" -#: ../../howto/abi3t-migration.rst:629 +#: ../../howto/abi3t-migration.rst:672 msgid "" "Check your code for API that identifies the version of Python used to " "*build* your extension. This no longer corresponds to the Python your " @@ -929,23 +987,23 @@ msgid "" "The macros to check for are:" msgstr "" -#: ../../howto/abi3t-migration.rst:635 +#: ../../howto/abi3t-migration.rst:678 msgid "" ":c:macro:`PY_VERSION_HEX`, :c:macro:`PY_MAJOR_VERSION`, :c:macro:" "`PY_MINOR_VERSION`:" msgstr "" -#: ../../howto/abi3t-migration.rst:638 +#: ../../howto/abi3t-migration.rst:681 msgid "to get the run-time version, use :c:data:`Py_Version`;" msgstr "" -#: ../../howto/abi3t-migration.rst:639 +#: ../../howto/abi3t-migration.rst:682 msgid "" "to determine what C API is available, use :c:macro:`Py_TARGET_ABI3T`. This " "macro is set to the minimum supported version." msgstr "" -#: ../../howto/abi3t-migration.rst:642 +#: ../../howto/abi3t-migration.rst:685 msgid "" ":c:macro:`Py_GIL_DISABLED`: under ``abi3t``, this macro is always defined. " "Code that works with free-threaded Python *should* also work with the GIL " @@ -954,65 +1012,65 @@ msgid "" "state ` at one time)." msgstr "" -#: ../../howto/abi3t-migration.rst:650 +#: ../../howto/abi3t-migration.rst:693 msgid "Further code changes" msgstr "" -#: ../../howto/abi3t-migration.rst:652 +#: ../../howto/abi3t-migration.rst:695 msgid "" "If you are still left with compiler errors or warnings, find a way to fix " "them. Alas, this guide is limited, and cannot cover all possible code " "changes extensions may need." msgstr "" -#: ../../howto/abi3t-migration.rst:656 +#: ../../howto/abi3t-migration.rst:699 msgid "" "If you find a problem that other extension authors might run into, consider :" "ref:`reporting an issue ` (or sending a pull " "request) for this guide." msgstr "" -#: ../../howto/abi3t-migration.rst:660 +#: ../../howto/abi3t-migration.rst:703 msgid "" "It is possible your issue cannot be fixed for the current version of " "``abi3t``. In that case, reporting it may help it get prioritized for the " "next version of CPython." msgstr "" -#: ../../howto/abi3t-migration.rst:668 +#: ../../howto/abi3t-migration.rst:711 msgid "Tagging and distribution" msgstr "" -#: ../../howto/abi3t-migration.rst:670 +#: ../../howto/abi3t-migration.rst:713 msgid "" "If you are using a build tool with ``abi3t`` support, your extension is " "ready, but you might want to check that it was built correctly." msgstr "" -#: ../../howto/abi3t-migration.rst:673 +#: ../../howto/abi3t-migration.rst:716 msgid "Extensions built with ``abi3t`` should have the following extension:" msgstr "" -#: ../../howto/abi3t-migration.rst:675 +#: ../../howto/abi3t-migration.rst:718 msgid "On Windows: ``.pyd`` (like any other extension);" msgstr "" -#: ../../howto/abi3t-migration.rst:676 +#: ../../howto/abi3t-migration.rst:719 msgid "" "Linux, macOS, and other systems that use the ``.so`` suffix: ``.abi3t.so`` " "(**not** ``.cpython-315t.so`` or ``.abi3.so``). Note that both free-threaded " "and non-free-threaded builds will load ``.abi3t.so`` extensions;" msgstr "" -#: ../../howto/abi3t-migration.rst:680 +#: ../../howto/abi3t-migration.rst:723 msgid "Other systems: consult your distributor, and perhaps update this guide." msgstr "" -#: ../../howto/abi3t-migration.rst:682 +#: ../../howto/abi3t-migration.rst:725 msgid "If you distribute the extension as a *wheel*, use the following tags:" msgstr "" -#: ../../howto/abi3t-migration.rst:684 +#: ../../howto/abi3t-migration.rst:727 msgid "" "Python tag: :samp:`cp3{XX}`, where *XX* is the minimum Python version the " "extension is built for. (For example, ``cp315`` if you set " @@ -1020,36 +1078,36 @@ msgid "" "values.)" msgstr "" -#: ../../howto/abi3t-migration.rst:688 +#: ../../howto/abi3t-migration.rst:731 msgid "" "ABI tag: ``abi3.abi3t``. This is a *compressed tag set* that indicates " "support for both non-free-threaded and free-threaded builds." msgstr "" -#: ../../howto/abi3t-migration.rst:691 +#: ../../howto/abi3t-migration.rst:734 msgid "For example, the wheel filename may look like this:" msgstr "" -#: ../../howto/abi3t-migration.rst:693 +#: ../../howto/abi3t-migration.rst:736 msgid "myproject-1.0-cp315-abi3.abi3t-macosx_11_0_arm64.whl" msgstr "" -#: ../../howto/abi3t-migration.rst:697 +#: ../../howto/abi3t-migration.rst:740 msgid "" "`Platform Compatibility Tags `__ in the PyPA package " "distribution metadata." msgstr "" -#: ../../howto/abi3t-migration.rst:699 +#: ../../howto/abi3t-migration.rst:742 msgid "If the filename or tags are incorrect, fix them." msgstr "" -#: ../../howto/abi3t-migration.rst:703 +#: ../../howto/abi3t-migration.rst:746 msgid "Testing" msgstr "" -#: ../../howto/abi3t-migration.rst:705 +#: ../../howto/abi3t-migration.rst:748 msgid "" "Note that when you build an extension compatible with multiple versions of " "CPython, you should always *test* it with each version it supports (for " @@ -1058,12 +1116,12 @@ msgid "" "(covered by :pep:`387`) and bugs." msgstr "" -#: ../../howto/abi3t-migration.rst:711 +#: ../../howto/abi3t-migration.rst:754 msgid "" "Be sure to run tests on both free-threaded and non-free-threaded builds of " "CPython." msgstr "" -#: ../../howto/abi3t-migration.rst:714 +#: ../../howto/abi3t-migration.rst:757 msgid "If they pass, congratulations! You have an ``abi3t`` extension." msgstr "" diff --git a/howto/free-threading-python.po b/howto/free-threading-python.po index 3a1eef2d..b0605143 100644 --- a/howto/free-threading-python.po +++ b/howto/free-threading-python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -138,33 +138,31 @@ msgid "" "behavior at the Python level to the default GIL-enabled build. Built-in " "types like :class:`dict`, :class:`list`, and :class:`set` use internal locks " "to protect against concurrent modifications in ways that behave similarly to " -"the GIL. However, Python has not historically guaranteed specific behavior " -"for concurrent modifications to these built-in types, so this should be " -"treated as a description of the current implementation, not a guarantee of " -"current or future behavior." +"the GIL. See :ref:`threadsafety` for the guarantees provided by built-in " +"types." msgstr "" -#: ../../howto/free-threading-python.rst:89 +#: ../../howto/free-threading-python.rst:86 msgid "" "It's recommended to use the :class:`threading.Lock` or other synchronization " "primitives instead of relying on the internal locks of built-in types, when " "possible." msgstr "" -#: ../../howto/free-threading-python.rst:95 +#: ../../howto/free-threading-python.rst:92 msgid "Known limitations" msgstr "" -#: ../../howto/free-threading-python.rst:97 +#: ../../howto/free-threading-python.rst:94 msgid "" "This section describes known limitations of the free-threaded CPython build." msgstr "" -#: ../../howto/free-threading-python.rst:100 +#: ../../howto/free-threading-python.rst:97 msgid "Immortalization" msgstr "" -#: ../../howto/free-threading-python.rst:102 +#: ../../howto/free-threading-python.rst:99 msgid "" "In the free-threaded build, some objects are :term:`immortal`. Immortal " "objects are not deallocated and have reference counts that are never " @@ -172,47 +170,47 @@ msgid "" "prevent efficient multi-threaded scaling." msgstr "" -#: ../../howto/free-threading-python.rst:107 +#: ../../howto/free-threading-python.rst:104 msgid "As of the 3.14 release, immortalization is limited to:" msgstr "" -#: ../../howto/free-threading-python.rst:109 +#: ../../howto/free-threading-python.rst:106 msgid "" "Code constants: numeric literals, string literals, and tuple literals " "composed of other constants." msgstr "" -#: ../../howto/free-threading-python.rst:111 +#: ../../howto/free-threading-python.rst:108 msgid "Strings interned by :func:`sys.intern`." msgstr "" -#: ../../howto/free-threading-python.rst:115 +#: ../../howto/free-threading-python.rst:112 msgid "Frame objects" msgstr "" -#: ../../howto/free-threading-python.rst:117 +#: ../../howto/free-threading-python.rst:114 msgid "" "It is not safe to access :attr:`frame.f_locals` from a :ref:`frame ` object if that frame is currently executing in another thread, and " "doing so may crash the interpreter." msgstr "" -#: ../../howto/free-threading-python.rst:123 +#: ../../howto/free-threading-python.rst:120 msgid "Iterators" msgstr "" -#: ../../howto/free-threading-python.rst:125 +#: ../../howto/free-threading-python.rst:122 msgid "" "It is generally not thread-safe to access the same iterator object from " "multiple threads concurrently, and threads may see duplicate or missing " "elements." msgstr "" -#: ../../howto/free-threading-python.rst:131 +#: ../../howto/free-threading-python.rst:128 msgid "Single-threaded performance" msgstr "" -#: ../../howto/free-threading-python.rst:133 +#: ../../howto/free-threading-python.rst:130 msgid "" "The free-threaded build has additional overhead when executing Python code " "compared to the default GIL-enabled build. The amount of overhead depends " @@ -221,21 +219,21 @@ msgid "" "systems." msgstr "" -#: ../../howto/free-threading-python.rst:141 +#: ../../howto/free-threading-python.rst:138 msgid "Behavioral changes" msgstr "" -#: ../../howto/free-threading-python.rst:143 +#: ../../howto/free-threading-python.rst:140 msgid "" "This section describes CPython behavioural changes with the free-threaded " "build." msgstr "" -#: ../../howto/free-threading-python.rst:148 +#: ../../howto/free-threading-python.rst:145 msgid "Context variables" msgstr "" -#: ../../howto/free-threading-python.rst:150 +#: ../../howto/free-threading-python.rst:147 msgid "" "In the free-threaded build, the flag :data:`~sys.flags." "thread_inherit_context` is set to true by default which causes threads " @@ -245,11 +243,11 @@ msgid "" "start with an empty :class:`~contextvars.Context()`." msgstr "" -#: ../../howto/free-threading-python.rst:160 +#: ../../howto/free-threading-python.rst:157 msgid "Warning filters" msgstr "" -#: ../../howto/free-threading-python.rst:162 +#: ../../howto/free-threading-python.rst:159 msgid "" "In the free-threaded build, the flag :data:`~sys.flags." "context_aware_warnings` is set to true by default. In the default GIL-" @@ -260,22 +258,22 @@ msgid "" "See the :mod:`warnings` module for more details." msgstr "" -#: ../../howto/free-threading-python.rst:171 +#: ../../howto/free-threading-python.rst:168 msgid "Increased memory usage" msgstr "" -#: ../../howto/free-threading-python.rst:173 +#: ../../howto/free-threading-python.rst:170 msgid "" "The free-threaded build will typically use more memory compared to the " "default build. There are multiple reasons for this, mostly due to design " "decisions." msgstr "" -#: ../../howto/free-threading-python.rst:178 +#: ../../howto/free-threading-python.rst:175 msgid "All interned strings are immortal" msgstr "" -#: ../../howto/free-threading-python.rst:180 +#: ../../howto/free-threading-python.rst:177 msgid "" "For modern Python versions (since version 2.3), interning a string (e.g. " "with :func:`sys.intern`) does not cause it to become immortal. Instead, if " @@ -285,11 +283,11 @@ msgid "" "shutdown." msgstr "" -#: ../../howto/free-threading-python.rst:188 +#: ../../howto/free-threading-python.rst:185 msgid "Non-GC objects have a larger object header" msgstr "" -#: ../../howto/free-threading-python.rst:190 +#: ../../howto/free-threading-python.rst:187 msgid "" "The free-threaded build uses a different :c:type:`PyObject` structure. " "Instead of having the GC related information allocated before the :c:type:" @@ -300,11 +298,11 @@ msgid "" "the free-threaded build does not use additional space for the GC info." msgstr "" -#: ../../howto/free-threading-python.rst:200 +#: ../../howto/free-threading-python.rst:197 msgid "QSBR can delay freeing of memory" msgstr "" -#: ../../howto/free-threading-python.rst:202 +#: ../../howto/free-threading-python.rst:199 msgid "" "In order to safely implement lock-free data structures, a safe memory " "reclamation (SMR) scheme is used, known as quiescent state-based reclamation " @@ -319,11 +317,11 @@ msgid "" "the OS and so the resident set size (RSS) of the process might not decrease." msgstr "" -#: ../../howto/free-threading-python.rst:216 +#: ../../howto/free-threading-python.rst:213 msgid "mimalloc allocator vs pymalloc" msgstr "" -#: ../../howto/free-threading-python.rst:218 +#: ../../howto/free-threading-python.rst:215 msgid "" "The default build will normally use the \"pymalloc\" memory allocator for " "small allocations (512 bytes or smaller). The free-threaded build does not " @@ -335,7 +333,7 @@ msgid "" "but can have some more overhead." msgstr "" -#: ../../howto/free-threading-python.rst:227 +#: ../../howto/free-threading-python.rst:224 msgid "" "In the free-threaded build, mimalloc manages memory in a number of separate " "heaps (currently four). For example, all GC supporting objects are " @@ -348,7 +346,7 @@ msgid "" "new allocations or back to the OS." msgstr "" -#: ../../howto/free-threading-python.rst:237 +#: ../../howto/free-threading-python.rst:234 msgid "" "The mimalloc allocator also defers returning freed memory back to the OS. " "You can reduce that delay by setting the environment variable :envvar:`!" @@ -356,11 +354,11 @@ msgid "" "performance of the allocator." msgstr "" -#: ../../howto/free-threading-python.rst:244 +#: ../../howto/free-threading-python.rst:241 msgid "Free-threaded reference counting can cause objects to live longer" msgstr "" -#: ../../howto/free-threading-python.rst:246 +#: ../../howto/free-threading-python.rst:243 msgid "" "In the default build, when an object's reference count reaches zero, it is " "normally deallocated. The free-threaded build uses \"biased reference " @@ -371,7 +369,7 @@ msgid "" "section of the bytecode evaluator." msgstr "" -#: ../../howto/free-threading-python.rst:254 +#: ../../howto/free-threading-python.rst:251 msgid "" "The free-threaded build also allows a different mode of reference counting, " "known as \"deferred reference counting\". This mode is enabled by setting a " @@ -379,27 +377,27 @@ msgid "" "following types:" msgstr "" -#: ../../howto/free-threading-python.rst:259 +#: ../../howto/free-threading-python.rst:256 msgid "module objects" msgstr "" -#: ../../howto/free-threading-python.rst:260 +#: ../../howto/free-threading-python.rst:257 msgid "module top-level functions" msgstr "" -#: ../../howto/free-threading-python.rst:261 +#: ../../howto/free-threading-python.rst:258 msgid "class methods defined in the class scope" msgstr "" -#: ../../howto/free-threading-python.rst:262 +#: ../../howto/free-threading-python.rst:259 msgid "descriptor objects" msgstr "" -#: ../../howto/free-threading-python.rst:263 +#: ../../howto/free-threading-python.rst:260 msgid "thread-local objects, created by :class:`threading.local`" msgstr "" -#: ../../howto/free-threading-python.rst:265 +#: ../../howto/free-threading-python.rst:262 msgid "" "When deferred reference counting is enabled, references from Python function " "stacks are not added to the reference count. This scheme reduces the " @@ -412,11 +410,11 @@ msgid "" "as is typical." msgstr "" -#: ../../howto/free-threading-python.rst:276 +#: ../../howto/free-threading-python.rst:273 msgid "Per-thread reference counting can delay freeing objects" msgstr "" -#: ../../howto/free-threading-python.rst:278 +#: ../../howto/free-threading-python.rst:275 msgid "" "To avoid contention on the reference count fields of frequently shared " "objects, the free-threaded build also uses \"per-thread reference counting\" " @@ -427,19 +425,19 @@ msgid "" "drops to zero. Per-thread reference counting is currently used for:" msgstr "" -#: ../../howto/free-threading-python.rst:286 +#: ../../howto/free-threading-python.rst:283 msgid "heap type objects (classes created in Python)" msgstr "" -#: ../../howto/free-threading-python.rst:287 +#: ../../howto/free-threading-python.rst:284 msgid "code objects" msgstr "" -#: ../../howto/free-threading-python.rst:288 +#: ../../howto/free-threading-python.rst:285 msgid "the ``__dict__`` of module objects" msgstr "" -#: ../../howto/free-threading-python.rst:290 +#: ../../howto/free-threading-python.rst:287 msgid "" "Because the per-thread counts must be merged back to the object before it " "can be deallocated, objects using per-thread reference counting are " diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index 59d7b418..866a3201 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -263,8 +263,8 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:183 -#: ../../library/asyncio-eventloop.rst:1397 -#: ../../library/asyncio-eventloop.rst:1859 +#: ../../library/asyncio-eventloop.rst:1401 +#: ../../library/asyncio-eventloop.rst:1863 msgid "Example::" msgstr "Beispiel::" @@ -629,8 +629,8 @@ msgid "The socket type will be :py:const:`~socket.SOCK_STREAM`." msgstr "" #: ../../library/asyncio-eventloop.rst:466 -#: ../../library/asyncio-eventloop.rst:1274 -#: ../../library/asyncio-eventloop.rst:1293 +#: ../../library/asyncio-eventloop.rst:1278 +#: ../../library/asyncio-eventloop.rst:1297 msgid "" "*protocol_factory* must be a callable returning an :ref:`asyncio protocol " "` implementation." @@ -674,7 +674,7 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:488 -#: ../../library/asyncio-eventloop.rst:621 +#: ../../library/asyncio-eventloop.rst:625 msgid "Other arguments:" msgstr "" @@ -740,8 +740,8 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:536 -#: ../../library/asyncio-eventloop.rst:658 -#: ../../library/asyncio-eventloop.rst:906 +#: ../../library/asyncio-eventloop.rst:662 +#: ../../library/asyncio-eventloop.rst:910 msgid "" "The *sock* argument transfers ownership of the socket to the transport " "created. To close the socket, call the transport's :meth:`~asyncio." @@ -756,7 +756,7 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:544 -#: ../../library/asyncio-eventloop.rst:1002 +#: ../../library/asyncio-eventloop.rst:1006 msgid "" "*ssl_handshake_timeout* is (for a TLS connection) the time in seconds to " "wait for the TLS handshake to complete before aborting the connection. " @@ -764,9 +764,9 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:548 -#: ../../library/asyncio-eventloop.rst:813 -#: ../../library/asyncio-eventloop.rst:917 -#: ../../library/asyncio-eventloop.rst:1006 +#: ../../library/asyncio-eventloop.rst:817 +#: ../../library/asyncio-eventloop.rst:921 +#: ../../library/asyncio-eventloop.rst:1010 msgid "" "*ssl_shutdown_timeout* is the time in seconds to wait for the SSL shutdown " "to complete before aborting the connection. ``30.0`` seconds if ``None`` " @@ -784,7 +784,7 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:562 -#: ../../library/asyncio-eventloop.rst:825 +#: ../../library/asyncio-eventloop.rst:829 msgid "Added support for SSL/TLS in :class:`ProactorEventLoop`." msgstr "" @@ -795,7 +795,7 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:571 -#: ../../library/asyncio-eventloop.rst:927 +#: ../../library/asyncio-eventloop.rst:931 msgid "Added the *ssl_handshake_timeout* parameter." msgstr "" @@ -819,11 +819,11 @@ msgid "For more information: https://datatracker.ietf.org/doc/html/rfc6555" msgstr "" #: ../../library/asyncio-eventloop.rst:590 -#: ../../library/asyncio-eventloop.rst:722 -#: ../../library/asyncio-eventloop.rst:839 -#: ../../library/asyncio-eventloop.rst:879 -#: ../../library/asyncio-eventloop.rst:931 -#: ../../library/asyncio-eventloop.rst:1014 +#: ../../library/asyncio-eventloop.rst:726 +#: ../../library/asyncio-eventloop.rst:843 +#: ../../library/asyncio-eventloop.rst:883 +#: ../../library/asyncio-eventloop.rst:935 +#: ../../library/asyncio-eventloop.rst:1018 msgid "Added the *ssl_shutdown_timeout* parameter." msgstr "" @@ -831,62 +831,68 @@ msgstr "" msgid "*all_errors* was added." msgstr "" -#: ../../library/asyncio-eventloop.rst:597 +#: ../../library/asyncio-eventloop.rst:595 +msgid "" +"Raises a ``ValueError`` if ``ssl.check_hostname`` is ``True`` and " +"``server_hostname`` is not supplied." +msgstr "" + +#: ../../library/asyncio-eventloop.rst:601 msgid "" "The :func:`open_connection` function is a high-level alternative API. It " "returns a pair of (:class:`StreamReader`, :class:`StreamWriter`) that can be " "used directly in async/await code." msgstr "" -#: ../../library/asyncio-eventloop.rst:608 +#: ../../library/asyncio-eventloop.rst:612 msgid "Create a datagram connection." msgstr "" -#: ../../library/asyncio-eventloop.rst:610 +#: ../../library/asyncio-eventloop.rst:614 msgid "" "The socket family can be either :py:const:`~socket.AF_INET`, :py:const:" "`~socket.AF_INET6`, or :py:const:`~socket.AF_UNIX`, depending on *host* (or " "the *family* argument, if provided)." msgstr "" -#: ../../library/asyncio-eventloop.rst:614 +#: ../../library/asyncio-eventloop.rst:618 msgid "The socket type will be :py:const:`~socket.SOCK_DGRAM`." msgstr "" -#: ../../library/asyncio-eventloop.rst:616 -#: ../../library/asyncio-eventloop.rst:749 -#: ../../library/asyncio-eventloop.rst:898 +#: ../../library/asyncio-eventloop.rst:620 +#: ../../library/asyncio-eventloop.rst:753 +#: ../../library/asyncio-eventloop.rst:902 msgid "" "*protocol_factory* must be a callable returning a :ref:`protocol ` implementation." msgstr "" -#: ../../library/asyncio-eventloop.rst:619 -#: ../../library/asyncio-eventloop.rst:704 +#: ../../library/asyncio-eventloop.rst:623 +#: ../../library/asyncio-eventloop.rst:708 msgid "A tuple of ``(transport, protocol)`` is returned on success." msgstr "" -#: ../../library/asyncio-eventloop.rst:623 +#: ../../library/asyncio-eventloop.rst:627 msgid "" "*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " "the socket locally. The *local_host* and *local_port* are looked up using :" "meth:`getaddrinfo`." msgstr "" -#: ../../library/asyncio-eventloop.rst:629 +#: ../../library/asyncio-eventloop.rst:633 msgid "" "On Windows, when using the proactor event loop with ``local_addr=None``, an :" "exc:`OSError` with :attr:`!errno.WSAEINVAL` will be raised when running it." msgstr "" -#: ../../library/asyncio-eventloop.rst:633 +#: ../../library/asyncio-eventloop.rst:637 msgid "" "*remote_addr*, if given, is a ``(remote_host, remote_port)`` tuple used to " "connect the socket to a remote address. The *remote_host* and *remote_port* " "are looked up using :meth:`getaddrinfo`." msgstr "" -#: ../../library/asyncio-eventloop.rst:637 +#: ../../library/asyncio-eventloop.rst:641 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to :meth:`getaddrinfo` for *host* resolution. If " @@ -894,7 +900,7 @@ msgid "" "module constants." msgstr "" -#: ../../library/asyncio-eventloop.rst:642 +#: ../../library/asyncio-eventloop.rst:646 msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " @@ -903,13 +909,13 @@ msgid "" "is not defined then this capability is unsupported." msgstr "" -#: ../../library/asyncio-eventloop.rst:648 +#: ../../library/asyncio-eventloop.rst:652 msgid "" "*allow_broadcast* tells the kernel to allow this endpoint to send messages " "to the broadcast address." msgstr "" -#: ../../library/asyncio-eventloop.rst:651 +#: ../../library/asyncio-eventloop.rst:655 msgid "" "*sock* can optionally be specified in order to use a preexisting, already " "connected, :class:`socket.socket` object to be used by the transport. If " @@ -917,37 +923,37 @@ msgid "" "`None`)." msgstr "" -#: ../../library/asyncio-eventloop.rst:662 +#: ../../library/asyncio-eventloop.rst:666 msgid "" "See :ref:`UDP echo client protocol ` and :" "ref:`UDP echo server protocol ` examples." msgstr "" -#: ../../library/asyncio-eventloop.rst:665 +#: ../../library/asyncio-eventloop.rst:669 msgid "" "The *family*, *proto*, *flags*, *reuse_address*, *reuse_port*, " "*allow_broadcast*, and *sock* parameters were added." msgstr "" -#: ../../library/asyncio-eventloop.rst:669 +#: ../../library/asyncio-eventloop.rst:673 msgid "Added support for Windows." msgstr "" -#: ../../library/asyncio-eventloop.rst:672 +#: ../../library/asyncio-eventloop.rst:676 msgid "" "The *reuse_address* parameter is no longer supported, as using :ref:`socket." "SO_REUSEADDR ` poses a significant security concern " "for UDP. Explicitly passing ``reuse_address=True`` will raise an exception." msgstr "" -#: ../../library/asyncio-eventloop.rst:678 +#: ../../library/asyncio-eventloop.rst:682 msgid "" "When multiple processes with differing UIDs assign sockets to an identical " "UDP socket address with ``SO_REUSEADDR``, incoming packets can become " "randomly distributed among the sockets." msgstr "" -#: ../../library/asyncio-eventloop.rst:682 +#: ../../library/asyncio-eventloop.rst:686 msgid "" "For supported platforms, *reuse_port* can be used as a replacement for " "similar functionality. With *reuse_port*, :ref:`socket.SO_REUSEPORT ` is set by default " "for all TCP connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:843 +#: ../../library/asyncio-eventloop.rst:847 msgid "" "The :func:`start_server` function is a higher-level alternative API that " "returns a pair of :class:`StreamReader` and :class:`StreamWriter` that can " "be used in an async/await code." msgstr "" -#: ../../library/asyncio-eventloop.rst:855 +#: ../../library/asyncio-eventloop.rst:859 msgid "" "Similar to :meth:`loop.create_server` but works with the :py:const:`~socket." "AF_UNIX` socket family." msgstr "" -#: ../../library/asyncio-eventloop.rst:858 +#: ../../library/asyncio-eventloop.rst:862 msgid "" "*path* is the name of a Unix domain socket, and is required, unless a *sock* " "argument is provided. Abstract Unix sockets, :class:`str`, :class:`bytes`, " "and :class:`~pathlib.Path` paths are supported." msgstr "" -#: ../../library/asyncio-eventloop.rst:863 +#: ../../library/asyncio-eventloop.rst:867 msgid "" "If *cleanup_socket* is true then the Unix socket will automatically be " "removed from the filesystem when the server is closed, unless the socket has " "been replaced after the server has been created." msgstr "" -#: ../../library/asyncio-eventloop.rst:867 +#: ../../library/asyncio-eventloop.rst:871 msgid "" "See the documentation of the :meth:`loop.create_server` method for " "information about arguments to this method." msgstr "" -#: ../../library/asyncio-eventloop.rst:874 +#: ../../library/asyncio-eventloop.rst:878 msgid "" "Added the *ssl_handshake_timeout* and *start_serving* parameters. The *path* " "parameter can now be a :class:`~pathlib.Path` object." msgstr "" -#: ../../library/asyncio-eventloop.rst:883 +#: ../../library/asyncio-eventloop.rst:887 msgid "Added the *cleanup_socket* parameter." msgstr "" -#: ../../library/asyncio-eventloop.rst:891 +#: ../../library/asyncio-eventloop.rst:895 msgid "Wrap an already accepted connection into a transport/protocol pair." msgstr "" -#: ../../library/asyncio-eventloop.rst:893 +#: ../../library/asyncio-eventloop.rst:897 msgid "" "This method can be used by servers that accept connections outside of " "asyncio but that use asyncio to handle them." msgstr "" -#: ../../library/asyncio-eventloop.rst:896 -#: ../../library/asyncio-eventloop.rst:988 +#: ../../library/asyncio-eventloop.rst:900 +#: ../../library/asyncio-eventloop.rst:992 msgid "Parameters:" msgstr "" -#: ../../library/asyncio-eventloop.rst:901 +#: ../../library/asyncio-eventloop.rst:905 msgid "" "*sock* is a preexisting socket object returned from :meth:`socket.accept " "`." msgstr "" -#: ../../library/asyncio-eventloop.rst:910 +#: ../../library/asyncio-eventloop.rst:914 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the " "accepted connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:913 +#: ../../library/asyncio-eventloop.rst:917 msgid "" "*ssl_handshake_timeout* is (for an SSL connection) the time in seconds to " "wait for the SSL handshake to complete before aborting the connection. " "``60.0`` seconds if ``None`` (default)." msgstr "" -#: ../../library/asyncio-eventloop.rst:921 +#: ../../library/asyncio-eventloop.rst:925 msgid "Returns a ``(transport, protocol)`` pair." msgstr "" -#: ../../library/asyncio-eventloop.rst:935 +#: ../../library/asyncio-eventloop.rst:939 msgid "Transferring files" msgstr "" -#: ../../library/asyncio-eventloop.rst:941 +#: ../../library/asyncio-eventloop.rst:945 msgid "" "Send a *file* over a *transport*. Return the total number of bytes sent." msgstr "" -#: ../../library/asyncio-eventloop.rst:944 +#: ../../library/asyncio-eventloop.rst:948 msgid "The method uses high-performance :meth:`os.sendfile` if available." msgstr "" -#: ../../library/asyncio-eventloop.rst:946 +#: ../../library/asyncio-eventloop.rst:950 msgid "*file* must be a regular file object opened in binary mode." msgstr "" -#: ../../library/asyncio-eventloop.rst:948 -#: ../../library/asyncio-eventloop.rst:1218 +#: ../../library/asyncio-eventloop.rst:952 +#: ../../library/asyncio-eventloop.rst:1222 msgid "" "*offset* tells from where to start reading the file. If specified, *count* " "is the total number of bytes to transmit as opposed to sending the file " @@ -1242,35 +1248,35 @@ msgid "" "obtain the actual number of bytes sent." msgstr "" -#: ../../library/asyncio-eventloop.rst:955 +#: ../../library/asyncio-eventloop.rst:959 msgid "" "*fallback* set to ``True`` makes asyncio to manually read and send the file " "when the platform does not support the sendfile system call (e.g. Windows or " "SSL socket on Unix)." msgstr "" -#: ../../library/asyncio-eventloop.rst:959 +#: ../../library/asyncio-eventloop.rst:963 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support the " "*sendfile* syscall and *fallback* is ``False``." msgstr "" -#: ../../library/asyncio-eventloop.rst:966 +#: ../../library/asyncio-eventloop.rst:970 msgid "TLS upgrade" msgstr "" -#: ../../library/asyncio-eventloop.rst:974 +#: ../../library/asyncio-eventloop.rst:978 msgid "Upgrade an existing transport-based connection to TLS." msgstr "" -#: ../../library/asyncio-eventloop.rst:976 +#: ../../library/asyncio-eventloop.rst:980 msgid "" "Create a TLS coder/decoder instance and insert it between the *transport* " "and the *protocol*. The coder/decoder implements both *transport*-facing " "protocol and *protocol*-facing transport." msgstr "" -#: ../../library/asyncio-eventloop.rst:980 +#: ../../library/asyncio-eventloop.rst:984 msgid "" "Return the created two-interface instance. After *await*, the *protocol* " "must stop using the original *transport* and communicate with the returned " @@ -1278,88 +1284,88 @@ msgid "" "exchanges extra TLS session packets with *transport*." msgstr "" -#: ../../library/asyncio-eventloop.rst:985 +#: ../../library/asyncio-eventloop.rst:989 msgid "" "In some situations (e.g. when the passed transport is already closing) this " "may return ``None``." msgstr "" -#: ../../library/asyncio-eventloop.rst:990 +#: ../../library/asyncio-eventloop.rst:994 msgid "" "*transport* and *protocol* instances that methods like :meth:`~loop." "create_server` and :meth:`~loop.create_connection` return." msgstr "" -#: ../../library/asyncio-eventloop.rst:994 +#: ../../library/asyncio-eventloop.rst:998 msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." msgstr "" -#: ../../library/asyncio-eventloop.rst:996 +#: ../../library/asyncio-eventloop.rst:1000 msgid "" "*server_side* pass ``True`` when a server-side connection is being upgraded " "(like the one created by :meth:`~loop.create_server`)." msgstr "" -#: ../../library/asyncio-eventloop.rst:999 +#: ../../library/asyncio-eventloop.rst:1003 msgid "" "*server_hostname*: sets or overrides the host name that the target server's " "certificate will be matched against." msgstr "" -#: ../../library/asyncio-eventloop.rst:1019 +#: ../../library/asyncio-eventloop.rst:1023 msgid "Watching file descriptors" msgstr "" -#: ../../library/asyncio-eventloop.rst:1023 +#: ../../library/asyncio-eventloop.rst:1027 msgid "" "Start monitoring the *fd* file descriptor for read availability and invoke " "*callback* with the specified arguments once *fd* is available for reading." msgstr "" -#: ../../library/asyncio-eventloop.rst:1027 -#: ../../library/asyncio-eventloop.rst:1041 +#: ../../library/asyncio-eventloop.rst:1031 +#: ../../library/asyncio-eventloop.rst:1045 msgid "" "Any preexisting callback registered for *fd* is cancelled and replaced by " "*callback*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1032 +#: ../../library/asyncio-eventloop.rst:1036 msgid "" "Stop monitoring the *fd* file descriptor for read availability. Returns " "``True`` if *fd* was previously being monitored for reads." msgstr "" -#: ../../library/asyncio-eventloop.rst:1037 +#: ../../library/asyncio-eventloop.rst:1041 msgid "" "Start monitoring the *fd* file descriptor for write availability and invoke " "*callback* with the specified arguments *args* once *fd* is available for " "writing." msgstr "" -#: ../../library/asyncio-eventloop.rst:1044 -#: ../../library/asyncio-eventloop.rst:1363 +#: ../../library/asyncio-eventloop.rst:1048 +#: ../../library/asyncio-eventloop.rst:1367 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *callback*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1049 +#: ../../library/asyncio-eventloop.rst:1053 msgid "" "Stop monitoring the *fd* file descriptor for write availability. Returns " "``True`` if *fd* was previously being monitored for writes." msgstr "" -#: ../../library/asyncio-eventloop.rst:1052 +#: ../../library/asyncio-eventloop.rst:1056 msgid "" "See also :ref:`Platform Support ` section for some " "limitations of these methods." msgstr "" -#: ../../library/asyncio-eventloop.rst:1057 +#: ../../library/asyncio-eventloop.rst:1061 msgid "Working with socket objects directly" msgstr "" -#: ../../library/asyncio-eventloop.rst:1059 +#: ../../library/asyncio-eventloop.rst:1063 msgid "" "In general, protocol implementations that use transport-based APIs such as :" "meth:`loop.create_connection` and :meth:`loop.create_server` are faster than " @@ -1368,72 +1374,72 @@ msgid "" "socket` objects directly is more convenient." msgstr "" -#: ../../library/asyncio-eventloop.rst:1069 +#: ../../library/asyncio-eventloop.rst:1073 msgid "" "Receive up to *nbytes* from *sock*. Asynchronous version of :meth:`socket." "recv() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1072 +#: ../../library/asyncio-eventloop.rst:1076 msgid "Return the received data as a bytes object." msgstr "" -#: ../../library/asyncio-eventloop.rst:1074 -#: ../../library/asyncio-eventloop.rst:1089 -#: ../../library/asyncio-eventloop.rst:1101 -#: ../../library/asyncio-eventloop.rst:1114 -#: ../../library/asyncio-eventloop.rst:1130 -#: ../../library/asyncio-eventloop.rst:1146 -#: ../../library/asyncio-eventloop.rst:1157 -#: ../../library/asyncio-eventloop.rst:1193 -#: ../../library/asyncio-eventloop.rst:1232 +#: ../../library/asyncio-eventloop.rst:1078 +#: ../../library/asyncio-eventloop.rst:1093 +#: ../../library/asyncio-eventloop.rst:1105 +#: ../../library/asyncio-eventloop.rst:1118 +#: ../../library/asyncio-eventloop.rst:1134 +#: ../../library/asyncio-eventloop.rst:1150 +#: ../../library/asyncio-eventloop.rst:1161 +#: ../../library/asyncio-eventloop.rst:1197 +#: ../../library/asyncio-eventloop.rst:1236 msgid "*sock* must be a non-blocking socket." msgstr "" -#: ../../library/asyncio-eventloop.rst:1076 +#: ../../library/asyncio-eventloop.rst:1080 msgid "" "Even though this method was always documented as a coroutine method, " "releases before Python 3.7 returned a :class:`Future`. Since Python 3.7 this " "is an ``async def`` method." msgstr "" -#: ../../library/asyncio-eventloop.rst:1084 +#: ../../library/asyncio-eventloop.rst:1088 msgid "" "Receive data from *sock* into the *buf* buffer. Modeled after the blocking :" "meth:`socket.recv_into() ` method." msgstr "" -#: ../../library/asyncio-eventloop.rst:1087 +#: ../../library/asyncio-eventloop.rst:1091 msgid "Return the number of bytes written to the buffer." msgstr "" -#: ../../library/asyncio-eventloop.rst:1096 +#: ../../library/asyncio-eventloop.rst:1100 msgid "" "Receive a datagram of up to *bufsize* from *sock*. Asynchronous version of :" "meth:`socket.recvfrom() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1099 +#: ../../library/asyncio-eventloop.rst:1103 msgid "Return a tuple of (received data, remote address)." msgstr "" -#: ../../library/asyncio-eventloop.rst:1108 +#: ../../library/asyncio-eventloop.rst:1112 msgid "" "Receive a datagram of up to *nbytes* from *sock* into *buf*. Asynchronous " "version of :meth:`socket.recvfrom_into() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1112 +#: ../../library/asyncio-eventloop.rst:1116 msgid "Return a tuple of (number of bytes received, remote address)." msgstr "" -#: ../../library/asyncio-eventloop.rst:1121 +#: ../../library/asyncio-eventloop.rst:1125 msgid "" "Send *data* to the *sock* socket. Asynchronous version of :meth:`socket." "sendall() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1124 +#: ../../library/asyncio-eventloop.rst:1128 msgid "" "This method continues to send to the socket until either all data in *data* " "has been sent or an error occurs. ``None`` is returned on success. On " @@ -1442,34 +1448,34 @@ msgid "" "the connection." msgstr "" -#: ../../library/asyncio-eventloop.rst:1132 -#: ../../library/asyncio-eventloop.rst:1195 +#: ../../library/asyncio-eventloop.rst:1136 +#: ../../library/asyncio-eventloop.rst:1199 msgid "" "Even though the method was always documented as a coroutine method, before " "Python 3.7 it returned a :class:`Future`. Since Python 3.7, this is an " "``async def`` method." msgstr "" -#: ../../library/asyncio-eventloop.rst:1140 +#: ../../library/asyncio-eventloop.rst:1144 msgid "" "Send a datagram from *sock* to *address*. Asynchronous version of :meth:" "`socket.sendto() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1144 +#: ../../library/asyncio-eventloop.rst:1148 msgid "Return the number of bytes sent." msgstr "" -#: ../../library/asyncio-eventloop.rst:1153 +#: ../../library/asyncio-eventloop.rst:1157 msgid "Connect *sock* to a remote socket at *address*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1155 +#: ../../library/asyncio-eventloop.rst:1159 msgid "" "Asynchronous version of :meth:`socket.connect() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1159 +#: ../../library/asyncio-eventloop.rst:1163 msgid "" "With :class:`SelectorEventLoop`, *address* does not need to be resolved: " "for :const:`~socket.AF_INET` and :const:`~socket.AF_INET6` sockets, " @@ -1478,7 +1484,7 @@ msgid "" "resolve it if it is not." msgstr "" -#: ../../library/asyncio-eventloop.rst:1165 +#: ../../library/asyncio-eventloop.rst:1169 msgid "" ":class:`ProactorEventLoop`, the default event loop on Windows, does not " "resolve *address*. The host must already be a numeric IP address; passing a " @@ -1487,24 +1493,24 @@ msgid "" "the address on every platform." msgstr "" -#: ../../library/asyncio-eventloop.rst:1171 +#: ../../library/asyncio-eventloop.rst:1175 msgid "" "With :class:`SelectorEventLoop`, ``address`` no longer needs to be resolved." msgstr "" -#: ../../library/asyncio-eventloop.rst:1177 +#: ../../library/asyncio-eventloop.rst:1181 msgid "" ":meth:`loop.create_connection` and :func:`asyncio.open_connection() " "`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1184 +#: ../../library/asyncio-eventloop.rst:1188 msgid "" "Accept a connection. Modeled after the blocking :meth:`socket.accept() " "` method." msgstr "" -#: ../../library/asyncio-eventloop.rst:1187 +#: ../../library/asyncio-eventloop.rst:1191 msgid "" "The socket must be bound to an address and listening for connections. The " "return value is a pair ``(conn, address)`` where *conn* is a *new* socket " @@ -1512,57 +1518,57 @@ msgid "" "the address bound to the socket on the other end of the connection." msgstr "" -#: ../../library/asyncio-eventloop.rst:1202 +#: ../../library/asyncio-eventloop.rst:1206 msgid ":meth:`loop.create_server` and :func:`start_server`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1208 +#: ../../library/asyncio-eventloop.rst:1212 msgid "" "Send a file using high-performance :mod:`os.sendfile` if possible. Return " "the total number of bytes sent." msgstr "" -#: ../../library/asyncio-eventloop.rst:1211 +#: ../../library/asyncio-eventloop.rst:1215 msgid "" "Asynchronous version of :meth:`socket.sendfile() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1213 +#: ../../library/asyncio-eventloop.rst:1217 msgid "" "*sock* must be a non-blocking :const:`socket.SOCK_STREAM` :class:`~socket." "socket`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1216 +#: ../../library/asyncio-eventloop.rst:1220 msgid "*file* must be a regular file object open in binary mode." msgstr "" -#: ../../library/asyncio-eventloop.rst:1225 +#: ../../library/asyncio-eventloop.rst:1229 msgid "" "*fallback*, when set to ``True``, makes asyncio manually read and send the " "file when the platform does not support the sendfile syscall (e.g. Windows " "or SSL socket on Unix)." msgstr "" -#: ../../library/asyncio-eventloop.rst:1229 +#: ../../library/asyncio-eventloop.rst:1233 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support " "*sendfile* syscall and *fallback* is ``False``." msgstr "" -#: ../../library/asyncio-eventloop.rst:1238 +#: ../../library/asyncio-eventloop.rst:1242 msgid "DNS" msgstr "" -#: ../../library/asyncio-eventloop.rst:1244 +#: ../../library/asyncio-eventloop.rst:1248 msgid "Asynchronous version of :meth:`socket.getaddrinfo`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1249 +#: ../../library/asyncio-eventloop.rst:1253 msgid "Asynchronous version of :meth:`socket.getnameinfo`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1252 +#: ../../library/asyncio-eventloop.rst:1256 msgid "" "Both *getaddrinfo* and *getnameinfo* internally utilize their synchronous " "versions through the loop's default thread pool executor. When this executor " @@ -1572,7 +1578,7 @@ msgid "" "executor with a larger number of workers." msgstr "" -#: ../../library/asyncio-eventloop.rst:1259 +#: ../../library/asyncio-eventloop.rst:1263 msgid "" "Both *getaddrinfo* and *getnameinfo* methods were always documented to " "return a coroutine, but prior to Python 3.7 they were, in fact, returning :" @@ -1580,51 +1586,51 @@ msgid "" "coroutines." msgstr "" -#: ../../library/asyncio-eventloop.rst:1267 +#: ../../library/asyncio-eventloop.rst:1271 msgid "Working with pipes" msgstr "" -#: ../../library/asyncio-eventloop.rst:1272 +#: ../../library/asyncio-eventloop.rst:1276 msgid "Register the read end of *pipe* in the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1277 -#: ../../library/asyncio-eventloop.rst:1296 +#: ../../library/asyncio-eventloop.rst:1281 +#: ../../library/asyncio-eventloop.rst:1300 msgid "" "*pipe* is a :term:`file-like object `. See :ref:`Supported " "pipe objects ` for the objects supported as *pipe*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1281 +#: ../../library/asyncio-eventloop.rst:1285 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports the :class:" "`ReadTransport` interface and *protocol* is an object instantiated by the " "*protocol_factory*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1285 -#: ../../library/asyncio-eventloop.rst:1304 +#: ../../library/asyncio-eventloop.rst:1289 +#: ../../library/asyncio-eventloop.rst:1308 msgid "" "With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-" "blocking mode." msgstr "" -#: ../../library/asyncio-eventloop.rst:1291 +#: ../../library/asyncio-eventloop.rst:1295 msgid "Register the write end of *pipe* in the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1300 +#: ../../library/asyncio-eventloop.rst:1304 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports :class:" "`WriteTransport` interface and *protocol* is an object instantiated by the " "*protocol_factory*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1310 +#: ../../library/asyncio-eventloop.rst:1314 msgid "Supported pipe objects" msgstr "" -#: ../../library/asyncio-eventloop.rst:1311 +#: ../../library/asyncio-eventloop.rst:1315 msgid "" "These methods only work with objects the operating system can poll for " "readiness or perform overlapped I/O on. Regular files on disk are **not** " @@ -1633,27 +1639,27 @@ msgid "" "blocking the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1317 +#: ../../library/asyncio-eventloop.rst:1321 msgid "" "On Unix, with :class:`SelectorEventLoop`, *pipe* must wrap one of the " "following:" msgstr "" -#: ../../library/asyncio-eventloop.rst:1320 +#: ../../library/asyncio-eventloop.rst:1324 msgid "" "a pipe, such as an end of an :func:`os.pipe` pair or a FIFO created with :" "func:`os.mkfifo`;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1322 +#: ../../library/asyncio-eventloop.rst:1326 msgid "a socket;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1323 +#: ../../library/asyncio-eventloop.rst:1327 msgid "a character device, such as a terminal." msgstr "" -#: ../../library/asyncio-eventloop.rst:1325 +#: ../../library/asyncio-eventloop.rst:1329 msgid "" "On Windows, where only :class:`ProactorEventLoop` implements these methods, " "*pipe* must wrap a handle opened for overlapped I/O (that is, created with " @@ -1665,28 +1671,28 @@ msgid "" "therefore cannot be used with these methods." msgstr "" -#: ../../library/asyncio-eventloop.rst:1336 +#: ../../library/asyncio-eventloop.rst:1340 msgid "" ":class:`SelectorEventLoop` does not support the above methods on Windows. " "Use :class:`ProactorEventLoop` instead for Windows." msgstr "" -#: ../../library/asyncio-eventloop.rst:1341 +#: ../../library/asyncio-eventloop.rst:1345 msgid "" "The :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` methods." msgstr "" -#: ../../library/asyncio-eventloop.rst:1346 +#: ../../library/asyncio-eventloop.rst:1350 msgid "Unix signals" msgstr "" -#: ../../library/asyncio-eventloop.rst:1352 +#: ../../library/asyncio-eventloop.rst:1356 msgid "" "Set *callback* as the handler for the *signum* signal, passing *args* as " "positional arguments." msgstr "" -#: ../../library/asyncio-eventloop.rst:1355 +#: ../../library/asyncio-eventloop.rst:1359 msgid "" "The callback will be invoked by *loop*, along with other queued callbacks " "and runnable coroutines of that event loop. Unlike signal handlers " @@ -1694,42 +1700,42 @@ msgid "" "function is allowed to interact with the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1360 +#: ../../library/asyncio-eventloop.rst:1364 msgid "" "Raise :exc:`ValueError` if the signal number is invalid or uncatchable. " "Raise :exc:`RuntimeError` if there is a problem setting up the handler." msgstr "" -#: ../../library/asyncio-eventloop.rst:1366 +#: ../../library/asyncio-eventloop.rst:1370 msgid "" "Like :func:`signal.signal`, this function must be invoked in the main thread." msgstr "" -#: ../../library/asyncio-eventloop.rst:1371 +#: ../../library/asyncio-eventloop.rst:1375 msgid "Remove the handler for the *sig* signal." msgstr "" -#: ../../library/asyncio-eventloop.rst:1373 +#: ../../library/asyncio-eventloop.rst:1377 msgid "" "Return ``True`` if the signal handler was removed, or ``False`` if no " "handler was set for the given signal." msgstr "" -#: ../../library/asyncio-eventloop.rst:1380 +#: ../../library/asyncio-eventloop.rst:1384 msgid "The :mod:`signal` module." msgstr "" -#: ../../library/asyncio-eventloop.rst:1384 +#: ../../library/asyncio-eventloop.rst:1388 msgid "Executing code in thread or process pools" msgstr "" -#: ../../library/asyncio-eventloop.rst:1388 +#: ../../library/asyncio-eventloop.rst:1392 msgid "" "Arrange for *func* to be called in the specified executor passing *args* as " "positional arguments." msgstr "" -#: ../../library/asyncio-eventloop.rst:1391 +#: ../../library/asyncio-eventloop.rst:1395 msgid "" "The *executor* argument should be an :class:`concurrent.futures.Executor` " "instance. The default executor is used if *executor* is ``None``. The " @@ -1738,7 +1744,7 @@ msgid "" "and used by :func:`run_in_executor` if needed." msgstr "" -#: ../../library/asyncio-eventloop.rst:1399 +#: ../../library/asyncio-eventloop.rst:1403 msgid "" "import asyncio\n" "import concurrent.futures\n" @@ -1787,7 +1793,7 @@ msgid "" " asyncio.run(main())" msgstr "" -#: ../../library/asyncio-eventloop.rst:1445 +#: ../../library/asyncio-eventloop.rst:1449 msgid "" "Note that the entry point guard (``if __name__ == '__main__'``) is required " "for option 3 due to the peculiarities of :mod:`multiprocessing`, which is " @@ -1795,17 +1801,17 @@ msgid "" "importing of main module `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1450 +#: ../../library/asyncio-eventloop.rst:1454 msgid "This method returns a :class:`asyncio.Future` object." msgstr "" -#: ../../library/asyncio-eventloop.rst:1452 +#: ../../library/asyncio-eventloop.rst:1456 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *func*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1455 +#: ../../library/asyncio-eventloop.rst:1459 msgid "" ":meth:`loop.run_in_executor` no longer configures the ``max_workers`` of the " "thread pool executor it creates, instead leaving it up to the thread pool " @@ -1813,7 +1819,7 @@ msgid "" "default." msgstr "" -#: ../../library/asyncio-eventloop.rst:1464 +#: ../../library/asyncio-eventloop.rst:1468 msgid "" "Set *executor* as the default executor used by :meth:`run_in_executor`. " "*executor* must be an instance of :class:`~concurrent.futures." @@ -1821,25 +1827,25 @@ msgid "" "InterpreterPoolExecutor`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1469 +#: ../../library/asyncio-eventloop.rst:1473 msgid "" "*executor* must be an instance of :class:`~concurrent.futures." "ThreadPoolExecutor`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1475 +#: ../../library/asyncio-eventloop.rst:1479 msgid "Error handling API" msgstr "" -#: ../../library/asyncio-eventloop.rst:1477 +#: ../../library/asyncio-eventloop.rst:1481 msgid "Allows customizing how exceptions are handled in the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1481 +#: ../../library/asyncio-eventloop.rst:1485 msgid "Set *handler* as the new event loop exception handler." msgstr "" -#: ../../library/asyncio-eventloop.rst:1483 +#: ../../library/asyncio-eventloop.rst:1487 msgid "" "If *handler* is ``None``, the default exception handler will be set. " "Otherwise, *handler* must be a callable with the signature matching ``(loop, " @@ -1848,190 +1854,190 @@ msgid "" "(see :meth:`call_exception_handler` documentation for details about context)." msgstr "" -#: ../../library/asyncio-eventloop.rst:1491 +#: ../../library/asyncio-eventloop.rst:1495 msgid "" "If the handler is called on behalf of a :class:`~asyncio.Task` or :class:" "`~asyncio.Handle`, it is run in the :class:`contextvars.Context` of that " "task or callback handle." msgstr "" -#: ../../library/asyncio-eventloop.rst:1497 +#: ../../library/asyncio-eventloop.rst:1501 msgid "" "The handler may be called in the :class:`~contextvars.Context` of the task " "or handle where the exception originated." msgstr "" -#: ../../library/asyncio-eventloop.rst:1502 +#: ../../library/asyncio-eventloop.rst:1506 msgid "" "Return the current exception handler, or ``None`` if no custom exception " "handler was set." msgstr "" -#: ../../library/asyncio-eventloop.rst:1509 +#: ../../library/asyncio-eventloop.rst:1513 msgid "Default exception handler." msgstr "" -#: ../../library/asyncio-eventloop.rst:1511 +#: ../../library/asyncio-eventloop.rst:1515 msgid "" "This is called when an exception occurs and no exception handler is set. " "This can be called by a custom exception handler that wants to defer to the " "default handler behavior." msgstr "" -#: ../../library/asyncio-eventloop.rst:1515 +#: ../../library/asyncio-eventloop.rst:1519 msgid "" "*context* parameter has the same meaning as in :meth:" "`call_exception_handler`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1520 +#: ../../library/asyncio-eventloop.rst:1524 msgid "Call the current event loop exception handler." msgstr "" -#: ../../library/asyncio-eventloop.rst:1522 +#: ../../library/asyncio-eventloop.rst:1526 msgid "" "*context* is a ``dict`` object containing the following keys (new keys may " "be introduced in future Python versions):" msgstr "" -#: ../../library/asyncio-eventloop.rst:1525 +#: ../../library/asyncio-eventloop.rst:1529 msgid "'message': Error message;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1526 +#: ../../library/asyncio-eventloop.rst:1530 msgid "'exception' (optional): Exception object;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1527 +#: ../../library/asyncio-eventloop.rst:1531 msgid "'future' (optional): :class:`asyncio.Future` instance;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1528 +#: ../../library/asyncio-eventloop.rst:1532 msgid "'task' (optional): :class:`asyncio.Task` instance;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1529 +#: ../../library/asyncio-eventloop.rst:1533 msgid "'handle' (optional): :class:`asyncio.Handle` instance;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1530 +#: ../../library/asyncio-eventloop.rst:1534 msgid "'protocol' (optional): :ref:`Protocol ` instance;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1531 +#: ../../library/asyncio-eventloop.rst:1535 msgid "'transport' (optional): :ref:`Transport ` instance;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1532 +#: ../../library/asyncio-eventloop.rst:1536 msgid "'socket' (optional): :class:`socket.socket` instance;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1533 +#: ../../library/asyncio-eventloop.rst:1537 msgid "'source_traceback' (optional): Traceback of the source;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1534 +#: ../../library/asyncio-eventloop.rst:1538 msgid "'handle_traceback' (optional): Traceback of the handle;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1535 +#: ../../library/asyncio-eventloop.rst:1539 msgid "'asyncgen' (optional): Asynchronous generator that caused" msgstr "" -#: ../../library/asyncio-eventloop.rst:1536 +#: ../../library/asyncio-eventloop.rst:1540 msgid "the exception." msgstr "" -#: ../../library/asyncio-eventloop.rst:1540 +#: ../../library/asyncio-eventloop.rst:1544 msgid "" "This method should not be overloaded in subclassed event loops. For custom " "exception handling, use the :meth:`set_exception_handler` method." msgstr "" -#: ../../library/asyncio-eventloop.rst:1545 +#: ../../library/asyncio-eventloop.rst:1549 msgid "Enabling debug mode" msgstr "" -#: ../../library/asyncio-eventloop.rst:1549 +#: ../../library/asyncio-eventloop.rst:1553 msgid "Get the debug mode (:class:`bool`) of the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1551 +#: ../../library/asyncio-eventloop.rst:1555 msgid "" "The default value is ``True`` if the environment variable :envvar:" "`PYTHONASYNCIODEBUG` is set to a non-empty string, ``False`` otherwise." msgstr "" -#: ../../library/asyncio-eventloop.rst:1557 +#: ../../library/asyncio-eventloop.rst:1561 msgid "Set the debug mode of the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1561 +#: ../../library/asyncio-eventloop.rst:1565 msgid "" "The new :ref:`Python Development Mode ` can now also be used to " "enable the debug mode." msgstr "" -#: ../../library/asyncio-eventloop.rst:1566 +#: ../../library/asyncio-eventloop.rst:1570 msgid "" "This attribute can be used to set the minimum execution duration in seconds " "that is considered \"slow\". When debug mode is enabled, \"slow\" callbacks " "are logged." msgstr "" -#: ../../library/asyncio-eventloop.rst:1570 +#: ../../library/asyncio-eventloop.rst:1574 msgid "Default value is 100 milliseconds." msgstr "" -#: ../../library/asyncio-eventloop.rst:1574 +#: ../../library/asyncio-eventloop.rst:1578 msgid "The :ref:`debug mode of asyncio `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1578 +#: ../../library/asyncio-eventloop.rst:1582 msgid "Running subprocesses" msgstr "" -#: ../../library/asyncio-eventloop.rst:1580 +#: ../../library/asyncio-eventloop.rst:1584 msgid "" "Methods described in this subsections are low-level. In regular async/await " "code consider using the high-level :func:`asyncio.create_subprocess_shell` " "and :func:`asyncio.create_subprocess_exec` convenience functions instead." msgstr "" -#: ../../library/asyncio-eventloop.rst:1587 +#: ../../library/asyncio-eventloop.rst:1591 msgid "" "On Windows, the default event loop :class:`ProactorEventLoop` supports " "subprocesses, whereas :class:`SelectorEventLoop` does not. See :ref:" "`Subprocess Support on Windows ` for details." msgstr "" -#: ../../library/asyncio-eventloop.rst:1599 +#: ../../library/asyncio-eventloop.rst:1603 msgid "" "Create a subprocess from one or more string arguments specified by *args*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1602 +#: ../../library/asyncio-eventloop.rst:1606 msgid "*args* must be a list of strings represented by:" msgstr "" -#: ../../library/asyncio-eventloop.rst:1604 +#: ../../library/asyncio-eventloop.rst:1608 msgid ":class:`str`;" msgstr "" -#: ../../library/asyncio-eventloop.rst:1605 +#: ../../library/asyncio-eventloop.rst:1609 msgid "" "or :class:`bytes`, encoded to the :ref:`filesystem encoding `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1608 +#: ../../library/asyncio-eventloop.rst:1612 msgid "" "The first string specifies the program executable, and the remaining strings " "specify the arguments. Together, string arguments form the ``argv`` of the " "program." msgstr "" -#: ../../library/asyncio-eventloop.rst:1612 +#: ../../library/asyncio-eventloop.rst:1616 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=False`` and the list of strings passed as the first " @@ -2039,85 +2045,85 @@ msgid "" "which is list of strings, *subprocess_exec* takes multiple string arguments." msgstr "" -#: ../../library/asyncio-eventloop.rst:1618 +#: ../../library/asyncio-eventloop.rst:1622 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`asyncio.SubprocessProtocol` class." msgstr "" -#: ../../library/asyncio-eventloop.rst:1621 +#: ../../library/asyncio-eventloop.rst:1625 msgid "Other parameters:" msgstr "" -#: ../../library/asyncio-eventloop.rst:1623 +#: ../../library/asyncio-eventloop.rst:1627 msgid "*stdin* can be any of these:" msgstr "" -#: ../../library/asyncio-eventloop.rst:1625 -#: ../../library/asyncio-eventloop.rst:1636 -#: ../../library/asyncio-eventloop.rst:1646 +#: ../../library/asyncio-eventloop.rst:1629 +#: ../../library/asyncio-eventloop.rst:1640 +#: ../../library/asyncio-eventloop.rst:1650 msgid "a file-like object" msgstr "" -#: ../../library/asyncio-eventloop.rst:1626 +#: ../../library/asyncio-eventloop.rst:1630 msgid "" "an existing file descriptor (a positive integer), for example those created " "with :meth:`os.pipe`" msgstr "" -#: ../../library/asyncio-eventloop.rst:1627 -#: ../../library/asyncio-eventloop.rst:1637 -#: ../../library/asyncio-eventloop.rst:1647 +#: ../../library/asyncio-eventloop.rst:1631 +#: ../../library/asyncio-eventloop.rst:1641 +#: ../../library/asyncio-eventloop.rst:1651 msgid "" "the :const:`subprocess.PIPE` constant (default) which will create a new pipe " "and connect it," msgstr "" -#: ../../library/asyncio-eventloop.rst:1629 -#: ../../library/asyncio-eventloop.rst:1639 -#: ../../library/asyncio-eventloop.rst:1649 +#: ../../library/asyncio-eventloop.rst:1633 +#: ../../library/asyncio-eventloop.rst:1643 +#: ../../library/asyncio-eventloop.rst:1653 msgid "" "the value ``None`` which will make the subprocess inherit the file " "descriptor from this process" msgstr "" -#: ../../library/asyncio-eventloop.rst:1631 -#: ../../library/asyncio-eventloop.rst:1641 -#: ../../library/asyncio-eventloop.rst:1651 +#: ../../library/asyncio-eventloop.rst:1635 +#: ../../library/asyncio-eventloop.rst:1645 +#: ../../library/asyncio-eventloop.rst:1655 msgid "" "the :const:`subprocess.DEVNULL` constant which indicates that the special :" "data:`os.devnull` file will be used" msgstr "" -#: ../../library/asyncio-eventloop.rst:1634 +#: ../../library/asyncio-eventloop.rst:1638 msgid "*stdout* can be any of these:" msgstr "" -#: ../../library/asyncio-eventloop.rst:1644 +#: ../../library/asyncio-eventloop.rst:1648 msgid "*stderr* can be any of these:" msgstr "" -#: ../../library/asyncio-eventloop.rst:1653 +#: ../../library/asyncio-eventloop.rst:1657 msgid "" "the :const:`subprocess.STDOUT` constant which will connect the standard " "error stream to the process' standard output stream" msgstr "" -#: ../../library/asyncio-eventloop.rst:1656 +#: ../../library/asyncio-eventloop.rst:1660 msgid "" "All other keyword arguments are passed to :class:`subprocess.Popen` without " "interpretation, except for *bufsize*, *universal_newlines*, *shell*, *text*, " "*encoding* and *errors*, which should not be specified at all." msgstr "" -#: ../../library/asyncio-eventloop.rst:1661 +#: ../../library/asyncio-eventloop.rst:1665 msgid "" "The ``asyncio`` subprocess API does not support decoding the streams as " "text. :func:`bytes.decode` can be used to convert the bytes returned from " "the stream to text." msgstr "" -#: ../../library/asyncio-eventloop.rst:1665 +#: ../../library/asyncio-eventloop.rst:1669 msgid "" "If a file-like object passed as *stdin*, *stdout* or *stderr* represents a " "pipe, then the other side of this pipe should be registered with :meth:" @@ -2125,59 +2131,59 @@ msgid "" "the event loop." msgstr "" -#: ../../library/asyncio-eventloop.rst:1670 +#: ../../library/asyncio-eventloop.rst:1674 msgid "" "See the constructor of the :class:`subprocess.Popen` class for documentation " "on other arguments." msgstr "" -#: ../../library/asyncio-eventloop.rst:1673 +#: ../../library/asyncio-eventloop.rst:1677 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`asyncio.SubprocessTransport` base class and *protocol* is an " "object instantiated by the *protocol_factory*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1677 -#: ../../library/asyncio-eventloop.rst:1703 +#: ../../library/asyncio-eventloop.rst:1681 +#: ../../library/asyncio-eventloop.rst:1707 msgid "" "If the transport is closed or is garbage collected, the child process is " "killed if it is still running." msgstr "" -#: ../../library/asyncio-eventloop.rst:1685 +#: ../../library/asyncio-eventloop.rst:1689 msgid "" "Create a subprocess from *cmd*, which can be a :class:`str` or a :class:" "`bytes` string encoded to the :ref:`filesystem encoding `, using the platform's \"shell\" syntax." msgstr "" -#: ../../library/asyncio-eventloop.rst:1690 +#: ../../library/asyncio-eventloop.rst:1694 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=True``." msgstr "" -#: ../../library/asyncio-eventloop.rst:1693 +#: ../../library/asyncio-eventloop.rst:1697 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`SubprocessProtocol` class." msgstr "" -#: ../../library/asyncio-eventloop.rst:1696 +#: ../../library/asyncio-eventloop.rst:1700 msgid "" "See :meth:`~loop.subprocess_exec` for more details about the remaining " "arguments." msgstr "" -#: ../../library/asyncio-eventloop.rst:1699 +#: ../../library/asyncio-eventloop.rst:1703 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`SubprocessTransport` base class and *protocol* is an object " "instantiated by the *protocol_factory*." msgstr "" -#: ../../library/asyncio-eventloop.rst:1707 +#: ../../library/asyncio-eventloop.rst:1711 msgid "" "It is the application's responsibility to ensure that all whitespace and " "special characters are quoted appropriately to avoid `shell injection " @@ -2187,74 +2193,74 @@ msgid "" "used to construct shell commands." msgstr "" -#: ../../library/asyncio-eventloop.rst:1716 +#: ../../library/asyncio-eventloop.rst:1720 msgid "Callback handles" msgstr "" -#: ../../library/asyncio-eventloop.rst:1720 +#: ../../library/asyncio-eventloop.rst:1724 msgid "" "A callback wrapper object returned by :meth:`loop.call_soon`, :meth:`loop." "call_soon_threadsafe`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1725 +#: ../../library/asyncio-eventloop.rst:1729 msgid "" "Return the :class:`contextvars.Context` object associated with the handle." msgstr "" -#: ../../library/asyncio-eventloop.rst:1732 +#: ../../library/asyncio-eventloop.rst:1736 msgid "" "Cancel the callback. If the callback has already been canceled or executed, " "this method has no effect." msgstr "" -#: ../../library/asyncio-eventloop.rst:1737 +#: ../../library/asyncio-eventloop.rst:1741 msgid "Return ``True`` if the callback was cancelled." msgstr "" -#: ../../library/asyncio-eventloop.rst:1743 +#: ../../library/asyncio-eventloop.rst:1747 msgid "" "A callback wrapper object returned by :meth:`loop.call_later`, and :meth:" "`loop.call_at`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1746 +#: ../../library/asyncio-eventloop.rst:1750 msgid "This class is a subclass of :class:`Handle`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1750 +#: ../../library/asyncio-eventloop.rst:1754 msgid "Return a scheduled callback time as :class:`float` seconds." msgstr "" -#: ../../library/asyncio-eventloop.rst:1752 +#: ../../library/asyncio-eventloop.rst:1756 msgid "" "The time is an absolute timestamp, using the same time reference as :meth:" "`loop.time`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1759 +#: ../../library/asyncio-eventloop.rst:1763 msgid "Server objects" msgstr "" -#: ../../library/asyncio-eventloop.rst:1761 +#: ../../library/asyncio-eventloop.rst:1765 msgid "" "Server objects are created by :meth:`loop.create_server`, :meth:`loop." "create_unix_server`, :func:`start_server`, and :func:`start_unix_server` " "functions." msgstr "" -#: ../../library/asyncio-eventloop.rst:1765 +#: ../../library/asyncio-eventloop.rst:1769 msgid "Do not instantiate the :class:`Server` class directly." msgstr "" -#: ../../library/asyncio-eventloop.rst:1769 +#: ../../library/asyncio-eventloop.rst:1773 msgid "" "*Server* objects are asynchronous context managers. When used in an ``async " "with`` statement, it's guaranteed that the Server object is closed and not " "accepting new connections when the ``async with`` statement is completed::" msgstr "" -#: ../../library/asyncio-eventloop.rst:1774 +#: ../../library/asyncio-eventloop.rst:1778 msgid "" "srv = await loop.create_server(...)\n" "\n" @@ -2264,81 +2270,81 @@ msgid "" "# At this point, srv is closed and no longer accepts new connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:1782 +#: ../../library/asyncio-eventloop.rst:1786 msgid "Server object is an asynchronous context manager since Python 3.7." msgstr "" -#: ../../library/asyncio-eventloop.rst:1785 +#: ../../library/asyncio-eventloop.rst:1789 msgid "" "This class was exposed publicly as ``asyncio.Server`` in Python 3.9.11, " "3.10.3 and 3.11." msgstr "" -#: ../../library/asyncio-eventloop.rst:1790 +#: ../../library/asyncio-eventloop.rst:1794 msgid "" "Stop serving: close listening sockets and set the :attr:`sockets` attribute " "to ``None``." msgstr "" -#: ../../library/asyncio-eventloop.rst:1793 +#: ../../library/asyncio-eventloop.rst:1797 msgid "" "The sockets that represent existing incoming client connections are left " "open." msgstr "" -#: ../../library/asyncio-eventloop.rst:1796 +#: ../../library/asyncio-eventloop.rst:1800 msgid "" "The server is closed asynchronously; use the :meth:`wait_closed` coroutine " "to wait until the server is closed (and no more connections are active)." msgstr "" -#: ../../library/asyncio-eventloop.rst:1802 +#: ../../library/asyncio-eventloop.rst:1806 msgid "Close all existing incoming client connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:1804 +#: ../../library/asyncio-eventloop.rst:1808 msgid "" "Calls :meth:`~asyncio.BaseTransport.close` on all associated transports." msgstr "" -#: ../../library/asyncio-eventloop.rst:1807 +#: ../../library/asyncio-eventloop.rst:1811 msgid "" ":meth:`close` should be called before :meth:`close_clients` when closing the " "server to avoid races with new clients connecting." msgstr "" -#: ../../library/asyncio-eventloop.rst:1814 +#: ../../library/asyncio-eventloop.rst:1818 msgid "" "Close all existing incoming client connections immediately, without waiting " "for pending operations to complete." msgstr "" -#: ../../library/asyncio-eventloop.rst:1817 +#: ../../library/asyncio-eventloop.rst:1821 msgid "" "Calls :meth:`~asyncio.WriteTransport.abort` on all associated transports." msgstr "" -#: ../../library/asyncio-eventloop.rst:1820 +#: ../../library/asyncio-eventloop.rst:1824 msgid "" ":meth:`close` should be called before :meth:`abort_clients` when closing the " "server to avoid races with new clients connecting." msgstr "" -#: ../../library/asyncio-eventloop.rst:1827 +#: ../../library/asyncio-eventloop.rst:1831 msgid "Return the event loop associated with the server object." msgstr "" -#: ../../library/asyncio-eventloop.rst:1834 +#: ../../library/asyncio-eventloop.rst:1838 msgid "Start accepting connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:1836 +#: ../../library/asyncio-eventloop.rst:1840 msgid "" "This method is idempotent, so it can be called when the server is already " "serving." msgstr "" -#: ../../library/asyncio-eventloop.rst:1839 +#: ../../library/asyncio-eventloop.rst:1843 msgid "" "The *start_serving* keyword-only parameter to :meth:`loop.create_server` " "and :meth:`asyncio.start_server` allows creating a Server object that is not " @@ -2347,19 +2353,19 @@ msgid "" "accepting connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:1851 +#: ../../library/asyncio-eventloop.rst:1855 msgid "" "Start accepting connections until the coroutine is cancelled. Cancellation " "of ``serve_forever`` task causes the server to be closed." msgstr "" -#: ../../library/asyncio-eventloop.rst:1855 +#: ../../library/asyncio-eventloop.rst:1859 msgid "" "This method can be called if the server is already accepting connections. " "Only one ``serve_forever`` task can exist per one *Server* object." msgstr "" -#: ../../library/asyncio-eventloop.rst:1861 +#: ../../library/asyncio-eventloop.rst:1865 msgid "" "async def client_connected(reader, writer):\n" " # Communicate with the client with\n" @@ -2374,63 +2380,63 @@ msgid "" "asyncio.run(main('127.0.0.1', 0))" msgstr "" -#: ../../library/asyncio-eventloop.rst:1877 +#: ../../library/asyncio-eventloop.rst:1881 msgid "Return ``True`` if the server is accepting new connections." msgstr "" -#: ../../library/asyncio-eventloop.rst:1884 +#: ../../library/asyncio-eventloop.rst:1888 msgid "" "Wait until the :meth:`close` method completes and all active connections " "have finished." msgstr "" -#: ../../library/asyncio-eventloop.rst:1887 +#: ../../library/asyncio-eventloop.rst:1891 msgid "" "``wait_closed()`` now waits until the server is closed and all active " "connections have finished. Previously, it returned immediately if the " "server was already closed, even if connections were still active." msgstr "" -#: ../../library/asyncio-eventloop.rst:1895 +#: ../../library/asyncio-eventloop.rst:1899 msgid "" "List of socket-like objects, ``asyncio.trsock.TransportSocket``, which the " "server is listening on." msgstr "" -#: ../../library/asyncio-eventloop.rst:1898 +#: ../../library/asyncio-eventloop.rst:1902 msgid "" "Prior to Python 3.7 ``Server.sockets`` used to return an internal list of " "server sockets directly. In 3.7 a copy of that list is returned." msgstr "" -#: ../../library/asyncio-eventloop.rst:1908 +#: ../../library/asyncio-eventloop.rst:1912 msgid "Event loop implementations" msgstr "" -#: ../../library/asyncio-eventloop.rst:1910 +#: ../../library/asyncio-eventloop.rst:1914 msgid "" "asyncio ships with two different event loop implementations: :class:" "`SelectorEventLoop` and :class:`ProactorEventLoop`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1913 +#: ../../library/asyncio-eventloop.rst:1917 msgid "By default asyncio is configured to use :class:`EventLoop`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1918 +#: ../../library/asyncio-eventloop.rst:1922 msgid "" "A subclass of :class:`AbstractEventLoop` based on the :mod:`selectors` " "module." msgstr "" -#: ../../library/asyncio-eventloop.rst:1921 +#: ../../library/asyncio-eventloop.rst:1925 msgid "" "Uses the most efficient *selector* available for the given platform. It is " "also possible to manually configure the exact selector implementation to be " "used::" msgstr "" -#: ../../library/asyncio-eventloop.rst:1925 +#: ../../library/asyncio-eventloop.rst:1929 msgid "" "import asyncio\n" "import selectors\n" @@ -2443,45 +2449,45 @@ msgid "" "asyncio.run(main(), loop_factory=loop_factory)" msgstr "" -#: ../../library/asyncio-eventloop.rst:1940 +#: ../../library/asyncio-eventloop.rst:1944 msgid "" "A subclass of :class:`AbstractEventLoop` for Windows that uses \"I/O " "Completion Ports\" (IOCP)." msgstr "" -#: ../../library/asyncio-eventloop.rst:1946 +#: ../../library/asyncio-eventloop.rst:1950 msgid "" "`MSDN documentation on I/O Completion Ports `_." msgstr "" -#: ../../library/asyncio-eventloop.rst:1951 +#: ../../library/asyncio-eventloop.rst:1955 msgid "" "An alias to the most efficient available subclass of :class:" "`AbstractEventLoop` for the given platform." msgstr "" -#: ../../library/asyncio-eventloop.rst:1954 +#: ../../library/asyncio-eventloop.rst:1958 msgid "" "It is an alias to :class:`SelectorEventLoop` on Unix and :class:" "`ProactorEventLoop` on Windows." msgstr "" -#: ../../library/asyncio-eventloop.rst:1960 +#: ../../library/asyncio-eventloop.rst:1964 msgid "Abstract base class for asyncio-compliant event loops." msgstr "" -#: ../../library/asyncio-eventloop.rst:1962 +#: ../../library/asyncio-eventloop.rst:1966 msgid "" "The :ref:`asyncio-event-loop-methods` section lists all methods that an " "alternative implementation of ``AbstractEventLoop`` should have defined." msgstr "" -#: ../../library/asyncio-eventloop.rst:1968 +#: ../../library/asyncio-eventloop.rst:1972 msgid "Examples" msgstr "Beispiele" -#: ../../library/asyncio-eventloop.rst:1970 +#: ../../library/asyncio-eventloop.rst:1974 msgid "" "Note that all examples in this section **purposefully** show how to use the " "low-level event loop APIs, such as :meth:`loop.run_forever` and :meth:`loop." @@ -2489,17 +2495,17 @@ msgid "" "consider using the high-level functions like :func:`asyncio.run`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1980 +#: ../../library/asyncio-eventloop.rst:1984 msgid "Hello World with call_soon()" msgstr "" -#: ../../library/asyncio-eventloop.rst:1982 +#: ../../library/asyncio-eventloop.rst:1986 msgid "" "An example using the :meth:`loop.call_soon` method to schedule a callback. " "The callback displays ``\"Hello World\"`` and then stops the event loop::" msgstr "" -#: ../../library/asyncio-eventloop.rst:1986 +#: ../../library/asyncio-eventloop.rst:1990 msgid "" "import asyncio\n" "\n" @@ -2520,24 +2526,24 @@ msgid "" " loop.close()" msgstr "" -#: ../../library/asyncio-eventloop.rst:2006 +#: ../../library/asyncio-eventloop.rst:2010 msgid "" "A similar :ref:`Hello World ` example created with a coroutine " "and the :func:`run` function." msgstr "" -#: ../../library/asyncio-eventloop.rst:2013 +#: ../../library/asyncio-eventloop.rst:2017 msgid "Display the current date with call_later()" msgstr "" -#: ../../library/asyncio-eventloop.rst:2015 +#: ../../library/asyncio-eventloop.rst:2019 msgid "" "An example of a callback displaying the current date every second. The " "callback uses the :meth:`loop.call_later` method to reschedule itself after " "5 seconds, and then stops the event loop::" msgstr "" -#: ../../library/asyncio-eventloop.rst:2019 +#: ../../library/asyncio-eventloop.rst:2023 msgid "" "import asyncio\n" "import datetime as dt\n" @@ -2562,23 +2568,23 @@ msgid "" " loop.close()" msgstr "" -#: ../../library/asyncio-eventloop.rst:2043 +#: ../../library/asyncio-eventloop.rst:2047 msgid "" "A similar :ref:`current date ` example created with a " "coroutine and the :func:`run` function." msgstr "" -#: ../../library/asyncio-eventloop.rst:2050 +#: ../../library/asyncio-eventloop.rst:2054 msgid "Watch a file descriptor for read events" msgstr "" -#: ../../library/asyncio-eventloop.rst:2052 +#: ../../library/asyncio-eventloop.rst:2056 msgid "" "Wait until a file descriptor received some data using the :meth:`loop." "add_reader` method and then close the event loop::" msgstr "" -#: ../../library/asyncio-eventloop.rst:2055 +#: ../../library/asyncio-eventloop.rst:2059 msgid "" "import asyncio\n" "from socket import socketpair\n" @@ -2614,33 +2620,33 @@ msgid "" " loop.close()" msgstr "" -#: ../../library/asyncio-eventloop.rst:2090 +#: ../../library/asyncio-eventloop.rst:2094 msgid "" "A similar :ref:`example ` using " "transports, protocols, and the :meth:`loop.create_connection` method." msgstr "" -#: ../../library/asyncio-eventloop.rst:2094 +#: ../../library/asyncio-eventloop.rst:2098 msgid "" "Another similar :ref:`example ` " "using the high-level :func:`asyncio.open_connection` function and streams." msgstr "" -#: ../../library/asyncio-eventloop.rst:2102 +#: ../../library/asyncio-eventloop.rst:2106 msgid "Set signal handlers for SIGINT and SIGTERM" msgstr "" -#: ../../library/asyncio-eventloop.rst:2104 +#: ../../library/asyncio-eventloop.rst:2108 msgid "(This ``signal`` example only works on Unix.)" msgstr "" -#: ../../library/asyncio-eventloop.rst:2106 +#: ../../library/asyncio-eventloop.rst:2110 msgid "" "Register handlers for signals :const:`~signal.SIGINT` and :const:`~signal." "SIGTERM` using the :meth:`loop.add_signal_handler` method::" msgstr "" -#: ../../library/asyncio-eventloop.rst:2109 +#: ../../library/asyncio-eventloop.rst:2113 msgid "" "import asyncio\n" "import functools\n" diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po index 7abcbad5..7aa25fe2 100644 --- a/library/asyncio-stream.po +++ b/library/asyncio-stream.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -35,7 +35,7 @@ msgstr "" msgid "Here is an example of a TCP echo client written using asyncio streams::" msgstr "" -#: ../../library/asyncio-stream.rst:22 ../../library/asyncio-stream.rst:451 +#: ../../library/asyncio-stream.rst:22 ../../library/asyncio-stream.rst:455 msgid "" "import asyncio\n" "\n" @@ -475,50 +475,56 @@ msgid "" "(default)." msgstr "" -#: ../../library/asyncio-stream.rst:424 +#: ../../library/asyncio-stream.rst:421 +msgid "" +"Raises a ``ValueError`` if ``sslcontext.check_hostname`` is ``True`` and " +"``server_hostname`` is not supplied." +msgstr "" + +#: ../../library/asyncio-stream.rst:428 msgid "" "Return ``True`` if the stream is closed or in the process of being closed." msgstr "" -#: ../../library/asyncio-stream.rst:432 +#: ../../library/asyncio-stream.rst:436 msgid "Wait until the stream is closed." msgstr "" -#: ../../library/asyncio-stream.rst:434 +#: ../../library/asyncio-stream.rst:438 msgid "" "Should be called after :meth:`close` to wait until the underlying connection " "is closed, ensuring that all data has been flushed before e.g. exiting the " "program." msgstr "" -#: ../../library/asyncio-stream.rst:442 +#: ../../library/asyncio-stream.rst:446 msgid "Examples" msgstr "Beispiele" -#: ../../library/asyncio-stream.rst:447 +#: ../../library/asyncio-stream.rst:451 msgid "TCP echo client using streams" msgstr "" -#: ../../library/asyncio-stream.rst:449 +#: ../../library/asyncio-stream.rst:453 msgid "TCP echo client using the :func:`asyncio.open_connection` function::" msgstr "" -#: ../../library/asyncio-stream.rst:473 +#: ../../library/asyncio-stream.rst:477 msgid "" "The :ref:`TCP echo client protocol " "` example uses the low-level :meth:" "`loop.create_connection` method." msgstr "" -#: ../../library/asyncio-stream.rst:480 +#: ../../library/asyncio-stream.rst:484 msgid "TCP echo server using streams" msgstr "" -#: ../../library/asyncio-stream.rst:482 +#: ../../library/asyncio-stream.rst:486 msgid "TCP echo server using the :func:`asyncio.start_server` function::" msgstr "" -#: ../../library/asyncio-stream.rst:484 +#: ../../library/asyncio-stream.rst:488 msgid "" "import asyncio\n" "\n" @@ -550,23 +556,23 @@ msgid "" "asyncio.run(main())" msgstr "" -#: ../../library/asyncio-stream.rst:516 +#: ../../library/asyncio-stream.rst:520 msgid "" "The :ref:`TCP echo server protocol " "` example uses the :meth:`loop." "create_server` method." msgstr "" -#: ../../library/asyncio-stream.rst:521 +#: ../../library/asyncio-stream.rst:525 msgid "Get HTTP headers" msgstr "" -#: ../../library/asyncio-stream.rst:523 +#: ../../library/asyncio-stream.rst:527 msgid "" "Simple example querying HTTP headers of the URL passed on the command line::" msgstr "" -#: ../../library/asyncio-stream.rst:525 +#: ../../library/asyncio-stream.rst:529 msgid "" "import asyncio\n" "import urllib.parse\n" @@ -605,33 +611,33 @@ msgid "" "asyncio.run(print_http_headers(url))" msgstr "" -#: ../../library/asyncio-stream.rst:562 +#: ../../library/asyncio-stream.rst:566 msgid "Usage::" msgstr "" -#: ../../library/asyncio-stream.rst:564 +#: ../../library/asyncio-stream.rst:568 msgid "python example.py http://example.com/path/page.html" msgstr "" -#: ../../library/asyncio-stream.rst:566 +#: ../../library/asyncio-stream.rst:570 msgid "or with HTTPS::" msgstr "" -#: ../../library/asyncio-stream.rst:568 +#: ../../library/asyncio-stream.rst:572 msgid "python example.py https://example.com/path/page.html" msgstr "" -#: ../../library/asyncio-stream.rst:574 +#: ../../library/asyncio-stream.rst:578 msgid "Register an open socket to wait for data using streams" msgstr "" -#: ../../library/asyncio-stream.rst:576 +#: ../../library/asyncio-stream.rst:580 msgid "" "Coroutine waiting until a socket receives data using the :func:" "`open_connection` function::" msgstr "" -#: ../../library/asyncio-stream.rst:579 +#: ../../library/asyncio-stream.rst:583 msgid "" "import asyncio\n" "import socket\n" @@ -664,14 +670,14 @@ msgid "" "asyncio.run(wait_for_data())" msgstr "" -#: ../../library/asyncio-stream.rst:611 +#: ../../library/asyncio-stream.rst:615 msgid "" "The :ref:`register an open socket to wait for data using a protocol " "` example uses a low-level protocol and " "the :meth:`loop.create_connection` method." msgstr "" -#: ../../library/asyncio-stream.rst:615 +#: ../../library/asyncio-stream.rst:619 msgid "" "The :ref:`watch a file descriptor for read events " "` example uses the low-level :meth:`loop." diff --git a/library/code.po b/library/code.po index dcaddb5d..cca35892 100644 --- a/library/code.po +++ b/library/code.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -120,10 +120,9 @@ msgstr "" #: ../../library/code.rst:94 msgid "" -"The input is incorrect; :func:`compile_command` raised an exception (:exc:" -"`SyntaxError` or :exc:`OverflowError`). A syntax traceback will be printed " -"by calling the :meth:`showsyntaxerror` method. :meth:`runsource` returns " -"``False``." +"The input is incorrect; :func:`compile_command` raised an exception " +"(usually :exc:`SyntaxError`). A syntax traceback will be printed by calling " +"the :meth:`showsyntaxerror` method. :meth:`runsource` returns ``False``." msgstr "" #: ../../library/code.rst:99 diff --git a/library/ctypes.po b/library/ctypes.po index 949d15bf..71a6bb06 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: @sba72\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -345,7 +345,7 @@ msgid "" "learn more about :mod:`!ctypes` data types." msgstr "" -#: ../../library/ctypes.rst:226 ../../library/ctypes.rst:2553 +#: ../../library/ctypes.rst:226 ../../library/ctypes.rst:2566 msgid "Fundamental data types" msgstr "" @@ -1608,7 +1608,17 @@ msgid "" "instead of a single item." msgstr "" -#: ../../library/ctypes.rst:958 +#: ../../library/ctypes.rst:960 +msgid "" +"Because pointer objects support subscription, they implicitly support :term:" +"`iteration `. Unless doing this in a controlled manner, such as by " +"manually calling :func:`next` on a :func:`pointer` iterator, this will " +"typically lead to infinite loops or crashes, because ctypes has no way of " +"knowing when to stop iteration. In other words, a ``pointer`` iterator will " +"infinitely yield arbitrary memory." +msgstr "" + +#: ../../library/ctypes.rst:967 msgid "" "Behind the scenes, the :func:`pointer` function does more than simply create " "pointer instances, it has to create pointer *types* first. This is done with " @@ -1616,7 +1626,7 @@ msgid "" "returns a new type::" msgstr "" -#: ../../library/ctypes.rst:963 +#: ../../library/ctypes.rst:972 msgid "" ">>> PI = POINTER(c_int)\n" ">>> PI\n" @@ -1630,13 +1640,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:974 +#: ../../library/ctypes.rst:983 msgid "" "Calling the pointer type without an argument creates a ``NULL`` pointer. " "``NULL`` pointers have a ``False`` boolean value::" msgstr "" -#: ../../library/ctypes.rst:977 +#: ../../library/ctypes.rst:986 msgid "" ">>> null_ptr = POINTER(c_int)()\n" ">>> print(bool(null_ptr))\n" @@ -1644,13 +1654,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:982 +#: ../../library/ctypes.rst:991 msgid "" ":mod:`!ctypes` checks for ``NULL`` when dereferencing pointers (but " "dereferencing invalid non-\\ ``NULL`` pointers would crash Python)::" msgstr "" -#: ../../library/ctypes.rst:985 +#: ../../library/ctypes.rst:994 msgid "" ">>> null_ptr[0]\n" "Traceback (most recent call last):\n" @@ -1665,25 +1675,25 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1000 +#: ../../library/ctypes.rst:1009 msgid "Thread safety without the GIL" msgstr "" -#: ../../library/ctypes.rst:1002 +#: ../../library/ctypes.rst:1011 msgid "" "From Python 3.13 onward, the :term:`GIL` can be disabled on the :term:`free-" "threaded build`. In ctypes, reads and writes to a single object concurrently " "is safe, but not across multiple objects:" msgstr "" -#: ../../library/ctypes.rst:1005 +#: ../../library/ctypes.rst:1014 msgid "" ">>> number = c_int(42)\n" ">>> pointer_a = pointer(number)\n" ">>> pointer_b = pointer(number)" msgstr "" -#: ../../library/ctypes.rst:1011 +#: ../../library/ctypes.rst:1020 msgid "" "In the above, it's only safe for one object to read and write to the address " "at once if the GIL is disabled. So, ``pointer_a`` can be shared and written " @@ -1692,7 +1702,7 @@ msgid "" "Lock` to synchronize access to memory:" msgstr "" -#: ../../library/ctypes.rst:1016 +#: ../../library/ctypes.rst:1025 msgid "" ">>> import threading\n" ">>> lock = threading.Lock()\n" @@ -1704,11 +1714,11 @@ msgid "" "... pointer_b.contents = 42" msgstr "" -#: ../../library/ctypes.rst:1031 +#: ../../library/ctypes.rst:1040 msgid "Type conversions" msgstr "" -#: ../../library/ctypes.rst:1033 +#: ../../library/ctypes.rst:1042 msgid "" "Usually, ctypes does strict type checking. This means, if you have " "``POINTER(c_int)`` in the :attr:`~_CFuncPtr.argtypes` list of a function or " @@ -1719,7 +1729,7 @@ msgid "" "ctypes accepts an array of c_int::" msgstr "" -#: ../../library/ctypes.rst:1040 +#: ../../library/ctypes.rst:1049 msgid "" ">>> class Bar(Structure):\n" "... _fields_ = [(\"count\", c_int), (\"values\", POINTER(c_int))]\n" @@ -1736,7 +1746,7 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1054 +#: ../../library/ctypes.rst:1063 msgid "" "In addition, if a function argument is explicitly declared to be a pointer " "type (such as ``POINTER(c_int)``) in :attr:`~_CFuncPtr.argtypes`, an object " @@ -1745,17 +1755,17 @@ msgid "" "automatically." msgstr "" -#: ../../library/ctypes.rst:1059 +#: ../../library/ctypes.rst:1068 msgid "To set a POINTER type field to ``NULL``, you can assign ``None``::" msgstr "" -#: ../../library/ctypes.rst:1061 +#: ../../library/ctypes.rst:1070 msgid "" ">>> bar.values = None\n" ">>>" msgstr "" -#: ../../library/ctypes.rst:1066 +#: ../../library/ctypes.rst:1075 msgid "" "Sometimes you have instances of incompatible types. In C, you can cast one " "type into another type. :mod:`!ctypes` provides a :func:`cast` function " @@ -1764,7 +1774,7 @@ msgid "" "``values`` field, but not instances of other types::" msgstr "" -#: ../../library/ctypes.rst:1072 +#: ../../library/ctypes.rst:1081 msgid "" ">>> bar.values = (c_byte * 4)()\n" "Traceback (most recent call last):\n" @@ -1774,11 +1784,11 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1078 +#: ../../library/ctypes.rst:1087 msgid "For these cases, the :func:`cast` function is handy." msgstr "" -#: ../../library/ctypes.rst:1080 +#: ../../library/ctypes.rst:1089 msgid "" "The :func:`cast` function can be used to cast a ctypes instance into a " "pointer to a different ctypes data type. :func:`cast` takes two parameters, " @@ -1787,7 +1797,7 @@ msgid "" "references the same memory block as the first argument::" msgstr "" -#: ../../library/ctypes.rst:1086 +#: ../../library/ctypes.rst:1095 msgid "" ">>> a = (c_byte * 4)()\n" ">>> cast(a, POINTER(c_int))\n" @@ -1795,13 +1805,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1091 +#: ../../library/ctypes.rst:1100 msgid "" "So, :func:`cast` can be used to assign to the ``values`` field of ``Bar`` " "the structure::" msgstr "" -#: ../../library/ctypes.rst:1094 +#: ../../library/ctypes.rst:1103 msgid "" ">>> bar = Bar()\n" ">>> bar.values = cast((c_byte * 4)(), POINTER(c_int))\n" @@ -1810,18 +1820,18 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1104 +#: ../../library/ctypes.rst:1113 msgid "Incomplete Types" msgstr "" -#: ../../library/ctypes.rst:1106 +#: ../../library/ctypes.rst:1115 msgid "" "*Incomplete Types* are structures, unions or arrays whose members are not " "yet specified. In C, they are specified by forward declarations, which are " "defined later::" msgstr "" -#: ../../library/ctypes.rst:1110 +#: ../../library/ctypes.rst:1119 msgid "" "struct cell; /* forward declaration */\n" "\n" @@ -1831,13 +1841,13 @@ msgid "" "};" msgstr "" -#: ../../library/ctypes.rst:1117 +#: ../../library/ctypes.rst:1126 msgid "" "The straightforward translation into ctypes code would be this, but it does " "not work::" msgstr "" -#: ../../library/ctypes.rst:1120 +#: ../../library/ctypes.rst:1129 msgid "" ">>> class cell(Structure):\n" "... _fields_ = [(\"name\", c_char_p),\n" @@ -1850,14 +1860,14 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1130 +#: ../../library/ctypes.rst:1139 msgid "" "because the new ``class cell`` is not available in the class statement " "itself. In :mod:`!ctypes`, we can define the ``cell`` class and set the :" "attr:`~Structure._fields_` attribute later, after the class statement::" msgstr "" -#: ../../library/ctypes.rst:1134 +#: ../../library/ctypes.rst:1143 msgid "" ">>> from ctypes import *\n" ">>> class cell(Structure):\n" @@ -1868,13 +1878,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1142 +#: ../../library/ctypes.rst:1151 msgid "" "Let's try it. We create two instances of ``cell``, and let them point to " "each other, and finally follow the pointer chain a few times::" msgstr "" -#: ../../library/ctypes.rst:1145 +#: ../../library/ctypes.rst:1154 msgid "" ">>> c1 = cell()\n" ">>> c1.name = b\"foo\"\n" @@ -1891,24 +1901,24 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1163 +#: ../../library/ctypes.rst:1172 msgid "Callback functions" msgstr "" -#: ../../library/ctypes.rst:1165 +#: ../../library/ctypes.rst:1174 msgid "" ":mod:`!ctypes` allows creating C callable function pointers from Python " "callables. These are sometimes called *callback functions*." msgstr "" -#: ../../library/ctypes.rst:1168 +#: ../../library/ctypes.rst:1177 msgid "" "First, you must create a class for the callback function. The class knows " "the calling convention, the return type, and the number and types of " "arguments this function will receive." msgstr "" -#: ../../library/ctypes.rst:1172 +#: ../../library/ctypes.rst:1181 msgid "" "The :func:`CFUNCTYPE` factory function creates types for callback functions " "using the ``cdecl`` calling convention. On Windows, the :func:`WINFUNCTYPE` " @@ -1916,21 +1926,21 @@ msgid "" "calling convention." msgstr "" -#: ../../library/ctypes.rst:1177 +#: ../../library/ctypes.rst:1186 msgid "" "Both of these factory functions are called with the result type as first " "argument, and the callback functions expected argument types as the " "remaining arguments." msgstr "" -#: ../../library/ctypes.rst:1181 +#: ../../library/ctypes.rst:1190 msgid "" "I will present an example here which uses the standard C library's :c:func:`!" "qsort` function, that is used to sort items with the help of a callback " "function. :c:func:`!qsort` will be used to sort an array of integers::" msgstr "" -#: ../../library/ctypes.rst:1185 +#: ../../library/ctypes.rst:1194 msgid "" ">>> IntArray5 = c_int * 5\n" ">>> ia = IntArray5(5, 1, 7, 33, 99)\n" @@ -1939,7 +1949,7 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1191 +#: ../../library/ctypes.rst:1200 msgid "" ":func:`!qsort` must be called with a pointer to the data to sort, the number " "of items in the data array, the size of one item, and a pointer to the " @@ -1949,25 +1959,25 @@ msgid "" "otherwise." msgstr "" -#: ../../library/ctypes.rst:1197 +#: ../../library/ctypes.rst:1206 msgid "" "So our callback function receives pointers to integers, and must return an " "integer. First we create the ``type`` for the callback function::" msgstr "" -#: ../../library/ctypes.rst:1200 +#: ../../library/ctypes.rst:1209 msgid "" ">>> CMPFUNC = CFUNCTYPE(c_int, POINTER(c_int), POINTER(c_int))\n" ">>>" msgstr "" -#: ../../library/ctypes.rst:1203 +#: ../../library/ctypes.rst:1212 msgid "" "To get started, here is a simple callback that shows the values it gets " "passed::" msgstr "" -#: ../../library/ctypes.rst:1206 +#: ../../library/ctypes.rst:1215 msgid "" ">>> def py_cmp_func(a, b):\n" "... print(\"py_cmp_func\", a[0], b[0])\n" @@ -1977,11 +1987,11 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1213 +#: ../../library/ctypes.rst:1222 msgid "The result::" msgstr "" -#: ../../library/ctypes.rst:1215 +#: ../../library/ctypes.rst:1224 msgid "" ">>> qsort(ia, len(ia), sizeof(c_int), cmp_func)\n" "py_cmp_func 5 1\n" @@ -1992,11 +2002,11 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1223 +#: ../../library/ctypes.rst:1232 msgid "Now we can actually compare the two items and return a useful result::" msgstr "" -#: ../../library/ctypes.rst:1225 +#: ../../library/ctypes.rst:1234 msgid "" ">>> def py_cmp_func(a, b):\n" "... print(\"py_cmp_func\", a[0], b[0])\n" @@ -2012,11 +2022,11 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1238 +#: ../../library/ctypes.rst:1247 msgid "As we can easily check, our array is sorted now::" msgstr "" -#: ../../library/ctypes.rst:1240 +#: ../../library/ctypes.rst:1249 msgid "" ">>> for i in ia: print(i, end=\" \")\n" "...\n" @@ -2024,13 +2034,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1245 +#: ../../library/ctypes.rst:1254 msgid "" "The function factories can be used as decorator factories, so we may as well " "write::" msgstr "" -#: ../../library/ctypes.rst:1248 +#: ../../library/ctypes.rst:1257 msgid "" ">>> @CFUNCTYPE(c_int, POINTER(c_int), POINTER(c_int))\n" "... def py_cmp_func(a, b):\n" @@ -2046,14 +2056,14 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1263 +#: ../../library/ctypes.rst:1272 msgid "" "Make sure you keep references to :func:`CFUNCTYPE` objects as long as they " "are used from C code. :mod:`!ctypes` doesn't, and if you don't, they may be " "garbage collected, crashing your program when a callback is made." msgstr "" -#: ../../library/ctypes.rst:1267 +#: ../../library/ctypes.rst:1276 msgid "" "Also, note that if the callback function is called in a thread created " "outside of Python's control (e.g. by the foreign code that calls the " @@ -2063,42 +2073,42 @@ msgid "" "even when those calls are made from the same C thread." msgstr "" -#: ../../library/ctypes.rst:1277 +#: ../../library/ctypes.rst:1286 msgid "Accessing values exported from dlls" msgstr "" -#: ../../library/ctypes.rst:1279 +#: ../../library/ctypes.rst:1288 msgid "" "Some shared libraries not only export functions, they also export variables. " "An example in the Python library itself is the :c:data:`Py_Version`, Python " "runtime version number encoded in a single constant integer." msgstr "" -#: ../../library/ctypes.rst:1283 +#: ../../library/ctypes.rst:1292 msgid "" ":mod:`!ctypes` can access values like this with the :meth:`~_CData.in_dll` " "class methods of the type. *pythonapi* is a predefined symbol giving access " "to the Python C api::" msgstr "" -#: ../../library/ctypes.rst:1287 +#: ../../library/ctypes.rst:1296 msgid "" ">>> version = ctypes.c_int.in_dll(ctypes.pythonapi, \"Py_Version\")\n" ">>> print(hex(version.value))\n" "0x30c00a0" msgstr "" -#: ../../library/ctypes.rst:1291 +#: ../../library/ctypes.rst:1300 msgid "" "An extended example which also demonstrates the use of pointers accesses " "the :c:data:`PyImport_FrozenModules` pointer exported by Python." msgstr "" -#: ../../library/ctypes.rst:1294 +#: ../../library/ctypes.rst:1303 msgid "Quoting the docs for that value:" msgstr "" -#: ../../library/ctypes.rst:1296 +#: ../../library/ctypes.rst:1305 msgid "" "This pointer is initialized to point to an array of :c:struct:`_frozen` " "records, terminated by one whose members are all ``NULL`` or zero. When a " @@ -2107,13 +2117,13 @@ msgid "" "frozen modules." msgstr "" -#: ../../library/ctypes.rst:1301 +#: ../../library/ctypes.rst:1310 msgid "" "So manipulating this pointer could even prove useful. To restrict the " "example size, we show only how this table can be read with :mod:`!ctypes`::" msgstr "" -#: ../../library/ctypes.rst:1304 +#: ../../library/ctypes.rst:1313 msgid "" ">>> from ctypes import *\n" ">>>\n" @@ -2127,20 +2137,20 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1315 +#: ../../library/ctypes.rst:1324 msgid "" "We have defined the :c:struct:`_frozen` data type, so we can get the pointer " "to the table::" msgstr "" -#: ../../library/ctypes.rst:1318 +#: ../../library/ctypes.rst:1327 msgid "" ">>> FrozenTable = POINTER(struct_frozen)\n" ">>> table = FrozenTable.in_dll(pythonapi, \"_PyImport_FrozenBootstrap\")\n" ">>>" msgstr "" -#: ../../library/ctypes.rst:1322 +#: ../../library/ctypes.rst:1331 msgid "" "Since ``table`` is a ``pointer`` to the array of ``struct_frozen`` records, " "we can iterate over it, but we just have to make sure that our loop " @@ -2149,7 +2159,7 @@ msgid "" "the loop when we hit the ``NULL`` entry::" msgstr "" -#: ../../library/ctypes.rst:1328 +#: ../../library/ctypes.rst:1337 msgid "" ">>> for item in table:\n" "... if item.name is None:\n" @@ -2162,28 +2172,28 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1338 +#: ../../library/ctypes.rst:1347 msgid "" "The fact that standard Python has a frozen module and a frozen package " "(indicated by the negative ``size`` member) is not well known, it is only " "used for testing. Try it out with ``import __hello__`` for example." msgstr "" -#: ../../library/ctypes.rst:1346 +#: ../../library/ctypes.rst:1355 msgid "Surprises" msgstr "" -#: ../../library/ctypes.rst:1348 +#: ../../library/ctypes.rst:1357 msgid "" "There are some edges in :mod:`!ctypes` where you might expect something " "other than what actually happens." msgstr "" -#: ../../library/ctypes.rst:1351 +#: ../../library/ctypes.rst:1360 msgid "Consider the following example::" msgstr "" -#: ../../library/ctypes.rst:1353 +#: ../../library/ctypes.rst:1362 msgid "" ">>> from ctypes import *\n" ">>> class POINT(Structure):\n" @@ -2204,13 +2214,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1371 +#: ../../library/ctypes.rst:1380 msgid "" "Hm. We certainly expected the last statement to print ``3 4 1 2``. What " "happened? Here are the steps of the ``rc.a, rc.b = rc.b, rc.a`` line above::" msgstr "" -#: ../../library/ctypes.rst:1374 +#: ../../library/ctypes.rst:1383 msgid "" ">>> temp0, temp1 = rc.b, rc.a\n" ">>> rc.a = temp0\n" @@ -2218,7 +2228,7 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1379 +#: ../../library/ctypes.rst:1388 msgid "" "Note that ``temp0`` and ``temp1`` are objects still using the internal " "buffer of the ``rc`` object above. So executing ``rc.a = temp0`` copies the " @@ -2227,20 +2237,20 @@ msgid "" "have the expected effect." msgstr "" -#: ../../library/ctypes.rst:1385 +#: ../../library/ctypes.rst:1394 msgid "" "Keep in mind that retrieving sub-objects from Structure, Unions, and Arrays " "doesn't *copy* the sub-object, instead it retrieves a wrapper object " "accessing the root-object's underlying buffer." msgstr "" -#: ../../library/ctypes.rst:1389 +#: ../../library/ctypes.rst:1398 msgid "" "Another example that may behave differently from what one would expect is " "this::" msgstr "" -#: ../../library/ctypes.rst:1391 +#: ../../library/ctypes.rst:1400 msgid "" ">>> s = c_char_p()\n" ">>> s.value = b\"abc def ghi\"\n" @@ -2251,13 +2261,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1401 +#: ../../library/ctypes.rst:1410 msgid "" "Objects instantiated from :class:`c_char_p` can only have their value set to " "bytes or integers." msgstr "" -#: ../../library/ctypes.rst:1404 +#: ../../library/ctypes.rst:1413 msgid "" "Why is it printing ``False``? ctypes instances are objects containing a " "memory block plus some :term:`descriptor`\\s accessing the contents of the " @@ -2266,17 +2276,17 @@ msgid "" "the contents again constructs a new Python object each time!" msgstr "" -#: ../../library/ctypes.rst:1414 +#: ../../library/ctypes.rst:1423 msgid "Variable-sized data types" msgstr "" -#: ../../library/ctypes.rst:1416 +#: ../../library/ctypes.rst:1425 msgid "" ":mod:`!ctypes` provides some support for variable-sized arrays and " "structures." msgstr "" -#: ../../library/ctypes.rst:1418 +#: ../../library/ctypes.rst:1427 msgid "" "The :func:`resize` function can be used to resize the memory buffer of an " "existing ctypes object. The function takes the object as first argument, " @@ -2285,7 +2295,7 @@ msgid "" "objects type, a :exc:`ValueError` is raised if this is tried::" msgstr "" -#: ../../library/ctypes.rst:1424 +#: ../../library/ctypes.rst:1433 msgid "" ">>> short_array = (c_short * 4)()\n" ">>> print(sizeof(short_array))\n" @@ -2302,14 +2312,14 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1438 +#: ../../library/ctypes.rst:1447 msgid "" "This is nice and fine, but how would one access the additional elements " "contained in this array? Since the type still only knows about 4 elements, " "we get errors accessing other elements::" msgstr "" -#: ../../library/ctypes.rst:1442 +#: ../../library/ctypes.rst:1451 msgid "" ">>> short_array[:]\n" "[0, 0, 0, 0]\n" @@ -2320,32 +2330,32 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1450 +#: ../../library/ctypes.rst:1459 msgid "" "Another way to use variable-sized data types with :mod:`!ctypes` is to use " "the dynamic nature of Python, and (re-)define the data type after the " "required size is already known, on a case by case basis." msgstr "" -#: ../../library/ctypes.rst:1458 +#: ../../library/ctypes.rst:1467 msgid "ctypes reference" msgstr "" -#: ../../library/ctypes.rst:1463 +#: ../../library/ctypes.rst:1472 msgid "Loading shared libraries" msgstr "" -#: ../../library/ctypes.rst:1465 +#: ../../library/ctypes.rst:1474 msgid "" "There are several ways to load shared libraries into the Python process. " "One way is to instantiate :py:class:`CDLL` or one of its subclasses:" msgstr "" -#: ../../library/ctypes.rst:1471 +#: ../../library/ctypes.rst:1480 msgid "Represents a loaded shared library." msgstr "" -#: ../../library/ctypes.rst:1473 +#: ../../library/ctypes.rst:1482 msgid "" "Functions in this library use the standard C calling convention, and are " "assumed to return :c:expr:`int`. The Python :term:`global interpreter lock` " @@ -2355,7 +2365,7 @@ msgid "" "PyDLL`." msgstr "" -#: ../../library/ctypes.rst:1480 +#: ../../library/ctypes.rst:1489 msgid "" "If you have an existing :py:attr:`handle ` to an " "already loaded shared library, it can be passed as the *handle* argument to " @@ -2364,20 +2374,20 @@ msgid "" "it may be adjusted and/or validated." msgstr "" -#: ../../library/ctypes.rst:1486 +#: ../../library/ctypes.rst:1495 msgid "" "If *handle* is ``None``, the underlying platform's :manpage:`dlopen(3)` or " "`LoadLibraryExW`_ function is used to load the library into the process, and " "to get a handle to it." msgstr "" -#: ../../library/ctypes.rst:1490 +#: ../../library/ctypes.rst:1499 msgid "" "*name* is the pathname of the shared library to open. If *name* does not " "contain a path separator, the library is found in a platform-specific way." msgstr "" -#: ../../library/ctypes.rst:1494 +#: ../../library/ctypes.rst:1503 msgid "" "On Windows, the ``.DLL`` suffix may be missing. (For details, see " "`LoadLibraryExW`_ documentation.) Other platform-specific prefixes and " @@ -2386,7 +2396,7 @@ msgid "" "`ctypes-finding-shared-libraries` for more information." msgstr "" -#: ../../library/ctypes.rst:1501 +#: ../../library/ctypes.rst:1510 msgid "" "On non-Windows systems, *name* can be ``None``. In this case, :c:func:`!" "dlopen` is called with ``NULL``, which opens the main program as a " @@ -2394,17 +2404,17 @@ msgid "" "is more portable.)" msgstr "" -#: ../../library/ctypes.rst:1507 +#: ../../library/ctypes.rst:1516 msgid "CPython implementation detail" msgstr "Details zur CPython-Implementierung" -#: ../../library/ctypes.rst:1509 +#: ../../library/ctypes.rst:1518 msgid "" "Since CPython is linked to ``libc``, a ``None`` *name* is often used to " "access the C standard library::" msgstr "" -#: ../../library/ctypes.rst:1512 +#: ../../library/ctypes.rst:1521 msgid "" ">>> printf = ctypes.CDLL(None).printf\n" ">>> printf.argtypes = [ctypes.c_char_p]\n" @@ -2413,13 +2423,13 @@ msgid "" "6" msgstr "" -#: ../../library/ctypes.rst:1518 +#: ../../library/ctypes.rst:1527 msgid "" "To access the Python C API, prefer :py:data:`ctypes.pythonapi` which works " "across platforms." msgstr "" -#: ../../library/ctypes.rst:1521 +#: ../../library/ctypes.rst:1530 msgid "" "The *mode* parameter can be used to specify how the library is loaded. For " "details, consult the :manpage:`dlopen(3)` manpage. On Windows, *mode* is " @@ -2427,7 +2437,7 @@ msgid "" "configurable." msgstr "" -#: ../../library/ctypes.rst:1526 +#: ../../library/ctypes.rst:1535 msgid "" "The *use_errno* parameter, when set to true, enables a ctypes mechanism that " "allows accessing the system :data:`errno` error number in a safe way. :mod:`!" @@ -2437,14 +2447,14 @@ msgid "" "private copy, the same happens immediately after the function call." msgstr "" -#: ../../library/ctypes.rst:1533 +#: ../../library/ctypes.rst:1542 msgid "" "The function :func:`ctypes.get_errno` returns the value of the ctypes " "private copy, and the function :func:`ctypes.set_errno` changes the ctypes " "private copy to a new value and returns the former value." msgstr "" -#: ../../library/ctypes.rst:1537 +#: ../../library/ctypes.rst:1546 msgid "" "The *use_last_error* parameter, when set to true, enables the same mechanism " "for the Windows error code which is managed by the :func:`GetLastError` and :" @@ -2453,7 +2463,7 @@ msgid "" "private copy of the windows error code." msgstr "" -#: ../../library/ctypes.rst:1543 +#: ../../library/ctypes.rst:1552 msgid "" "The *winmode* parameter is used on Windows to specify how the library is " "loaded (since *mode* is ignored). It takes any value that is valid for the " @@ -2463,7 +2473,7 @@ msgid "" "ensure the correct library and dependencies are loaded." msgstr "" -#: ../../library/ctypes.rst:1550 +#: ../../library/ctypes.rst:1559 msgid "" "On Windows creating a :class:`CDLL` instance may fail even if the DLL name " "exists. When a dependent DLL of the loaded DLL is not found, a :exc:" @@ -2475,22 +2485,22 @@ msgid "" "determine which one is not found using Windows debugging and tracing tools." msgstr "" -#: ../../library/ctypes.rst:1562 +#: ../../library/ctypes.rst:1571 msgid "" "`Microsoft DUMPBIN tool `_ -- A tool to find DLL " "dependents." msgstr "" -#: ../../library/ctypes.rst:1565 +#: ../../library/ctypes.rst:1574 msgid "Added *winmode* parameter." msgstr "" -#: ../../library/ctypes.rst:1570 +#: ../../library/ctypes.rst:1579 msgid "The *name* parameter can now be a :term:`path-like object`." msgstr "" -#: ../../library/ctypes.rst:1572 +#: ../../library/ctypes.rst:1581 msgid "" "Instances of this class have no public methods. Functions exported by the " "shared library can be accessed as attributes or by index. Please note that " @@ -2499,7 +2509,7 @@ msgid "" "hand, accessing it through an index returns a new object each time::" msgstr "" -#: ../../library/ctypes.rst:1578 +#: ../../library/ctypes.rst:1587 msgid "" ">>> from ctypes import CDLL\n" ">>> libc = CDLL(\"libc.so.6\") # On Linux\n" @@ -2509,26 +2519,26 @@ msgid "" "False" msgstr "" -#: ../../library/ctypes.rst:1585 +#: ../../library/ctypes.rst:1594 msgid "" "The following public attributes are available. Their name starts with an " "underscore to not clash with exported function names:" msgstr "" -#: ../../library/ctypes.rst:1590 +#: ../../library/ctypes.rst:1599 msgid "The system handle used to access the library." msgstr "" -#: ../../library/ctypes.rst:1594 +#: ../../library/ctypes.rst:1603 msgid "The name of the library passed in the constructor." msgstr "" -#: ../../library/ctypes.rst:1600 ../../library/ctypes.rst:1617 -#: ../../library/ctypes.rst:1626 +#: ../../library/ctypes.rst:1609 ../../library/ctypes.rst:1626 +#: ../../library/ctypes.rst:1635 msgid "See :py:class:`~ctypes.CDLL`, the superclass, for common information." msgstr "" -#: ../../library/ctypes.rst:1602 +#: ../../library/ctypes.rst:1611 msgid "" "Functions in this library use the ``stdcall`` calling convention, and are " "assumed to return the windows specific :class:`HRESULT` code. :class:" @@ -2537,60 +2547,60 @@ msgid "" "value signals a failure, an :class:`OSError` is automatically raised." msgstr "" -#: ../../library/ctypes.rst:1608 ../../library/ctypes.rst:1622 -#: ../../library/ctypes.rst:1685 ../../library/ctypes.rst:1692 -#: ../../library/ctypes.rst:1828 ../../library/ctypes.rst:1987 -#: ../../library/ctypes.rst:2039 ../../library/ctypes.rst:2191 -#: ../../library/ctypes.rst:2263 ../../library/ctypes.rst:2272 -#: ../../library/ctypes.rst:2286 ../../library/ctypes.rst:2295 -#: ../../library/ctypes.rst:2304 ../../library/ctypes.rst:2319 -#: ../../library/ctypes.rst:2386 ../../library/ctypes.rst:2413 -#: ../../library/ctypes.rst:2845 ../../library/ctypes.rst:3268 +#: ../../library/ctypes.rst:1617 ../../library/ctypes.rst:1631 +#: ../../library/ctypes.rst:1694 ../../library/ctypes.rst:1701 +#: ../../library/ctypes.rst:1841 ../../library/ctypes.rst:2000 +#: ../../library/ctypes.rst:2052 ../../library/ctypes.rst:2204 +#: ../../library/ctypes.rst:2276 ../../library/ctypes.rst:2285 +#: ../../library/ctypes.rst:2299 ../../library/ctypes.rst:2308 +#: ../../library/ctypes.rst:2317 ../../library/ctypes.rst:2332 +#: ../../library/ctypes.rst:2399 ../../library/ctypes.rst:2426 +#: ../../library/ctypes.rst:2858 ../../library/ctypes.rst:3281 msgid "Availability" msgstr "" -#: ../../library/ctypes.rst:1610 +#: ../../library/ctypes.rst:1619 msgid "" ":exc:`WindowsError` used to be raised, which is now an alias of :exc:" "`OSError`." msgstr "" -#: ../../library/ctypes.rst:1619 +#: ../../library/ctypes.rst:1628 msgid "" "Functions in these libraries use the ``stdcall`` calling convention, and are " "assumed to return :c:expr:`int` by default." msgstr "" -#: ../../library/ctypes.rst:1628 +#: ../../library/ctypes.rst:1637 msgid "" "When functions in this library are called, the Python GIL is *not* released " "during the function call, and after the function execution the Python error " "flag is checked. If the error flag is set, a Python exception is raised." msgstr "" -#: ../../library/ctypes.rst:1633 +#: ../../library/ctypes.rst:1642 msgid "Thus, this is only useful to call Python C API functions directly." msgstr "" -#: ../../library/ctypes.rst:1638 +#: ../../library/ctypes.rst:1647 msgid "" "Flag to use as *mode* parameter. On platforms where this flag is not " "available, it is defined as the integer zero." msgstr "" -#: ../../library/ctypes.rst:1644 +#: ../../library/ctypes.rst:1653 msgid "" "Flag to use as *mode* parameter. On platforms where this is not available, " "it is the same as *RTLD_GLOBAL*." msgstr "" -#: ../../library/ctypes.rst:1650 +#: ../../library/ctypes.rst:1659 msgid "" "The default mode which is used to load shared libraries. On OSX 10.3, this " "is *RTLD_GLOBAL*, otherwise it is the same as *RTLD_LOCAL*." msgstr "" -#: ../../library/ctypes.rst:1654 +#: ../../library/ctypes.rst:1663 msgid "" "Shared libraries can also be loaded by using one of the prefabricated " "objects, which are instances of the :class:`LibraryLoader` class, either by " @@ -2598,13 +2608,13 @@ msgid "" "library as attribute of the loader instance." msgstr "" -#: ../../library/ctypes.rst:1661 +#: ../../library/ctypes.rst:1670 msgid "" "Class which loads shared libraries. *dlltype* should be one of the :class:" "`CDLL`, :class:`PyDLL`, :class:`WinDLL`, or :class:`OleDLL` types." msgstr "" -#: ../../library/ctypes.rst:1664 +#: ../../library/ctypes.rst:1673 msgid "" ":meth:`!__getattr__` has special behavior: It allows loading a shared " "library by accessing it as attribute of a library loader instance. The " @@ -2612,33 +2622,33 @@ msgid "" "each time." msgstr "" -#: ../../library/ctypes.rst:1670 +#: ../../library/ctypes.rst:1679 msgid "" "Load a shared library into the process and return it. This method always " "returns a new instance of the library." msgstr "" -#: ../../library/ctypes.rst:1674 +#: ../../library/ctypes.rst:1683 msgid "These prefabricated library loaders are available:" msgstr "" -#: ../../library/ctypes.rst:1678 +#: ../../library/ctypes.rst:1687 msgid "Creates :class:`CDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1683 +#: ../../library/ctypes.rst:1692 msgid "Creates :class:`WinDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1690 +#: ../../library/ctypes.rst:1699 msgid "Creates :class:`OleDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1697 +#: ../../library/ctypes.rst:1706 msgid "Creates :class:`PyDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1702 +#: ../../library/ctypes.rst:1711 msgid "" "An instance of :class:`PyDLL` that exposes Python C API functions as " "attributes. Note that all these functions are assumed to return C :c:expr:" @@ -2646,32 +2656,36 @@ msgid "" "correct :attr:`!restype` attribute to use these functions." msgstr "" -#: ../../library/ctypes.rst:1707 ../../library/ctypes.rst:1709 +#: ../../library/ctypes.rst:1718 +msgid "If the Python interpreter is statically linked, this may be ``None``." +msgstr "" + +#: ../../library/ctypes.rst:1720 ../../library/ctypes.rst:1722 msgid "" "Loading a library through any of these objects raises an :ref:`auditing " "event ` ``ctypes.dlopen`` with string argument ``name``, the name " "used to load the library." msgstr "" -#: ../../library/ctypes.rst:1713 ../../library/ctypes.rst:1715 +#: ../../library/ctypes.rst:1726 ../../library/ctypes.rst:1728 msgid "" "Accessing a function on a loaded library raises an auditing event ``ctypes." "dlsym`` with arguments ``library`` (the library object) and ``name`` (the " "symbol's name as a string or integer)." msgstr "" -#: ../../library/ctypes.rst:1719 ../../library/ctypes.rst:1721 +#: ../../library/ctypes.rst:1732 ../../library/ctypes.rst:1734 msgid "" "In cases when only the library handle is available rather than the object, " "accessing a function raises an auditing event ``ctypes.dlsym/handle`` with " "arguments ``handle`` (the raw library handle) and ``name``." msgstr "" -#: ../../library/ctypes.rst:1729 +#: ../../library/ctypes.rst:1742 msgid "Finding shared libraries" msgstr "" -#: ../../library/ctypes.rst:1731 +#: ../../library/ctypes.rst:1744 msgid "" "When programming in a compiled language, shared libraries are accessed when " "compiling/linking a program, and when the program is run. The programmer " @@ -2680,7 +2694,7 @@ msgid "" "library to load." msgstr "" -#: ../../library/ctypes.rst:1737 +#: ../../library/ctypes.rst:1750 msgid "" "While the mapping from short names to filenames is not consistently exposed " "by platforms, the :mod:`!ctypes.util` module provides a function, :func:`!" @@ -2689,7 +2703,7 @@ msgid "" "platforms and configurations, the function is :term:`soft deprecated`." msgstr "" -#: ../../library/ctypes.rst:1744 +#: ../../library/ctypes.rst:1757 msgid "" "If wrapping a shared library with :mod:`!ctypes`, consider determining the " "shared library name at development time, and hardcoding it into the wrapper " @@ -2699,11 +2713,11 @@ msgid "" "find_library` as a default or fallback." msgstr "" -#: ../../library/ctypes.rst:1755 +#: ../../library/ctypes.rst:1768 msgid "Try to find a library and return a pathname." msgstr "" -#: ../../library/ctypes.rst:1757 +#: ../../library/ctypes.rst:1770 msgid "" "*name* is the \"short\" library name without any prefix like ``lib``, suffix " "like ``.so``, ``.dylib`` or version number. (This is the form used for the " @@ -2711,24 +2725,24 @@ msgid "" "passing to :py:class:`~ctypes.CDLL`." msgstr "" -#: ../../library/ctypes.rst:1762 +#: ../../library/ctypes.rst:1775 msgid "If no library can be found, return ``None``." msgstr "" -#: ../../library/ctypes.rst:1764 +#: ../../library/ctypes.rst:1777 msgid "" "The exact functionality is system dependent, and is *not guaranteed* to " "match the behavior of the compiler, linker, and loader used for (or by) " "Python. It is recommended to only use this function as a default or fallback," msgstr "" -#: ../../library/ctypes.rst:1771 +#: ../../library/ctypes.rst:1784 msgid "" "This function is kept for use in cases where it works, but not expected to " "be updated for additional platforms and configurations." msgstr "" -#: ../../library/ctypes.rst:1774 +#: ../../library/ctypes.rst:1787 msgid "" "On Linux, :func:`!find_library` tries to run external programs (``/sbin/" "ldconfig``, ``gcc``, ``objdump`` and ``ld``) to find the library file. If " @@ -2736,18 +2750,18 @@ msgid "" "by Python, the result of this function may be misleading." msgstr "" -#: ../../library/ctypes.rst:1780 +#: ../../library/ctypes.rst:1793 msgid "" "On Linux, the value of the environment variable ``LD_LIBRARY_PATH`` is used " "when searching for libraries, if a library cannot be found by any other " "means." msgstr "" -#: ../../library/ctypes.rst:1784 +#: ../../library/ctypes.rst:1797 msgid "Here are some examples::" msgstr "" -#: ../../library/ctypes.rst:1786 +#: ../../library/ctypes.rst:1799 msgid "" ">>> from ctypes.util import find_library\n" ">>> find_library(\"m\")\n" @@ -2759,14 +2773,14 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1795 +#: ../../library/ctypes.rst:1808 msgid "" "On macOS and Android, :func:`!find_library` uses the system's standard " "naming schemes and paths to locate the library, and returns a full pathname " "if successful::" msgstr "" -#: ../../library/ctypes.rst:1799 +#: ../../library/ctypes.rst:1812 msgid "" ">>> from ctypes.util import find_library\n" ">>> find_library(\"c\")\n" @@ -2780,45 +2794,45 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1810 +#: ../../library/ctypes.rst:1823 msgid "" "On Windows, :func:`!find_library` searches along the system search path, and " "returns the full pathname, but since there is no predefined naming scheme a " "call like ``find_library(\"c\")`` will fail and return ``None``." msgstr "" -#: ../../library/ctypes.rst:1817 +#: ../../library/ctypes.rst:1830 msgid "" "Returns the filename of the VC runtime library used by Python, and by the " "extension modules." msgstr "" -#: ../../library/ctypes.rst:1820 +#: ../../library/ctypes.rst:1833 msgid "" "If the name of the library cannot be determined, ``None`` is returned. " "Notably, this will happen for recent versions of the VC runtime library, " "which are not directly loadable." msgstr "" -#: ../../library/ctypes.rst:1824 +#: ../../library/ctypes.rst:1837 msgid "" "If you need to free memory, for example, allocated by an extension module " "with a call to the ``free(void *)``, it is important that you use the " "function in the same library that allocated the memory." msgstr "" -#: ../../library/ctypes.rst:1834 +#: ../../library/ctypes.rst:1847 msgid "Listing loaded shared libraries" msgstr "" -#: ../../library/ctypes.rst:1836 +#: ../../library/ctypes.rst:1849 msgid "" "When writing code that relies on code loaded from shared libraries, it can " "be useful to know which shared libraries have already been loaded into the " "current process." msgstr "" -#: ../../library/ctypes.rst:1840 +#: ../../library/ctypes.rst:1853 msgid "" "The :mod:`!ctypes.util` module provides the :func:`~ctypes.util.dllist` " "function, which calls the different APIs provided by the various platforms " @@ -2826,7 +2840,7 @@ msgid "" "current process." msgstr "" -#: ../../library/ctypes.rst:1844 +#: ../../library/ctypes.rst:1857 msgid "" "The exact output of this function will be system dependent. On most " "platforms, the first entry of this list represents the current process " @@ -2834,7 +2848,7 @@ msgid "" "return may look like::" msgstr "" -#: ../../library/ctypes.rst:1849 +#: ../../library/ctypes.rst:1862 msgid "" ">>> from ctypes.util import dllist\n" ">>> dllist()\n" @@ -2842,11 +2856,11 @@ msgid "" "linux-gnu/libc.so.6', ... ]" msgstr "" -#: ../../library/ctypes.rst:1856 +#: ../../library/ctypes.rst:1869 msgid "Foreign functions" msgstr "" -#: ../../library/ctypes.rst:1858 +#: ../../library/ctypes.rst:1871 msgid "" "As explained in the previous section, foreign functions can be accessed as " "attributes of loaded shared libraries. The function objects created in this " @@ -2855,13 +2869,13 @@ msgid "" "library loader." msgstr "" -#: ../../library/ctypes.rst:1863 +#: ../../library/ctypes.rst:1876 msgid "" "They are instances of a private local class :class:`!_FuncPtr` (not exposed " "in :mod:`!ctypes`) which inherits from the private :class:`_CFuncPtr` class:" msgstr "" -#: ../../library/ctypes.rst:1866 +#: ../../library/ctypes.rst:1879 msgid "" ">>> import ctypes\n" ">>> lib = ctypes.CDLL(None)\n" @@ -2871,29 +2885,29 @@ msgid "" "False" msgstr "" -#: ../../library/ctypes.rst:1877 +#: ../../library/ctypes.rst:1890 msgid "Base class for C callable foreign functions." msgstr "" -#: ../../library/ctypes.rst:1879 +#: ../../library/ctypes.rst:1892 msgid "" "Instances of foreign functions are also C compatible data types; they " "represent C function pointers." msgstr "" -#: ../../library/ctypes.rst:1882 +#: ../../library/ctypes.rst:1895 msgid "" "This behavior can be customized by assigning to special attributes of the " "foreign function object." msgstr "" -#: ../../library/ctypes.rst:1887 +#: ../../library/ctypes.rst:1900 msgid "" "Assign a ctypes type to specify the result type of the foreign function. Use " "``None`` for :c:expr:`void`, a function not returning anything." msgstr "" -#: ../../library/ctypes.rst:1890 +#: ../../library/ctypes.rst:1903 msgid "" "It is possible to assign a callable Python object that is not a ctypes type, " "in this case the function is assumed to return a C :c:expr:`int`, and the " @@ -2903,7 +2917,7 @@ msgid "" "callable to the :attr:`errcheck` attribute." msgstr "" -#: ../../library/ctypes.rst:1899 +#: ../../library/ctypes.rst:1912 msgid "" "Assign a tuple of ctypes types to specify the argument types that the " "function accepts. Functions using the ``stdcall`` calling convention can " @@ -2912,7 +2926,7 @@ msgid "" "unspecified arguments as well." msgstr "" -#: ../../library/ctypes.rst:1905 +#: ../../library/ctypes.rst:1918 msgid "" "When a foreign function is called, each actual argument is passed to the :" "meth:`~_CData.from_param` class method of the items in the :attr:`argtypes` " @@ -2922,7 +2936,7 @@ msgid "" "object using ctypes conversion rules." msgstr "" -#: ../../library/ctypes.rst:1912 +#: ../../library/ctypes.rst:1925 msgid "" "New: It is now possible to put items in argtypes which are not ctypes types, " "but each item must have a :meth:`~_CData.from_param` method which returns a " @@ -2930,38 +2944,38 @@ msgid "" "defining adapters that can adapt custom objects as function parameters." msgstr "" -#: ../../library/ctypes.rst:1919 +#: ../../library/ctypes.rst:1932 msgid "" "Assign a Python function or another callable to this attribute. The callable " "will be called with three or more arguments:" msgstr "" -#: ../../library/ctypes.rst:1926 +#: ../../library/ctypes.rst:1939 msgid "" "*result* is what the foreign function returns, as specified by the :attr:`!" "restype` attribute." msgstr "" -#: ../../library/ctypes.rst:1929 +#: ../../library/ctypes.rst:1942 msgid "" "*func* is the foreign function object itself, this allows reusing the same " "callable object to check or post process the results of several functions." msgstr "" -#: ../../library/ctypes.rst:1933 +#: ../../library/ctypes.rst:1946 msgid "" "*arguments* is a tuple containing the parameters originally passed to the " "function call, this allows specializing the behavior on the arguments used." msgstr "" -#: ../../library/ctypes.rst:1937 +#: ../../library/ctypes.rst:1950 msgid "" "The object that this function returns will be returned from the foreign " "function call, but it can also check the result value and raise an exception " "if the foreign function call failed." msgstr "" -#: ../../library/ctypes.rst:1942 ../../library/ctypes.rst:1944 +#: ../../library/ctypes.rst:1955 ../../library/ctypes.rst:1957 msgid "" "On Windows, when a foreign function call raises a system exception (for " "example, due to an access violation), it will be captured and replaced with " @@ -2970,18 +2984,18 @@ msgid "" "hook to replace the exception with its own." msgstr "" -#: ../../library/ctypes.rst:1950 ../../library/ctypes.rst:1952 +#: ../../library/ctypes.rst:1963 ../../library/ctypes.rst:1965 msgid "" "Some ways to invoke foreign function calls as well as some of the functions " "in this module may raise an auditing event ``ctypes.call_function`` with " "arguments ``function pointer`` and ``arguments``." msgstr "" -#: ../../library/ctypes.rst:1959 +#: ../../library/ctypes.rst:1972 msgid "Function prototypes" msgstr "" -#: ../../library/ctypes.rst:1961 +#: ../../library/ctypes.rst:1974 msgid "" "Foreign functions can also be created by instantiating function prototypes. " "Function prototypes are similar to function prototypes in C; they describe a " @@ -2992,7 +3006,7 @@ msgid "" "``@wrapper`` syntax. See :ref:`ctypes-callback-functions` for examples." msgstr "" -#: ../../library/ctypes.rst:1972 +#: ../../library/ctypes.rst:1985 msgid "" "The returned function prototype creates functions that use the standard C " "calling convention. The function will release the GIL during the call. If " @@ -3001,37 +3015,37 @@ msgid "" "after the call; *use_last_error* does the same for the Windows error code." msgstr "" -#: ../../library/ctypes.rst:1982 +#: ../../library/ctypes.rst:1995 msgid "" "The returned function prototype creates functions that use the ``stdcall`` " "calling convention. The function will release the GIL during the call. " "*use_errno* and *use_last_error* have the same meaning as above." msgstr "" -#: ../../library/ctypes.rst:1992 +#: ../../library/ctypes.rst:2005 msgid "" "The returned function prototype creates functions that use the Python " "calling convention. The function will *not* release the GIL during the call." msgstr "" -#: ../../library/ctypes.rst:1995 +#: ../../library/ctypes.rst:2008 msgid "" "Function prototypes created by these factory functions can be instantiated " "in different ways, depending on the type and number of the parameters in the " "call:" msgstr "" -#: ../../library/ctypes.rst:2002 +#: ../../library/ctypes.rst:2015 msgid "" "Returns a foreign function at the specified address which must be an integer." msgstr "" -#: ../../library/ctypes.rst:2009 +#: ../../library/ctypes.rst:2022 msgid "" "Create a C callable function (a callback function) from a Python *callable*." msgstr "" -#: ../../library/ctypes.rst:2016 +#: ../../library/ctypes.rst:2029 msgid "" "Returns a foreign function exported by a shared library. *func_spec* must be " "a 2-tuple ``(name_or_ordinal, library)``. The first item is the name of the " @@ -3039,7 +3053,7 @@ msgid "" "small integer. The second item is the shared library instance." msgstr "" -#: ../../library/ctypes.rst:2026 +#: ../../library/ctypes.rst:2039 msgid "" "Returns a foreign function that will call a COM method. *vtbl_index* is the " "index into the virtual function table, a small non-negative integer. *name* " @@ -3047,86 +3061,86 @@ msgid "" "identifier which is used in extended error reporting." msgstr "" -#: ../../library/ctypes.rst:2031 +#: ../../library/ctypes.rst:2044 msgid "" "If *iid* is not specified, an :exc:`OSError` is raised if the COM method " "call fails. If *iid* is specified, a :exc:`~ctypes.COMError` is raised " "instead." msgstr "" -#: ../../library/ctypes.rst:2035 +#: ../../library/ctypes.rst:2048 msgid "" "COM methods use a special calling convention: They require a pointer to the " "COM interface as first argument, in addition to those parameters that are " "specified in the :attr:`!argtypes` tuple." msgstr "" -#: ../../library/ctypes.rst:2042 +#: ../../library/ctypes.rst:2055 msgid "" "The optional *paramflags* parameter creates foreign function wrappers with " "much more functionality than the features described above." msgstr "" -#: ../../library/ctypes.rst:2045 +#: ../../library/ctypes.rst:2058 msgid "" "*paramflags* must be a tuple of the same length as :attr:`~_CFuncPtr." "argtypes`." msgstr "" -#: ../../library/ctypes.rst:2047 +#: ../../library/ctypes.rst:2060 msgid "" "Each item in this tuple contains further information about a parameter, it " "must be a tuple containing one, two, or three items." msgstr "" -#: ../../library/ctypes.rst:2050 +#: ../../library/ctypes.rst:2063 msgid "" "The first item is an integer containing a combination of direction flags for " "the parameter:" msgstr "" -#: ../../library/ctypes.rst:2053 +#: ../../library/ctypes.rst:2066 msgid "1" msgstr "" -#: ../../library/ctypes.rst:2054 +#: ../../library/ctypes.rst:2067 msgid "Specifies an input parameter to the function." msgstr "" -#: ../../library/ctypes.rst:2056 +#: ../../library/ctypes.rst:2069 msgid "2" msgstr "" -#: ../../library/ctypes.rst:2057 +#: ../../library/ctypes.rst:2070 msgid "Output parameter. The foreign function fills in a value." msgstr "" -#: ../../library/ctypes.rst:2059 +#: ../../library/ctypes.rst:2072 msgid "4" msgstr "4" -#: ../../library/ctypes.rst:2060 +#: ../../library/ctypes.rst:2073 msgid "Input parameter which defaults to the integer zero." msgstr "" -#: ../../library/ctypes.rst:2062 +#: ../../library/ctypes.rst:2075 msgid "" "The optional second item is the parameter name as string. If this is " "specified, the foreign function can be called with named parameters." msgstr "" -#: ../../library/ctypes.rst:2065 +#: ../../library/ctypes.rst:2078 msgid "The optional third item is the default value for this parameter." msgstr "" -#: ../../library/ctypes.rst:2068 +#: ../../library/ctypes.rst:2081 msgid "" "The following example demonstrates how to wrap the Windows ``MessageBoxW`` " "function so that it supports default parameters and named arguments. The C " "declaration from the windows header file is this::" msgstr "" -#: ../../library/ctypes.rst:2072 +#: ../../library/ctypes.rst:2085 msgid "" "WINUSERAPI int WINAPI\n" "MessageBoxW(\n" @@ -3136,11 +3150,11 @@ msgid "" " UINT uType);" msgstr "" -#: ../../library/ctypes.rst:2079 ../../library/ctypes.rst:2102 +#: ../../library/ctypes.rst:2092 ../../library/ctypes.rst:2115 msgid "Here is the wrapping with :mod:`!ctypes`::" msgstr "" -#: ../../library/ctypes.rst:2081 +#: ../../library/ctypes.rst:2094 msgid "" ">>> from ctypes import c_int, WINFUNCTYPE, windll\n" ">>> from ctypes.wintypes import HWND, LPCWSTR, UINT\n" @@ -3150,18 +3164,18 @@ msgid "" ">>> MessageBox = prototype((\"MessageBoxW\", windll.user32), paramflags)" msgstr "" -#: ../../library/ctypes.rst:2087 +#: ../../library/ctypes.rst:2100 msgid "The ``MessageBox`` foreign function can now be called in these ways::" msgstr "" -#: ../../library/ctypes.rst:2089 +#: ../../library/ctypes.rst:2102 msgid "" ">>> MessageBox()\n" ">>> MessageBox(text=\"Spam, spam, spam\")\n" ">>> MessageBox(flags=2, text=\"foo bar\")" msgstr "" -#: ../../library/ctypes.rst:2093 +#: ../../library/ctypes.rst:2106 msgid "" "A second example demonstrates output parameters. The win32 " "``GetWindowRect`` function retrieves the dimensions of a specified window by " @@ -3169,7 +3183,7 @@ msgid "" "the C declaration::" msgstr "" -#: ../../library/ctypes.rst:2097 +#: ../../library/ctypes.rst:2110 msgid "" "WINUSERAPI BOOL WINAPI\n" "GetWindowRect(\n" @@ -3177,7 +3191,7 @@ msgid "" " LPRECT lpRect);" msgstr "" -#: ../../library/ctypes.rst:2104 +#: ../../library/ctypes.rst:2117 msgid "" ">>> from ctypes import POINTER, WINFUNCTYPE, windll, WinError\n" ">>> from ctypes.wintypes import BOOL, HWND, RECT\n" @@ -3188,7 +3202,7 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:2111 +#: ../../library/ctypes.rst:2124 msgid "" "Functions with output parameters will automatically return the output " "parameter value if there is a single one, or a tuple containing the output " @@ -3196,7 +3210,7 @@ msgid "" "now returns a RECT instance, when called." msgstr "" -#: ../../library/ctypes.rst:2116 +#: ../../library/ctypes.rst:2129 msgid "" "Output parameters can be combined with the :attr:`~_CFuncPtr.errcheck` " "protocol to do further output processing and error checking. The win32 " @@ -3205,7 +3219,7 @@ msgid "" "exception when the api call failed::" msgstr "" -#: ../../library/ctypes.rst:2121 +#: ../../library/ctypes.rst:2134 msgid "" ">>> def errcheck(result, func, args):\n" "... if not result:\n" @@ -3216,7 +3230,7 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:2129 +#: ../../library/ctypes.rst:2142 msgid "" "If the :attr:`~_CFuncPtr.errcheck` function returns the argument tuple it " "receives unchanged, :mod:`!ctypes` continues the normal processing it does " @@ -3226,7 +3240,7 @@ msgid "" "take place::" msgstr "" -#: ../../library/ctypes.rst:2135 +#: ../../library/ctypes.rst:2148 msgid "" ">>> def errcheck(result, func, args):\n" "... if not result:\n" @@ -3238,62 +3252,62 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:2148 +#: ../../library/ctypes.rst:2161 msgid "Utility functions" msgstr "" -#: ../../library/ctypes.rst:2152 +#: ../../library/ctypes.rst:2165 msgid "" "Returns the address of the memory buffer as integer. *obj* must be an " "instance of a ctypes type." msgstr "" -#: ../../library/ctypes.rst:2155 +#: ../../library/ctypes.rst:2168 msgid "" "Raises an :ref:`auditing event ` ``ctypes.addressof`` with " "argument ``obj``." msgstr "" -#: ../../library/ctypes.rst:2160 +#: ../../library/ctypes.rst:2173 msgid "" "Returns the alignment requirements of a ctypes type. *obj_or_type* must be a " "ctypes type or instance." msgstr "" -#: ../../library/ctypes.rst:2166 +#: ../../library/ctypes.rst:2179 msgid "" "Returns a light-weight pointer to *obj*, which must be an instance of a " "ctypes type. *offset* defaults to zero, and must be an integer that will be " "added to the internal pointer value." msgstr "" -#: ../../library/ctypes.rst:2170 +#: ../../library/ctypes.rst:2183 msgid "``byref(obj, offset)`` corresponds to this C code::" msgstr "" -#: ../../library/ctypes.rst:2172 +#: ../../library/ctypes.rst:2185 msgid "(((char *)&obj) + offset)" msgstr "" -#: ../../library/ctypes.rst:2174 +#: ../../library/ctypes.rst:2187 msgid "" "The returned object can only be used as a foreign function call parameter. " "It behaves similar to ``pointer(obj)``, but the construction is a lot faster." msgstr "" -#: ../../library/ctypes.rst:2180 +#: ../../library/ctypes.rst:2193 msgid "" "Copies a COM pointer from *src* to *dst* and returns the Windows specific :c:" "type:`!HRESULT` value." msgstr "" -#: ../../library/ctypes.rst:2183 +#: ../../library/ctypes.rst:2196 msgid "" "If *src* is not ``NULL``, its ``AddRef`` method is called, incrementing the " "reference count." msgstr "" -#: ../../library/ctypes.rst:2186 +#: ../../library/ctypes.rst:2199 msgid "" "In contrast, the reference count of *dst* will not be decremented before " "assigning the new value. Unless *dst* is ``NULL``, the caller is responsible " @@ -3301,7 +3315,7 @@ msgid "" "necessary." msgstr "" -#: ../../library/ctypes.rst:2198 +#: ../../library/ctypes.rst:2211 msgid "" "This function is similar to the cast operator in C. It returns a new " "instance of *type* which points to the same memory block as *obj*. *type* " @@ -3309,47 +3323,47 @@ msgid "" "as a pointer." msgstr "" -#: ../../library/ctypes.rst:2207 +#: ../../library/ctypes.rst:2220 msgid "" "This function creates a mutable character buffer. The returned object is a " "ctypes array of :class:`c_char`." msgstr "" -#: ../../library/ctypes.rst:2210 +#: ../../library/ctypes.rst:2223 msgid "" "If *size* is given (and not ``None``), it must be an :class:`int`. It " "specifies the size of the returned array." msgstr "" -#: ../../library/ctypes.rst:2213 +#: ../../library/ctypes.rst:2226 msgid "" "If the *init* argument is given, it must be :class:`bytes`. It is used to " "initialize the array items. Bytes not initialized this way are set to zero " "(NUL)." msgstr "" -#: ../../library/ctypes.rst:2217 +#: ../../library/ctypes.rst:2230 msgid "" "If *size* is not given (or if it is ``None``), the buffer is made one " "element larger than *init*, effectively adding a NUL terminator." msgstr "" -#: ../../library/ctypes.rst:2220 +#: ../../library/ctypes.rst:2233 msgid "" "If both arguments are given, *size* must not be less than ``len(init)``." msgstr "" -#: ../../library/ctypes.rst:2224 +#: ../../library/ctypes.rst:2237 msgid "" "If *size* is equal to ``len(init)``, a NUL terminator is not added. Do not " "treat such a buffer as a C string." msgstr "" -#: ../../library/ctypes.rst:2227 +#: ../../library/ctypes.rst:2240 msgid "For example::" msgstr "Zum Beispiel::" -#: ../../library/ctypes.rst:2229 +#: ../../library/ctypes.rst:2242 msgid "" ">>> bytes(create_string_buffer(2))\n" "b'\\x00\\x00'\n" @@ -3365,45 +3379,45 @@ msgid "" "ValueError: byte string too long" msgstr "" -#: ../../library/ctypes.rst:2242 +#: ../../library/ctypes.rst:2255 msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_string_buffer`` " "with arguments ``init``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2248 +#: ../../library/ctypes.rst:2261 msgid "" "This function creates a mutable unicode character buffer. The returned " "object is a ctypes array of :class:`c_wchar`." msgstr "" -#: ../../library/ctypes.rst:2251 +#: ../../library/ctypes.rst:2264 msgid "" "The function takes the same arguments as :func:`~create_string_buffer` " "except *init* must be a string and *size* counts :class:`c_wchar`." msgstr "" -#: ../../library/ctypes.rst:2254 +#: ../../library/ctypes.rst:2267 msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_unicode_buffer`` " "with arguments ``init``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2259 +#: ../../library/ctypes.rst:2272 msgid "" "This function is a hook which allows implementing in-process COM servers " "with ctypes. It is called from the DllCanUnloadNow function that the " "_ctypes extension dll exports." msgstr "" -#: ../../library/ctypes.rst:2268 +#: ../../library/ctypes.rst:2281 msgid "" "This function is a hook which allows implementing in-process COM servers " "with ctypes. It is called from the DllGetClassObject function that the " "``_ctypes`` extension dll exports." msgstr "" -#: ../../library/ctypes.rst:2278 +#: ../../library/ctypes.rst:2291 msgid "" "Try to provide a list of paths of the shared libraries loaded into the " "current process. These paths are not normalized or processed in any way. " @@ -3411,72 +3425,72 @@ msgid "" "The exact functionality is system dependent." msgstr "" -#: ../../library/ctypes.rst:2283 +#: ../../library/ctypes.rst:2296 msgid "" "On most platforms, the first element of the list represents the current " "executable file. It may be an empty string." msgstr "" -#: ../../library/ctypes.rst:2291 +#: ../../library/ctypes.rst:2304 msgid "" "Returns a textual description of the error code *code*. If no error code is " "specified, the last error code is used by calling the Windows API function :" "func:`GetLastError`." msgstr "" -#: ../../library/ctypes.rst:2300 +#: ../../library/ctypes.rst:2313 msgid "" "Returns the last error code set by Windows in the calling thread. This " "function calls the Windows ``GetLastError()`` function directly, it does not " "return the ctypes-private copy of the error code." msgstr "" -#: ../../library/ctypes.rst:2309 +#: ../../library/ctypes.rst:2322 msgid "" "Returns the current value of the ctypes-private copy of the system :data:" "`errno` variable in the calling thread." msgstr "" -#: ../../library/ctypes.rst:2312 +#: ../../library/ctypes.rst:2325 msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_errno`` with no " "arguments." msgstr "" -#: ../../library/ctypes.rst:2316 +#: ../../library/ctypes.rst:2329 msgid "" "Returns the current value of the ctypes-private copy of the system :data:`!" "LastError` variable in the calling thread." msgstr "" -#: ../../library/ctypes.rst:2321 +#: ../../library/ctypes.rst:2334 msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_last_error`` with no " "arguments." msgstr "" -#: ../../library/ctypes.rst:2326 +#: ../../library/ctypes.rst:2339 msgid "" "Same as the standard C memmove library function: copies *count* bytes from " "*src* to *dst*. *dst* and *src* must be integers or ctypes instances that " "can be converted to pointers." msgstr "" -#: ../../library/ctypes.rst:2333 +#: ../../library/ctypes.rst:2346 msgid "" "Same as the standard C memset library function: fills the memory block at " "address *dst* with *count* bytes of value *c*. *dst* must be an integer " "specifying an address, or a ctypes instance." msgstr "" -#: ../../library/ctypes.rst:2340 +#: ../../library/ctypes.rst:2353 msgid "" "Create or return a ctypes pointer type. Pointer types are cached and reused " "internally, so calling this function repeatedly is cheap. *type* must be a " "ctypes type." msgstr "" -#: ../../library/ctypes.rst:2346 +#: ../../library/ctypes.rst:2359 msgid "" "The resulting pointer type is cached in the ``__pointer_type__`` attribute " "of *type*. It is possible to set this attribute before the first call to " @@ -3485,19 +3499,19 @@ msgid "" "relying on implementation details that may change in future Python versions." msgstr "" -#: ../../library/ctypes.rst:2357 +#: ../../library/ctypes.rst:2370 msgid "" "Create a new pointer instance, pointing to *obj*. The returned object is of " "the type ``POINTER(type(obj))``." msgstr "" -#: ../../library/ctypes.rst:2360 +#: ../../library/ctypes.rst:2373 msgid "" "Note: If you just want to pass a pointer to an object to a foreign function " "call, you should use ``byref(obj)`` which is much faster." msgstr "" -#: ../../library/ctypes.rst:2366 +#: ../../library/ctypes.rst:2379 msgid "" "This function resizes the internal memory buffer of *obj*, which must be an " "instance of a ctypes type. It is not possible to make the buffer smaller " @@ -3505,50 +3519,50 @@ msgid "" "but it is possible to enlarge the buffer." msgstr "" -#: ../../library/ctypes.rst:2374 +#: ../../library/ctypes.rst:2387 msgid "" "Set the current value of the ctypes-private copy of the system :data:`errno` " "variable in the calling thread to *value* and return the previous value." msgstr "" -#: ../../library/ctypes.rst:2377 +#: ../../library/ctypes.rst:2390 msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_errno`` with " "argument ``errno``." msgstr "" -#: ../../library/ctypes.rst:2382 +#: ../../library/ctypes.rst:2395 msgid "" "Sets the current value of the ctypes-private copy of the system :data:`!" "LastError` variable in the calling thread to *value* and return the previous " "value." msgstr "" -#: ../../library/ctypes.rst:2388 +#: ../../library/ctypes.rst:2401 msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_last_error`` with " "argument ``error``." msgstr "" -#: ../../library/ctypes.rst:2393 +#: ../../library/ctypes.rst:2406 msgid "" "Returns the size in bytes of a ctypes type or instance memory buffer. Does " "the same as the C ``sizeof`` operator." msgstr "" -#: ../../library/ctypes.rst:2399 +#: ../../library/ctypes.rst:2412 msgid "" "Return the byte string at *void \\*ptr*. If *size* is specified, it is used " "as size, otherwise the string is assumed to be zero-terminated." msgstr "" -#: ../../library/ctypes.rst:2403 +#: ../../library/ctypes.rst:2416 msgid "" "Raises an :ref:`auditing event ` ``ctypes.string_at`` with " "arguments ``ptr``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2408 +#: ../../library/ctypes.rst:2421 msgid "" "Creates an instance of :exc:`OSError`. If *code* is not specified, :func:" "`GetLastError` is called to determine the error code. If *descr* is not " @@ -3556,39 +3570,39 @@ msgid "" "error." msgstr "" -#: ../../library/ctypes.rst:2415 +#: ../../library/ctypes.rst:2428 msgid "" "An instance of :exc:`WindowsError` used to be created, which is now an alias " "of :exc:`OSError`." msgstr "" -#: ../../library/ctypes.rst:2422 +#: ../../library/ctypes.rst:2435 msgid "" "Return the wide-character string at *void \\*ptr*. If *size* is specified, " "it is used as the number of characters of the string, otherwise the string " "is assumed to be zero-terminated." msgstr "" -#: ../../library/ctypes.rst:2427 +#: ../../library/ctypes.rst:2440 msgid "" "Raises an :ref:`auditing event ` ``ctypes.wstring_at`` with " "arguments ``ptr``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2432 +#: ../../library/ctypes.rst:2445 msgid "" "Return a :class:`memoryview` object of length *size* that references memory " "starting at *void \\*ptr*." msgstr "" -#: ../../library/ctypes.rst:2435 +#: ../../library/ctypes.rst:2448 msgid "" "If *readonly* is true, the returned :class:`!memoryview` object can not be " "used to modify the underlying memory. (Changes made by other means will " "still be reflected in the returned object.)" msgstr "" -#: ../../library/ctypes.rst:2440 +#: ../../library/ctypes.rst:2453 msgid "" "This function is similar to :func:`string_at` with the key difference of not " "making a copy of the specified memory. It is a semantically equivalent (but " @@ -3598,17 +3612,17 @@ msgid "" "`~ctypes.byref` object.)" msgstr "" -#: ../../library/ctypes.rst:2447 +#: ../../library/ctypes.rst:2460 msgid "" "Raises an :ref:`auditing event ` ``ctypes.memoryview_at`` with " "arguments ``address``, ``size``, ``readonly``." msgstr "" -#: ../../library/ctypes.rst:2455 +#: ../../library/ctypes.rst:2468 msgid "Data types" msgstr "" -#: ../../library/ctypes.rst:2460 +#: ../../library/ctypes.rst:2473 msgid "" "This non-public class is the common base class of all ctypes data types. " "Among other things, all ctypes type instances contain a memory block that " @@ -3618,13 +3632,13 @@ msgid "" "alive in case the memory block contains pointers." msgstr "" -#: ../../library/ctypes.rst:2467 +#: ../../library/ctypes.rst:2480 msgid "" "Common methods of ctypes data types, these are all class methods (to be " "exact, they are methods of the :term:`metaclass`):" msgstr "" -#: ../../library/ctypes.rst:2472 +#: ../../library/ctypes.rst:2485 msgid "" "This method returns a ctypes instance that shares the buffer of the *source* " "object. The *source* object must support the writeable buffer interface. " @@ -3633,13 +3647,13 @@ msgid "" "exc:`ValueError` is raised." msgstr "" -#: ../../library/ctypes.rst:2478 ../../library/ctypes.rst:2488 +#: ../../library/ctypes.rst:2491 ../../library/ctypes.rst:2501 msgid "" "Raises an :ref:`auditing event ` ``ctypes.cdata/buffer`` with " "arguments ``pointer``, ``size``, ``offset``." msgstr "" -#: ../../library/ctypes.rst:2482 +#: ../../library/ctypes.rst:2495 msgid "" "This method creates a ctypes instance, copying the buffer from the *source* " "object buffer which must be readable. The optional *offset* parameter " @@ -3647,19 +3661,19 @@ msgid "" "If the source buffer is not large enough a :exc:`ValueError` is raised." msgstr "" -#: ../../library/ctypes.rst:2492 +#: ../../library/ctypes.rst:2505 msgid "" "This method returns a ctypes type instance using the memory specified by " "*address* which must be an integer." msgstr "" -#: ../../library/ctypes.rst:2495 ../../library/ctypes.rst:2497 +#: ../../library/ctypes.rst:2508 ../../library/ctypes.rst:2510 msgid "" "This method, and others that indirectly call this method, raises an :ref:" "`auditing event ` ``ctypes.cdata`` with argument ``address``." msgstr "" -#: ../../library/ctypes.rst:2503 +#: ../../library/ctypes.rst:2516 msgid "" "This method adapts *obj* to a ctypes type. It is called with the actual " "object used in a foreign function call when the type is present in the " @@ -3667,36 +3681,36 @@ msgid "" "object that can be used as a function call parameter." msgstr "" -#: ../../library/ctypes.rst:2508 +#: ../../library/ctypes.rst:2521 msgid "" "All ctypes data types have a default implementation of this classmethod that " "normally returns *obj* if that is an instance of the type. Some types " "accept other objects as well." msgstr "" -#: ../../library/ctypes.rst:2514 +#: ../../library/ctypes.rst:2527 msgid "" "This method returns a ctypes type instance exported by a shared library. " "*name* is the name of the symbol that exports the data, *library* is the " "loaded shared library." msgstr "" -#: ../../library/ctypes.rst:2518 +#: ../../library/ctypes.rst:2531 msgid "Common class variables of ctypes data types:" msgstr "" -#: ../../library/ctypes.rst:2522 +#: ../../library/ctypes.rst:2535 msgid "" "The pointer type that was created by calling :func:`POINTER` for " "corresponding ctypes data type. If a pointer type was not yet created, the " "attribute is missing." msgstr "" -#: ../../library/ctypes.rst:2528 +#: ../../library/ctypes.rst:2541 msgid "Common instance variables of ctypes data types:" msgstr "" -#: ../../library/ctypes.rst:2532 +#: ../../library/ctypes.rst:2545 msgid "" "Sometimes ctypes data instances do not own the memory block they contain, " "instead they share part of the memory block of a base object. The :attr:" @@ -3704,13 +3718,13 @@ msgid "" "block." msgstr "" -#: ../../library/ctypes.rst:2539 +#: ../../library/ctypes.rst:2552 msgid "" "This read-only variable is true when the ctypes data instance has allocated " "the memory block itself, false otherwise." msgstr "" -#: ../../library/ctypes.rst:2544 +#: ../../library/ctypes.rst:2557 msgid "" "This member is either ``None`` or a dictionary containing Python objects " "that need to be kept alive so that the memory block contents is kept valid. " @@ -3718,7 +3732,7 @@ msgid "" "dictionary." msgstr "" -#: ../../library/ctypes.rst:2557 +#: ../../library/ctypes.rst:2570 msgid "" "This non-public class is the base class of all fundamental ctypes data " "types. It is mentioned here because it contains the common attributes of the " @@ -3727,11 +3741,11 @@ msgid "" "types that are not and do not contain pointers can now be pickled." msgstr "" -#: ../../library/ctypes.rst:2563 +#: ../../library/ctypes.rst:2576 msgid "Instances have a single attribute:" msgstr "" -#: ../../library/ctypes.rst:2567 +#: ../../library/ctypes.rst:2580 msgid "" "This attribute contains the actual value of the instance. For integer and " "pointer types, it is an integer, for character types, it is a single " @@ -3739,7 +3753,7 @@ msgid "" "bytes object or string." msgstr "" -#: ../../library/ctypes.rst:2572 +#: ../../library/ctypes.rst:2585 msgid "" "When the ``value`` attribute is retrieved from a ctypes instance, usually a " "new object is returned each time. :mod:`!ctypes` does *not* implement " @@ -3747,17 +3761,17 @@ msgid "" "true for all other ctypes object instances." msgstr "" -#: ../../library/ctypes.rst:2577 +#: ../../library/ctypes.rst:2590 msgid "Each subclass has a class attribute:" msgstr "" -#: ../../library/ctypes.rst:2581 +#: ../../library/ctypes.rst:2594 msgid "" "Class attribute that contains an internal type code, as a single-character " "string. See :ref:`ctypes-fundamental-data-types` for a summary." msgstr "" -#: ../../library/ctypes.rst:2585 +#: ../../library/ctypes.rst:2598 msgid "" "Types marked \\* in the summary may be (or always are) aliases of a " "different :class:`_SimpleCData` subclass, and will not necessarily use the " @@ -3768,7 +3782,7 @@ msgid "" "code will be unused." msgstr "" -#: ../../library/ctypes.rst:2596 +#: ../../library/ctypes.rst:2609 msgid "" "The :mod:`array` and :ref:`struct ` modules, as well as " "third-party modules like `numpy >> class Color(Structure):\n" "... _fields_ = (\n" @@ -4351,100 +4365,100 @@ msgid "" "1" msgstr "" -#: ../../library/ctypes.rst:3098 +#: ../../library/ctypes.rst:3111 msgid "All attributes are read-only." msgstr "" -#: ../../library/ctypes.rst:3100 +#: ../../library/ctypes.rst:3113 msgid "" ":class:`!CField` objects are created via :attr:`~Structure._fields_`; do not " "instantiate the class directly." msgstr "" -#: ../../library/ctypes.rst:3105 +#: ../../library/ctypes.rst:3118 msgid "" "Previously, descriptors only had ``offset`` and ``size`` attributes and a " "readable string representation; the :class:`!CField` class was not available " "directly." msgstr "" -#: ../../library/ctypes.rst:3111 +#: ../../library/ctypes.rst:3124 msgid "Name of the field, as a string." msgstr "" -#: ../../library/ctypes.rst:3115 +#: ../../library/ctypes.rst:3128 msgid "Type of the field, as a :ref:`ctypes class `." msgstr "" -#: ../../library/ctypes.rst:3120 +#: ../../library/ctypes.rst:3133 msgid "Offset of the field, in bytes." msgstr "" -#: ../../library/ctypes.rst:3122 +#: ../../library/ctypes.rst:3135 msgid "" "For bitfields, this is the offset of the underlying byte-aligned *storage " "unit*; see :attr:`~CField.bit_offset`." msgstr "" -#: ../../library/ctypes.rst:3127 +#: ../../library/ctypes.rst:3140 msgid "Size of the field, in bytes." msgstr "" -#: ../../library/ctypes.rst:3129 +#: ../../library/ctypes.rst:3142 msgid "" "For bitfields, this is the size of the underlying *storage unit*. Typically, " "it has the same size as the bitfield's type." msgstr "" -#: ../../library/ctypes.rst:3134 +#: ../../library/ctypes.rst:3147 msgid "For non-bitfields, equivalent to :attr:`~CField.byte_size`." msgstr "" -#: ../../library/ctypes.rst:3136 +#: ../../library/ctypes.rst:3149 msgid "" "For bitfields, this contains a backwards-compatible bit-packed value that " "combines :attr:`~CField.bit_size` and :attr:`~CField.bit_offset`. Prefer " "using the explicit attributes instead." msgstr "" -#: ../../library/ctypes.rst:3143 +#: ../../library/ctypes.rst:3156 msgid "True if this is a bitfield." msgstr "" -#: ../../library/ctypes.rst:3148 +#: ../../library/ctypes.rst:3161 msgid "" "The location of a bitfield within its *storage unit*, that is, within :attr:" "`~CField.byte_size` bytes of memory starting at :attr:`~CField.byte_offset`." msgstr "" -#: ../../library/ctypes.rst:3152 +#: ../../library/ctypes.rst:3165 msgid "" "To get the field's value, read the storage unit as an integer, :ref:`shift " "left ` by :attr:`!bit_offset` and take the :attr:`!bit_size` least " "significant bits." msgstr "" -#: ../../library/ctypes.rst:3156 +#: ../../library/ctypes.rst:3169 msgid "" "For non-bitfields, :attr:`!bit_offset` is zero and :attr:`!bit_size` is " "equal to ``byte_size * 8``." msgstr "" -#: ../../library/ctypes.rst:3161 +#: ../../library/ctypes.rst:3174 msgid "" "True if this field is anonymous, that is, it contains nested sub-fields that " "should be merged into a containing structure or union." msgstr "" -#: ../../library/ctypes.rst:3168 +#: ../../library/ctypes.rst:3181 msgid "Arrays and pointers" msgstr "" -#: ../../library/ctypes.rst:3172 +#: ../../library/ctypes.rst:3185 msgid "Abstract base class for arrays." msgstr "" -#: ../../library/ctypes.rst:3174 +#: ../../library/ctypes.rst:3187 msgid "" "The recommended way to create concrete array types is by multiplying any :" "mod:`!ctypes` data type with a non-negative integer. Alternatively, you can " @@ -4454,48 +4468,48 @@ msgid "" "an :class:`Array`." msgstr "" -#: ../../library/ctypes.rst:3181 +#: ../../library/ctypes.rst:3194 msgid "Arrays are :ref:`generic ` over the type of their elements." msgstr "" -#: ../../library/ctypes.rst:3186 +#: ../../library/ctypes.rst:3199 msgid "" "A positive integer specifying the number of elements in the array. Out-of-" "range subscripts result in an :exc:`IndexError`. Will be returned by :func:" "`len`." msgstr "" -#: ../../library/ctypes.rst:3193 +#: ../../library/ctypes.rst:3206 msgid "Specifies the type of each element in the array." msgstr "" -#: ../../library/ctypes.rst:3196 +#: ../../library/ctypes.rst:3209 msgid "" "Array subclass constructors accept positional arguments, used to initialize " "the elements in order." msgstr "" -#: ../../library/ctypes.rst:3201 +#: ../../library/ctypes.rst:3214 msgid "" "Create an array. Equivalent to ``type * length``, where *type* is a :mod:`!" "ctypes` data type and *length* an integer." msgstr "" -#: ../../library/ctypes.rst:3205 +#: ../../library/ctypes.rst:3218 msgid "In favor of multiplication." msgstr "" -#: ../../library/ctypes.rst:3211 +#: ../../library/ctypes.rst:3224 msgid "Private, abstract base class for pointers." msgstr "" -#: ../../library/ctypes.rst:3213 +#: ../../library/ctypes.rst:3226 msgid "" "Concrete pointer types are created by calling :func:`POINTER` with the type " "that will be pointed to; this is done automatically by :func:`pointer`." msgstr "" -#: ../../library/ctypes.rst:3217 +#: ../../library/ctypes.rst:3230 msgid "" "If a pointer points to an array, its elements can be read and written using " "standard subscript and slice accesses. Pointer objects have no size, so :" @@ -4504,43 +4518,43 @@ msgid "" "probably crash with an access violation (if you're lucky)." msgstr "" -#: ../../library/ctypes.rst:3227 +#: ../../library/ctypes.rst:3240 msgid "Specifies the type pointed to." msgstr "" -#: ../../library/ctypes.rst:3231 +#: ../../library/ctypes.rst:3244 msgid "" "Returns the object to which to pointer points. Assigning to this attribute " "changes the pointer to point to the assigned object." msgstr "" -#: ../../library/ctypes.rst:3238 +#: ../../library/ctypes.rst:3251 msgid "Exceptions" msgstr "Ausnahmen" -#: ../../library/ctypes.rst:3242 +#: ../../library/ctypes.rst:3255 msgid "" "This exception is raised when a foreign function call cannot convert one of " "the passed arguments." msgstr "" -#: ../../library/ctypes.rst:3248 +#: ../../library/ctypes.rst:3261 msgid "This exception is raised when a COM method call failed." msgstr "" -#: ../../library/ctypes.rst:3252 +#: ../../library/ctypes.rst:3265 msgid "The integer value representing the error code." msgstr "" -#: ../../library/ctypes.rst:3256 +#: ../../library/ctypes.rst:3269 msgid "The error message." msgstr "" -#: ../../library/ctypes.rst:3260 +#: ../../library/ctypes.rst:3273 msgid "The 5-tuple ``(descr, source, helpfile, helpcontext, progid)``." msgstr "" -#: ../../library/ctypes.rst:3262 +#: ../../library/ctypes.rst:3275 msgid "" "*descr* is the textual description. *source* is the language-dependent " "``ProgID`` for the class or application that raised the error. *helpfile* " diff --git a/library/idle.po b/library/idle.po index 93addbb5..b65bec60 100644 --- a/library/idle.po +++ b/library/idle.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -1552,11 +1552,11 @@ msgid "" "mainloop call when running in standard Python." msgstr "" -#: ../../library/idle.rst:935 +#: ../../library/idle.rst:937 msgid "Running without a subprocess" msgstr "" -#: ../../library/idle.rst:937 +#: ../../library/idle.rst:939 msgid "" "By default, IDLE executes user code in a separate subprocess via a socket, " "which uses the internal loopback interface. This connection is not " @@ -1564,7 +1564,7 @@ msgid "" "firewall software complains anyway, you can ignore it." msgstr "" -#: ../../library/idle.rst:942 +#: ../../library/idle.rst:944 msgid "" "If the attempt to make the socket connection fails, Idle will notify you. " "Such failures are sometimes transient, but if persistent, the problem may be " @@ -1573,7 +1573,7 @@ msgid "" "command line switch." msgstr "" -#: ../../library/idle.rst:948 +#: ../../library/idle.rst:950 msgid "" "If IDLE is started with the -n command line switch it will run in a single " "process and will not create the subprocess which runs the RPC Python " @@ -1587,15 +1587,15 @@ msgid "" "at all possible." msgstr "" -#: ../../library/idle.rst:963 +#: ../../library/idle.rst:965 msgid "Help and Preferences" msgstr "" -#: ../../library/idle.rst:968 +#: ../../library/idle.rst:970 msgid "Help sources" msgstr "" -#: ../../library/idle.rst:970 +#: ../../library/idle.rst:972 msgid "" "Help menu entry \"IDLE Help\" displays a formatted html version of the IDLE " "chapter of the Library Reference. The result, in a read-only tkinter text " @@ -1605,7 +1605,7 @@ msgid "" "the opened box." msgstr "" -#: ../../library/idle.rst:978 +#: ../../library/idle.rst:980 msgid "" "Help menu entry \"Python Docs\" opens the extensive sources of help, " "including tutorials, available at ``docs.python.org/x.y``, where 'x.y' is " @@ -1614,17 +1614,17 @@ msgid "" "instead." msgstr "" -#: ../../library/idle.rst:984 +#: ../../library/idle.rst:986 msgid "" "Selected URLs can be added or removed from the help menu at any time using " "the General tab of the Configure IDLE dialog." msgstr "" -#: ../../library/idle.rst:990 +#: ../../library/idle.rst:992 msgid "Setting preferences" msgstr "" -#: ../../library/idle.rst:992 +#: ../../library/idle.rst:994 msgid "" "The font preferences, highlighting, keys, and general preferences can be " "changed via Configure IDLE on the Option menu. Non-default user settings are " @@ -1633,7 +1633,7 @@ msgid "" "or more of the files in ``.idlerc``." msgstr "" -#: ../../library/idle.rst:998 +#: ../../library/idle.rst:1000 msgid "" "On the Font tab, see the text sample for the effect of font face and size on " "multiple characters in multiple languages. Edit the sample to add other " @@ -1642,7 +1642,7 @@ msgid "" "them to the top of the sample and try changing first size and then font." msgstr "" -#: ../../library/idle.rst:1005 +#: ../../library/idle.rst:1007 msgid "" "On the Highlights and Keys tab, select a built-in or custom color theme and " "key set. To use a newer built-in color theme or key set with older IDLEs, " @@ -1650,22 +1650,22 @@ msgid "" "IDLEs." msgstr "" -#: ../../library/idle.rst:1011 +#: ../../library/idle.rst:1013 msgid "IDLE on macOS" msgstr "" -#: ../../library/idle.rst:1013 +#: ../../library/idle.rst:1015 msgid "" "Under System Preferences: Dock, one can set \"Prefer tabs when opening " "documents\" to \"Always\". This setting is not compatible with the tk/" "tkinter GUI framework used by IDLE, and it breaks a few IDLE features." msgstr "" -#: ../../library/idle.rst:1018 +#: ../../library/idle.rst:1020 msgid "Extensions" msgstr "" -#: ../../library/idle.rst:1020 +#: ../../library/idle.rst:1022 msgid "" "IDLE contains an extension facility. Preferences for extensions can be " "changed with the Extensions tab of the preferences dialog. See the beginning " @@ -1674,21 +1674,21 @@ msgid "" "testing." msgstr "" -#: ../../library/idle.rst:1028 +#: ../../library/idle.rst:1030 msgid "idlelib --- implementation of IDLE application" msgstr "" -#: ../../library/idle.rst:1033 +#: ../../library/idle.rst:1035 msgid "**Source code:** :source:`Lib/idlelib`" msgstr "" -#: ../../library/idle.rst:1037 +#: ../../library/idle.rst:1039 msgid "" "The Lib/idlelib package implements the IDLE application. See the rest of " "this page for how to use IDLE." msgstr "" -#: ../../library/idle.rst:1040 +#: ../../library/idle.rst:1042 msgid "" "The files in idlelib are described in idlelib/README.txt. Access it either " "in idlelib or click Help => About IDLE on the IDLE menu. This file also " diff --git a/library/imaplib.po b/library/imaplib.po index d5440e90..b99a53a0 100644 --- a/library/imaplib.po +++ b/library/imaplib.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -803,25 +803,41 @@ msgid "The following attributes are defined on instances of :class:`IMAP4`:" msgstr "" #: ../../library/imaplib.rst:703 +msgid "A tuple of the capabilities advertised by the server, in upper case." +msgstr "" + +#: ../../library/imaplib.rst:705 +msgid "" +"It is set when the connection is established, and refreshed after a " +"successful :meth:`~IMAP4.login`, :meth:`~IMAP4.authenticate` or :meth:" +"`~IMAP4.starttls`, because the server can advertise different capabilities " +"in different connection states." +msgstr "" + +#: ../../library/imaplib.rst:711 +msgid "Refreshed after :meth:`~IMAP4.login` and :meth:`~IMAP4.authenticate`." +msgstr "" + +#: ../../library/imaplib.rst:717 msgid "" "The most recent supported protocol in the ``CAPABILITY`` response from the " "server." msgstr "" -#: ../../library/imaplib.rst:709 +#: ../../library/imaplib.rst:723 msgid "" "Integer value to control debugging output. The initialize value is taken " "from the module variable ``Debug``. Values greater than three trace each " "command." msgstr "" -#: ../../library/imaplib.rst:715 +#: ../../library/imaplib.rst:729 msgid "" "Boolean value that is normally ``False``, but is set to ``True`` if an :meth:" "`enable` command is successfully issued for the ``UTF8=ACCEPT`` capability." msgstr "" -#: ../../library/imaplib.rst:724 +#: ../../library/imaplib.rst:738 msgid "" "Internal :class:`~io.BufferedReader` associated with the underlying socket. " "This property is documented for legacy purposes but not part of the public " @@ -829,17 +845,17 @@ msgid "" "closed before changing it." msgstr "" -#: ../../library/imaplib.rst:735 +#: ../../library/imaplib.rst:749 msgid "IMAP4 Example" msgstr "" -#: ../../library/imaplib.rst:737 +#: ../../library/imaplib.rst:751 msgid "" "Here is a minimal example (without error checking) that opens a mailbox and " "retrieves and prints all messages::" msgstr "" -#: ../../library/imaplib.rst:740 +#: ../../library/imaplib.rst:754 msgid "" "import getpass, imaplib\n" "\n" @@ -854,7 +870,7 @@ msgid "" "M.logout()" msgstr "" -#: ../../library/imaplib.rst:754 +#: ../../library/imaplib.rst:768 msgid "" "A ``FETCH`` response may contain additional or unsolicited data (see :rfc:" "`3501`, section 7.4.2), so production code should inspect the whole response " diff --git a/library/inspect.po b/library/inspect.po index bc9e7838..6868b731 100644 --- a/library/inspect.po +++ b/library/inspect.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -864,15 +864,21 @@ msgstr "" #: ../../library/inspect.rst:488 msgid "" +":term:`Duck-typed ` function-like objects now return ``True`` " +"if their code object has the :data:`CO_GENERATOR` flag." +msgstr "" + +#: ../../library/inspect.rst:492 +msgid "" "Functions wrapped in :func:`functools.partialmethod` now return ``True`` if " "the wrapped function is a Python generator function." msgstr "" -#: ../../library/inspect.rst:494 +#: ../../library/inspect.rst:498 msgid "Return ``True`` if the object is a generator." msgstr "" -#: ../../library/inspect.rst:499 +#: ../../library/inspect.rst:503 msgid "" "Return ``True`` if the object is a :term:`coroutine function` (a function " "defined with an :keyword:`async def` syntax), a :func:`functools.partial` " @@ -880,60 +886,66 @@ msgid "" "`markcoroutinefunction`." msgstr "" -#: ../../library/inspect.rst:506 +#: ../../library/inspect.rst:510 msgid "" "Functions wrapped in :func:`functools.partial` now return ``True`` if the " "wrapped function is a :term:`coroutine function`." msgstr "" -#: ../../library/inspect.rst:510 +#: ../../library/inspect.rst:514 +msgid "" +":term:`Duck-typed ` function-like objects now return ``True`` " +"if their code object has the :data:`CO_COROUTINE` flag." +msgstr "" + +#: ../../library/inspect.rst:518 msgid "" "Sync functions marked with :func:`markcoroutinefunction` now return ``True``." msgstr "" -#: ../../library/inspect.rst:514 +#: ../../library/inspect.rst:522 msgid "" "Functions wrapped in :func:`functools.partialmethod` now return ``True`` if " "the wrapped function is a :term:`coroutine function`." msgstr "" -#: ../../library/inspect.rst:521 +#: ../../library/inspect.rst:529 msgid "" "Decorator to mark a callable as a :term:`coroutine function` if it would not " "otherwise be detected by :func:`iscoroutinefunction`." msgstr "" -#: ../../library/inspect.rst:524 +#: ../../library/inspect.rst:532 msgid "" "This may be of use for sync functions that return a :term:`coroutine`, if " "the function is passed to an API that requires :func:`iscoroutinefunction`." msgstr "" -#: ../../library/inspect.rst:527 +#: ../../library/inspect.rst:535 msgid "" "When possible, using an :keyword:`async def` function is preferred. Also " "acceptable is calling the function and testing the return with :func:" "`iscoroutine`." msgstr "" -#: ../../library/inspect.rst:536 +#: ../../library/inspect.rst:544 msgid "" "Return ``True`` if the object is a :term:`coroutine` created by an :keyword:" "`async def` function." msgstr "" -#: ../../library/inspect.rst:544 +#: ../../library/inspect.rst:552 msgid "" "Return ``True`` if the object can be used in :keyword:`await` expression." msgstr "" -#: ../../library/inspect.rst:546 +#: ../../library/inspect.rst:554 msgid "" "Can also be used to distinguish generator-based coroutines from regular " "generators:" msgstr "" -#: ../../library/inspect.rst:549 +#: ../../library/inspect.rst:557 msgid "" "import types\n" "\n" @@ -947,13 +959,13 @@ msgid "" "assert isawaitable(gen_coro())" msgstr "" -#: ../../library/inspect.rst:567 +#: ../../library/inspect.rst:575 msgid "" "Return ``True`` if the object is an :term:`asynchronous generator` function, " "for example:" msgstr "" -#: ../../library/inspect.rst:570 +#: ../../library/inspect.rst:578 msgid "" ">>> async def agen():\n" "... yield 1\n" @@ -962,70 +974,76 @@ msgid "" "True" msgstr "" -#: ../../library/inspect.rst:580 +#: ../../library/inspect.rst:588 msgid "" "Functions wrapped in :func:`functools.partial` now return ``True`` if the " "wrapped function is an :term:`asynchronous generator` function." msgstr "" -#: ../../library/inspect.rst:584 +#: ../../library/inspect.rst:592 +msgid "" +":term:`Duck-typed ` function-like objects now return ``True`` " +"if their code object has the :data:`CO_ASYNC_GENERATOR` flag." +msgstr "" + +#: ../../library/inspect.rst:596 msgid "" "Functions wrapped in :func:`functools.partialmethod` now return ``True`` if " "the wrapped function is a :term:`asynchronous generator` function." msgstr "" -#: ../../library/inspect.rst:590 +#: ../../library/inspect.rst:602 msgid "" "Return ``True`` if the object is an :term:`asynchronous generator iterator` " "created by an :term:`asynchronous generator` function." msgstr "" -#: ../../library/inspect.rst:597 +#: ../../library/inspect.rst:609 msgid "Return ``True`` if the object is a traceback." msgstr "" -#: ../../library/inspect.rst:602 +#: ../../library/inspect.rst:614 msgid "Return ``True`` if the object is a frame." msgstr "" -#: ../../library/inspect.rst:607 +#: ../../library/inspect.rst:619 msgid "Return ``True`` if the object is a code." msgstr "" -#: ../../library/inspect.rst:612 +#: ../../library/inspect.rst:624 msgid "" "Return ``True`` if the object is a built-in function or a bound built-in " "method." msgstr "" -#: ../../library/inspect.rst:617 +#: ../../library/inspect.rst:629 msgid "" "Return ``True`` if the type of object is a :class:`~types.MethodWrapperType`." msgstr "" -#: ../../library/inspect.rst:619 +#: ../../library/inspect.rst:631 msgid "" "These are instances of :class:`~types.MethodWrapperType`, such as :meth:" "`~object.__str__`, :meth:`~object.__eq__` and :meth:`~object.__repr__`." msgstr "" -#: ../../library/inspect.rst:627 +#: ../../library/inspect.rst:639 msgid "" "Return ``True`` if the object is a user-defined or built-in function or " "method." msgstr "" -#: ../../library/inspect.rst:632 +#: ../../library/inspect.rst:644 msgid "Return ``True`` if the object is an abstract base class." msgstr "" -#: ../../library/inspect.rst:637 +#: ../../library/inspect.rst:649 msgid "" "Return ``True`` if the object is a method descriptor, but not if :func:" "`isclass`, :func:`ismethod` or :func:`isfunction` is true." msgstr "" -#: ../../library/inspect.rst:640 +#: ../../library/inspect.rst:652 msgid "" "This, for example, is true of ``int.__add__``. An object passing this test " "has a :meth:`~object.__get__` method, but not a :meth:`~object.__set__` " @@ -1034,7 +1052,7 @@ msgid "" "sensible, and :attr:`~definition.__doc__` often is." msgstr "" -#: ../../library/inspect.rst:646 +#: ../../library/inspect.rst:658 msgid "" "Method descriptors that also pass any of the other tests (:func:`!isclass`, :" "func:`!ismethod` or :func:`!isfunction`) make this function return " @@ -1043,7 +1061,7 @@ msgid "" "object passes :func:`ismethod`." msgstr "" -#: ../../library/inspect.rst:652 +#: ../../library/inspect.rst:664 msgid "" "This function no longer incorrectly reports objects with :meth:`~object." "__get__` and :meth:`~object.__delete__`, but not :meth:`~object.__set__`, as " @@ -1051,20 +1069,20 @@ msgid "" "descriptors)." msgstr "" -#: ../../library/inspect.rst:660 +#: ../../library/inspect.rst:672 msgid "" "Return ``True`` if the object is a data descriptor, but not if :func:" "`isclass`, :func:`ismethod` or :func:`isfunction` is true." msgstr "" -#: ../../library/inspect.rst:663 +#: ../../library/inspect.rst:675 msgid "" "Data descriptors always have a :meth:`~object.__set__` method and/or a :meth:" "`~object.__delete__` method. Optionally, they may also have a :meth:" "`~object.__get__` method." msgstr "" -#: ../../library/inspect.rst:667 +#: ../../library/inspect.rst:679 msgid "" "Examples of data descriptors are :func:`properties `, getsets and " "member descriptors. Note that for the latter two (defined only in C " @@ -1072,14 +1090,14 @@ msgid "" "`isgetsetdescriptor` and :func:`ismemberdescriptor`, respectively." msgstr "" -#: ../../library/inspect.rst:672 +#: ../../library/inspect.rst:684 msgid "" "While data descriptors may also have :attr:`~definition.__name__` and :attr:" "`!__doc__` attributes (as properties, getsets and member descriptors do), " "this is not necessarily the case in general." msgstr "" -#: ../../library/inspect.rst:676 +#: ../../library/inspect.rst:688 msgid "" "This function now reports objects with only a :meth:`~object.__set__` method " "as being data descriptors (the presence of :meth:`~object.__get__` is no " @@ -1088,75 +1106,75 @@ msgid "" "data descriptors as well, which was not the case previously." msgstr "" -#: ../../library/inspect.rst:685 +#: ../../library/inspect.rst:697 msgid "Return ``True`` if the object is a getset descriptor." msgstr "" -#: ../../library/inspect.rst:689 +#: ../../library/inspect.rst:701 msgid "" "getsets are attributes defined in extension modules via :c:type:" "`PyGetSetDef` structures. For Python implementations without such types, " "this method will always return ``False``." msgstr "" -#: ../../library/inspect.rst:696 +#: ../../library/inspect.rst:708 msgid "Return ``True`` if the object is a member descriptor." msgstr "" -#: ../../library/inspect.rst:700 +#: ../../library/inspect.rst:712 msgid "" "Member descriptors are attributes defined in extension modules via :c:type:" "`PyMemberDef` structures. For Python implementations without such types, " "this method will always return ``False``." msgstr "" -#: ../../library/inspect.rst:708 +#: ../../library/inspect.rst:720 msgid "Retrieving source code" msgstr "" -#: ../../library/inspect.rst:712 +#: ../../library/inspect.rst:724 msgid "" "Get the documentation string for an object, cleaned up with :func:" "`cleandoc`. If the documentation string for an object is not provided:" msgstr "" -#: ../../library/inspect.rst:715 +#: ../../library/inspect.rst:727 msgid "" "if the object is a class and *inherit_class_doc* is true (by default), " "retrieve the documentation string from the inheritance hierarchy;" msgstr "" -#: ../../library/inspect.rst:717 +#: ../../library/inspect.rst:729 msgid "" "if the object is a method, a property or a descriptor, retrieve the " "documentation string from the inheritance hierarchy;" msgstr "" -#: ../../library/inspect.rst:719 +#: ../../library/inspect.rst:731 msgid "" "otherwise, if *fallback_to_class_doc* is true (by default), retrieve the " "documentation string from the class of the object." msgstr "" -#: ../../library/inspect.rst:722 +#: ../../library/inspect.rst:734 msgid "Return ``None`` if the documentation string is invalid or missing." msgstr "" -#: ../../library/inspect.rst:724 +#: ../../library/inspect.rst:736 msgid "Documentation strings are now inherited if not overridden." msgstr "" -#: ../../library/inspect.rst:727 +#: ../../library/inspect.rst:739 msgid "Added parameters *inherit_class_doc* and *fallback_to_class_doc*." msgstr "" -#: ../../library/inspect.rst:730 +#: ../../library/inspect.rst:742 msgid "" "Documentation strings on :class:`~functools.cached_property` objects are now " "inherited if not overridden." msgstr "" -#: ../../library/inspect.rst:736 +#: ../../library/inspect.rst:748 msgid "" "Return in a single string any lines of comments immediately preceding the " "object's source code (for a class, function, or method), or at the top of " @@ -1165,7 +1183,7 @@ msgid "" "been defined in C or the interactive shell." msgstr "" -#: ../../library/inspect.rst:745 +#: ../../library/inspect.rst:757 msgid "" "Return the name of the (text or binary) file in which an object was defined. " "An :exc:`OSError` is raised if the source code cannot be retrieved. This " @@ -1173,13 +1191,13 @@ msgid "" "or function." msgstr "" -#: ../../library/inspect.rst:753 +#: ../../library/inspect.rst:765 msgid "" "Try to guess which module an object was defined in. Return ``None`` if the " "module cannot be determined." msgstr "" -#: ../../library/inspect.rst:759 +#: ../../library/inspect.rst:771 msgid "" "Return the name of the Python source file in which an object was defined or " "``None`` if no way can be identified to get the source. An :exc:`OSError` " @@ -1187,7 +1205,7 @@ msgid "" "`TypeError` if the object is a built-in module, class, or function." msgstr "" -#: ../../library/inspect.rst:768 +#: ../../library/inspect.rst:780 msgid "" "Return a list of source lines and starting line number for an object. The " "argument may be a module, class, method, function, traceback, frame, or code " @@ -1198,13 +1216,13 @@ msgid "" "built-in module, class, or function." msgstr "" -#: ../../library/inspect.rst:777 ../../library/inspect.rst:791 +#: ../../library/inspect.rst:789 ../../library/inspect.rst:803 msgid "" ":exc:`OSError` is raised instead of :exc:`IOError`, now an alias of the " "former." msgstr "" -#: ../../library/inspect.rst:784 +#: ../../library/inspect.rst:796 msgid "" "Return the text of the source code for an object. The argument may be a " "module, class, method, function, traceback, frame, or code object. The " @@ -1213,13 +1231,13 @@ msgid "" "object is a built-in module, class, or function." msgstr "" -#: ../../library/inspect.rst:798 +#: ../../library/inspect.rst:810 msgid "" "Clean up indentation from docstrings that are indented to line up with " "blocks of code." msgstr "" -#: ../../library/inspect.rst:801 +#: ../../library/inspect.rst:813 msgid "" "All leading whitespace is removed from the first line. Any leading " "whitespace that can be uniformly removed from the second line onwards is " @@ -1227,22 +1245,22 @@ msgid "" "Also, all tabs are expanded to spaces." msgstr "" -#: ../../library/inspect.rst:810 +#: ../../library/inspect.rst:822 msgid "Introspecting callables with the Signature object" msgstr "" -#: ../../library/inspect.rst:814 +#: ../../library/inspect.rst:826 msgid "" "The :class:`Signature` object represents the call signature of a callable " "object and its return annotation. To retrieve a :class:`!Signature` object, " "use the :func:`!signature` function." msgstr "" -#: ../../library/inspect.rst:821 +#: ../../library/inspect.rst:833 msgid "Return a :class:`Signature` object for the given *callable*:" msgstr "" -#: ../../library/inspect.rst:823 +#: ../../library/inspect.rst:835 msgid "" ">>> from inspect import signature\n" ">>> def foo(a, *, b:int, **kwargs):\n" @@ -1260,13 +1278,13 @@ msgid "" "" msgstr "" -#: ../../library/inspect.rst:840 +#: ../../library/inspect.rst:852 msgid "" "Accepts a wide range of Python callables, from plain functions and classes " "to :func:`functools.partial` objects." msgstr "" -#: ../../library/inspect.rst:843 +#: ../../library/inspect.rst:855 msgid "" "If some of the annotations are strings (e.g., because ``from __future__ " "import annotations`` was used), :func:`signature` will attempt to " @@ -1281,7 +1299,7 @@ msgid "" "STRING`` to return annotations in string format." msgstr "" -#: ../../library/inspect.rst:857 +#: ../../library/inspect.rst:869 msgid "" "Raises :exc:`ValueError` if no signature can be provided, and :exc:" "`TypeError` if that type of object is not supported. Also, if the " @@ -1290,36 +1308,36 @@ msgid "" "get_annotations` could potentially raise any kind of exception." msgstr "" -#: ../../library/inspect.rst:863 +#: ../../library/inspect.rst:875 msgid "" "A slash (/) in the signature of a function denotes that the parameters prior " "to it are positional-only. For more info, see :ref:`the FAQ entry on " "positional-only parameters `." msgstr "" -#: ../../library/inspect.rst:867 +#: ../../library/inspect.rst:879 msgid "" "The *follow_wrapped* parameter was added. Pass ``False`` to get a signature " "of *callable* specifically (``callable.__wrapped__`` will not be used to " "unwrap decorated callables.)" msgstr "" -#: ../../library/inspect.rst:873 ../../library/inspect.rst:1009 +#: ../../library/inspect.rst:885 ../../library/inspect.rst:1021 msgid "The *globals*, *locals*, and *eval_str* parameters were added." msgstr "" -#: ../../library/inspect.rst:876 ../../library/inspect.rst:1302 +#: ../../library/inspect.rst:888 ../../library/inspect.rst:1314 msgid "The *annotation_format* parameter was added." msgstr "" -#: ../../library/inspect.rst:881 +#: ../../library/inspect.rst:893 msgid "" "Some callables may not be introspectable in certain implementations of " "Python. For example, in CPython, some built-in functions defined in C " "provide no metadata about their arguments." msgstr "" -#: ../../library/inspect.rst:887 +#: ../../library/inspect.rst:899 msgid "" "If the passed object has a :attr:`!__signature__` attribute, we may use it " "to create the signature. The exact semantics are an implementation detail " @@ -1327,14 +1345,14 @@ msgid "" "semantics." msgstr "" -#: ../../library/inspect.rst:895 +#: ../../library/inspect.rst:907 msgid "" "A :class:`!Signature` object represents the call signature of a function and " "its return annotation. For each parameter accepted by the function it " "stores a :class:`Parameter` object in its :attr:`parameters` collection." msgstr "" -#: ../../library/inspect.rst:900 +#: ../../library/inspect.rst:912 msgid "" "The optional *parameters* argument is a sequence of :class:`Parameter` " "objects, which is validated to check that there are no parameters with " @@ -1343,54 +1361,54 @@ msgid "" "defaults follow parameters without defaults." msgstr "" -#: ../../library/inspect.rst:906 +#: ../../library/inspect.rst:918 msgid "" "The optional *return_annotation* argument can be an arbitrary Python object. " "It represents the \"return\" annotation of the callable." msgstr "" -#: ../../library/inspect.rst:909 +#: ../../library/inspect.rst:921 msgid "" ":class:`!Signature` objects are *immutable*. Use :meth:`Signature.replace` " "or :func:`copy.replace` to make a modified copy." msgstr "" -#: ../../library/inspect.rst:912 +#: ../../library/inspect.rst:924 msgid ":class:`!Signature` objects are now picklable and :term:`hashable`." msgstr "" -#: ../../library/inspect.rst:917 +#: ../../library/inspect.rst:929 msgid "A special class-level marker to specify absence of a return annotation." msgstr "" -#: ../../library/inspect.rst:921 +#: ../../library/inspect.rst:933 msgid "" "An ordered mapping of parameters' names to the corresponding :class:" "`Parameter` objects. Parameters appear in strict definition order, " "including keyword-only parameters." msgstr "" -#: ../../library/inspect.rst:925 ../../library/inspect.rst:1297 +#: ../../library/inspect.rst:937 ../../library/inspect.rst:1309 msgid "" "Python only explicitly guaranteed that it preserved the declaration order of " "keyword-only parameters as of version 3.7, although in practice this order " "had always been preserved in Python 3." msgstr "" -#: ../../library/inspect.rst:932 +#: ../../library/inspect.rst:944 msgid "" "The \"return\" annotation for the callable. If the callable has no " "\"return\" annotation, this attribute is set to :attr:`Signature.empty`." msgstr "" -#: ../../library/inspect.rst:937 +#: ../../library/inspect.rst:949 msgid "" "Create a mapping from positional and keyword arguments to parameters. " "Returns :class:`BoundArguments` if ``*args`` and ``**kwargs`` match the " "signature, or raises a :exc:`TypeError`." msgstr "" -#: ../../library/inspect.rst:943 +#: ../../library/inspect.rst:955 msgid "" "Works the same way as :meth:`Signature.bind`, but allows the omission of " "some required arguments (mimics :func:`functools.partial` behavior.) " @@ -1398,7 +1416,7 @@ msgid "" "arguments do not match the signature." msgstr "" -#: ../../library/inspect.rst:950 +#: ../../library/inspect.rst:962 msgid "" "Create a new :class:`Signature` instance based on the instance :meth:" "`replace` was invoked on. It is possible to pass different *parameters* and/" @@ -1407,7 +1425,7 @@ msgid "" "Signature`, pass in :attr:`Signature.empty`." msgstr "" -#: ../../library/inspect.rst:958 +#: ../../library/inspect.rst:970 msgid "" ">>> def test(a, b):\n" "... pass\n" @@ -1418,24 +1436,24 @@ msgid "" "\"(a, b) -> 'new return anno'\"" msgstr "" -#: ../../library/inspect.rst:968 +#: ../../library/inspect.rst:980 msgid "" ":class:`Signature` objects are also supported by the generic function :func:" "`copy.replace`." msgstr "" -#: ../../library/inspect.rst:973 +#: ../../library/inspect.rst:985 msgid "Create a string representation of the :class:`Signature` object." msgstr "" -#: ../../library/inspect.rst:975 +#: ../../library/inspect.rst:987 msgid "" "If *max_width* is passed, the method will attempt to fit the signature into " "lines of at most *max_width* characters. If the signature is longer than " "*max_width*, all parameters will be on separate lines." msgstr "" -#: ../../library/inspect.rst:980 +#: ../../library/inspect.rst:992 msgid "" "If *quote_annotation_strings* is False, :term:`annotations ` in " "the signature are displayed without opening and closing quotation marks if " @@ -1444,21 +1462,21 @@ msgid "" "annotations`` was used." msgstr "" -#: ../../library/inspect.rst:988 +#: ../../library/inspect.rst:1000 msgid "The *unquote_annotations* parameter was added." msgstr "" -#: ../../library/inspect.rst:993 +#: ../../library/inspect.rst:1005 msgid "" "Return a :class:`Signature` (or its subclass) object for a given callable " "*obj*." msgstr "" -#: ../../library/inspect.rst:996 +#: ../../library/inspect.rst:1008 msgid "This method simplifies subclassing of :class:`Signature`:" msgstr "" -#: ../../library/inspect.rst:998 +#: ../../library/inspect.rst:1010 msgid "" "class MySignature(Signature):\n" " pass\n" @@ -1466,129 +1484,129 @@ msgid "" "assert isinstance(sig, MySignature)" msgstr "" -#: ../../library/inspect.rst:1005 +#: ../../library/inspect.rst:1017 msgid "Its behavior is otherwise identical to that of :func:`signature`." msgstr "" -#: ../../library/inspect.rst:1015 +#: ../../library/inspect.rst:1027 msgid "" ":class:`!Parameter` objects are *immutable*. Instead of modifying a :class:`!" "Parameter` object, you can use :meth:`Parameter.replace` or :func:`copy." "replace` to create a modified copy." msgstr "" -#: ../../library/inspect.rst:1019 +#: ../../library/inspect.rst:1031 msgid "Parameter objects are now picklable and :term:`hashable`." msgstr "" -#: ../../library/inspect.rst:1024 +#: ../../library/inspect.rst:1036 msgid "" "A special class-level marker to specify absence of default values and " "annotations." msgstr "" -#: ../../library/inspect.rst:1029 +#: ../../library/inspect.rst:1041 msgid "" "The name of the parameter as a string. The name must be a valid Python " "identifier." msgstr "" -#: ../../library/inspect.rst:1034 +#: ../../library/inspect.rst:1046 msgid "" "CPython generates implicit parameter names of the form ``.0`` on the code " "objects used to implement comprehensions and generator expressions." msgstr "" -#: ../../library/inspect.rst:1038 +#: ../../library/inspect.rst:1050 msgid "" "These parameter names are now exposed by this module as names like " "``implicit0``." msgstr "" -#: ../../library/inspect.rst:1044 +#: ../../library/inspect.rst:1056 msgid "" "The default value for the parameter. If the parameter has no default value, " "this attribute is set to :attr:`Parameter.empty`." msgstr "" -#: ../../library/inspect.rst:1049 +#: ../../library/inspect.rst:1061 msgid "" "The annotation for the parameter. If the parameter has no annotation, this " "attribute is set to :attr:`Parameter.empty`." msgstr "" -#: ../../library/inspect.rst:1054 +#: ../../library/inspect.rst:1066 msgid "" "Describes how argument values are bound to the parameter. The possible " "values are accessible via :class:`Parameter` (like ``Parameter." "KEYWORD_ONLY``), and support comparison and ordering, in the following order:" msgstr "" -#: ../../library/inspect.rst:1061 +#: ../../library/inspect.rst:1073 msgid "Name" msgstr "Name" -#: ../../library/inspect.rst:1061 +#: ../../library/inspect.rst:1073 msgid "Meaning" msgstr "Bedeutung" -#: ../../library/inspect.rst:1063 +#: ../../library/inspect.rst:1075 msgid "*POSITIONAL_ONLY*" msgstr "" -#: ../../library/inspect.rst:1063 +#: ../../library/inspect.rst:1075 msgid "" "Value must be supplied as a positional argument. Positional only parameters " "are those which appear before a ``/`` entry (if present) in a Python " "function definition." msgstr "" -#: ../../library/inspect.rst:1068 +#: ../../library/inspect.rst:1080 msgid "*POSITIONAL_OR_KEYWORD*" msgstr "" -#: ../../library/inspect.rst:1068 +#: ../../library/inspect.rst:1080 msgid "" "Value may be supplied as either a keyword or positional argument (this is " "the standard binding behaviour for functions implemented in Python.)" msgstr "" -#: ../../library/inspect.rst:1073 +#: ../../library/inspect.rst:1085 msgid "*VAR_POSITIONAL*" msgstr "" -#: ../../library/inspect.rst:1073 +#: ../../library/inspect.rst:1085 msgid "" "A tuple of positional arguments that aren't bound to any other parameter. " "This corresponds to a ``*args`` parameter in a Python function definition." msgstr "" -#: ../../library/inspect.rst:1078 +#: ../../library/inspect.rst:1090 msgid "*KEYWORD_ONLY*" msgstr "" -#: ../../library/inspect.rst:1078 +#: ../../library/inspect.rst:1090 msgid "" "Value must be supplied as a keyword argument. Keyword only parameters are " "those which appear after a ``*`` or ``*args`` entry in a Python function " "definition." msgstr "" -#: ../../library/inspect.rst:1083 +#: ../../library/inspect.rst:1095 msgid "*VAR_KEYWORD*" msgstr "" -#: ../../library/inspect.rst:1083 +#: ../../library/inspect.rst:1095 msgid "" "A dict of keyword arguments that aren't bound to any other parameter. This " "corresponds to a ``**kwargs`` parameter in a Python function definition." msgstr "" -#: ../../library/inspect.rst:1089 +#: ../../library/inspect.rst:1101 msgid "Example: print all keyword-only arguments without default values:" msgstr "" -#: ../../library/inspect.rst:1091 +#: ../../library/inspect.rst:1103 msgid "" ">>> def foo(a, b, *, c, d=10):\n" "... pass\n" @@ -1601,15 +1619,15 @@ msgid "" "Parameter: c" msgstr "" -#: ../../library/inspect.rst:1105 +#: ../../library/inspect.rst:1117 msgid "Describes an enum value of :attr:`Parameter.kind`." msgstr "" -#: ../../library/inspect.rst:1109 +#: ../../library/inspect.rst:1121 msgid "Example: print all descriptions of arguments:" msgstr "" -#: ../../library/inspect.rst:1111 +#: ../../library/inspect.rst:1123 msgid "" ">>> def foo(a, b, *, c, d=10):\n" "... pass\n" @@ -1623,7 +1641,7 @@ msgid "" "keyword-only" msgstr "" -#: ../../library/inspect.rst:1126 +#: ../../library/inspect.rst:1138 msgid "" "Create a new :class:`Parameter` instance based on the instance replaced was " "invoked on. To override a :class:`!Parameter` attribute, pass the " @@ -1631,7 +1649,7 @@ msgid "" "a :class:`!Parameter`, pass :attr:`Parameter.empty`." msgstr "" -#: ../../library/inspect.rst:1131 +#: ../../library/inspect.rst:1143 msgid "" ">>> from inspect import Parameter\n" ">>> param = Parameter('foo', Parameter.KEYWORD_ONLY, default=42)\n" @@ -1645,83 +1663,83 @@ msgid "" "\"foo: 'spam'\"" msgstr "" -#: ../../library/inspect.rst:1144 +#: ../../library/inspect.rst:1156 msgid "" ":class:`Parameter` objects are also supported by the generic function :func:" "`copy.replace`." msgstr "" -#: ../../library/inspect.rst:1147 +#: ../../library/inspect.rst:1159 msgid "" "In Python 3.3 :class:`Parameter` objects were allowed to have ``name`` set " "to ``None`` if their ``kind`` was set to ``POSITIONAL_ONLY``. This is no " "longer permitted." msgstr "" -#: ../../library/inspect.rst:1154 +#: ../../library/inspect.rst:1166 msgid "" "Result of a :meth:`Signature.bind` or :meth:`Signature.bind_partial` call. " "Holds the mapping of arguments to the function's parameters." msgstr "" -#: ../../library/inspect.rst:1159 +#: ../../library/inspect.rst:1171 msgid "" "A mutable mapping of parameters' names to arguments' values. Contains only " "explicitly bound arguments. Changes in :attr:`arguments` will reflect in :" "attr:`args` and :attr:`kwargs`." msgstr "" -#: ../../library/inspect.rst:1163 +#: ../../library/inspect.rst:1175 msgid "" "Should be used in conjunction with :attr:`Signature.parameters` for any " "argument processing purposes." msgstr "" -#: ../../library/inspect.rst:1168 +#: ../../library/inspect.rst:1180 msgid "" "Arguments for which :meth:`Signature.bind` or :meth:`Signature.bind_partial` " "relied on a default value are skipped. However, if needed, use :meth:" "`BoundArguments.apply_defaults` to add them." msgstr "" -#: ../../library/inspect.rst:1173 +#: ../../library/inspect.rst:1185 msgid "" ":attr:`arguments` is now of type :class:`dict`. Formerly, it was of type :" "class:`collections.OrderedDict`." msgstr "" -#: ../../library/inspect.rst:1179 +#: ../../library/inspect.rst:1191 msgid "" "A tuple of positional arguments values. Dynamically computed from the :attr:" "`arguments` attribute." msgstr "" -#: ../../library/inspect.rst:1184 +#: ../../library/inspect.rst:1196 msgid "" "A dict of keyword arguments values. Dynamically computed from the :attr:" "`arguments` attribute. Arguments that can be passed positionally are " "included in :attr:`args` instead." msgstr "" -#: ../../library/inspect.rst:1190 +#: ../../library/inspect.rst:1202 msgid "A reference to the parent :class:`Signature` object." msgstr "" -#: ../../library/inspect.rst:1194 +#: ../../library/inspect.rst:1206 msgid "Set default values for missing arguments." msgstr "" -#: ../../library/inspect.rst:1196 +#: ../../library/inspect.rst:1208 msgid "" "For variable-positional arguments (``*args``) the default is an empty tuple." msgstr "" -#: ../../library/inspect.rst:1199 +#: ../../library/inspect.rst:1211 msgid "" "For variable-keyword arguments (``**kwargs``) the default is an empty dict." msgstr "" -#: ../../library/inspect.rst:1202 +#: ../../library/inspect.rst:1214 msgid "" ">>> def foo(a, b='ham', *args): pass\n" ">>> ba = inspect.signature(foo).bind('spam')\n" @@ -1730,13 +1748,13 @@ msgid "" "{'a': 'spam', 'b': 'ham', 'args': ()}" msgstr "" -#: ../../library/inspect.rst:1212 +#: ../../library/inspect.rst:1224 msgid "" "The :attr:`args` and :attr:`kwargs` properties can be used to invoke " "functions:" msgstr "" -#: ../../library/inspect.rst:1215 +#: ../../library/inspect.rst:1227 msgid "" "def test(a, *, b):\n" " ...\n" @@ -1746,19 +1764,19 @@ msgid "" "test(*ba.args, **ba.kwargs)" msgstr "" -#: ../../library/inspect.rst:1227 +#: ../../library/inspect.rst:1239 msgid ":pep:`362` - Function Signature Object." msgstr "" -#: ../../library/inspect.rst:1228 +#: ../../library/inspect.rst:1240 msgid "The detailed specification, implementation details and examples." msgstr "" -#: ../../library/inspect.rst:1234 +#: ../../library/inspect.rst:1246 msgid "Classes and functions" msgstr "" -#: ../../library/inspect.rst:1238 +#: ../../library/inspect.rst:1250 msgid "" "Arrange the given list of classes into a hierarchy of nested lists. Where a " "nested list appears, it contains classes derived from the class whose entry " @@ -1769,19 +1787,19 @@ msgid "" "will appear multiple times." msgstr "" -#: ../../library/inspect.rst:1249 +#: ../../library/inspect.rst:1261 msgid "" "Get the names and default values of a Python function's parameters. A :term:" "`named tuple` is returned:" msgstr "" -#: ../../library/inspect.rst:1252 +#: ../../library/inspect.rst:1264 msgid "" "``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, " "annotations)``" msgstr "" -#: ../../library/inspect.rst:1255 +#: ../../library/inspect.rst:1267 msgid "" "*args* is a list of the positional parameter names. *varargs* is the name of " "the ``*`` parameter or ``None`` if arbitrary positional arguments are not " @@ -1796,7 +1814,7 @@ msgid "" "report the function return value annotation (if any)." msgstr "" -#: ../../library/inspect.rst:1270 +#: ../../library/inspect.rst:1282 msgid "" "Note that :func:`signature` and :ref:`Signature Object ` provide the recommended API for callable introspection, and support " @@ -1806,7 +1824,7 @@ msgid "" "``inspect`` module API." msgstr "" -#: ../../library/inspect.rst:1277 +#: ../../library/inspect.rst:1289 msgid "" "A member of the :class:`annotationlib.Format` enum can be passed to the " "*annotation_format* parameter to control the format of the returned " @@ -1815,14 +1833,14 @@ msgid "" "``VALUE`` format, creation of some argspecs may raise an exception." msgstr "" -#: ../../library/inspect.rst:1285 +#: ../../library/inspect.rst:1297 msgid "" "This function is now based on :func:`signature`, but still ignores " "``__wrapped__`` attributes and includes the already bound first parameter in " "the signature output for bound methods." msgstr "" -#: ../../library/inspect.rst:1290 +#: ../../library/inspect.rst:1302 msgid "" "This method was previously documented as deprecated in favour of :func:" "`signature` in Python 3.5, but that decision has been reversed in order to " @@ -1830,7 +1848,7 @@ msgid "" "code migrating away from the legacy :func:`!getargspec` API." msgstr "" -#: ../../library/inspect.rst:1308 +#: ../../library/inspect.rst:1320 msgid "" "Get information about arguments passed into a particular frame. A :term:" "`named tuple` ``ArgInfo(args, varargs, keywords, locals)`` is returned. " @@ -1839,18 +1857,18 @@ msgid "" "dictionary of the given frame." msgstr "" -#: ../../library/inspect.rst:1315 ../../library/inspect.rst:1325 +#: ../../library/inspect.rst:1327 ../../library/inspect.rst:1337 msgid "This function was inadvertently marked as deprecated in Python 3.5." msgstr "" -#: ../../library/inspect.rst:1320 +#: ../../library/inspect.rst:1332 msgid "" "Format a pretty argument spec from the four values returned by :func:" "`getargvalues`. The format\\* arguments are the corresponding optional " "formatting functions that are called to turn names and values into strings." msgstr "" -#: ../../library/inspect.rst:1330 +#: ../../library/inspect.rst:1342 msgid "" "Return a tuple of class cls's base classes, including cls, in method " "resolution order. No class appears more than once in this tuple. Note that " @@ -1858,7 +1876,7 @@ msgid "" "user-defined metatype is in use, cls will be the first element of the tuple." msgstr "" -#: ../../library/inspect.rst:1338 +#: ../../library/inspect.rst:1350 msgid "" "Bind the *args* and *kwds* to the argument names of the Python function or " "method *func*, as if it was called with them. For bound methods, bind also " @@ -1871,7 +1889,7 @@ msgid "" "example:" msgstr "" -#: ../../library/inspect.rst:1347 +#: ../../library/inspect.rst:1359 msgid "" ">>> from inspect import getcallargs\n" ">>> def f(a, b=1, *pos, **named):\n" @@ -1888,11 +1906,11 @@ msgid "" "TypeError: f() missing 1 required positional argument: 'a'" msgstr "" -#: ../../library/inspect.rst:1364 +#: ../../library/inspect.rst:1376 msgid "Use :meth:`Signature.bind` and :meth:`Signature.bind_partial` instead." msgstr "" -#: ../../library/inspect.rst:1370 +#: ../../library/inspect.rst:1382 msgid "" "Get the mapping of external name references in a Python function or method " "*func* to their current values. A :term:`named tuple` " @@ -1904,18 +1922,18 @@ msgid "" "builtins." msgstr "" -#: ../../library/inspect.rst:1379 +#: ../../library/inspect.rst:1391 msgid "" ":exc:`TypeError` is raised if *func* is not a Python function or method." msgstr "" -#: ../../library/inspect.rst:1386 +#: ../../library/inspect.rst:1398 msgid "" "Get the object wrapped by *func*. It follows the chain of :attr:" "`__wrapped__` attributes returning the last object in the chain." msgstr "" -#: ../../library/inspect.rst:1389 +#: ../../library/inspect.rst:1401 msgid "" "*stop* is an optional callback accepting an object in the wrapper chain as " "its sole argument that allows the unwrapping to be terminated early if the " @@ -1925,37 +1943,37 @@ msgid "" "``__signature__`` attribute defined." msgstr "" -#: ../../library/inspect.rst:1396 +#: ../../library/inspect.rst:1408 msgid ":exc:`ValueError` is raised if a cycle is encountered." msgstr "" -#: ../../library/inspect.rst:1403 +#: ../../library/inspect.rst:1415 msgid "Compute the annotations dict for an object." msgstr "" -#: ../../library/inspect.rst:1405 +#: ../../library/inspect.rst:1417 msgid "" "This is an alias for :func:`annotationlib.get_annotations`; see the " "documentation of that function for more information." msgstr "" -#: ../../library/inspect.rst:1410 +#: ../../library/inspect.rst:1422 msgid "" "This function may execute arbitrary code contained in annotations. See :ref:" "`annotationlib-security` for more information." msgstr "" -#: ../../library/inspect.rst:1415 +#: ../../library/inspect.rst:1427 msgid "" "This function is now an alias for :func:`annotationlib.get_annotations`. " "Calling it as ``inspect.get_annotations`` will continue to work." msgstr "" -#: ../../library/inspect.rst:1423 +#: ../../library/inspect.rst:1435 msgid "The interpreter stack" msgstr "" -#: ../../library/inspect.rst:1425 +#: ../../library/inspect.rst:1437 msgid "" "Some of the following functions return :class:`FrameInfo` objects. For " "backwards compatibility these objects allow tuple-like operations on all " @@ -1963,95 +1981,95 @@ msgid "" "may be removed in the future." msgstr "" -#: ../../library/inspect.rst:1434 +#: ../../library/inspect.rst:1446 msgid "The :ref:`frame object ` that the record corresponds to." msgstr "" -#: ../../library/inspect.rst:1438 +#: ../../library/inspect.rst:1450 msgid "" "The file name associated with the code being executed by the frame this " "record corresponds to." msgstr "" -#: ../../library/inspect.rst:1443 +#: ../../library/inspect.rst:1455 msgid "" "The line number of the current line associated with the code being executed " "by the frame this record corresponds to." msgstr "" -#: ../../library/inspect.rst:1448 +#: ../../library/inspect.rst:1460 msgid "" "The function name that is being executed by the frame this record " "corresponds to." msgstr "" -#: ../../library/inspect.rst:1452 +#: ../../library/inspect.rst:1464 msgid "" "A list of lines of context from the source code that's being executed by the " "frame this record corresponds to." msgstr "" -#: ../../library/inspect.rst:1457 ../../library/inspect.rst:1496 +#: ../../library/inspect.rst:1469 ../../library/inspect.rst:1508 msgid "" "The index of the current line being executed in the :attr:`code_context` " "list." msgstr "" -#: ../../library/inspect.rst:1461 +#: ../../library/inspect.rst:1473 msgid "" "A :class:`dis.Positions` object containing the start line number, end line " "number, start column offset, and end column offset associated with the " "instruction being executed by the frame this record corresponds to." msgstr "" -#: ../../library/inspect.rst:1465 +#: ../../library/inspect.rst:1477 msgid "Return a :term:`named tuple` instead of a :class:`tuple`." msgstr "" -#: ../../library/inspect.rst:1468 +#: ../../library/inspect.rst:1480 msgid "" ":class:`!FrameInfo` is now a class instance (that is backwards compatible " "with the previous :term:`named tuple`)." msgstr "" -#: ../../library/inspect.rst:1477 +#: ../../library/inspect.rst:1489 msgid "" "The file name associated with the code being executed by the frame this " "traceback corresponds to." msgstr "" -#: ../../library/inspect.rst:1482 +#: ../../library/inspect.rst:1494 msgid "" "The line number of the current line associated with the code being executed " "by the frame this traceback corresponds to." msgstr "" -#: ../../library/inspect.rst:1487 +#: ../../library/inspect.rst:1499 msgid "" "The function name that is being executed by the frame this traceback " "corresponds to." msgstr "" -#: ../../library/inspect.rst:1491 +#: ../../library/inspect.rst:1503 msgid "" "A list of lines of context from the source code that's being executed by the " "frame this traceback corresponds to." msgstr "" -#: ../../library/inspect.rst:1500 +#: ../../library/inspect.rst:1512 msgid "" "A :class:`dis.Positions` object containing the start line number, end line " "number, start column offset, and end column offset associated with the " "instruction being executed by the frame this traceback corresponds to." msgstr "" -#: ../../library/inspect.rst:1505 +#: ../../library/inspect.rst:1517 msgid "" ":class:`!Traceback` is now a class instance (that is backwards compatible " "with the previous :term:`named tuple`)." msgstr "" -#: ../../library/inspect.rst:1512 +#: ../../library/inspect.rst:1524 msgid "" "Keeping references to frame objects, as found in the first element of the " "frame records these functions return, can cause your program to create " @@ -2063,7 +2081,7 @@ msgid "" "consumption which occurs." msgstr "" -#: ../../library/inspect.rst:1520 +#: ../../library/inspect.rst:1532 msgid "" "Though the cycle detector will catch these, destruction of the frames (and " "local variables) can be made deterministic by removing the cycle in a :" @@ -2071,7 +2089,7 @@ msgid "" "disabled when Python was compiled or using :func:`gc.disable`. For example::" msgstr "" -#: ../../library/inspect.rst:1525 +#: ../../library/inspect.rst:1537 msgid "" "def handle_stackframe_without_leak():\n" " frame = inspect.currentframe()\n" @@ -2081,31 +2099,31 @@ msgid "" " del frame" msgstr "" -#: ../../library/inspect.rst:1532 +#: ../../library/inspect.rst:1544 msgid "" "If you want to keep the frame around (for example to print a traceback " "later), you can also break reference cycles by using the :meth:`frame.clear` " "method." msgstr "" -#: ../../library/inspect.rst:1536 +#: ../../library/inspect.rst:1548 msgid "" "The optional *context* argument supported by most of these functions " "specifies the number of lines of context to return, which are centered " "around the current line." msgstr "" -#: ../../library/inspect.rst:1543 +#: ../../library/inspect.rst:1555 msgid "" "Get information about a frame or traceback object. A :class:`Traceback` " "object is returned." msgstr "" -#: ../../library/inspect.rst:1546 +#: ../../library/inspect.rst:1558 msgid "A :class:`Traceback` object is returned instead of a named tuple." msgstr "" -#: ../../library/inspect.rst:1551 +#: ../../library/inspect.rst:1563 msgid "" "Get a list of :class:`FrameInfo` objects for a frame and all outer frames. " "These frames represent the calls that lead to the creation of *frame*. The " @@ -2113,19 +2131,19 @@ msgid "" "represents the outermost call on *frame*'s stack." msgstr "" -#: ../../library/inspect.rst:1556 ../../library/inspect.rst:1571 -#: ../../library/inspect.rst:1597 ../../library/inspect.rst:1612 +#: ../../library/inspect.rst:1568 ../../library/inspect.rst:1583 +#: ../../library/inspect.rst:1609 ../../library/inspect.rst:1624 msgid "" "A list of :term:`named tuples ` ``FrameInfo(frame, filename, " "lineno, function, code_context, index)`` is returned." msgstr "" -#: ../../library/inspect.rst:1561 ../../library/inspect.rst:1576 -#: ../../library/inspect.rst:1602 ../../library/inspect.rst:1617 +#: ../../library/inspect.rst:1573 ../../library/inspect.rst:1588 +#: ../../library/inspect.rst:1614 ../../library/inspect.rst:1629 msgid "A list of :class:`FrameInfo` objects is returned." msgstr "" -#: ../../library/inspect.rst:1566 +#: ../../library/inspect.rst:1578 msgid "" "Get a list of :class:`FrameInfo` objects for a traceback's frame and all " "inner frames. These frames represent calls made as a consequence of " @@ -2133,11 +2151,11 @@ msgid "" "represents where the exception was raised." msgstr "" -#: ../../library/inspect.rst:1581 +#: ../../library/inspect.rst:1593 msgid "Return the frame object for the caller's stack frame." msgstr "" -#: ../../library/inspect.rst:1585 +#: ../../library/inspect.rst:1597 msgid "" "This function relies on Python stack frame support in the interpreter, which " "isn't guaranteed to exist in all implementations of Python. If running in " @@ -2145,14 +2163,14 @@ msgid "" "``None``." msgstr "" -#: ../../library/inspect.rst:1593 +#: ../../library/inspect.rst:1605 msgid "" "Return a list of :class:`FrameInfo` objects for the caller's stack. The " "first entry in the returned list represents the caller; the last entry " "represents the outermost call on the stack." msgstr "" -#: ../../library/inspect.rst:1607 +#: ../../library/inspect.rst:1619 msgid "" "Return a list of :class:`FrameInfo` objects for the stack between the " "current frame and the frame in which an exception currently being handled " @@ -2160,11 +2178,11 @@ msgid "" "entry represents where the exception was raised." msgstr "" -#: ../../library/inspect.rst:1621 +#: ../../library/inspect.rst:1633 msgid "Fetching attributes statically" msgstr "" -#: ../../library/inspect.rst:1623 +#: ../../library/inspect.rst:1635 msgid "" "Both :func:`getattr` and :func:`hasattr` can trigger code execution when " "fetching or checking for the existence of attributes. Descriptors, like " @@ -2172,20 +2190,20 @@ msgid "" "`~object.__getattribute__` may be called." msgstr "" -#: ../../library/inspect.rst:1629 +#: ../../library/inspect.rst:1641 msgid "" "For cases where you want passive introspection, like documentation tools, " "this can be inconvenient. :func:`getattr_static` has a similar signature as :" "func:`getattr` but avoids executing code when it fetches attributes." msgstr "" -#: ../../library/inspect.rst:1636 +#: ../../library/inspect.rst:1648 msgid "" "Retrieve attributes without triggering dynamic lookup via the descriptor " "protocol, :meth:`~object.__getattr__` or :meth:`~object.__getattribute__`." msgstr "" -#: ../../library/inspect.rst:1640 +#: ../../library/inspect.rst:1652 msgid "" "Note: this function may not be able to retrieve all attributes that getattr " "can fetch (like dynamically created attributes) and may find attributes that " @@ -2193,27 +2211,27 @@ msgid "" "return descriptors objects instead of instance members." msgstr "" -#: ../../library/inspect.rst:1646 +#: ../../library/inspect.rst:1658 msgid "" "If the instance :attr:`~object.__dict__` is shadowed by another member (for " "example a property) then this function will be unable to find instance " "members." msgstr "" -#: ../../library/inspect.rst:1652 +#: ../../library/inspect.rst:1664 msgid "" ":func:`getattr_static` does not resolve descriptors, for example slot " "descriptors or getset descriptors on objects implemented in C. The " "descriptor object is returned instead of the underlying attribute." msgstr "" -#: ../../library/inspect.rst:1656 +#: ../../library/inspect.rst:1668 msgid "" "You can handle these with code like the following. Note that for arbitrary " "getset descriptors invoking these may trigger code execution::" msgstr "" -#: ../../library/inspect.rst:1660 +#: ../../library/inspect.rst:1672 msgid "" "# example code for resolving the builtin descriptor types\n" "class _foo:\n" @@ -2236,11 +2254,11 @@ msgid "" " pass" msgstr "" -#: ../../library/inspect.rst:1682 +#: ../../library/inspect.rst:1694 msgid "Current State of Generators, Coroutines, and Asynchronous Generators" msgstr "" -#: ../../library/inspect.rst:1684 +#: ../../library/inspect.rst:1696 msgid "" "When implementing coroutine schedulers and for other advanced uses of " "generators, it is useful to determine whether a generator is currently " @@ -2249,32 +2267,32 @@ msgid "" "generator to be determined easily." msgstr "" -#: ../../library/inspect.rst:1692 +#: ../../library/inspect.rst:1704 msgid "Get current state of a generator-iterator." msgstr "" -#: ../../library/inspect.rst:1694 ../../library/inspect.rst:1710 -#: ../../library/inspect.rst:1727 +#: ../../library/inspect.rst:1706 ../../library/inspect.rst:1722 +#: ../../library/inspect.rst:1739 msgid "Possible states are:" msgstr "" -#: ../../library/inspect.rst:1696 +#: ../../library/inspect.rst:1708 msgid "GEN_CREATED: Waiting to start execution." msgstr "" -#: ../../library/inspect.rst:1697 +#: ../../library/inspect.rst:1709 msgid "GEN_RUNNING: Currently being executed by the interpreter." msgstr "" -#: ../../library/inspect.rst:1698 +#: ../../library/inspect.rst:1710 msgid "GEN_SUSPENDED: Currently suspended at a yield expression." msgstr "" -#: ../../library/inspect.rst:1699 +#: ../../library/inspect.rst:1711 msgid "GEN_CLOSED: Execution has completed." msgstr "" -#: ../../library/inspect.rst:1705 +#: ../../library/inspect.rst:1717 msgid "" "Get current state of a coroutine object. The function is intended to be " "used with coroutine objects created by :keyword:`async def` functions, but " @@ -2282,23 +2300,23 @@ msgid "" "``cr_frame`` attributes." msgstr "" -#: ../../library/inspect.rst:1712 +#: ../../library/inspect.rst:1724 msgid "CORO_CREATED: Waiting to start execution." msgstr "" -#: ../../library/inspect.rst:1713 +#: ../../library/inspect.rst:1725 msgid "CORO_RUNNING: Currently being executed by the interpreter." msgstr "" -#: ../../library/inspect.rst:1714 +#: ../../library/inspect.rst:1726 msgid "CORO_SUSPENDED: Currently suspended at an await expression." msgstr "" -#: ../../library/inspect.rst:1715 +#: ../../library/inspect.rst:1727 msgid "CORO_CLOSED: Execution has completed." msgstr "" -#: ../../library/inspect.rst:1721 +#: ../../library/inspect.rst:1733 msgid "" "Get current state of an asynchronous generator object. The function is " "intended to be used with asynchronous iterator objects created by :keyword:" @@ -2307,30 +2325,30 @@ msgid "" "``ag_frame`` attributes." msgstr "" -#: ../../library/inspect.rst:1729 +#: ../../library/inspect.rst:1741 msgid "AGEN_CREATED: Waiting to start execution." msgstr "" -#: ../../library/inspect.rst:1730 +#: ../../library/inspect.rst:1742 msgid "AGEN_RUNNING: Currently being executed by the interpreter." msgstr "" -#: ../../library/inspect.rst:1731 +#: ../../library/inspect.rst:1743 msgid "AGEN_SUSPENDED: Currently suspended at a yield expression." msgstr "" -#: ../../library/inspect.rst:1732 +#: ../../library/inspect.rst:1744 msgid "AGEN_CLOSED: Execution has completed." msgstr "" -#: ../../library/inspect.rst:1736 +#: ../../library/inspect.rst:1748 msgid "" "The current internal state of the generator can also be queried. This is " "mostly useful for testing purposes, to ensure that internal state is being " "updated as expected:" msgstr "" -#: ../../library/inspect.rst:1742 +#: ../../library/inspect.rst:1754 msgid "" "Get the mapping of live local variables in *generator* to their current " "values. A dictionary is returned that maps from variable names to values. " @@ -2338,14 +2356,14 @@ msgid "" "generator, and all the same caveats apply." msgstr "" -#: ../../library/inspect.rst:1747 +#: ../../library/inspect.rst:1759 msgid "" "If *generator* is a :term:`generator` with no currently associated frame, " "then an empty dictionary is returned. :exc:`TypeError` is raised if " "*generator* is not a Python generator object." msgstr "" -#: ../../library/inspect.rst:1753 +#: ../../library/inspect.rst:1765 msgid "" "This function relies on the generator exposing a Python stack frame for " "introspection, which isn't guaranteed to be the case in all implementations " @@ -2353,90 +2371,90 @@ msgid "" "dictionary." msgstr "" -#: ../../library/inspect.rst:1762 +#: ../../library/inspect.rst:1774 msgid "" "This function is analogous to :func:`~inspect.getgeneratorlocals`, but works " "for coroutine objects created by :keyword:`async def` functions." msgstr "" -#: ../../library/inspect.rst:1769 +#: ../../library/inspect.rst:1781 msgid "" "This function is analogous to :func:`~inspect.getgeneratorlocals`, but works " "for asynchronous generator objects created by :keyword:`async def` functions " "which use the :keyword:`yield` statement." msgstr "" -#: ../../library/inspect.rst:1779 +#: ../../library/inspect.rst:1791 msgid "Code Objects Bit Flags" msgstr "" -#: ../../library/inspect.rst:1781 +#: ../../library/inspect.rst:1793 msgid "" "Python code objects have a :attr:`~codeobject.co_flags` attribute, which is " "a bitmap of the following flags:" msgstr "" -#: ../../library/inspect.rst:1786 +#: ../../library/inspect.rst:1798 msgid "The code object is optimized, using fast locals." msgstr "" -#: ../../library/inspect.rst:1790 +#: ../../library/inspect.rst:1802 msgid "" "If set, a new dict will be created for the frame's :attr:`~frame.f_locals` " "when the code object is executed." msgstr "" -#: ../../library/inspect.rst:1795 +#: ../../library/inspect.rst:1807 msgid "The code object has a variable positional parameter (``*args``-like)." msgstr "" -#: ../../library/inspect.rst:1799 +#: ../../library/inspect.rst:1811 msgid "The code object has a variable keyword parameter (``**kwargs``-like)." msgstr "" -#: ../../library/inspect.rst:1803 +#: ../../library/inspect.rst:1815 msgid "The flag is set when the code object is a nested function." msgstr "" -#: ../../library/inspect.rst:1807 +#: ../../library/inspect.rst:1819 msgid "" "The flag is set when the code object is a generator function, i.e. a " "generator object is returned when the code object is executed." msgstr "" -#: ../../library/inspect.rst:1812 +#: ../../library/inspect.rst:1824 msgid "" "The flag is set when the code object is a coroutine function. When the code " "object is executed it returns a coroutine object. See :pep:`492` for more " "details." msgstr "" -#: ../../library/inspect.rst:1820 +#: ../../library/inspect.rst:1832 msgid "" "The flag is used to transform generators into generator-based coroutines. " "Generator objects with this flag can be used in ``await`` expression, and " "can ``yield from`` coroutine objects. See :pep:`492` for more details." msgstr "" -#: ../../library/inspect.rst:1829 +#: ../../library/inspect.rst:1841 msgid "" "The flag is set when the code object is an asynchronous generator function. " "When the code object is executed it returns an asynchronous generator " "object. See :pep:`525` for more details." msgstr "" -#: ../../library/inspect.rst:1837 +#: ../../library/inspect.rst:1849 msgid "" "The flag is set when there is a docstring for the code object in the source " "code. If set, it will be the first item in :attr:`~codeobject.co_consts`." msgstr "" -#: ../../library/inspect.rst:1845 +#: ../../library/inspect.rst:1857 msgid "" "The flag is set when the code object is a function defined in class scope." msgstr "" -#: ../../library/inspect.rst:1851 +#: ../../library/inspect.rst:1863 msgid "" "The flags are specific to CPython, and may not be defined in other Python " "implementations. Furthermore, the flags are an implementation detail, and " @@ -2444,44 +2462,44 @@ msgid "" "use public APIs from the :mod:`!inspect` module for any introspection needs." msgstr "" -#: ../../library/inspect.rst:1859 +#: ../../library/inspect.rst:1871 msgid "Buffer flags" msgstr "" -#: ../../library/inspect.rst:1863 +#: ../../library/inspect.rst:1875 msgid "" "This is an :class:`enum.IntFlag` that represents the flags that can be " "passed to the :meth:`~object.__buffer__` method of objects implementing the :" "ref:`buffer protocol `." msgstr "" -#: ../../library/inspect.rst:1867 +#: ../../library/inspect.rst:1879 msgid "The meaning of the flags is explained at :ref:`buffer-request-types`." msgstr "" -#: ../../library/inspect.rst:1894 +#: ../../library/inspect.rst:1906 msgid "Command-line interface" msgstr "" -#: ../../library/inspect.rst:1896 +#: ../../library/inspect.rst:1908 msgid "" "The :mod:`!inspect` module also provides a basic introspection capability " "from the command line." msgstr "" -#: ../../library/inspect.rst:1901 +#: ../../library/inspect.rst:1913 msgid "" "By default, accepts the name of a module and prints the source of that " "module. A class or function within the module can be printed instead by " "appending a colon and the qualified name of the target object." msgstr "" -#: ../../library/inspect.rst:1907 +#: ../../library/inspect.rst:1919 msgid "" "Print information about the specified object rather than the source code" msgstr "" -#: ../../library/inspect.rst:1911 +#: ../../library/inspect.rst:1923 msgid "" "The ``--details`` option now supports basic introspection for modules " "without available source code and indicates when modules are frozen. It also " diff --git a/library/optparse.po b/library/optparse.po index c0805f79..62b17f2d 100644 --- a/library/optparse.po +++ b/library/optparse.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -38,29 +38,24 @@ msgstr "" #: ../../library/optparse.rst:18 msgid "" -":mod:`getopt`: a module that closely mirrors the procedural C ``getopt`` " -"API. Included in the standard library since before the initial Python 1.0 " -"release." +":mod:`getopt`: a module that closely mirrors the procedural C ``getopt`` API." msgstr "" -#: ../../library/optparse.rst:20 +#: ../../library/optparse.rst:19 msgid "" ":mod:`!optparse`: a declarative replacement for ``getopt`` that provides " "equivalent functionality without requiring each application to implement its " -"own procedural option parsing logic. Included in the standard library since " -"the Python 2.3 release." +"own procedural option parsing logic." msgstr "" -#: ../../library/optparse.rst:24 +#: ../../library/optparse.rst:22 msgid "" ":mod:`argparse`: a more opinionated alternative to ``optparse`` that " "provides more functionality by default, at the expense of reduced " -"application flexibility in controlling exactly how arguments are processed. " -"Included in the standard library since the Python 2.7 and Python 3.2 " -"releases." +"application flexibility in controlling exactly how arguments are processed." msgstr "" -#: ../../library/optparse.rst:29 +#: ../../library/optparse.rst:26 msgid "" "In the absence of more specific argument parsing design constraints, :mod:" "`argparse` is the recommended choice for implementing command line " @@ -68,7 +63,7 @@ msgid "" "the least application level code." msgstr "" -#: ../../library/optparse.rst:33 +#: ../../library/optparse.rst:30 msgid "" ":mod:`getopt` is retained almost entirely for backwards compatibility " "reasons. However, it also serves a niche use case as a tool for prototyping " @@ -76,62 +71,62 @@ msgid "" "applications." msgstr "" -#: ../../library/optparse.rst:37 +#: ../../library/optparse.rst:34 msgid "" ":mod:`!optparse` should be considered as an alternative to :mod:`argparse` " "in the following cases:" msgstr "" -#: ../../library/optparse.rst:40 +#: ../../library/optparse.rst:37 msgid "" "an application is already using :mod:`!optparse` and doesn't want to risk " "the subtle behavioural changes that may arise when migrating to :mod:" "`argparse`" msgstr "" -#: ../../library/optparse.rst:42 +#: ../../library/optparse.rst:39 msgid "" "the application requires additional control over the way options and " "positional parameters are interleaved on the command line (including the " "ability to disable the interleaving feature completely)" msgstr "" -#: ../../library/optparse.rst:45 +#: ../../library/optparse.rst:42 msgid "" "the application requires additional control over the incremental parsing of " "command line elements (while ``argparse`` does support this, the exact way " "it works in practice is undesirable for some use cases)" msgstr "" -#: ../../library/optparse.rst:48 +#: ../../library/optparse.rst:45 msgid "" "the application requires additional control over the handling of options " "which accept parameter values that may start with ``-`` (such as delegated " "options to be passed to invoked subprocesses)" msgstr "" -#: ../../library/optparse.rst:51 +#: ../../library/optparse.rst:48 msgid "" "the application requires some other command line parameter processing " "behavior which ``argparse`` does not support, but which can be implemented " "in terms of the lower level interface offered by ``optparse``" msgstr "" -#: ../../library/optparse.rst:55 +#: ../../library/optparse.rst:52 msgid "" "These considerations also mean that :mod:`!optparse` is likely to provide a " "better foundation for library authors writing third party command line " "argument processing libraries." msgstr "" -#: ../../library/optparse.rst:59 +#: ../../library/optparse.rst:56 msgid "" "As a concrete example, consider the following two command line argument " "parsing configurations, the first using ``optparse``, and the second using " "``argparse``:" msgstr "" -#: ../../library/optparse.rst:63 +#: ../../library/optparse.rst:60 msgid "" "import optparse\n" "\n" @@ -143,7 +138,7 @@ msgid "" " process(args, output=opts.output, verbose=opts.verbose)" msgstr "" -#: ../../library/optparse.rst:74 +#: ../../library/optparse.rst:71 msgid "" "import argparse\n" "\n" @@ -156,7 +151,7 @@ msgid "" " process(args.rest, output=args.output, verbose=args.verbose)" msgstr "" -#: ../../library/optparse.rst:86 +#: ../../library/optparse.rst:83 msgid "" "The most obvious difference is that in the ``optparse`` version, the non-" "option arguments are processed separately by the application after the " @@ -164,14 +159,14 @@ msgid "" "arguments are declared and processed in the same way as the named options." msgstr "" -#: ../../library/optparse.rst:91 +#: ../../library/optparse.rst:88 msgid "" "However, the ``argparse`` version will also handle some parameter " "combination differently from the way the ``optparse`` version would handle " "them. For example (amongst other differences):" msgstr "" -#: ../../library/optparse.rst:95 +#: ../../library/optparse.rst:92 msgid "" "supplying ``-o -v`` gives ``output=\"-v\"`` and ``verbose=False`` when using " "``optparse``, but a usage error with ``argparse`` (complaining that no value " @@ -179,7 +174,7 @@ msgid "" "meaning the verbosity flag)" msgstr "" -#: ../../library/optparse.rst:99 +#: ../../library/optparse.rst:96 msgid "" "similarly, supplying ``-o --`` gives ``output=\"--\"`` and ``args=()`` when " "using ``optparse``, but a usage error with ``argparse`` (also complaining " @@ -188,39 +183,39 @@ msgid "" "values as positional arguments)" msgstr "" -#: ../../library/optparse.rst:104 +#: ../../library/optparse.rst:101 msgid "" "supplying ``-o=foo`` gives ``output=\"=foo\"`` when using ``optparse``, but " "gives ``output=\"foo\"`` with ``argparse`` (since ``=`` is special cased as " "an alternative separator for option parameter values)" msgstr "" -#: ../../library/optparse.rst:108 +#: ../../library/optparse.rst:105 msgid "" "Whether these differing behaviors in the ``argparse`` version are considered " "desirable or a problem will depend on the specific command line application " "use case." msgstr "" -#: ../../library/optparse.rst:114 +#: ../../library/optparse.rst:111 msgid "" ":pypi:`click` is a third party argument processing library (originally based " "on ``optparse``), which allows command line applications to be developed as " "a set of decorated command implementation functions." msgstr "" -#: ../../library/optparse.rst:118 +#: ../../library/optparse.rst:115 msgid "" "Other third party libraries, such as :pypi:`typer` or :pypi:`msgspec-click`, " "allow command line interfaces to be specified in ways that more effectively " "integrate with static checking of Python type annotations." msgstr "" -#: ../../library/optparse.rst:124 +#: ../../library/optparse.rst:121 msgid "Introduction" msgstr "Einführung" -#: ../../library/optparse.rst:126 +#: ../../library/optparse.rst:123 msgid "" ":mod:`!optparse` is a more convenient, flexible, and powerful library for " "parsing command-line options than the minimalist :mod:`getopt` module. :mod:" @@ -231,11 +226,11 @@ msgid "" "messages for you." msgstr "" -#: ../../library/optparse.rst:134 +#: ../../library/optparse.rst:131 msgid "Here's an example of using :mod:`!optparse` in a simple script::" msgstr "" -#: ../../library/optparse.rst:136 +#: ../../library/optparse.rst:133 msgid "" "from optparse import OptionParser\n" "...\n" @@ -249,17 +244,17 @@ msgid "" "(options, args) = parser.parse_args()" msgstr "" -#: ../../library/optparse.rst:147 +#: ../../library/optparse.rst:144 msgid "" "With these few lines of code, users of your script can now do the \"usual " "thing\" on the command-line, for example::" msgstr "" -#: ../../library/optparse.rst:150 +#: ../../library/optparse.rst:147 msgid " --file=outfile -q" msgstr "" -#: ../../library/optparse.rst:152 +#: ../../library/optparse.rst:149 msgid "" "As it parses the command line, :mod:`!optparse` sets attributes of the " "``options`` object returned by :meth:`~OptionParser.parse_args` based on " @@ -272,7 +267,7 @@ msgid "" "the above example::" msgstr "" -#: ../../library/optparse.rst:161 +#: ../../library/optparse.rst:158 msgid "" " -f outfile --quiet\n" " --quiet --file outfile\n" @@ -280,22 +275,22 @@ msgid "" " -qfoutfile" msgstr "" -#: ../../library/optparse.rst:166 +#: ../../library/optparse.rst:163 msgid "Additionally, users can run one of the following ::" msgstr "" -#: ../../library/optparse.rst:168 +#: ../../library/optparse.rst:165 msgid "" " -h\n" " --help" msgstr "" -#: ../../library/optparse.rst:171 +#: ../../library/optparse.rst:168 msgid "" "and :mod:`!optparse` will print out a brief summary of your script's options:" msgstr "" -#: ../../library/optparse.rst:173 +#: ../../library/optparse.rst:170 msgid "" "Usage: [options]\n" "\n" @@ -305,17 +300,17 @@ msgid "" " -q, --quiet don't print status messages to stdout" msgstr "" -#: ../../library/optparse.rst:182 +#: ../../library/optparse.rst:179 msgid "" "where the value of *yourscript* is determined at runtime (normally from " "``sys.argv[0]``)." msgstr "" -#: ../../library/optparse.rst:189 +#: ../../library/optparse.rst:186 msgid "Background" msgstr "" -#: ../../library/optparse.rst:191 +#: ../../library/optparse.rst:188 msgid "" ":mod:`!optparse` was explicitly designed to encourage the creation of " "programs with straightforward command-line interfaces that follow the " @@ -326,15 +321,15 @@ msgid "" "to acquaint yourself with them." msgstr "" -#: ../../library/optparse.rst:202 +#: ../../library/optparse.rst:199 msgid "Terminology" msgstr "" -#: ../../library/optparse.rst:204 +#: ../../library/optparse.rst:201 msgid "argument" msgstr "Argument" -#: ../../library/optparse.rst:205 +#: ../../library/optparse.rst:202 msgid "" "a string entered on the command-line, and passed by the shell to ``execl()`` " "or ``execv()``. In Python, arguments are elements of ``sys.argv[1:]`` " @@ -342,7 +337,7 @@ msgid "" "also use the term \"word\"." msgstr "" -#: ../../library/optparse.rst:210 +#: ../../library/optparse.rst:207 msgid "" "It is occasionally desirable to substitute an argument list other than ``sys." "argv[1:]``, so you should read \"argument\" as \"an element of ``sys." @@ -350,11 +345,11 @@ msgid "" "argv[1:]``\"." msgstr "" -#: ../../library/optparse.rst:215 +#: ../../library/optparse.rst:212 msgid "option" msgstr "" -#: ../../library/optparse.rst:216 +#: ../../library/optparse.rst:213 msgid "" "an argument used to supply extra information to guide or customize the " "execution of a program. There are many different syntaxes for options; the " @@ -366,36 +361,36 @@ msgid "" "option syntaxes provided by :mod:`!optparse`." msgstr "" -#: ../../library/optparse.rst:225 +#: ../../library/optparse.rst:222 msgid "Some other option syntaxes that the world has seen include:" msgstr "" -#: ../../library/optparse.rst:227 +#: ../../library/optparse.rst:224 msgid "" "a hyphen followed by a few letters, e.g. ``-pf`` (this is *not* the same as " "multiple options merged into a single argument)" msgstr "" -#: ../../library/optparse.rst:230 +#: ../../library/optparse.rst:227 msgid "" "a hyphen followed by a whole word, e.g. ``-file`` (this is technically " "equivalent to the previous syntax, but they aren't usually seen in the same " "program)" msgstr "" -#: ../../library/optparse.rst:234 +#: ../../library/optparse.rst:231 msgid "" "a plus sign followed by a single letter, or a few letters, or a word, e.g. " "``+f``, ``+rgb``" msgstr "" -#: ../../library/optparse.rst:237 +#: ../../library/optparse.rst:234 msgid "" "a slash followed by a letter, or a few letters, or a word, e.g. ``/f``, ``/" "file``" msgstr "" -#: ../../library/optparse.rst:240 +#: ../../library/optparse.rst:237 msgid "" "These option syntaxes are not supported by :mod:`!optparse`, and they never " "will be. This is deliberate: the first three are non-standard on any " @@ -403,11 +398,11 @@ msgid "" "Windows or certain legacy platforms (e.g. VMS, MS-DOS)." msgstr "" -#: ../../library/optparse.rst:245 +#: ../../library/optparse.rst:242 msgid "option argument" msgstr "" -#: ../../library/optparse.rst:246 +#: ../../library/optparse.rst:243 msgid "" "an argument that follows an option, is closely associated with that option, " "and is consumed from the argument list when that option is. With :mod:`!" @@ -415,23 +410,23 @@ msgid "" "option:" msgstr "" -#: ../../library/optparse.rst:251 +#: ../../library/optparse.rst:248 msgid "" "-f foo\n" "--file foo" msgstr "" -#: ../../library/optparse.rst:256 +#: ../../library/optparse.rst:253 msgid "or included in the same argument:" msgstr "" -#: ../../library/optparse.rst:258 +#: ../../library/optparse.rst:255 msgid "" "-ffoo\n" "--file=foo" msgstr "" -#: ../../library/optparse.rst:263 +#: ../../library/optparse.rst:260 msgid "" "Typically, a given option either takes an argument or it doesn't. Lots of " "people want an \"optional option arguments\" feature, meaning that some " @@ -442,22 +437,22 @@ msgid "" "support this feature." msgstr "" -#: ../../library/optparse.rst:271 +#: ../../library/optparse.rst:268 msgid "positional argument" msgstr "" -#: ../../library/optparse.rst:272 +#: ../../library/optparse.rst:269 msgid "" "something leftover in the argument list after options have been parsed, i.e. " "after options and their arguments have been parsed and removed from the " "argument list." msgstr "" -#: ../../library/optparse.rst:276 +#: ../../library/optparse.rst:273 msgid "required option" msgstr "" -#: ../../library/optparse.rst:277 +#: ../../library/optparse.rst:274 msgid "" "an option that must be supplied on the command-line; note that the phrase " "\"required option\" is self-contradictory in English. :mod:`!optparse` " @@ -465,26 +460,26 @@ msgid "" "much help at it either." msgstr "" -#: ../../library/optparse.rst:282 +#: ../../library/optparse.rst:279 msgid "For example, consider this hypothetical command-line::" msgstr "" -#: ../../library/optparse.rst:284 +#: ../../library/optparse.rst:281 msgid "prog -v --report report.txt foo bar" msgstr "" -#: ../../library/optparse.rst:286 +#: ../../library/optparse.rst:283 msgid "" "``-v`` and ``--report`` are both options. Assuming that ``--report`` takes " "one argument, ``report.txt`` is an option argument. ``foo`` and ``bar`` are " "positional arguments." msgstr "" -#: ../../library/optparse.rst:294 +#: ../../library/optparse.rst:291 msgid "What are options for?" msgstr "" -#: ../../library/optparse.rst:296 +#: ../../library/optparse.rst:293 msgid "" "Options are used to provide extra information to tune or customize the " "execution of a program. In case it wasn't clear, options are usually " @@ -496,7 +491,7 @@ msgid "" "interfaces.)" msgstr "" -#: ../../library/optparse.rst:304 +#: ../../library/optparse.rst:301 msgid "" "Lots of people want their programs to have \"required options\". Think " "about it. If it's required, then it's *not optional*! If there is a piece " @@ -504,7 +499,7 @@ msgid "" "successfully, that's what positional arguments are for." msgstr "" -#: ../../library/optparse.rst:309 +#: ../../library/optparse.rst:306 msgid "" "As an example of good command-line interface design, consider the humble " "``cp`` utility, for copying files. It doesn't make much sense to try to " @@ -513,13 +508,13 @@ msgid "" "useful syntax that does not require any options at all::" msgstr "" -#: ../../library/optparse.rst:315 +#: ../../library/optparse.rst:312 msgid "" "cp SOURCE DEST\n" "cp SOURCE ... DEST-DIR" msgstr "" -#: ../../library/optparse.rst:318 +#: ../../library/optparse.rst:315 msgid "" "You can get pretty far with just that. Most ``cp`` implementations provide " "a bunch of options to tweak exactly how the files are copied: you can " @@ -529,17 +524,17 @@ msgid "" "files to another directory." msgstr "" -#: ../../library/optparse.rst:329 +#: ../../library/optparse.rst:326 msgid "What are positional arguments for?" msgstr "" -#: ../../library/optparse.rst:331 +#: ../../library/optparse.rst:328 msgid "" "Positional arguments are for those pieces of information that your program " "absolutely, positively requires to run." msgstr "" -#: ../../library/optparse.rst:334 +#: ../../library/optparse.rst:331 msgid "" "A good user interface should have as few absolute requirements as possible. " "If your program requires 17 distinct pieces of information in order to run " @@ -550,7 +545,7 @@ msgid "" "most of them will simply give up." msgstr "" -#: ../../library/optparse.rst:342 +#: ../../library/optparse.rst:339 msgid "" "In short, try to minimize the amount of information that users are " "absolutely required to supply---use sensible defaults whenever possible. Of " @@ -563,65 +558,65 @@ msgid "" "make your code much harder to maintain." msgstr "" -#: ../../library/optparse.rst:355 +#: ../../library/optparse.rst:352 msgid "Tutorial" msgstr "Tutorial" -#: ../../library/optparse.rst:357 +#: ../../library/optparse.rst:354 msgid "" "While :mod:`!optparse` is quite flexible and powerful, it's also " "straightforward to use in most cases. This section covers the code patterns " "that are common to any :mod:`!optparse`\\ -based program." msgstr "" -#: ../../library/optparse.rst:361 +#: ../../library/optparse.rst:358 msgid "" "First, you need to import the OptionParser class; then, early in the main " "program, create an OptionParser instance::" msgstr "" -#: ../../library/optparse.rst:364 +#: ../../library/optparse.rst:361 msgid "" "from optparse import OptionParser\n" "...\n" "parser = OptionParser()" msgstr "" -#: ../../library/optparse.rst:368 +#: ../../library/optparse.rst:365 msgid "Then you can start defining options. The basic syntax is::" msgstr "" -#: ../../library/optparse.rst:370 +#: ../../library/optparse.rst:367 msgid "" "parser.add_option(opt_str, ...,\n" " attr=value, ...)" msgstr "" -#: ../../library/optparse.rst:373 +#: ../../library/optparse.rst:370 msgid "" "Each option has one or more option strings, such as ``-f`` or ``--file``, " "and several option attributes that tell :mod:`!optparse` what to expect and " "what to do when it encounters that option on the command line." msgstr "" -#: ../../library/optparse.rst:377 +#: ../../library/optparse.rst:374 msgid "" "Typically, each option will have one short option string and one long option " "string, e.g.::" msgstr "" -#: ../../library/optparse.rst:380 +#: ../../library/optparse.rst:377 msgid "parser.add_option(\"-f\", \"--file\", ...)" msgstr "" -#: ../../library/optparse.rst:382 +#: ../../library/optparse.rst:379 msgid "" "You're free to define as many short option strings and as many long option " "strings as you like (including zero), as long as there is at least one " "option string overall." msgstr "" -#: ../../library/optparse.rst:386 +#: ../../library/optparse.rst:383 msgid "" "The option strings passed to :meth:`OptionParser.add_option` are effectively " "labels for the option defined by that call. For brevity, we will frequently " @@ -629,28 +624,28 @@ msgid "" "optparse` encounters *option strings* and looks up options from them." msgstr "" -#: ../../library/optparse.rst:392 +#: ../../library/optparse.rst:389 msgid "" "Once all of your options are defined, instruct :mod:`!optparse` to parse " "your program's command line::" msgstr "" -#: ../../library/optparse.rst:395 +#: ../../library/optparse.rst:392 msgid "(options, args) = parser.parse_args()" msgstr "" -#: ../../library/optparse.rst:397 +#: ../../library/optparse.rst:394 msgid "" "(If you like, you can pass a custom argument list to :meth:`~OptionParser." "parse_args`, but that's rarely necessary: by default it uses ``sys." "argv[1:]``.)" msgstr "" -#: ../../library/optparse.rst:400 +#: ../../library/optparse.rst:397 msgid ":meth:`~OptionParser.parse_args` returns two values:" msgstr "" -#: ../../library/optparse.rst:402 +#: ../../library/optparse.rst:399 msgid "" "``options``, an object containing values for all of your options---e.g. if " "``--file`` takes a single string argument, then ``options.file`` will be the " @@ -658,12 +653,12 @@ msgid "" "option" msgstr "" -#: ../../library/optparse.rst:407 +#: ../../library/optparse.rst:404 msgid "" "``args``, the list of positional arguments leftover after parsing options" msgstr "" -#: ../../library/optparse.rst:409 +#: ../../library/optparse.rst:406 msgid "" "This tutorial section only covers the four most important option " "attributes: :attr:`~Option.action`, :attr:`~Option.type`, :attr:`~Option." @@ -671,11 +666,11 @@ msgid "" "action` is the most fundamental." msgstr "" -#: ../../library/optparse.rst:418 +#: ../../library/optparse.rst:415 msgid "Understanding option actions" msgstr "" -#: ../../library/optparse.rst:420 +#: ../../library/optparse.rst:417 msgid "" "Actions tell :mod:`!optparse` what to do when it encounters an option on the " "command line. There is a fixed set of actions hard-coded into :mod:`!" @@ -685,45 +680,45 @@ msgid "" "and store it in an attribute of ``options``." msgstr "" -#: ../../library/optparse.rst:427 +#: ../../library/optparse.rst:424 msgid "" "If you don't specify an option action, :mod:`!optparse` defaults to " "``store``." msgstr "" -#: ../../library/optparse.rst:433 +#: ../../library/optparse.rst:430 msgid "The store action" msgstr "" -#: ../../library/optparse.rst:435 +#: ../../library/optparse.rst:432 msgid "" "The most common option action is ``store``, which tells :mod:`!optparse` to " "take the next argument (or the remainder of the current argument), ensure " "that it is of the correct type, and store it to your chosen destination." msgstr "" -#: ../../library/optparse.rst:439 +#: ../../library/optparse.rst:436 msgid "For example::" msgstr "Zum Beispiel::" -#: ../../library/optparse.rst:441 +#: ../../library/optparse.rst:438 msgid "" "parser.add_option(\"-f\", \"--file\",\n" " action=\"store\", type=\"string\", dest=\"filename\")" msgstr "" -#: ../../library/optparse.rst:444 +#: ../../library/optparse.rst:441 msgid "" "Now let's make up a fake command line and ask :mod:`!optparse` to parse it::" msgstr "" -#: ../../library/optparse.rst:446 +#: ../../library/optparse.rst:443 msgid "" "args = [\"-f\", \"foo.txt\"]\n" "(options, args) = parser.parse_args(args)" msgstr "" -#: ../../library/optparse.rst:449 +#: ../../library/optparse.rst:446 msgid "" "When :mod:`!optparse` sees the option string ``-f``, it consumes the next " "argument, ``foo.txt``, and stores it in ``options.filename``. So, after " @@ -731,51 +726,51 @@ msgid "" "``\"foo.txt\"``." msgstr "" -#: ../../library/optparse.rst:453 +#: ../../library/optparse.rst:450 msgid "" "Some other option types supported by :mod:`!optparse` are ``int`` and " "``float``. Here's an option that expects an integer argument::" msgstr "" -#: ../../library/optparse.rst:456 +#: ../../library/optparse.rst:453 msgid "parser.add_option(\"-n\", type=\"int\", dest=\"num\")" msgstr "" -#: ../../library/optparse.rst:458 +#: ../../library/optparse.rst:455 msgid "" "Note that this option has no long option string, which is perfectly " "acceptable. Also, there's no explicit action, since the default is ``store``." msgstr "" -#: ../../library/optparse.rst:461 +#: ../../library/optparse.rst:458 msgid "" "Let's parse another fake command-line. This time, we'll jam the option " "argument right up against the option: since ``-n42`` (one argument) is " "equivalent to ``-n 42`` (two arguments), the code ::" msgstr "" -#: ../../library/optparse.rst:465 +#: ../../library/optparse.rst:462 msgid "" "(options, args) = parser.parse_args([\"-n42\"])\n" "print(options.num)" msgstr "" -#: ../../library/optparse.rst:468 +#: ../../library/optparse.rst:465 msgid "will print ``42``." msgstr "" -#: ../../library/optparse.rst:470 +#: ../../library/optparse.rst:467 msgid "" "If you don't specify a type, :mod:`!optparse` assumes ``string``. Combined " "with the fact that the default action is ``store``, that means our first " "example can be a lot shorter::" msgstr "" -#: ../../library/optparse.rst:474 +#: ../../library/optparse.rst:471 msgid "parser.add_option(\"-f\", \"--file\", dest=\"filename\")" msgstr "" -#: ../../library/optparse.rst:476 +#: ../../library/optparse.rst:473 msgid "" "If you don't supply a destination, :mod:`!optparse` figures out a sensible " "default from the option strings: if the first long option string is ``--foo-" @@ -784,17 +779,17 @@ msgid "" "default destination for ``-f`` is ``f``." msgstr "" -#: ../../library/optparse.rst:482 +#: ../../library/optparse.rst:479 msgid "" ":mod:`!optparse` also includes the built-in ``complex`` type. Adding types " "is covered in section :ref:`optparse-extending-optparse`." msgstr "" -#: ../../library/optparse.rst:489 +#: ../../library/optparse.rst:486 msgid "Handling boolean (flag) options" msgstr "" -#: ../../library/optparse.rst:491 +#: ../../library/optparse.rst:488 msgid "" "Flag options---set a variable to true or false when a particular option is " "seen---are quite common. :mod:`!optparse` supports them with two separate " @@ -802,77 +797,77 @@ msgid "" "``verbose`` flag that is turned on with ``-v`` and off with ``-q``::" msgstr "" -#: ../../library/optparse.rst:496 +#: ../../library/optparse.rst:493 msgid "" "parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\")\n" "parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\")" msgstr "" -#: ../../library/optparse.rst:499 +#: ../../library/optparse.rst:496 msgid "" "Here we have two different options with the same destination, which is " "perfectly OK. (It just means you have to be a bit careful when setting " "default values---see below.)" msgstr "" -#: ../../library/optparse.rst:503 +#: ../../library/optparse.rst:500 msgid "" "When :mod:`!optparse` encounters ``-v`` on the command line, it sets " "``options.verbose`` to ``True``; when it encounters ``-q``, ``options." "verbose`` is set to ``False``." msgstr "" -#: ../../library/optparse.rst:511 +#: ../../library/optparse.rst:508 msgid "Other actions" msgstr "" -#: ../../library/optparse.rst:513 +#: ../../library/optparse.rst:510 msgid "Some other actions supported by :mod:`!optparse` are:" msgstr "" -#: ../../library/optparse.rst:515 ../../library/optparse.rst:1037 +#: ../../library/optparse.rst:512 ../../library/optparse.rst:1034 msgid "``\"store_const\"``" msgstr "" -#: ../../library/optparse.rst:516 ../../library/optparse.rst:1038 +#: ../../library/optparse.rst:513 ../../library/optparse.rst:1035 msgid "store a constant value, pre-set via :attr:`Option.const`" msgstr "" -#: ../../library/optparse.rst:518 ../../library/optparse.rst:1046 +#: ../../library/optparse.rst:515 ../../library/optparse.rst:1043 msgid "``\"append\"``" msgstr "" -#: ../../library/optparse.rst:519 ../../library/optparse.rst:1047 +#: ../../library/optparse.rst:516 ../../library/optparse.rst:1044 msgid "append this option's argument to a list" msgstr "" -#: ../../library/optparse.rst:521 ../../library/optparse.rst:1052 +#: ../../library/optparse.rst:518 ../../library/optparse.rst:1049 msgid "``\"count\"``" msgstr "" -#: ../../library/optparse.rst:522 ../../library/optparse.rst:1053 +#: ../../library/optparse.rst:519 ../../library/optparse.rst:1050 msgid "increment a counter by one" msgstr "" -#: ../../library/optparse.rst:524 ../../library/optparse.rst:1055 +#: ../../library/optparse.rst:521 ../../library/optparse.rst:1052 msgid "``\"callback\"``" msgstr "" -#: ../../library/optparse.rst:525 ../../library/optparse.rst:1056 +#: ../../library/optparse.rst:522 ../../library/optparse.rst:1053 msgid "call a specified function" msgstr "" -#: ../../library/optparse.rst:527 +#: ../../library/optparse.rst:524 msgid "" "These are covered in section :ref:`optparse-reference-guide`, and section :" "ref:`optparse-option-callbacks`." msgstr "" -#: ../../library/optparse.rst:534 +#: ../../library/optparse.rst:531 msgid "Default values" msgstr "" -#: ../../library/optparse.rst:536 +#: ../../library/optparse.rst:533 msgid "" "All of the above examples involve setting some variable (the " "\"destination\") when certain command-line options are seen. What happens " @@ -882,38 +877,38 @@ msgid "" "destination, which is assigned before the command line is parsed." msgstr "" -#: ../../library/optparse.rst:543 +#: ../../library/optparse.rst:540 msgid "" "First, consider the verbose/quiet example. If we want :mod:`!optparse` to " "set ``verbose`` to ``True`` unless ``-q`` is seen, then we can do this::" msgstr "" -#: ../../library/optparse.rst:546 +#: ../../library/optparse.rst:543 msgid "" "parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\", " "default=True)\n" "parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\")" msgstr "" -#: ../../library/optparse.rst:549 +#: ../../library/optparse.rst:546 msgid "" "Since default values apply to the *destination* rather than to any " "particular option, and these two options happen to have the same " "destination, this is exactly equivalent::" msgstr "" -#: ../../library/optparse.rst:553 +#: ../../library/optparse.rst:550 msgid "" "parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\")\n" "parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\", " "default=True)" msgstr "" -#: ../../library/optparse.rst:556 +#: ../../library/optparse.rst:553 msgid "Consider this::" msgstr "" -#: ../../library/optparse.rst:558 +#: ../../library/optparse.rst:555 msgid "" "parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\", " "default=False)\n" @@ -921,38 +916,38 @@ msgid "" "default=True)" msgstr "" -#: ../../library/optparse.rst:561 +#: ../../library/optparse.rst:558 msgid "" "Again, the default value for ``verbose`` will be ``True``: the last default " "value supplied for any particular destination is the one that counts." msgstr "" -#: ../../library/optparse.rst:564 +#: ../../library/optparse.rst:561 msgid "" "A clearer way to specify default values is the :meth:`set_defaults` method " "of OptionParser, which you can call at any time before calling :meth:" "`~OptionParser.parse_args`::" msgstr "" -#: ../../library/optparse.rst:568 +#: ../../library/optparse.rst:565 msgid "" "parser.set_defaults(verbose=True)\n" "parser.add_option(...)\n" "(options, args) = parser.parse_args()" msgstr "" -#: ../../library/optparse.rst:572 +#: ../../library/optparse.rst:569 msgid "" "As before, the last value specified for a given option destination is the " "one that counts. For clarity, try to use one method or the other of setting " "default values, not both." msgstr "" -#: ../../library/optparse.rst:580 +#: ../../library/optparse.rst:577 msgid "Generating help" msgstr "" -#: ../../library/optparse.rst:582 +#: ../../library/optparse.rst:579 msgid "" ":mod:`!optparse`'s ability to generate help and usage text automatically is " "useful for creating user-friendly command-line interfaces. All you have to " @@ -961,7 +956,7 @@ msgid "" "populated with user-friendly (documented) options::" msgstr "" -#: ../../library/optparse.rst:588 +#: ../../library/optparse.rst:585 msgid "" "usage = \"usage: %prog [options] arg1 arg2\"\n" "parser = OptionParser(usage=usage)\n" @@ -979,14 +974,14 @@ msgid "" " \"or expert [default: %default]\")" msgstr "" -#: ../../library/optparse.rst:603 +#: ../../library/optparse.rst:600 msgid "" "If :mod:`!optparse` encounters either ``-h`` or ``--help`` on the command-" "line, or if you just call :meth:`parser.print_help`, it prints the following " "to standard output:" msgstr "" -#: ../../library/optparse.rst:607 +#: ../../library/optparse.rst:604 msgid "" "Usage: [options] arg1 arg2\n" "\n" @@ -1000,58 +995,58 @@ msgid "" " expert [default: intermediate]" msgstr "" -#: ../../library/optparse.rst:620 +#: ../../library/optparse.rst:617 msgid "" "(If the help output is triggered by a help option, :mod:`!optparse` exits " "after printing the help text.)" msgstr "" -#: ../../library/optparse.rst:623 +#: ../../library/optparse.rst:620 msgid "" "There's a lot going on here to help :mod:`!optparse` generate the best " "possible help message:" msgstr "" -#: ../../library/optparse.rst:626 +#: ../../library/optparse.rst:623 msgid "the script defines its own usage message::" msgstr "" -#: ../../library/optparse.rst:628 +#: ../../library/optparse.rst:625 msgid "usage = \"usage: %prog [options] arg1 arg2\"" msgstr "" -#: ../../library/optparse.rst:630 +#: ../../library/optparse.rst:627 msgid "" ":mod:`!optparse` expands ``%prog`` in the usage string to the name of the " "current program, i.e. ``os.path.basename(sys.argv[0])``. The expanded " "string is then printed before the detailed option help." msgstr "" -#: ../../library/optparse.rst:634 +#: ../../library/optparse.rst:631 msgid "" "If you don't supply a usage string, :mod:`!optparse` uses a bland but " "sensible default: ``\"Usage: %prog [options]\"``, which is fine if your " "script doesn't take any positional arguments." msgstr "" -#: ../../library/optparse.rst:638 +#: ../../library/optparse.rst:635 msgid "" "every option defines a help string, and doesn't worry about line-wrapping---" "\\ :mod:`!optparse` takes care of wrapping lines and making the help output " "look good." msgstr "" -#: ../../library/optparse.rst:642 +#: ../../library/optparse.rst:639 msgid "" "options that take a value indicate this fact in their automatically " "generated help message, e.g. for the \"mode\" option::" msgstr "" -#: ../../library/optparse.rst:645 +#: ../../library/optparse.rst:642 msgid "-m MODE, --mode=MODE" msgstr "" -#: ../../library/optparse.rst:647 +#: ../../library/optparse.rst:644 msgid "" "Here, \"MODE\" is called the meta-variable: it stands for the argument that " "the user is expected to supply to ``-m``/``--mode``. By default, :mod:`!" @@ -1061,11 +1056,11 @@ msgid "" "this automatically generated option description::" msgstr "" -#: ../../library/optparse.rst:654 +#: ../../library/optparse.rst:651 msgid "-f FILE, --filename=FILE" msgstr "" -#: ../../library/optparse.rst:656 +#: ../../library/optparse.rst:653 msgid "" "This is important for more than just saving space, though: the manually " "written help text uses the meta-variable ``FILE`` to clue the user in that " @@ -1075,7 +1070,7 @@ msgid "" "users." msgstr "" -#: ../../library/optparse.rst:662 +#: ../../library/optparse.rst:659 msgid "" "options that have a default value can include ``%default`` in the help " "string---\\ :mod:`!optparse` will replace it with :func:`str` of the " @@ -1083,58 +1078,58 @@ msgid "" "value is ``None``), ``%default`` expands to ``none``." msgstr "" -#: ../../library/optparse.rst:668 +#: ../../library/optparse.rst:665 msgid "Grouping Options" msgstr "" -#: ../../library/optparse.rst:670 +#: ../../library/optparse.rst:667 msgid "" "When dealing with many options, it is convenient to group these options for " "better help output. An :class:`OptionParser` can contain several option " "groups, each of which can contain several options." msgstr "" -#: ../../library/optparse.rst:674 +#: ../../library/optparse.rst:671 msgid "An option group is obtained using the class :class:`OptionGroup`:" msgstr "" -#: ../../library/optparse.rst:678 ../../library/optparse.rst:1749 +#: ../../library/optparse.rst:675 ../../library/optparse.rst:1746 msgid "where" msgstr "" -#: ../../library/optparse.rst:680 +#: ../../library/optparse.rst:677 msgid "" "parser is the :class:`OptionParser` instance the group will be inserted in to" msgstr "" -#: ../../library/optparse.rst:682 +#: ../../library/optparse.rst:679 msgid "title is the group title" msgstr "" -#: ../../library/optparse.rst:683 +#: ../../library/optparse.rst:680 msgid "description, optional, is a long description of the group" msgstr "" -#: ../../library/optparse.rst:685 +#: ../../library/optparse.rst:682 msgid "" ":class:`OptionGroup` inherits from :class:`OptionContainer` (like :class:" "`OptionParser`) and so the :meth:`add_option` method can be used to add an " "option to the group." msgstr "" -#: ../../library/optparse.rst:689 +#: ../../library/optparse.rst:686 msgid "" "Once all the options are declared, using the :class:`OptionParser` method :" "meth:`add_option_group` the group is added to the previously defined parser." msgstr "" -#: ../../library/optparse.rst:692 +#: ../../library/optparse.rst:689 msgid "" "Continuing with the parser defined in the previous section, adding an :class:" "`OptionGroup` to a parser is easy::" msgstr "" -#: ../../library/optparse.rst:695 +#: ../../library/optparse.rst:692 msgid "" "group = OptionGroup(parser, \"Dangerous Options\",\n" " \"Caution: use these options at your own risk. \"\n" @@ -1143,11 +1138,11 @@ msgid "" "parser.add_option_group(group)" msgstr "" -#: ../../library/optparse.rst:701 +#: ../../library/optparse.rst:698 msgid "This would result in the following help output:" msgstr "" -#: ../../library/optparse.rst:703 +#: ../../library/optparse.rst:700 msgid "" "Usage: [options] arg1 arg2\n" "\n" @@ -1167,13 +1162,13 @@ msgid "" " -g Group option." msgstr "" -#: ../../library/optparse.rst:722 +#: ../../library/optparse.rst:719 msgid "" "A bit more complete example might involve using more than one group: still " "extending the previous example::" msgstr "" -#: ../../library/optparse.rst:725 +#: ../../library/optparse.rst:722 msgid "" "group = OptionGroup(parser, \"Dangerous Options\",\n" " \"Caution: use these options at your own risk. \"\n" @@ -1191,11 +1186,11 @@ msgid "" "parser.add_option_group(group)" msgstr "" -#: ../../library/optparse.rst:739 +#: ../../library/optparse.rst:736 msgid "that results in the following output:" msgstr "" -#: ../../library/optparse.rst:741 +#: ../../library/optparse.rst:738 msgid "" "Usage: [options] arg1 arg2\n" "\n" @@ -1220,35 +1215,35 @@ msgid "" " -e Print every action done" msgstr "" -#: ../../library/optparse.rst:765 +#: ../../library/optparse.rst:762 msgid "" "Another interesting method, in particular when working programmatically with " "option groups is:" msgstr "" -#: ../../library/optparse.rst:770 +#: ../../library/optparse.rst:767 msgid "" "Return the :class:`OptionGroup` to which the short or long option string " "*opt_str* (e.g. ``'-o'`` or ``'--option'``) belongs. If there's no such :" "class:`OptionGroup`, return ``None``." msgstr "" -#: ../../library/optparse.rst:777 +#: ../../library/optparse.rst:774 msgid "Printing a version string" msgstr "" -#: ../../library/optparse.rst:779 +#: ../../library/optparse.rst:776 msgid "" "Similar to the brief usage string, :mod:`!optparse` can also print a version " "string for your program. You have to supply the string as the ``version`` " "argument to OptionParser::" msgstr "" -#: ../../library/optparse.rst:783 +#: ../../library/optparse.rst:780 msgid "parser = OptionParser(usage=\"%prog [-f] [-q]\", version=\"%prog 1.0\")" msgstr "" -#: ../../library/optparse.rst:785 +#: ../../library/optparse.rst:782 msgid "" "``%prog`` is expanded just like it is in ``usage``. Apart from that, " "``version`` can contain anything you like. When you supply it, :mod:`!" @@ -1257,23 +1252,23 @@ msgid "" "string (by replacing ``%prog``), prints it to stdout, and exits." msgstr "" -#: ../../library/optparse.rst:791 +#: ../../library/optparse.rst:788 msgid "For example, if your script is called ``/usr/bin/foo``:" msgstr "" -#: ../../library/optparse.rst:793 +#: ../../library/optparse.rst:790 msgid "" "$ /usr/bin/foo --version\n" "foo 1.0" msgstr "" -#: ../../library/optparse.rst:798 +#: ../../library/optparse.rst:795 msgid "" "The following two methods can be used to print and get the ``version`` " "string:" msgstr "" -#: ../../library/optparse.rst:802 +#: ../../library/optparse.rst:799 msgid "" "Print the version message for the current program (``self.version``) to " "*file* (default stdout). As with :meth:`print_usage`, any occurrence of " @@ -1281,17 +1276,17 @@ msgid "" "program. Does nothing if ``self.version`` is empty or undefined." msgstr "" -#: ../../library/optparse.rst:809 +#: ../../library/optparse.rst:806 msgid "" "Same as :meth:`print_version` but returns the version string instead of " "printing it." msgstr "" -#: ../../library/optparse.rst:816 +#: ../../library/optparse.rst:813 msgid "How :mod:`!optparse` handles errors" msgstr "" -#: ../../library/optparse.rst:818 +#: ../../library/optparse.rst:815 msgid "" "There are two broad classes of errors that :mod:`!optparse` has to worry " "about: programmer errors and user errors. Programmer errors are usually " @@ -1301,7 +1296,7 @@ msgid "" "OptionError` or :exc:`TypeError`) and let the program crash." msgstr "" -#: ../../library/optparse.rst:825 +#: ../../library/optparse.rst:822 msgid "" "Handling user errors is much more important, since they are guaranteed to " "happen no matter how stable your code is. :mod:`!optparse` can " @@ -1312,7 +1307,7 @@ msgid "" "application-defined error condition::" msgstr "" -#: ../../library/optparse.rst:833 +#: ../../library/optparse.rst:830 msgid "" "(options, args) = parser.parse_args()\n" "...\n" @@ -1320,20 +1315,20 @@ msgid "" " parser.error(\"options -a and -b are mutually exclusive\")" msgstr "" -#: ../../library/optparse.rst:838 +#: ../../library/optparse.rst:835 msgid "" "In either case, :mod:`!optparse` handles the error the same way: it prints " "the program's usage message and an error message to standard error and exits " "with error status 2." msgstr "" -#: ../../library/optparse.rst:842 +#: ../../library/optparse.rst:839 msgid "" "Consider the first example above, where the user passes ``4x`` to an option " "that takes an integer:" msgstr "" -#: ../../library/optparse.rst:845 +#: ../../library/optparse.rst:842 msgid "" "$ /usr/bin/foo -n 4x\n" "Usage: foo [options]\n" @@ -1341,11 +1336,11 @@ msgid "" "foo: error: option -n: invalid integer value: '4x'" msgstr "" -#: ../../library/optparse.rst:852 +#: ../../library/optparse.rst:849 msgid "Or, where the user fails to pass a value at all:" msgstr "" -#: ../../library/optparse.rst:854 +#: ../../library/optparse.rst:851 msgid "" "$ /usr/bin/foo -n\n" "Usage: foo [options]\n" @@ -1353,29 +1348,29 @@ msgid "" "foo: error: -n option requires an argument" msgstr "" -#: ../../library/optparse.rst:861 +#: ../../library/optparse.rst:858 msgid "" ":mod:`!optparse`\\ -generated error messages take care always to mention the " "option involved in the error; be sure to do the same when calling :func:" "`OptionParser.error` from your application code." msgstr "" -#: ../../library/optparse.rst:865 +#: ../../library/optparse.rst:862 msgid "" "If :mod:`!optparse`'s default error-handling behaviour does not suit your " "needs, you'll need to subclass OptionParser and override its :meth:" "`~OptionParser.exit` and/or :meth:`~OptionParser.error` methods." msgstr "" -#: ../../library/optparse.rst:873 +#: ../../library/optparse.rst:870 msgid "Putting it all together" msgstr "" -#: ../../library/optparse.rst:875 +#: ../../library/optparse.rst:872 msgid "Here's what :mod:`!optparse`\\ -based scripts usually look like::" msgstr "" -#: ../../library/optparse.rst:877 +#: ../../library/optparse.rst:874 msgid "" "from optparse import OptionParser\n" "...\n" @@ -1400,32 +1395,32 @@ msgid "" " main()" msgstr "" -#: ../../library/optparse.rst:903 +#: ../../library/optparse.rst:900 msgid "Reference Guide" msgstr "" -#: ../../library/optparse.rst:909 +#: ../../library/optparse.rst:906 msgid "Creating the parser" msgstr "" -#: ../../library/optparse.rst:911 +#: ../../library/optparse.rst:908 msgid "" "The first step in using :mod:`!optparse` is to create an OptionParser " "instance." msgstr "" -#: ../../library/optparse.rst:915 +#: ../../library/optparse.rst:912 msgid "" "The OptionParser constructor has no required arguments, but a number of " "optional keyword arguments. You should always pass them as keyword " "arguments, i.e. do not rely on the order in which the arguments are declared." msgstr "" -#: ../../library/optparse.rst:919 +#: ../../library/optparse.rst:916 msgid "``usage`` (default: ``\"%prog [options]\"``)" msgstr "" -#: ../../library/optparse.rst:920 +#: ../../library/optparse.rst:917 msgid "" "The usage summary to print when your program is run incorrectly or with a " "help option. When :mod:`!optparse` prints the usage string, it expands " @@ -1434,11 +1429,11 @@ msgid "" "value :const:`optparse.SUPPRESS_USAGE`." msgstr "" -#: ../../library/optparse.rst:926 +#: ../../library/optparse.rst:923 msgid "``option_list`` (default: ``[]``)" msgstr "" -#: ../../library/optparse.rst:927 +#: ../../library/optparse.rst:924 msgid "" "A list of Option objects to populate the parser with. The options in " "``option_list`` are added after any options in ``standard_option_list`` (a " @@ -1447,19 +1442,19 @@ msgid "" "the parser instead." msgstr "" -#: ../../library/optparse.rst:933 +#: ../../library/optparse.rst:930 msgid "``option_class`` (default: optparse.Option)" msgstr "" -#: ../../library/optparse.rst:934 +#: ../../library/optparse.rst:931 msgid "Class to use when adding options to the parser in :meth:`add_option`." msgstr "" -#: ../../library/optparse.rst:936 +#: ../../library/optparse.rst:933 msgid "``version`` (default: ``None``)" msgstr "" -#: ../../library/optparse.rst:937 +#: ../../library/optparse.rst:934 msgid "" "A version string to print when the user supplies a version option. If you " "supply a true value for ``version``, :mod:`!optparse` automatically adds a " @@ -1467,21 +1462,21 @@ msgid "" "``%prog`` is expanded the same as for ``usage``." msgstr "" -#: ../../library/optparse.rst:942 +#: ../../library/optparse.rst:939 msgid "``conflict_handler`` (default: ``\"error\"``)" msgstr "" -#: ../../library/optparse.rst:943 +#: ../../library/optparse.rst:940 msgid "" "Specifies what to do when options with conflicting option strings are added " "to the parser; see section :ref:`optparse-conflicts-between-options`." msgstr "" -#: ../../library/optparse.rst:947 +#: ../../library/optparse.rst:944 msgid "``description`` (default: ``None``)" msgstr "" -#: ../../library/optparse.rst:948 +#: ../../library/optparse.rst:945 msgid "" "A paragraph of text giving a brief overview of your program. :mod:`!" "optparse` reformats this paragraph to fit the current terminal width and " @@ -1489,74 +1484,74 @@ msgid "" "of options)." msgstr "" -#: ../../library/optparse.rst:953 +#: ../../library/optparse.rst:950 msgid "``formatter`` (default: a new :class:`IndentedHelpFormatter`)" msgstr "" -#: ../../library/optparse.rst:954 +#: ../../library/optparse.rst:951 msgid "" "An instance of optparse.HelpFormatter that will be used for printing help " "text. :mod:`!optparse` provides two concrete classes for this purpose: " "IndentedHelpFormatter and TitledHelpFormatter." msgstr "" -#: ../../library/optparse.rst:958 +#: ../../library/optparse.rst:955 msgid "``add_help_option`` (default: ``True``)" msgstr "" -#: ../../library/optparse.rst:959 +#: ../../library/optparse.rst:956 msgid "" "If true, :mod:`!optparse` will add a help option (with option strings ``-h`` " "and ``--help``) to the parser." msgstr "" -#: ../../library/optparse.rst:962 +#: ../../library/optparse.rst:959 msgid "``prog``" msgstr "" -#: ../../library/optparse.rst:963 +#: ../../library/optparse.rst:960 msgid "" "The string to use when expanding ``%prog`` in ``usage`` and ``version`` " "instead of ``os.path.basename(sys.argv[0])``." msgstr "" -#: ../../library/optparse.rst:966 +#: ../../library/optparse.rst:963 msgid "``epilog`` (default: ``None``)" msgstr "" -#: ../../library/optparse.rst:967 +#: ../../library/optparse.rst:964 msgid "A paragraph of help text to print after the option help." msgstr "" -#: ../../library/optparse.rst:972 +#: ../../library/optparse.rst:969 msgid "Populating the parser" msgstr "" -#: ../../library/optparse.rst:974 +#: ../../library/optparse.rst:971 msgid "" "There are several ways to populate the parser with options. The preferred " "way is by using :meth:`OptionParser.add_option`, as shown in section :ref:" "`optparse-tutorial`. :meth:`add_option` can be called in one of two ways:" msgstr "" -#: ../../library/optparse.rst:978 +#: ../../library/optparse.rst:975 msgid "pass it an Option instance (as returned by :func:`make_option`)" msgstr "" -#: ../../library/optparse.rst:980 +#: ../../library/optparse.rst:977 msgid "" "pass it any combination of positional and keyword arguments that are " "acceptable to :func:`make_option` (i.e., to the Option constructor), and it " "will create the Option instance for you" msgstr "" -#: ../../library/optparse.rst:984 +#: ../../library/optparse.rst:981 msgid "" "The other alternative is to pass a list of pre-constructed Option instances " "to the OptionParser constructor, as in::" msgstr "" -#: ../../library/optparse.rst:987 +#: ../../library/optparse.rst:984 msgid "" "option_list = [\n" " make_option(\"-f\", \"--filename\",\n" @@ -1567,7 +1562,7 @@ msgid "" "parser = OptionParser(option_list=option_list)" msgstr "" -#: ../../library/optparse.rst:995 +#: ../../library/optparse.rst:992 msgid "" "(:func:`make_option` is a factory function for creating Option instances; " "currently it is an alias for the Option constructor. A future version of :" @@ -1576,40 +1571,40 @@ msgid "" "Option directly.)" msgstr "" -#: ../../library/optparse.rst:1004 +#: ../../library/optparse.rst:1001 msgid "Defining options" msgstr "" -#: ../../library/optparse.rst:1006 +#: ../../library/optparse.rst:1003 msgid "" "Each Option instance represents a set of synonymous command-line option " "strings, e.g. ``-f`` and ``--file``. You can specify any number of short or " "long option strings, but you must specify at least one overall option string." msgstr "" -#: ../../library/optparse.rst:1010 +#: ../../library/optparse.rst:1007 msgid "" "The canonical way to create an :class:`Option` instance is with the :meth:" "`add_option` method of :class:`OptionParser`." msgstr "" -#: ../../library/optparse.rst:1016 +#: ../../library/optparse.rst:1013 msgid "To define an option with only a short option string::" msgstr "" -#: ../../library/optparse.rst:1018 +#: ../../library/optparse.rst:1015 msgid "parser.add_option(\"-f\", attr=value, ...)" msgstr "" -#: ../../library/optparse.rst:1020 +#: ../../library/optparse.rst:1017 msgid "And to define an option with only a long option string::" msgstr "" -#: ../../library/optparse.rst:1022 +#: ../../library/optparse.rst:1019 msgid "parser.add_option(\"--foo\", attr=value, ...)" msgstr "" -#: ../../library/optparse.rst:1024 +#: ../../library/optparse.rst:1021 msgid "" "The keyword arguments define attributes of the new Option object. The most " "important option attribute is :attr:`~Option.action`, and it largely " @@ -1618,69 +1613,69 @@ msgid "" "optparse` raises an :exc:`OptionError` exception explaining your mistake." msgstr "" -#: ../../library/optparse.rst:1030 +#: ../../library/optparse.rst:1027 msgid "" "An option's *action* determines what :mod:`!optparse` does when it " "encounters this option on the command-line. The standard option actions " "hard-coded into :mod:`!optparse` are:" msgstr "" -#: ../../library/optparse.rst:1034 +#: ../../library/optparse.rst:1031 msgid "``\"store\"``" msgstr "" -#: ../../library/optparse.rst:1035 +#: ../../library/optparse.rst:1032 msgid "store this option's argument (default)" msgstr "" -#: ../../library/optparse.rst:1040 +#: ../../library/optparse.rst:1037 msgid "``\"store_true\"``" msgstr "" -#: ../../library/optparse.rst:1041 +#: ../../library/optparse.rst:1038 msgid "store ``True``" msgstr "" -#: ../../library/optparse.rst:1043 +#: ../../library/optparse.rst:1040 msgid "``\"store_false\"``" msgstr "" -#: ../../library/optparse.rst:1044 +#: ../../library/optparse.rst:1041 msgid "store ``False``" msgstr "" -#: ../../library/optparse.rst:1049 +#: ../../library/optparse.rst:1046 msgid "``\"append_const\"``" msgstr "" -#: ../../library/optparse.rst:1050 +#: ../../library/optparse.rst:1047 msgid "append a constant value to a list, pre-set via :attr:`Option.const`" msgstr "" -#: ../../library/optparse.rst:1058 ../../library/optparse.rst:1353 +#: ../../library/optparse.rst:1055 ../../library/optparse.rst:1350 msgid "``\"help\"``" msgstr "" -#: ../../library/optparse.rst:1059 +#: ../../library/optparse.rst:1056 msgid "" "print a usage message including all options and the documentation for them" msgstr "" -#: ../../library/optparse.rst:1061 +#: ../../library/optparse.rst:1058 msgid "" "(If you don't supply an action, the default is ``\"store\"``. For this " "action, you may also supply :attr:`~Option.type` and :attr:`~Option.dest` " "option attributes; see :ref:`optparse-standard-option-actions`.)" msgstr "" -#: ../../library/optparse.rst:1065 +#: ../../library/optparse.rst:1062 msgid "" "As you can see, most actions involve storing or updating a value somewhere. :" "mod:`!optparse` always creates a special object for this, conventionally " "called ``options``, which is an instance of :class:`optparse.Values`." msgstr "" -#: ../../library/optparse.rst:1071 +#: ../../library/optparse.rst:1068 msgid "" "An object holding parsed argument names and values as attributes. Normally " "created by calling when calling :meth:`OptionParser.parse_args`, and can be " @@ -1689,45 +1684,45 @@ msgid "" "arguments`)." msgstr "" -#: ../../library/optparse.rst:1076 +#: ../../library/optparse.rst:1073 msgid "" "Option arguments (and various other values) are stored as attributes of this " "object, according to the :attr:`~Option.dest` (destination) option attribute." msgstr "" -#: ../../library/optparse.rst:1080 +#: ../../library/optparse.rst:1077 msgid "For example, when you call ::" msgstr "" -#: ../../library/optparse.rst:1082 +#: ../../library/optparse.rst:1079 msgid "parser.parse_args()" msgstr "" -#: ../../library/optparse.rst:1084 +#: ../../library/optparse.rst:1081 msgid "" "one of the first things :mod:`!optparse` does is create the ``options`` " "object::" msgstr "" -#: ../../library/optparse.rst:1086 +#: ../../library/optparse.rst:1083 msgid "options = Values()" msgstr "" -#: ../../library/optparse.rst:1088 +#: ../../library/optparse.rst:1085 msgid "If one of the options in this parser is defined with ::" msgstr "" -#: ../../library/optparse.rst:1090 +#: ../../library/optparse.rst:1087 msgid "" "parser.add_option(\"-f\", \"--file\", action=\"store\", type=\"string\", " "dest=\"filename\")" msgstr "" -#: ../../library/optparse.rst:1092 +#: ../../library/optparse.rst:1089 msgid "and the command-line being parsed includes any of the following::" msgstr "" -#: ../../library/optparse.rst:1094 +#: ../../library/optparse.rst:1091 msgid "" "-ffoo\n" "-f foo\n" @@ -1735,27 +1730,27 @@ msgid "" "--file foo" msgstr "" -#: ../../library/optparse.rst:1099 +#: ../../library/optparse.rst:1096 msgid "" "then :mod:`!optparse`, on seeing this option, will do the equivalent of ::" msgstr "" -#: ../../library/optparse.rst:1101 +#: ../../library/optparse.rst:1098 msgid "options.filename = \"foo\"" msgstr "" -#: ../../library/optparse.rst:1103 +#: ../../library/optparse.rst:1100 msgid "" "The :attr:`~Option.type` and :attr:`~Option.dest` option attributes are " "almost as important as :attr:`~Option.action`, but :attr:`~Option.action` is " "the only one that makes sense for *all* options." msgstr "" -#: ../../library/optparse.rst:1111 +#: ../../library/optparse.rst:1108 msgid "Option attributes" msgstr "" -#: ../../library/optparse.rst:1115 +#: ../../library/optparse.rst:1112 msgid "" "A single command line argument, with various attributes passed by keyword to " "the constructor. Normally created with :meth:`OptionParser.add_option` " @@ -1763,7 +1758,7 @@ msgid "" "*option_class* argument to :class:`OptionParser`." msgstr "" -#: ../../library/optparse.rst:1121 +#: ../../library/optparse.rst:1118 msgid "" "The following option attributes may be passed as keyword arguments to :meth:" "`OptionParser.add_option`. If you pass an option attribute that is not " @@ -1771,33 +1766,33 @@ msgid "" "attribute, :mod:`!optparse` raises :exc:`OptionError`." msgstr "" -#: ../../library/optparse.rst:1128 +#: ../../library/optparse.rst:1125 msgid "(default: ``\"store\"``)" msgstr "" -#: ../../library/optparse.rst:1130 +#: ../../library/optparse.rst:1127 msgid "" "Determines :mod:`!optparse`'s behaviour when this option is seen on the " "command line; the available options are documented :ref:`here `." msgstr "" -#: ../../library/optparse.rst:1136 +#: ../../library/optparse.rst:1133 msgid "(default: ``\"string\"``)" msgstr "" -#: ../../library/optparse.rst:1138 +#: ../../library/optparse.rst:1135 msgid "" "The argument type expected by this option (e.g., ``\"string\"`` or " "``\"int\"``); the available option types are documented :ref:`here `." msgstr "" -#: ../../library/optparse.rst:1144 ../../library/optparse.rst:1194 +#: ../../library/optparse.rst:1141 ../../library/optparse.rst:1191 msgid "(default: derived from option strings)" msgstr "" -#: ../../library/optparse.rst:1146 +#: ../../library/optparse.rst:1143 msgid "" "If the option's action implies writing or modifying a value somewhere, this " "tells :mod:`!optparse` where to write it: :attr:`~Option.dest` names an " @@ -1805,47 +1800,47 @@ msgid "" "parses the command line." msgstr "" -#: ../../library/optparse.rst:1153 +#: ../../library/optparse.rst:1150 msgid "" "The value to use for this option's destination if the option is not seen on " "the command line. See also :meth:`OptionParser.set_defaults`." msgstr "" -#: ../../library/optparse.rst:1158 +#: ../../library/optparse.rst:1155 msgid "(default: 1)" msgstr "" -#: ../../library/optparse.rst:1160 +#: ../../library/optparse.rst:1157 msgid "" "How many arguments of type :attr:`~Option.type` should be consumed when this " "option is seen. If > 1, :mod:`!optparse` will store a tuple of values to :" "attr:`~Option.dest`." msgstr "" -#: ../../library/optparse.rst:1166 +#: ../../library/optparse.rst:1163 msgid "For actions that store a constant value, the constant value to store." msgstr "" -#: ../../library/optparse.rst:1170 +#: ../../library/optparse.rst:1167 msgid "" "For options of type ``\"choice\"``, the list of strings the user may choose " "from." msgstr "" -#: ../../library/optparse.rst:1175 +#: ../../library/optparse.rst:1172 msgid "" "For options with action ``\"callback\"``, the callable to call when this " "option is seen. See section :ref:`optparse-option-callbacks` for detail on " "the arguments passed to the callable." msgstr "" -#: ../../library/optparse.rst:1182 +#: ../../library/optparse.rst:1179 msgid "" "Additional positional and keyword arguments to pass to ``callback`` after " "the four standard callback arguments." msgstr "" -#: ../../library/optparse.rst:1187 +#: ../../library/optparse.rst:1184 msgid "" "Help text to print for this option when listing all available options after " "the user supplies a :attr:`~Option.help` option (such as ``--help``). If no " @@ -1853,17 +1848,17 @@ msgid "" "this option, use the special value :const:`optparse.SUPPRESS_HELP`." msgstr "" -#: ../../library/optparse.rst:1196 +#: ../../library/optparse.rst:1193 msgid "" "Stand-in for the option argument(s) to use when printing help text. See " "section :ref:`optparse-tutorial` for an example." msgstr "" -#: ../../library/optparse.rst:1203 +#: ../../library/optparse.rst:1200 msgid "Standard option actions" msgstr "" -#: ../../library/optparse.rst:1205 +#: ../../library/optparse.rst:1202 msgid "" "The various option actions all have slightly different requirements and " "effects. Most actions have several relevant option attributes which you may " @@ -1871,13 +1866,13 @@ msgid "" "attributes, which you must specify for any option using that action." msgstr "" -#: ../../library/optparse.rst:1210 +#: ../../library/optparse.rst:1207 msgid "" "``\"store\"`` [relevant: :attr:`~Option.type`, :attr:`~Option.dest`, :attr:" "`~Option.nargs`, :attr:`~Option.choices`]" msgstr "" -#: ../../library/optparse.rst:1213 +#: ../../library/optparse.rst:1210 msgid "" "The option must be followed by an argument, which is converted to a value " "according to :attr:`~Option.type` and stored in :attr:`~Option.dest`. If :" @@ -1887,17 +1882,17 @@ msgid "" "option-types` section." msgstr "" -#: ../../library/optparse.rst:1220 +#: ../../library/optparse.rst:1217 msgid "" "If :attr:`~Option.choices` is supplied (a list or tuple of strings), the " "type defaults to ``\"choice\"``." msgstr "" -#: ../../library/optparse.rst:1223 +#: ../../library/optparse.rst:1220 msgid "If :attr:`~Option.type` is not supplied, it defaults to ``\"string\"``." msgstr "" -#: ../../library/optparse.rst:1225 +#: ../../library/optparse.rst:1222 msgid "" "If :attr:`~Option.dest` is not supplied, :mod:`!optparse` derives a " "destination from the first long option string (e.g., ``--foo-bar`` implies " @@ -1906,48 +1901,48 @@ msgid "" "``f``)." msgstr "" -#: ../../library/optparse.rst:1230 ../../library/optparse.rst:1250 -#: ../../library/optparse.rst:1272 ../../library/optparse.rst:1290 -#: ../../library/optparse.rst:1329 ../../library/optparse.rst:1367 +#: ../../library/optparse.rst:1227 ../../library/optparse.rst:1247 +#: ../../library/optparse.rst:1269 ../../library/optparse.rst:1287 +#: ../../library/optparse.rst:1326 ../../library/optparse.rst:1364 msgid "Example::" msgstr "Beispiel::" -#: ../../library/optparse.rst:1232 +#: ../../library/optparse.rst:1229 msgid "" "parser.add_option(\"-f\")\n" "parser.add_option(\"-p\", type=\"float\", nargs=3, dest=\"point\")" msgstr "" -#: ../../library/optparse.rst:1235 +#: ../../library/optparse.rst:1232 msgid "As it parses the command line ::" msgstr "" -#: ../../library/optparse.rst:1237 +#: ../../library/optparse.rst:1234 msgid "-f foo.txt -p 1 -3.5 4 -fbar.txt" msgstr "" -#: ../../library/optparse.rst:1239 +#: ../../library/optparse.rst:1236 msgid ":mod:`!optparse` will set ::" msgstr "" -#: ../../library/optparse.rst:1241 +#: ../../library/optparse.rst:1238 msgid "" "options.f = \"foo.txt\"\n" "options.point = (1.0, -3.5, 4.0)\n" "options.f = \"bar.txt\"" msgstr "" -#: ../../library/optparse.rst:1245 +#: ../../library/optparse.rst:1242 msgid "" "``\"store_const\"`` [required: :attr:`~Option.const`; relevant: :attr:" "`~Option.dest`]" msgstr "" -#: ../../library/optparse.rst:1248 +#: ../../library/optparse.rst:1245 msgid "The value :attr:`~Option.const` is stored in :attr:`~Option.dest`." msgstr "" -#: ../../library/optparse.rst:1252 +#: ../../library/optparse.rst:1249 msgid "" "parser.add_option(\"-q\", \"--quiet\",\n" " action=\"store_const\", const=0, dest=\"verbose\")\n" @@ -1957,45 +1952,45 @@ msgid "" " action=\"store_const\", const=2, dest=\"verbose\")" msgstr "" -#: ../../library/optparse.rst:1259 +#: ../../library/optparse.rst:1256 msgid "If ``--noisy`` is seen, :mod:`!optparse` will set ::" msgstr "" -#: ../../library/optparse.rst:1261 +#: ../../library/optparse.rst:1258 msgid "options.verbose = 2" msgstr "" -#: ../../library/optparse.rst:1263 +#: ../../library/optparse.rst:1260 msgid "``\"store_true\"`` [relevant: :attr:`~Option.dest`]" msgstr "" -#: ../../library/optparse.rst:1265 +#: ../../library/optparse.rst:1262 msgid "" "A special case of ``\"store_const\"`` that stores ``True`` to :attr:`~Option." "dest`." msgstr "" -#: ../../library/optparse.rst:1268 +#: ../../library/optparse.rst:1265 msgid "``\"store_false\"`` [relevant: :attr:`~Option.dest`]" msgstr "" -#: ../../library/optparse.rst:1270 +#: ../../library/optparse.rst:1267 msgid "Like ``\"store_true\"``, but stores ``False``." msgstr "" -#: ../../library/optparse.rst:1274 +#: ../../library/optparse.rst:1271 msgid "" "parser.add_option(\"--clobber\", action=\"store_true\", dest=\"clobber\")\n" "parser.add_option(\"--no-clobber\", action=\"store_false\", dest=\"clobber\")" msgstr "" -#: ../../library/optparse.rst:1277 +#: ../../library/optparse.rst:1274 msgid "" "``\"append\"`` [relevant: :attr:`~Option.type`, :attr:`~Option.dest`, :attr:" "`~Option.nargs`, :attr:`~Option.choices`]" msgstr "" -#: ../../library/optparse.rst:1280 +#: ../../library/optparse.rst:1277 msgid "" "The option must be followed by an argument, which is appended to the list " "in :attr:`~Option.dest`. If no default value for :attr:`~Option.dest` is " @@ -2005,38 +2000,38 @@ msgid "" "is appended to :attr:`~Option.dest`." msgstr "" -#: ../../library/optparse.rst:1287 +#: ../../library/optparse.rst:1284 msgid "" "The defaults for :attr:`~Option.type` and :attr:`~Option.dest` are the same " "as for the ``\"store\"`` action." msgstr "" -#: ../../library/optparse.rst:1292 +#: ../../library/optparse.rst:1289 msgid "" "parser.add_option(\"-t\", \"--tracks\", action=\"append\", type=\"int\")" msgstr "" -#: ../../library/optparse.rst:1294 +#: ../../library/optparse.rst:1291 msgid "" "If ``-t3`` is seen on the command-line, :mod:`!optparse` does the equivalent " "of::" msgstr "" -#: ../../library/optparse.rst:1297 +#: ../../library/optparse.rst:1294 msgid "" "options.tracks = []\n" "options.tracks.append(int(\"3\"))" msgstr "" -#: ../../library/optparse.rst:1300 +#: ../../library/optparse.rst:1297 msgid "If, a little later on, ``--tracks=4`` is seen, it does::" msgstr "" -#: ../../library/optparse.rst:1302 +#: ../../library/optparse.rst:1299 msgid "options.tracks.append(int(\"4\"))" msgstr "" -#: ../../library/optparse.rst:1304 +#: ../../library/optparse.rst:1301 msgid "" "The ``append`` action calls the ``append`` method on the current value of " "the option. This means that any default value specified must have an " @@ -2045,7 +2040,7 @@ msgid "" "with any values from the command line appended after those default values::" msgstr "" -#: ../../library/optparse.rst:1310 +#: ../../library/optparse.rst:1307 msgid "" ">>> parser.add_option(\"--files\", action=\"append\", default=['~/.mypkg/" "defaults'])\n" @@ -2054,13 +2049,13 @@ msgid "" "['~/.mypkg/defaults', 'overrides.mypkg']" msgstr "" -#: ../../library/optparse.rst:1315 +#: ../../library/optparse.rst:1312 msgid "" "``\"append_const\"`` [required: :attr:`~Option.const`; relevant: :attr:" "`~Option.dest`]" msgstr "" -#: ../../library/optparse.rst:1318 +#: ../../library/optparse.rst:1315 msgid "" "Like ``\"store_const\"``, but the value :attr:`~Option.const` is appended " "to :attr:`~Option.dest`; as with ``\"append\"``, :attr:`~Option.dest` " @@ -2068,63 +2063,63 @@ msgid "" "time the option is encountered." msgstr "" -#: ../../library/optparse.rst:1323 +#: ../../library/optparse.rst:1320 msgid "``\"count\"`` [relevant: :attr:`~Option.dest`]" msgstr "" -#: ../../library/optparse.rst:1325 +#: ../../library/optparse.rst:1322 msgid "" "Increment the integer stored at :attr:`~Option.dest`. If no default value " "is supplied, :attr:`~Option.dest` is set to zero before being incremented " "the first time." msgstr "" -#: ../../library/optparse.rst:1331 +#: ../../library/optparse.rst:1328 msgid "parser.add_option(\"-v\", action=\"count\", dest=\"verbosity\")" msgstr "" -#: ../../library/optparse.rst:1333 +#: ../../library/optparse.rst:1330 msgid "" "The first time ``-v`` is seen on the command line, :mod:`!optparse` does the " "equivalent of::" msgstr "" -#: ../../library/optparse.rst:1336 +#: ../../library/optparse.rst:1333 msgid "" "options.verbosity = 0\n" "options.verbosity += 1" msgstr "" -#: ../../library/optparse.rst:1339 +#: ../../library/optparse.rst:1336 msgid "Every subsequent occurrence of ``-v`` results in ::" msgstr "" -#: ../../library/optparse.rst:1341 +#: ../../library/optparse.rst:1338 msgid "options.verbosity += 1" msgstr "" -#: ../../library/optparse.rst:1343 +#: ../../library/optparse.rst:1340 msgid "" "``\"callback\"`` [required: :attr:`~Option.callback`; relevant: :attr:" "`~Option.type`, :attr:`~Option.nargs`, :attr:`~Option.callback_args`, :attr:" "`~Option.callback_kwargs`]" msgstr "" -#: ../../library/optparse.rst:1347 +#: ../../library/optparse.rst:1344 msgid "" "Call the function specified by :attr:`~Option.callback`, which is called " "as ::" msgstr "" -#: ../../library/optparse.rst:1349 ../../library/optparse.rst:1747 +#: ../../library/optparse.rst:1346 ../../library/optparse.rst:1744 msgid "func(option, opt_str, value, parser, *args, **kwargs)" msgstr "" -#: ../../library/optparse.rst:1351 +#: ../../library/optparse.rst:1348 msgid "See section :ref:`optparse-option-callbacks` for more detail." msgstr "" -#: ../../library/optparse.rst:1355 +#: ../../library/optparse.rst:1352 msgid "" "Prints a complete help message for all the options in the current option " "parser. The help message is constructed from the ``usage`` string passed to " @@ -2132,20 +2127,20 @@ msgid "" "every option." msgstr "" -#: ../../library/optparse.rst:1360 +#: ../../library/optparse.rst:1357 msgid "" "If no :attr:`~Option.help` string is supplied for an option, it will still " "be listed in the help message. To omit an option entirely, use the special " "value :const:`optparse.SUPPRESS_HELP`." msgstr "" -#: ../../library/optparse.rst:1364 +#: ../../library/optparse.rst:1361 msgid "" ":mod:`!optparse` automatically adds a :attr:`~Option.help` option to all " "OptionParsers, so you do not normally need to create one." msgstr "" -#: ../../library/optparse.rst:1369 +#: ../../library/optparse.rst:1366 msgid "" "from optparse import OptionParser, SUPPRESS_HELP\n" "\n" @@ -2161,14 +2156,14 @@ msgid "" "parser.add_option(\"--secret\", help=SUPPRESS_HELP)" msgstr "" -#: ../../library/optparse.rst:1382 +#: ../../library/optparse.rst:1379 msgid "" "If :mod:`!optparse` sees either ``-h`` or ``--help`` on the command line, it " "will print something like the following help message to stdout (assuming " "``sys.argv[0]`` is ``\"foo.py\"``):" msgstr "" -#: ../../library/optparse.rst:1386 +#: ../../library/optparse.rst:1383 msgid "" "Usage: foo.py [options]\n" "\n" @@ -2178,17 +2173,17 @@ msgid "" " --file=FILENAME Input file to read data from" msgstr "" -#: ../../library/optparse.rst:1395 +#: ../../library/optparse.rst:1392 msgid "" "After printing the help message, :mod:`!optparse` terminates your process " "with ``sys.exit(0)``." msgstr "" -#: ../../library/optparse.rst:1398 +#: ../../library/optparse.rst:1395 msgid "``\"version\"``" msgstr "" -#: ../../library/optparse.rst:1400 +#: ../../library/optparse.rst:1397 msgid "" "Prints the version number supplied to the OptionParser to stdout and exits. " "The version number is actually formatted and printed by the " @@ -2198,58 +2193,58 @@ msgid "" "since :mod:`!optparse` automatically adds them when needed." msgstr "" -#: ../../library/optparse.rst:1411 +#: ../../library/optparse.rst:1408 msgid "Standard option types" msgstr "" -#: ../../library/optparse.rst:1413 +#: ../../library/optparse.rst:1410 msgid "" ":mod:`!optparse` has five built-in option types: ``\"string\"``, " "``\"int\"``, ``\"choice\"``, ``\"float\"`` and ``\"complex\"``. If you need " "to add new option types, see section :ref:`optparse-extending-optparse`." msgstr "" -#: ../../library/optparse.rst:1417 +#: ../../library/optparse.rst:1414 msgid "" "Arguments to string options are not checked or converted in any way: the " "text on the command line is stored in the destination (or passed to the " "callback) as-is." msgstr "" -#: ../../library/optparse.rst:1420 +#: ../../library/optparse.rst:1417 msgid "Integer arguments (type ``\"int\"``) are parsed as follows:" msgstr "" -#: ../../library/optparse.rst:1422 +#: ../../library/optparse.rst:1419 msgid "if the number starts with ``0x``, it is parsed as a hexadecimal number" msgstr "" -#: ../../library/optparse.rst:1424 +#: ../../library/optparse.rst:1421 msgid "if the number starts with ``0``, it is parsed as an octal number" msgstr "" -#: ../../library/optparse.rst:1426 +#: ../../library/optparse.rst:1423 msgid "if the number starts with ``0b``, it is parsed as a binary number" msgstr "" -#: ../../library/optparse.rst:1428 +#: ../../library/optparse.rst:1425 msgid "otherwise, the number is parsed as a decimal number" msgstr "" -#: ../../library/optparse.rst:1431 +#: ../../library/optparse.rst:1428 msgid "" "The conversion is done by calling :func:`int` with the appropriate base (2, " "8, 10, or 16). If this fails, so will :mod:`!optparse`, although with a " "more useful error message." msgstr "" -#: ../../library/optparse.rst:1435 +#: ../../library/optparse.rst:1432 msgid "" "``\"float\"`` and ``\"complex\"`` option arguments are converted directly " "with :func:`float` and :func:`complex`, with similar error-handling." msgstr "" -#: ../../library/optparse.rst:1438 +#: ../../library/optparse.rst:1435 msgid "" "``\"choice\"`` options are a subtype of ``\"string\"`` options. The :attr:" "`~Option.choices` option attribute (a sequence of strings) defines the set " @@ -2258,63 +2253,63 @@ msgid "" "`OptionValueError` if an invalid string is given." msgstr "" -#: ../../library/optparse.rst:1448 +#: ../../library/optparse.rst:1445 msgid "Parsing arguments" msgstr "" -#: ../../library/optparse.rst:1450 +#: ../../library/optparse.rst:1447 msgid "" "The whole point of creating and populating an OptionParser is to call its :" "meth:`~OptionParser.parse_args` method." msgstr "" -#: ../../library/optparse.rst:1455 +#: ../../library/optparse.rst:1452 msgid "Parse the command-line options found in *args*." msgstr "" -#: ../../library/optparse.rst:1457 +#: ../../library/optparse.rst:1454 msgid "The input parameters are" msgstr "" -#: ../../library/optparse.rst:1459 ../../library/optparse.rst:1473 -#: ../../library/optparse.rst:1791 +#: ../../library/optparse.rst:1456 ../../library/optparse.rst:1470 +#: ../../library/optparse.rst:1788 msgid "``args``" msgstr "" -#: ../../library/optparse.rst:1460 +#: ../../library/optparse.rst:1457 msgid "the list of arguments to process (default: ``sys.argv[1:]``)" msgstr "" -#: ../../library/optparse.rst:1462 +#: ../../library/optparse.rst:1459 msgid "``values``" msgstr "" -#: ../../library/optparse.rst:1463 +#: ../../library/optparse.rst:1460 msgid "" "a :class:`Values` object to store option arguments in (default: a new " "instance of :class:`Values`) -- if you give an existing object, the option " "defaults will not be initialized on it" msgstr "" -#: ../../library/optparse.rst:1467 +#: ../../library/optparse.rst:1464 msgid "and the return value is a pair ``(options, args)`` where" msgstr "" -#: ../../library/optparse.rst:1469 +#: ../../library/optparse.rst:1466 msgid "``options``" msgstr "" -#: ../../library/optparse.rst:1470 +#: ../../library/optparse.rst:1467 msgid "" "the same object that was passed in as *values*, or the ``optparse.Values`` " "instance created by :mod:`!optparse`" msgstr "" -#: ../../library/optparse.rst:1474 +#: ../../library/optparse.rst:1471 msgid "the leftover positional arguments after all options have been processed" msgstr "" -#: ../../library/optparse.rst:1476 +#: ../../library/optparse.rst:1473 msgid "" "The most common usage is to supply neither keyword argument. If you supply " "``values``, it will be modified with repeated :func:`setattr` calls (roughly " @@ -2322,7 +2317,7 @@ msgid "" "by :meth:`~OptionParser.parse_args`." msgstr "" -#: ../../library/optparse.rst:1481 +#: ../../library/optparse.rst:1478 msgid "" "If :meth:`~OptionParser.parse_args` encounters any errors in the argument " "list, it calls the OptionParser's :meth:`error` method with an appropriate " @@ -2330,69 +2325,69 @@ msgid "" "status of 2 (the traditional Unix exit status for command-line errors)." msgstr "" -#: ../../library/optparse.rst:1490 +#: ../../library/optparse.rst:1487 msgid "Querying and manipulating your option parser" msgstr "" -#: ../../library/optparse.rst:1492 +#: ../../library/optparse.rst:1489 msgid "" "The default behavior of the option parser can be customized slightly, and " "you can also poke around your option parser and see what's there. " "OptionParser provides several methods to help you out:" msgstr "" -#: ../../library/optparse.rst:1498 +#: ../../library/optparse.rst:1495 msgid "" "Set parsing to stop on the first non-option. For example, if ``-a`` and ``-" "b`` are both simple options that take no arguments, :mod:`!optparse` " "normally accepts this syntax::" msgstr "" -#: ../../library/optparse.rst:1502 +#: ../../library/optparse.rst:1499 msgid "prog -a arg1 -b arg2" msgstr "" -#: ../../library/optparse.rst:1504 +#: ../../library/optparse.rst:1501 msgid "and treats it as equivalent to ::" msgstr "" -#: ../../library/optparse.rst:1506 +#: ../../library/optparse.rst:1503 msgid "prog -a -b arg1 arg2" msgstr "" -#: ../../library/optparse.rst:1508 +#: ../../library/optparse.rst:1505 msgid "" "To disable this feature, call :meth:`disable_interspersed_args`. This " "restores traditional Unix syntax, where option parsing stops with the first " "non-option argument." msgstr "" -#: ../../library/optparse.rst:1512 +#: ../../library/optparse.rst:1509 msgid "" "Use this if you have a command processor which runs another command which " "has options of its own and you want to make sure these options don't get " "confused. For example, each command might have a different set of options." msgstr "" -#: ../../library/optparse.rst:1518 +#: ../../library/optparse.rst:1515 msgid "" "Set parsing to not stop on the first non-option, allowing interspersing " "switches with command arguments. This is the default behavior." msgstr "" -#: ../../library/optparse.rst:1523 +#: ../../library/optparse.rst:1520 msgid "" "Returns the Option instance with the option string *opt_str*, or ``None`` if " "no options have that option string." msgstr "" -#: ../../library/optparse.rst:1528 +#: ../../library/optparse.rst:1525 msgid "" "Return ``True`` if the OptionParser has an option with option string " "*opt_str* (e.g., ``-q`` or ``--verbose``)." msgstr "" -#: ../../library/optparse.rst:1533 +#: ../../library/optparse.rst:1530 msgid "" "If the :class:`OptionParser` has an option corresponding to *opt_str*, that " "option is removed. If that option provided any other option strings, all of " @@ -2400,30 +2395,30 @@ msgid "" "option belonging to this :class:`OptionParser`, raises :exc:`ValueError`." msgstr "" -#: ../../library/optparse.rst:1542 +#: ../../library/optparse.rst:1539 msgid "Conflicts between options" msgstr "" -#: ../../library/optparse.rst:1544 +#: ../../library/optparse.rst:1541 msgid "" "If you're not careful, it's easy to define options with conflicting option " "strings::" msgstr "" -#: ../../library/optparse.rst:1547 +#: ../../library/optparse.rst:1544 msgid "" "parser.add_option(\"-n\", \"--dry-run\", ...)\n" "...\n" "parser.add_option(\"-n\", \"--noisy\", ...)" msgstr "" -#: ../../library/optparse.rst:1551 +#: ../../library/optparse.rst:1548 msgid "" "(This is particularly true if you've defined your own OptionParser subclass " "with some standard options.)" msgstr "" -#: ../../library/optparse.rst:1554 +#: ../../library/optparse.rst:1551 msgid "" "Every time you add an option, :mod:`!optparse` checks for conflicts with " "existing options. If it finds any, it invokes the current conflict-handling " @@ -2431,54 +2426,54 @@ msgid "" "constructor::" msgstr "" -#: ../../library/optparse.rst:1558 +#: ../../library/optparse.rst:1555 msgid "parser = OptionParser(..., conflict_handler=handler)" msgstr "" -#: ../../library/optparse.rst:1560 +#: ../../library/optparse.rst:1557 msgid "or with a separate call::" msgstr "" -#: ../../library/optparse.rst:1562 +#: ../../library/optparse.rst:1559 msgid "parser.set_conflict_handler(handler)" msgstr "" -#: ../../library/optparse.rst:1564 +#: ../../library/optparse.rst:1561 msgid "The available conflict handlers are:" msgstr "" -#: ../../library/optparse.rst:1566 +#: ../../library/optparse.rst:1563 msgid "``\"error\"`` (default)" msgstr "" -#: ../../library/optparse.rst:1567 +#: ../../library/optparse.rst:1564 msgid "" "assume option conflicts are a programming error and raise :exc:" "`OptionConflictError`" msgstr "" -#: ../../library/optparse.rst:1570 +#: ../../library/optparse.rst:1567 msgid "``\"resolve\"``" msgstr "" -#: ../../library/optparse.rst:1571 +#: ../../library/optparse.rst:1568 msgid "resolve option conflicts intelligently (see below)" msgstr "" -#: ../../library/optparse.rst:1574 +#: ../../library/optparse.rst:1571 msgid "" "As an example, let's define an :class:`OptionParser` that resolves conflicts " "intelligently and add conflicting options to it::" msgstr "" -#: ../../library/optparse.rst:1577 +#: ../../library/optparse.rst:1574 msgid "" "parser = OptionParser(conflict_handler=\"resolve\")\n" "parser.add_option(\"-n\", \"--dry-run\", ..., help=\"do no harm\")\n" "parser.add_option(\"-n\", \"--noisy\", ..., help=\"be noisy\")" msgstr "" -#: ../../library/optparse.rst:1581 +#: ../../library/optparse.rst:1578 msgid "" "At this point, :mod:`!optparse` detects that a previously added option is " "already using the ``-n`` option string. Since ``conflict_handler`` is " @@ -2488,7 +2483,7 @@ msgid "" "message will reflect that::" msgstr "" -#: ../../library/optparse.rst:1587 +#: ../../library/optparse.rst:1584 msgid "" "Options:\n" " --dry-run do no harm\n" @@ -2496,7 +2491,7 @@ msgid "" " -n, --noisy be noisy" msgstr "" -#: ../../library/optparse.rst:1592 +#: ../../library/optparse.rst:1589 msgid "" "It's possible to whittle away the option strings for a previously added " "option until there are none left, and the user has no way of invoking that " @@ -2505,17 +2500,17 @@ msgid "" "Carrying on with our existing OptionParser::" msgstr "" -#: ../../library/optparse.rst:1598 +#: ../../library/optparse.rst:1595 msgid "parser.add_option(\"--dry-run\", ..., help=\"new dry-run option\")" msgstr "" -#: ../../library/optparse.rst:1600 +#: ../../library/optparse.rst:1597 msgid "" "At this point, the original ``-n``/``--dry-run`` option is no longer " "accessible, so :mod:`!optparse` removes it, leaving this help text::" msgstr "" -#: ../../library/optparse.rst:1603 +#: ../../library/optparse.rst:1600 msgid "" "Options:\n" " ...\n" @@ -2523,11 +2518,11 @@ msgid "" " --dry-run new dry-run option" msgstr "" -#: ../../library/optparse.rst:1612 +#: ../../library/optparse.rst:1609 msgid "Cleanup" msgstr "" -#: ../../library/optparse.rst:1614 +#: ../../library/optparse.rst:1611 msgid "" "OptionParser instances have several cyclic references. This should not be a " "problem for Python's garbage collector, but you may wish to break the cyclic " @@ -2537,15 +2532,15 @@ msgid "" "OptionParser." msgstr "" -#: ../../library/optparse.rst:1625 +#: ../../library/optparse.rst:1622 msgid "Other methods" msgstr "" -#: ../../library/optparse.rst:1627 +#: ../../library/optparse.rst:1624 msgid "OptionParser supports several other public methods:" msgstr "" -#: ../../library/optparse.rst:1631 +#: ../../library/optparse.rst:1628 msgid "" "Set the usage string according to the rules described above for the " "``usage`` constructor keyword argument. Passing ``None`` sets the default " @@ -2553,7 +2548,7 @@ msgid "" "message." msgstr "" -#: ../../library/optparse.rst:1637 +#: ../../library/optparse.rst:1634 msgid "" "Print the usage message for the current program (``self.usage``) to *file* " "(default stdout). Any occurrence of the string ``%prog`` in ``self.usage`` " @@ -2561,13 +2556,13 @@ msgid "" "usage`` is empty or not defined." msgstr "" -#: ../../library/optparse.rst:1644 +#: ../../library/optparse.rst:1641 msgid "" "Same as :meth:`print_usage` but returns the usage string instead of printing " "it." msgstr "" -#: ../../library/optparse.rst:1649 +#: ../../library/optparse.rst:1646 msgid "" "Set default values for several option destinations at once. Using :meth:" "`set_defaults` is the preferred way to set default values for options, since " @@ -2576,7 +2571,7 @@ msgid "" "default, and the last one wins::" msgstr "" -#: ../../library/optparse.rst:1655 +#: ../../library/optparse.rst:1652 msgid "" "parser.add_option(\"--advanced\", action=\"store_const\",\n" " dest=\"mode\", const=\"advanced\",\n" @@ -2586,11 +2581,11 @@ msgid "" " default=\"advanced\") # overrides above setting" msgstr "" -#: ../../library/optparse.rst:1662 +#: ../../library/optparse.rst:1659 msgid "To avoid this confusion, use :meth:`set_defaults`::" msgstr "" -#: ../../library/optparse.rst:1664 +#: ../../library/optparse.rst:1661 msgid "" "parser.set_defaults(mode=\"advanced\")\n" "parser.add_option(\"--advanced\", action=\"store_const\",\n" @@ -2599,11 +2594,11 @@ msgid "" " dest=\"mode\", const=\"novice\")" msgstr "" -#: ../../library/optparse.rst:1674 +#: ../../library/optparse.rst:1671 msgid "Option Callbacks" msgstr "" -#: ../../library/optparse.rst:1676 +#: ../../library/optparse.rst:1673 msgid "" "When :mod:`!optparse`'s built-in actions and types aren't quite enough for " "your needs, you have two choices: extend :mod:`!optparse` or define a " @@ -2611,25 +2606,25 @@ msgid "" "for a lot of simple cases. Quite often a simple callback is all you need." msgstr "" -#: ../../library/optparse.rst:1681 +#: ../../library/optparse.rst:1678 msgid "There are two steps to defining a callback option:" msgstr "" -#: ../../library/optparse.rst:1683 +#: ../../library/optparse.rst:1680 msgid "define the option itself using the ``\"callback\"`` action" msgstr "" -#: ../../library/optparse.rst:1685 +#: ../../library/optparse.rst:1682 msgid "" "write the callback; this is a function (or method) that takes at least four " "arguments, as described below" msgstr "" -#: ../../library/optparse.rst:1692 +#: ../../library/optparse.rst:1689 msgid "Defining a callback option" msgstr "" -#: ../../library/optparse.rst:1694 +#: ../../library/optparse.rst:1691 msgid "" "As always, the easiest way to define a callback option is by using the :meth:" "`OptionParser.add_option` method. Apart from :attr:`~Option.action`, the " @@ -2637,11 +2632,11 @@ msgid "" "call::" msgstr "" -#: ../../library/optparse.rst:1698 +#: ../../library/optparse.rst:1695 msgid "parser.add_option(\"-c\", action=\"callback\", callback=my_callback)" msgstr "" -#: ../../library/optparse.rst:1700 +#: ../../library/optparse.rst:1697 msgid "" "``callback`` is a function (or other callable object), so you must have " "already defined ``my_callback()`` when you create this callback option. In " @@ -2653,7 +2648,7 @@ msgid "" "tricky; it's covered later in this section." msgstr "" -#: ../../library/optparse.rst:1709 +#: ../../library/optparse.rst:1706 msgid "" ":mod:`!optparse` always passes four particular arguments to your callback, " "and it will only pass additional arguments if you specify them via :attr:" @@ -2661,25 +2656,25 @@ msgid "" "minimal callback function signature is::" msgstr "" -#: ../../library/optparse.rst:1714 +#: ../../library/optparse.rst:1711 msgid "def my_callback(option, opt, value, parser):" msgstr "" -#: ../../library/optparse.rst:1716 +#: ../../library/optparse.rst:1713 msgid "The four arguments to a callback are described below." msgstr "" -#: ../../library/optparse.rst:1718 +#: ../../library/optparse.rst:1715 msgid "" "There are several other option attributes that you can supply when you " "define a callback option:" msgstr "" -#: ../../library/optparse.rst:1721 +#: ../../library/optparse.rst:1718 msgid ":attr:`~Option.type`" msgstr "" -#: ../../library/optparse.rst:1722 +#: ../../library/optparse.rst:1719 msgid "" "has its usual meaning: as with the ``\"store\"`` or ``\"append\"`` actions, " "it instructs :mod:`!optparse` to consume one argument and convert it to :" @@ -2687,11 +2682,11 @@ msgid "" "though, :mod:`!optparse` passes it to your callback function." msgstr "" -#: ../../library/optparse.rst:1727 +#: ../../library/optparse.rst:1724 msgid ":attr:`~Option.nargs`" msgstr "" -#: ../../library/optparse.rst:1728 +#: ../../library/optparse.rst:1725 msgid "" "also has its usual meaning: if it is supplied and > 1, :mod:`!optparse` will " "consume :attr:`~Option.nargs` arguments, each of which must be convertible " @@ -2699,43 +2694,43 @@ msgid "" "callback." msgstr "" -#: ../../library/optparse.rst:1733 +#: ../../library/optparse.rst:1730 msgid ":attr:`~Option.callback_args`" msgstr "" -#: ../../library/optparse.rst:1734 +#: ../../library/optparse.rst:1731 msgid "a tuple of extra positional arguments to pass to the callback" msgstr "" -#: ../../library/optparse.rst:1736 +#: ../../library/optparse.rst:1733 msgid ":attr:`~Option.callback_kwargs`" msgstr "" -#: ../../library/optparse.rst:1737 +#: ../../library/optparse.rst:1734 msgid "a dictionary of extra keyword arguments to pass to the callback" msgstr "" -#: ../../library/optparse.rst:1743 +#: ../../library/optparse.rst:1740 msgid "How callbacks are called" msgstr "" -#: ../../library/optparse.rst:1745 +#: ../../library/optparse.rst:1742 msgid "All callbacks are called as follows::" msgstr "" -#: ../../library/optparse.rst:1751 +#: ../../library/optparse.rst:1748 msgid "``option``" msgstr "" -#: ../../library/optparse.rst:1752 +#: ../../library/optparse.rst:1749 msgid "is the Option instance that's calling the callback" msgstr "" -#: ../../library/optparse.rst:1754 +#: ../../library/optparse.rst:1751 msgid "``opt_str``" msgstr "" -#: ../../library/optparse.rst:1755 +#: ../../library/optparse.rst:1752 msgid "" "is the option string seen on the command-line that's triggering the " "callback. (If an abbreviated long option was used, ``opt_str`` will be the " @@ -2744,11 +2739,11 @@ msgid "" "``\"--foobar\"``.)" msgstr "" -#: ../../library/optparse.rst:1761 +#: ../../library/optparse.rst:1758 msgid "``value``" msgstr "" -#: ../../library/optparse.rst:1762 +#: ../../library/optparse.rst:1759 msgid "" "is the argument to this option seen on the command-line. :mod:`!optparse` " "will only expect an argument if :attr:`~Option.type` is set; the type of " @@ -2758,21 +2753,21 @@ msgid "" "of values of the appropriate type." msgstr "" -#: ../../library/optparse.rst:1768 +#: ../../library/optparse.rst:1765 msgid "``parser``" msgstr "" -#: ../../library/optparse.rst:1769 +#: ../../library/optparse.rst:1766 msgid "" "is the OptionParser instance driving the whole thing, mainly useful because " "you can access some other interesting data through its instance attributes:" msgstr "" -#: ../../library/optparse.rst:1772 +#: ../../library/optparse.rst:1769 msgid "``parser.largs``" msgstr "" -#: ../../library/optparse.rst:1773 +#: ../../library/optparse.rst:1770 msgid "" "the current list of leftover arguments, ie. arguments that have been " "consumed but are neither options nor option arguments. Feel free to modify " @@ -2781,22 +2776,22 @@ msgid "" "parse_args`.)" msgstr "" -#: ../../library/optparse.rst:1778 +#: ../../library/optparse.rst:1775 msgid "``parser.rargs``" msgstr "" -#: ../../library/optparse.rst:1779 +#: ../../library/optparse.rst:1776 msgid "" "the current list of remaining arguments, ie. with ``opt_str`` and ``value`` " "(if applicable) removed, and only the arguments following them still there. " "Feel free to modify ``parser.rargs``, e.g. by consuming more arguments." msgstr "" -#: ../../library/optparse.rst:1784 +#: ../../library/optparse.rst:1781 msgid "``parser.values``" msgstr "" -#: ../../library/optparse.rst:1785 +#: ../../library/optparse.rst:1782 msgid "" "the object where option values are by default stored (an instance of " "optparse.OptionValues). This lets callbacks use the same mechanism as the " @@ -2805,27 +2800,27 @@ msgid "" "of any options already encountered on the command-line." msgstr "" -#: ../../library/optparse.rst:1792 +#: ../../library/optparse.rst:1789 msgid "" "is a tuple of arbitrary positional arguments supplied via the :attr:`~Option." "callback_args` option attribute." msgstr "" -#: ../../library/optparse.rst:1795 +#: ../../library/optparse.rst:1792 msgid "``kwargs``" msgstr "" -#: ../../library/optparse.rst:1796 +#: ../../library/optparse.rst:1793 msgid "" "is a dictionary of arbitrary keyword arguments supplied via :attr:`~Option." "callback_kwargs`." msgstr "" -#: ../../library/optparse.rst:1803 +#: ../../library/optparse.rst:1800 msgid "Raising errors in a callback" msgstr "" -#: ../../library/optparse.rst:1805 +#: ../../library/optparse.rst:1802 msgid "" "The callback function should raise :exc:`OptionValueError` if there are any " "problems with the option or its argument(s). :mod:`!optparse` catches this " @@ -2835,17 +2830,17 @@ msgid "" "they did wrong." msgstr "" -#: ../../library/optparse.rst:1815 +#: ../../library/optparse.rst:1812 msgid "Callback example 1: trivial callback" msgstr "" -#: ../../library/optparse.rst:1817 +#: ../../library/optparse.rst:1814 msgid "" "Here's an example of a callback option that takes no arguments, and simply " "records that the option was seen::" msgstr "" -#: ../../library/optparse.rst:1820 +#: ../../library/optparse.rst:1817 msgid "" "def record_foo_seen(option, opt_str, value, parser):\n" " parser.values.saw_foo = True\n" @@ -2853,21 +2848,21 @@ msgid "" "parser.add_option(\"--foo\", action=\"callback\", callback=record_foo_seen)" msgstr "" -#: ../../library/optparse.rst:1825 +#: ../../library/optparse.rst:1822 msgid "Of course, you could do that with the ``\"store_true\"`` action." msgstr "" -#: ../../library/optparse.rst:1831 +#: ../../library/optparse.rst:1828 msgid "Callback example 2: check option order" msgstr "" -#: ../../library/optparse.rst:1833 +#: ../../library/optparse.rst:1830 msgid "" "Here's a slightly more interesting example: record the fact that ``-a`` is " "seen, but blow up if it comes after ``-b`` in the command-line. ::" msgstr "" -#: ../../library/optparse.rst:1836 +#: ../../library/optparse.rst:1833 msgid "" "def check_order(option, opt_str, value, parser):\n" " if parser.values.b:\n" @@ -2878,18 +2873,18 @@ msgid "" "parser.add_option(\"-b\", action=\"store_true\", dest=\"b\")" msgstr "" -#: ../../library/optparse.rst:1848 +#: ../../library/optparse.rst:1845 msgid "Callback example 3: check option order (generalized)" msgstr "" -#: ../../library/optparse.rst:1850 +#: ../../library/optparse.rst:1847 msgid "" "If you want to reuse this callback for several similar options (set a flag, " "but blow up if ``-b`` has already been seen), it needs a bit of work: the " "error message and the flag that it sets must be generalized. ::" msgstr "" -#: ../../library/optparse.rst:1854 +#: ../../library/optparse.rst:1851 msgid "" "def check_order(option, opt_str, value, parser):\n" " if parser.values.b:\n" @@ -2903,11 +2898,11 @@ msgid "" "dest='c')" msgstr "" -#: ../../library/optparse.rst:1867 +#: ../../library/optparse.rst:1864 msgid "Callback example 4: check arbitrary condition" msgstr "" -#: ../../library/optparse.rst:1869 +#: ../../library/optparse.rst:1866 msgid "" "Of course, you could put any condition in there---you're not limited to " "checking the values of already-defined options. For example, if you have " @@ -2915,7 +2910,7 @@ msgid "" "is this::" msgstr "" -#: ../../library/optparse.rst:1873 +#: ../../library/optparse.rst:1870 msgid "" "def check_moon(option, opt_str, value, parser):\n" " if is_moon_full():\n" @@ -2927,16 +2922,16 @@ msgid "" " action=\"callback\", callback=check_moon, dest=\"foo\")" msgstr "" -#: ../../library/optparse.rst:1882 +#: ../../library/optparse.rst:1879 msgid "" "(The definition of ``is_moon_full()`` is left as an exercise for the reader.)" msgstr "" -#: ../../library/optparse.rst:1888 +#: ../../library/optparse.rst:1885 msgid "Callback example 5: fixed arguments" msgstr "" -#: ../../library/optparse.rst:1890 +#: ../../library/optparse.rst:1887 msgid "" "Things get slightly more interesting when you define callback options that " "take a fixed number of arguments. Specifying that a callback option takes " @@ -2946,12 +2941,12 @@ msgid "" "nargs`, then the option takes :attr:`~Option.nargs` arguments." msgstr "" -#: ../../library/optparse.rst:1897 +#: ../../library/optparse.rst:1894 msgid "" "Here's an example that just emulates the standard ``\"store\"`` action::" msgstr "" -#: ../../library/optparse.rst:1899 +#: ../../library/optparse.rst:1896 msgid "" "def store_value(option, opt_str, value, parser):\n" " setattr(parser.values, option.dest, value)\n" @@ -2961,18 +2956,18 @@ msgid "" " type=\"int\", nargs=3, dest=\"foo\")" msgstr "" -#: ../../library/optparse.rst:1906 +#: ../../library/optparse.rst:1903 msgid "" "Note that :mod:`!optparse` takes care of consuming 3 arguments and " "converting them to integers for you; all you have to do is store them. (Or " "whatever; obviously you don't need a callback for this example.)" msgstr "" -#: ../../library/optparse.rst:1914 +#: ../../library/optparse.rst:1911 msgid "Callback example 6: variable arguments" msgstr "" -#: ../../library/optparse.rst:1916 +#: ../../library/optparse.rst:1913 msgid "" "Things get hairy when you want an option to take a variable number of " "arguments. For this case, you must write a callback, as :mod:`!optparse` " @@ -2982,23 +2977,23 @@ msgid "" "implement the conventional rules for bare ``--`` and ``-`` arguments:" msgstr "" -#: ../../library/optparse.rst:1923 +#: ../../library/optparse.rst:1920 msgid "either ``--`` or ``-`` can be option arguments" msgstr "" -#: ../../library/optparse.rst:1925 +#: ../../library/optparse.rst:1922 msgid "" "bare ``--`` (if not the argument to some option): halt command-line " "processing and discard the ``--``" msgstr "" -#: ../../library/optparse.rst:1928 +#: ../../library/optparse.rst:1925 msgid "" "bare ``-`` (if not the argument to some option): halt command-line " "processing but keep the ``-`` (append it to ``parser.largs``)" msgstr "" -#: ../../library/optparse.rst:1931 +#: ../../library/optparse.rst:1928 msgid "" "If you want an option that takes a variable number of arguments, there are " "several subtle, tricky issues to worry about. The exact implementation you " @@ -3007,13 +3002,13 @@ msgid "" "thing directly)." msgstr "" -#: ../../library/optparse.rst:1937 +#: ../../library/optparse.rst:1934 msgid "" "Nevertheless, here's a stab at a callback for an option with variable " "arguments::" msgstr "" -#: ../../library/optparse.rst:1940 +#: ../../library/optparse.rst:1937 msgid "" "def vararg_callback(option, opt_str, value, parser):\n" " assert value is None\n" @@ -3043,22 +3038,22 @@ msgid "" " action=\"callback\", callback=vararg_callback)" msgstr "" -#: ../../library/optparse.rst:1971 +#: ../../library/optparse.rst:1968 msgid "Extending :mod:`!optparse`" msgstr "" -#: ../../library/optparse.rst:1973 +#: ../../library/optparse.rst:1970 msgid "" "Since the two major controlling factors in how :mod:`!optparse` interprets " "command-line options are the action and type of each option, the most likely " "direction of extension is to add new actions and new types." msgstr "" -#: ../../library/optparse.rst:1981 +#: ../../library/optparse.rst:1978 msgid "Adding new types" msgstr "" -#: ../../library/optparse.rst:1983 +#: ../../library/optparse.rst:1980 msgid "" "To add new types, you need to define your own subclass of :mod:`!" "optparse`'s :class:`Option` class. This class has a couple of attributes " @@ -3066,23 +3061,23 @@ msgid "" "`~Option.TYPE_CHECKER`." msgstr "" -#: ../../library/optparse.rst:1989 +#: ../../library/optparse.rst:1986 msgid "" "A tuple of type names; in your subclass, simply define a new tuple :attr:" "`TYPES` that builds on the standard one." msgstr "" -#: ../../library/optparse.rst:1994 +#: ../../library/optparse.rst:1991 msgid "" "A dictionary mapping type names to type-checking functions. A type-checking " "function has the following signature::" msgstr "" -#: ../../library/optparse.rst:1997 +#: ../../library/optparse.rst:1994 msgid "def check_mytype(option, opt, value)" msgstr "" -#: ../../library/optparse.rst:1999 +#: ../../library/optparse.rst:1996 msgid "" "where ``option`` is an :class:`Option` instance, ``opt`` is an option string " "(e.g., ``-f``), and ``value`` is the string from the command line that must " @@ -3093,7 +3088,7 @@ msgid "" "``value`` parameter." msgstr "" -#: ../../library/optparse.rst:2007 +#: ../../library/optparse.rst:2004 msgid "" "Your type-checking function should raise :exc:`OptionValueError` if it " "encounters any problems. :exc:`OptionValueError` takes a single string " @@ -3102,7 +3097,7 @@ msgid "" "\"`` and prints everything to stderr before terminating the process." msgstr "" -#: ../../library/optparse.rst:2013 +#: ../../library/optparse.rst:2010 msgid "" "Here's a silly example that demonstrates adding a ``\"complex\"`` option " "type to parse Python-style complex numbers on the command line. (This is " @@ -3110,23 +3105,23 @@ msgid "" "support for complex numbers, but never mind.)" msgstr "" -#: ../../library/optparse.rst:2018 +#: ../../library/optparse.rst:2015 msgid "First, the necessary imports::" msgstr "" -#: ../../library/optparse.rst:2020 +#: ../../library/optparse.rst:2017 msgid "" "from copy import copy\n" "from optparse import Option, OptionValueError" msgstr "" -#: ../../library/optparse.rst:2023 +#: ../../library/optparse.rst:2020 msgid "" "You need to define your type-checker first, since it's referred to later (in " "the :attr:`~Option.TYPE_CHECKER` class attribute of your Option subclass)::" msgstr "" -#: ../../library/optparse.rst:2026 +#: ../../library/optparse.rst:2023 msgid "" "def check_complex(option, opt, value):\n" " try:\n" @@ -3136,11 +3131,11 @@ msgid "" " \"option %s: invalid complex value: %r\" % (opt, value))" msgstr "" -#: ../../library/optparse.rst:2033 +#: ../../library/optparse.rst:2030 msgid "Finally, the Option subclass::" msgstr "" -#: ../../library/optparse.rst:2035 +#: ../../library/optparse.rst:2032 msgid "" "class MyOption (Option):\n" " TYPES = Option.TYPES + (\"complex\",)\n" @@ -3148,7 +3143,7 @@ msgid "" " TYPE_CHECKER[\"complex\"] = check_complex" msgstr "" -#: ../../library/optparse.rst:2040 +#: ../../library/optparse.rst:2037 msgid "" "(If we didn't make a :func:`copy` of :attr:`Option.TYPE_CHECKER`, we would " "end up modifying the :attr:`~Option.TYPE_CHECKER` attribute of :mod:`!" @@ -3156,59 +3151,59 @@ msgid "" "that except good manners and common sense.)" msgstr "" -#: ../../library/optparse.rst:2045 +#: ../../library/optparse.rst:2042 msgid "" "That's it! Now you can write a script that uses the new option type just " "like any other :mod:`!optparse`\\ -based script, except you have to instruct " "your OptionParser to use MyOption instead of Option::" msgstr "" -#: ../../library/optparse.rst:2049 +#: ../../library/optparse.rst:2046 msgid "" "parser = OptionParser(option_class=MyOption)\n" "parser.add_option(\"-c\", type=\"complex\")" msgstr "" -#: ../../library/optparse.rst:2052 +#: ../../library/optparse.rst:2049 msgid "" "Alternately, you can build your own option list and pass it to OptionParser; " "if you don't use :meth:`add_option` in the above way, you don't need to tell " "OptionParser which option class to use::" msgstr "" -#: ../../library/optparse.rst:2056 +#: ../../library/optparse.rst:2053 msgid "" "option_list = [MyOption(\"-c\", action=\"store\", type=\"complex\", " "dest=\"c\")]\n" "parser = OptionParser(option_list=option_list)" msgstr "" -#: ../../library/optparse.rst:2063 +#: ../../library/optparse.rst:2060 msgid "Adding new actions" msgstr "" -#: ../../library/optparse.rst:2065 +#: ../../library/optparse.rst:2062 msgid "" "Adding new actions is a bit trickier, because you have to understand that :" "mod:`!optparse` has a couple of classifications for actions:" msgstr "" -#: ../../library/optparse.rst:2068 +#: ../../library/optparse.rst:2065 msgid "\"store\" actions" msgstr "" -#: ../../library/optparse.rst:2069 +#: ../../library/optparse.rst:2066 msgid "" "actions that result in :mod:`!optparse` storing a value to an attribute of " "the current OptionValues instance; these options require a :attr:`~Option." "dest` attribute to be supplied to the Option constructor." msgstr "" -#: ../../library/optparse.rst:2073 +#: ../../library/optparse.rst:2070 msgid "\"typed\" actions" msgstr "" -#: ../../library/optparse.rst:2074 +#: ../../library/optparse.rst:2071 msgid "" "actions that take a value from the command line and expect it to be of a " "certain type; or rather, a string that can be converted to a certain type. " @@ -3216,7 +3211,7 @@ msgid "" "constructor." msgstr "" -#: ../../library/optparse.rst:2079 +#: ../../library/optparse.rst:2076 msgid "" "These are overlapping sets: some default \"store\" actions are " "``\"store\"``, ``\"store_const\"``, ``\"append\"``, and ``\"count\"``, while " @@ -3224,25 +3219,25 @@ msgid "" "``\"callback\"``." msgstr "" -#: ../../library/optparse.rst:2083 +#: ../../library/optparse.rst:2080 msgid "" "When you add an action, you need to categorize it by listing it in at least " "one of the following class attributes of Option (all are lists of strings):" msgstr "" -#: ../../library/optparse.rst:2088 +#: ../../library/optparse.rst:2085 msgid "All actions must be listed in ACTIONS." msgstr "" -#: ../../library/optparse.rst:2092 +#: ../../library/optparse.rst:2089 msgid "\"store\" actions are additionally listed here." msgstr "" -#: ../../library/optparse.rst:2096 +#: ../../library/optparse.rst:2093 msgid "\"typed\" actions are additionally listed here." msgstr "" -#: ../../library/optparse.rst:2100 +#: ../../library/optparse.rst:2097 msgid "" "Actions that always take a type (i.e. whose options always take a value) are " "additionally listed here. The only effect of this is that :mod:`!optparse` " @@ -3250,13 +3245,13 @@ msgid "" "whose action is listed in :attr:`ALWAYS_TYPED_ACTIONS`." msgstr "" -#: ../../library/optparse.rst:2105 +#: ../../library/optparse.rst:2102 msgid "" "In order to actually implement your new action, you must override Option's :" "meth:`take_action` method and add a case that recognizes your action." msgstr "" -#: ../../library/optparse.rst:2108 +#: ../../library/optparse.rst:2105 msgid "" "For example, let's add an ``\"extend\"`` action. This is similar to the " "standard ``\"append\"`` action, but instead of taking a single value from " @@ -3266,23 +3261,23 @@ msgid "" "option of type ``\"string\"``, the command line ::" msgstr "" -#: ../../library/optparse.rst:2115 +#: ../../library/optparse.rst:2112 msgid "--names=foo,bar --names blah --names ding,dong" msgstr "" -#: ../../library/optparse.rst:2117 +#: ../../library/optparse.rst:2114 msgid "would result in a list ::" msgstr "" -#: ../../library/optparse.rst:2119 +#: ../../library/optparse.rst:2116 msgid "[\"foo\", \"bar\", \"blah\", \"ding\", \"dong\"]" msgstr "" -#: ../../library/optparse.rst:2121 +#: ../../library/optparse.rst:2118 msgid "Again we define a subclass of Option::" msgstr "" -#: ../../library/optparse.rst:2123 +#: ../../library/optparse.rst:2120 msgid "" "class MyOption(Option):\n" "\n" @@ -3300,43 +3295,43 @@ msgid "" " self, action, dest, opt, value, values, parser)" msgstr "" -#: ../../library/optparse.rst:2138 +#: ../../library/optparse.rst:2135 msgid "Features of note:" msgstr "" -#: ../../library/optparse.rst:2140 +#: ../../library/optparse.rst:2137 msgid "" "``\"extend\"`` both expects a value on the command-line and stores that " "value somewhere, so it goes in both :attr:`~Option.STORE_ACTIONS` and :attr:" "`~Option.TYPED_ACTIONS`." msgstr "" -#: ../../library/optparse.rst:2144 +#: ../../library/optparse.rst:2141 msgid "" "to ensure that :mod:`!optparse` assigns the default type of ``\"string\"`` " "to ``\"extend\"`` actions, we put the ``\"extend\"`` action in :attr:" "`~Option.ALWAYS_TYPED_ACTIONS` as well." msgstr "" -#: ../../library/optparse.rst:2148 +#: ../../library/optparse.rst:2145 msgid "" ":meth:`MyOption.take_action` implements just this one new action, and passes " "control back to :meth:`Option.take_action` for the standard :mod:`!optparse` " "actions." msgstr "" -#: ../../library/optparse.rst:2152 +#: ../../library/optparse.rst:2149 msgid "" "``values`` is an instance of the optparse_parser.Values class, which " "provides the very useful :meth:`ensure_value` method. :meth:`ensure_value` " "is essentially :func:`getattr` with a safety valve; it is called as ::" msgstr "" -#: ../../library/optparse.rst:2156 +#: ../../library/optparse.rst:2153 msgid "values.ensure_value(attr, value)" msgstr "" -#: ../../library/optparse.rst:2158 +#: ../../library/optparse.rst:2155 msgid "" "If the ``attr`` attribute of ``values`` doesn't exist or is ``None``, then " "ensure_value() first sets it to ``value``, and then returns ``value``. This " @@ -3349,28 +3344,28 @@ msgid "" "meth:`ensure_value` will take care of getting it right when it's needed." msgstr "" -#: ../../library/optparse.rst:2169 +#: ../../library/optparse.rst:2166 msgid "Exceptions" msgstr "Ausnahmen" -#: ../../library/optparse.rst:2173 +#: ../../library/optparse.rst:2170 msgid "" "Raised if an :class:`Option` instance is created with invalid or " "inconsistent arguments." msgstr "" -#: ../../library/optparse.rst:2178 +#: ../../library/optparse.rst:2175 msgid "Raised if conflicting options are added to an :class:`OptionParser`." msgstr "" -#: ../../library/optparse.rst:2182 +#: ../../library/optparse.rst:2179 msgid "Raised if an invalid option value is encountered on the command line." msgstr "" -#: ../../library/optparse.rst:2186 +#: ../../library/optparse.rst:2183 msgid "Raised if an invalid option is passed on the command line." msgstr "" -#: ../../library/optparse.rst:2190 +#: ../../library/optparse.rst:2187 msgid "Raised if an ambiguous option is passed on the command line." msgstr "" diff --git a/library/os.po b/library/os.po index 39037707..6577ebea 100644 --- a/library/os.po +++ b/library/os.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-14 20:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -335,7 +335,7 @@ msgstr "" #: ../../library/os.rst:4471 ../../library/os.rst:4480 #: ../../library/os.rst:4489 ../../library/os.rst:4497 #: ../../library/os.rst:4506 ../../library/os.rst:4515 -#: ../../library/os.rst:4587 ../../library/os.rst:4650 +#: ../../library/os.rst:4588 ../../library/os.rst:4650 #: ../../library/os.rst:4660 ../../library/os.rst:4678 #: ../../library/os.rst:4687 ../../library/os.rst:4697 #: ../../library/os.rst:4707 ../../library/os.rst:4717 @@ -4841,9 +4841,9 @@ msgstr "" #: ../../library/os.rst:4555 msgid "" "If *clockid* is :const:`time.CLOCK_REALTIME`, a settable system-wide real-" -"time clock is used. If system clock is changed, timer setting need to be " -"updated. To cancel timer when system clock is changed, see :const:" -"`TFD_TIMER_CANCEL_ON_SET`." +"time clock is used. If the system clock is changed, the timer setting needs " +"to be updated. To cancel the timer when the system clock is changed, see :" +"const:`TFD_TIMER_CANCEL_ON_SET`." msgstr "" #: ../../library/os.rst:4560 @@ -4855,84 +4855,82 @@ msgstr "" #: ../../library/os.rst:4564 msgid "" -"If *clockid* is :const:`time.CLOCK_BOOTTIME`, same as :const:`time." +"If *clockid* is :const:`time.CLOCK_BOOTTIME`, it is the same as :const:`time." "CLOCK_MONOTONIC` except it includes any time that the system is suspended." msgstr "" -#: ../../library/os.rst:4567 +#: ../../library/os.rst:4568 msgid "" "The file descriptor's behaviour can be modified by specifying a *flags* " "value. Any of the following variables may be used, combined using bitwise OR " "(the ``|`` operator):" msgstr "" -#: ../../library/os.rst:4571 +#: ../../library/os.rst:4572 msgid ":const:`TFD_NONBLOCK`" msgstr "" -#: ../../library/os.rst:4572 +#: ../../library/os.rst:4573 msgid ":const:`TFD_CLOEXEC`" msgstr "" -#: ../../library/os.rst:4574 +#: ../../library/os.rst:4575 msgid "" "If :const:`TFD_NONBLOCK` is not set as a flag, :func:`read` blocks until the " -"timer expires. If it is set as a flag, :func:`read` doesn't block, but If " +"timer expires. If it is set as a flag, :func:`read` doesn't block, but if " "there hasn't been an expiration since the last call to read, :func:`read` " -"raises :class:`OSError` with ``errno`` is set to :const:`errno.EAGAIN`." +"raises :class:`OSError` with ``errno`` set to :const:`errno.EAGAIN`." msgstr "" -#: ../../library/os.rst:4580 +#: ../../library/os.rst:4581 msgid ":const:`TFD_CLOEXEC` is always set by Python automatically." msgstr "" -#: ../../library/os.rst:4582 +#: ../../library/os.rst:4583 msgid "" "The file descriptor must be closed with :func:`os.close` when it is no " "longer needed, or else the file descriptor will be leaked." msgstr "" -#: ../../library/os.rst:4585 +#: ../../library/os.rst:4586 msgid "The :manpage:`timerfd_create(2)` man page." msgstr "" -#: ../../library/os.rst:4594 +#: ../../library/os.rst:4595 msgid "" "Alter a timer file descriptor's internal timer. This function operates the " "same interval timer as :func:`timerfd_settime_ns`." msgstr "" -#: ../../library/os.rst:4597 +#: ../../library/os.rst:4598 msgid "*fd* must be a valid timer file descriptor." msgstr "" -#: ../../library/os.rst:4599 +#: ../../library/os.rst:4600 msgid "" "The timer's behaviour can be modified by specifying a *flags* value. Any of " "the following variables may be used, combined using bitwise OR (the ``|`` " "operator):" msgstr "" -#: ../../library/os.rst:4603 +#: ../../library/os.rst:4604 msgid ":const:`TFD_TIMER_ABSTIME`" msgstr "" -#: ../../library/os.rst:4604 +#: ../../library/os.rst:4605 msgid ":const:`TFD_TIMER_CANCEL_ON_SET`" msgstr "" -#: ../../library/os.rst:4606 +#: ../../library/os.rst:4607 msgid "" "The timer is disabled by setting *initial* to zero (``0``). If *initial* is " -"equal to or greater than zero, the timer is enabled. If *initial* is less " -"than zero, it raises an :class:`OSError` exception with ``errno`` set to :" -"const:`errno.EINVAL`" +"greater than zero, the timer is enabled. If *initial* is less than zero, it " +"raises an :class:`OSError` exception with ``errno`` set to :const:`errno." +"EINVAL`." msgstr "" -#: ../../library/os.rst:4611 -msgid "" -"By default the timer will fire when *initial* seconds have elapsed. (If " -"*initial* is zero, timer will fire immediately.)" +#: ../../library/os.rst:4612 +msgid "By default the timer will fire when *initial* seconds have elapsed." msgstr "" #: ../../library/os.rst:4614 @@ -4948,7 +4946,7 @@ msgid "" "zero, the timer only fires once, on the initial expiration. If *interval* is " "greater than zero, the timer fires every time *interval* seconds have " "elapsed since the previous expiration. If *interval* is less than zero, it " -"raises :class:`OSError` with ``errno`` set to :const:`errno.EINVAL`" +"raises :class:`OSError` with ``errno`` set to :const:`errno.EINVAL`." msgstr "" #: ../../library/os.rst:4625 @@ -4956,8 +4954,8 @@ msgid "" "If the :const:`TFD_TIMER_CANCEL_ON_SET` flag is set along with :const:" "`TFD_TIMER_ABSTIME` and the clock for this timer is :const:`time." "CLOCK_REALTIME`, the timer is marked as cancelable if the real-time clock is " -"changed discontinuously. Reading the descriptor is aborted with the error " -"ECANCELED." +"changed discontinuously. Reading the descriptor is aborted with the error :" +"const:`errno.ECANCELED`." msgstr "" #: ../../library/os.rst:4631 diff --git a/library/pyexpat.po b/library/pyexpat.po index f91b7939..6ec208d2 100644 --- a/library/pyexpat.po +++ b/library/pyexpat.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -48,7 +48,8 @@ msgid "" msgstr "" #: ../../library/pyexpat.rst:38 -msgid "This module provides one exception and one type object:" +msgid "" +"This module provides the following exception, type object and data items:" msgstr "" #: ../../library/pyexpat.rst:43 @@ -65,15 +66,37 @@ msgstr "" msgid "The type of the return values from the :func:`ParserCreate` function." msgstr "" -#: ../../library/pyexpat.rst:56 +#: ../../library/pyexpat.rst:59 +msgid "" +"The version string of the Expat library loaded by the interpreter, like " +"``'expat_2.8.4'``." +msgstr "" + +#: ../../library/pyexpat.rst:65 +msgid "" +"The version of the Expat library loaded by the interpreter, as a tuple of " +"three integers: major, minor and micro version." +msgstr "" + +#: ../../library/pyexpat.rst:71 +msgid "" +"The list of the features with which the loaded Expat library was compiled, " +"as ``(name, value)`` pairs. The value is only meaningful for features which " +"have one, like ``'XML_CONTEXT_BYTES'`` or the default protection limits " +"``'XML_BLAP_ACT_THRES'`` and ``'XML_AT_MAX_AMP'``; for other features, like " +"``'XML_DTD'`` and ``'XML_NS'``, the value is ``0`` and only the presence of " +"the name is significant." +msgstr "" + +#: ../../library/pyexpat.rst:79 msgid "The :mod:`!xml.parsers.expat` module contains two functions:" msgstr "" -#: ../../library/pyexpat.rst:61 +#: ../../library/pyexpat.rst:84 msgid "Returns an explanatory string for a given error number *errno*." msgstr "" -#: ../../library/pyexpat.rst:66 +#: ../../library/pyexpat.rst:89 msgid "" "Creates and returns a new :class:`xmlparser` object. *encoding*, if " "specified, must be a string naming the encoding used by the XML data. " @@ -83,7 +106,7 @@ msgid "" "implicit or explicit encoding of the document." msgstr "" -#: ../../library/pyexpat.rst:75 +#: ../../library/pyexpat.rst:98 msgid "" "Parsers created through :func:`!ParserCreate` are called \"root\" parsers, " "in the sense that they do not have any parent parser attached. Non-root " @@ -91,7 +114,7 @@ msgid "" "ExternalEntityParserCreate>`." msgstr "" -#: ../../library/pyexpat.rst:80 +#: ../../library/pyexpat.rst:103 msgid "" "Expat can optionally do XML namespace processing for you, enabled by " "providing a value for *namespace_separator*. The value must be a one-" @@ -106,13 +129,13 @@ msgid "" "concatenated without any separator." msgstr "" -#: ../../library/pyexpat.rst:92 +#: ../../library/pyexpat.rst:115 msgid "" "For example, if *namespace_separator* is set to a space character (``' '``) " "and the following document is parsed:" msgstr "" -#: ../../library/pyexpat.rst:95 +#: ../../library/pyexpat.rst:118 msgid "" "\n" "" msgstr "" -#: ../../library/pyexpat.rst:104 +#: ../../library/pyexpat.rst:127 msgid "" ":attr:`StartElementHandler` will receive the following strings for each " "element::" msgstr "" -#: ../../library/pyexpat.rst:107 +#: ../../library/pyexpat.rst:130 msgid "" "http://default-namespace.org/ root\n" "http://www.python.org/ns/ elem1\n" "elem2" msgstr "" -#: ../../library/pyexpat.rst:111 +#: ../../library/pyexpat.rst:134 +msgid "" +"*intern*, if given, must be a dictionary. It is used to intern the names of " +"elements and attributes, and is available as the :attr:`~xmlparser.intern` " +"attribute. By default a new empty dictionary is created for every parser." +msgstr "" + +#: ../../library/pyexpat.rst:139 msgid "" "Due to limitations in the ``Expat`` library used by :mod:`pyexpat`, the :" "class:`xmlparser` instance returned can only be used to parse a single XML " @@ -143,39 +173,42 @@ msgid "" "instances." msgstr "" -#: ../../library/pyexpat.rst:119 +#: ../../library/pyexpat.rst:147 msgid "`The Expat XML Parser `_" msgstr "" -#: ../../library/pyexpat.rst:120 +#: ../../library/pyexpat.rst:148 msgid "Home page of the Expat project." msgstr "" -#: ../../library/pyexpat.rst:126 +#: ../../library/pyexpat.rst:154 msgid "XMLParser Objects" msgstr "" -#: ../../library/pyexpat.rst:128 +#: ../../library/pyexpat.rst:156 msgid ":class:`xmlparser` objects have the following methods:" msgstr "" -#: ../../library/pyexpat.rst:133 +#: ../../library/pyexpat.rst:161 msgid "" -"Parses the contents of the string *data*, calling the appropriate handler " -"functions to process the parsed data. *isfinal* must be true on the final " -"call to this method; it allows the parsing of a single file in fragments, " -"not the submission of multiple files. *data* can be the empty string at any " -"time." +"Parses the contents of *data*, calling the appropriate handler functions to " +"process the parsed data. *data* can be a :term:`bytes-like object` or a " +"string. If it is a string, the encoding declaration in the XML data is " +"ignored, and the data is parsed as already decoded text. *isfinal* must be " +"true on the final call to this method; it allows the parsing of a single " +"file in fragments, not the submission of multiple files. *data* can be empty " +"at any time." msgstr "" -#: ../../library/pyexpat.rst:142 +#: ../../library/pyexpat.rst:174 msgid "" -"Parse XML data reading from the object *file*. *file* only needs to provide " -"the ``read(nbytes)`` method, returning the empty string when there's no more " -"data." +"Parse XML data reading from the object *file*. *file* only needs to provide " +"the ``read(nbytes)`` method, which returns bytes, and an empty bytes object " +"when there's no more data. Text files are not supported; use :meth:`Parse` " +"for data which is already decoded." msgstr "" -#: ../../library/pyexpat.rst:149 +#: ../../library/pyexpat.rst:183 msgid "" "Sets the base to be used for resolving relative URIs in system identifiers " "in declarations. Resolving relative identifiers is left to the application: " @@ -184,20 +217,23 @@ msgid "" "`UnparsedEntityDeclHandler` functions." msgstr "" -#: ../../library/pyexpat.rst:158 +#: ../../library/pyexpat.rst:192 msgid "" "Returns a string containing the base set by a previous call to :meth:" "`SetBase`, or ``None`` if :meth:`SetBase` hasn't been called." msgstr "" -#: ../../library/pyexpat.rst:164 +#: ../../library/pyexpat.rst:198 msgid "" -"Returns the input data that generated the current event as a string. The " -"data is in the encoding of the entity which contains the text. When called " -"while an event handler is not active, the return value is ``None``." +"Returns the input data which generated the current event as a :class:`bytes` " +"object. The data is in the encoding of the entity which contains the text. " +"It extends to the end of the currently buffered input, therefore it can " +"contain also the data of the following events, and if the event was " +"generated by a large amount of text, not all of it may be available. When " +"called while an event handler is not active, the return value is ``None``." msgstr "" -#: ../../library/pyexpat.rst:171 +#: ../../library/pyexpat.rst:211 msgid "" "Create a \"child\" parser which can be used to parse an external parsed " "entity referred to by content parsed by the parent parser. The *context* " @@ -207,7 +243,7 @@ msgid "" "`specified_attributes` set to the values of this parser." msgstr "" -#: ../../library/pyexpat.rst:180 +#: ../../library/pyexpat.rst:220 msgid "" "Control parsing of parameter entities (including the external DTD subset). " "Possible *flag* values are :const:`XML_PARAM_ENTITY_PARSING_NEVER`, :const:" @@ -216,7 +252,7 @@ msgid "" "successful." msgstr "" -#: ../../library/pyexpat.rst:188 +#: ../../library/pyexpat.rst:228 msgid "" "Calling this with a true value for *flag* (the default) will cause Expat to " "call the :attr:`ExternalEntityRefHandler` with :const:`None` for all " @@ -226,13 +262,13 @@ msgid "" "`EndDoctypeDeclHandler` will not be called." msgstr "" -#: ../../library/pyexpat.rst:195 +#: ../../library/pyexpat.rst:235 msgid "" "Passing a false value for *flag* will cancel a previous call that passed a " "true value, but otherwise has no effect." msgstr "" -#: ../../library/pyexpat.rst:198 +#: ../../library/pyexpat.rst:238 msgid "" "This method can only be called before the :meth:`Parse` or :meth:`ParseFile` " "methods are called; calling it after either of those have been called " @@ -240,14 +276,14 @@ msgid "" "``errors.codes[errors.XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING]``." msgstr "" -#: ../../library/pyexpat.rst:207 +#: ../../library/pyexpat.rst:247 msgid "" "Calling ``SetReparseDeferralEnabled(False)`` has security implications, as " "detailed below; please make sure to understand these consequences prior to " "using the ``SetReparseDeferralEnabled`` method." msgstr "" -#: ../../library/pyexpat.rst:211 +#: ../../library/pyexpat.rst:251 msgid "" "Expat 2.6.0 introduced a security mechanism called \"reparse deferral\" " "where instead of causing denial of service through quadratic runtime from " @@ -262,51 +298,51 @@ msgid "" "``SetReparseDeferralEnabled(True)`` allows re-enabling reparse deferral." msgstr "" -#: ../../library/pyexpat.rst:224 +#: ../../library/pyexpat.rst:264 msgid "" ":meth:`!SetReparseDeferralEnabled` has been backported to some prior " "releases of CPython as a security fix. Check for availability using :func:" "`hasattr` if used in code running across a variety of Python versions." msgstr "" -#: ../../library/pyexpat.rst:233 +#: ../../library/pyexpat.rst:273 msgid "" "Returns whether reparse deferral is currently enabled for the given Expat " "parser instance." msgstr "" -#: ../../library/pyexpat.rst:239 +#: ../../library/pyexpat.rst:279 msgid "" ":class:`!xmlparser` objects have the following methods to tune protections " "against some common XML vulnerabilities." msgstr "" -#: ../../library/pyexpat.rst:244 +#: ../../library/pyexpat.rst:284 msgid "" "Sets the number of output bytes needed to activate protection against " "`billion laughs`_ attacks." msgstr "" -#: ../../library/pyexpat.rst:247 +#: ../../library/pyexpat.rst:287 msgid "" "The number of output bytes includes amplification from entity expansion and " "reading DTD files." msgstr "" -#: ../../library/pyexpat.rst:250 +#: ../../library/pyexpat.rst:290 msgid "" "Parser objects usually have a protection activation threshold of 8 MiB, but " "the actual default value depends on the underlying Expat library." msgstr "" -#: ../../library/pyexpat.rst:253 ../../library/pyexpat.rst:315 +#: ../../library/pyexpat.rst:293 ../../library/pyexpat.rst:355 msgid "" "An :exc:`ExpatError` is raised if this method is called on a |xml-non-root-" "parser| parser. The corresponding :attr:`~ExpatError.lineno` and :attr:" "`~ExpatError.offset` should not be used as they may have no special meaning." msgstr "" -#: ../../library/pyexpat.rst:258 +#: ../../library/pyexpat.rst:298 msgid "" ":meth:`!SetBillionLaughsAttackProtectionActivationThreshold` has been " "backported to some prior releases of CPython as a security fix. Check for " @@ -314,19 +350,19 @@ msgid "" "of Python versions." msgstr "" -#: ../../library/pyexpat.rst:265 +#: ../../library/pyexpat.rst:305 msgid "" "Activation thresholds below 4 MiB are known to break support for DITA 1.3 " "payload and are hence not recommended." msgstr "" -#: ../../library/pyexpat.rst:272 +#: ../../library/pyexpat.rst:312 msgid "" "Sets the maximum tolerated amplification factor for protection against " "`billion laughs`_ attacks." msgstr "" -#: ../../library/pyexpat.rst:275 +#: ../../library/pyexpat.rst:315 msgid "" "The amplification factor is calculated as ``(direct + indirect) / direct`` " "while parsing, where ``direct`` is the number of bytes read from the primary " @@ -334,7 +370,7 @@ msgid "" "expanding entities and reading of external DTD files." msgstr "" -#: ../../library/pyexpat.rst:280 +#: ../../library/pyexpat.rst:320 msgid "" "The *max_factor* value must be a non-NaN :class:`float` value greater than " "or equal to 1.0. Peak amplifications of factor 15,000 for the entire payload " @@ -343,13 +379,13 @@ msgid "" "carefully chosen to avoid false positives." msgstr "" -#: ../../library/pyexpat.rst:286 ../../library/pyexpat.rst:342 +#: ../../library/pyexpat.rst:326 ../../library/pyexpat.rst:382 msgid "" "Parser objects usually have a maximum amplification factor of 100, but the " "actual default value depends on the underlying Expat library." msgstr "" -#: ../../library/pyexpat.rst:289 ../../library/pyexpat.rst:345 +#: ../../library/pyexpat.rst:329 ../../library/pyexpat.rst:385 msgid "" "An :exc:`ExpatError` is raised if this method is called on a |xml-non-root-" "parser| parser or if *max_factor* is outside the valid range. The " @@ -357,7 +393,7 @@ msgid "" "should not be used as they may have no special meaning." msgstr "" -#: ../../library/pyexpat.rst:294 +#: ../../library/pyexpat.rst:334 msgid "" ":meth:`!SetBillionLaughsAttackProtectionMaximumAmplification` has been " "backported to some prior releases of CPython as a security fix. Check for " @@ -365,39 +401,39 @@ msgid "" "of Python versions." msgstr "" -#: ../../library/pyexpat.rst:301 +#: ../../library/pyexpat.rst:341 msgid "" "The maximum amplification factor is only considered if the threshold that " "can be adjusted by :meth:`." "SetBillionLaughsAttackProtectionActivationThreshold` is exceeded." msgstr "" -#: ../../library/pyexpat.rst:309 +#: ../../library/pyexpat.rst:349 msgid "" "Sets the number of allocated bytes of dynamic memory needed to activate " "protection against disproportionate use of RAM." msgstr "" -#: ../../library/pyexpat.rst:312 +#: ../../library/pyexpat.rst:352 msgid "" "Parser objects usually have an allocation activation threshold of 64 MiB, " "but the actual default value depends on the underlying Expat library." msgstr "" -#: ../../library/pyexpat.rst:320 +#: ../../library/pyexpat.rst:360 msgid "" ":meth:`!SetAllocTrackerActivationThreshold` has been backported to some " "prior releases of CPython as a security fix. Check for availability using :" "func:`hasattr` if used in code running across a variety of Python versions." msgstr "" -#: ../../library/pyexpat.rst:329 +#: ../../library/pyexpat.rst:369 msgid "" "Sets the maximum amplification factor between direct input and bytes of " "dynamic memory allocated." msgstr "" -#: ../../library/pyexpat.rst:332 +#: ../../library/pyexpat.rst:372 msgid "" "The amplification factor is calculated as ``allocated / direct`` while " "parsing, where ``direct`` is the number of bytes read from the primary " @@ -405,7 +441,7 @@ msgid "" "memory allocated in the parser hierarchy." msgstr "" -#: ../../library/pyexpat.rst:337 +#: ../../library/pyexpat.rst:377 msgid "" "The *max_factor* value must be a non-NaN :class:`float` value greater than " "or equal to 1.0. Amplification factors greater than 100.0 can be observed " @@ -413,31 +449,31 @@ msgid "" "the activation threshold should be carefully chosen to avoid false positives." msgstr "" -#: ../../library/pyexpat.rst:350 +#: ../../library/pyexpat.rst:390 msgid "" ":meth:`!SetAllocTrackerMaximumAmplification` has been backported to some " "prior releases of CPython as a security fix. Check for availability using :" "func:`hasattr` if used in code running across a variety of Python versions." msgstr "" -#: ../../library/pyexpat.rst:357 +#: ../../library/pyexpat.rst:397 msgid "" "The maximum amplification factor is only considered if the threshold that " "can be adjusted by :meth:`.SetAllocTrackerActivationThreshold` is exceeded." msgstr "" -#: ../../library/pyexpat.rst:364 +#: ../../library/pyexpat.rst:404 msgid ":class:`xmlparser` objects have the following attributes:" msgstr "" -#: ../../library/pyexpat.rst:369 +#: ../../library/pyexpat.rst:409 msgid "" "The size of the buffer used when :attr:`buffer_text` is true. A new buffer " "size can be set by assigning a new integer value to this attribute. When the " "size is changed, the buffer will be flushed." msgstr "" -#: ../../library/pyexpat.rst:377 +#: ../../library/pyexpat.rst:417 msgid "" "Setting this to true causes the :class:`xmlparser` object to buffer textual " "content returned by Expat to avoid multiple calls to the :meth:" @@ -448,14 +484,14 @@ msgid "" "newlines may be chunked too." msgstr "" -#: ../../library/pyexpat.rst:388 +#: ../../library/pyexpat.rst:428 msgid "" "If :attr:`buffer_text` is enabled, the number of bytes stored in the buffer. " "These bytes represent UTF-8 encoded text. This attribute has no meaningful " "interpretation when :attr:`buffer_text` is false." msgstr "" -#: ../../library/pyexpat.rst:395 +#: ../../library/pyexpat.rst:435 msgid "" "Setting this attribute to a non-zero integer causes the attributes to be " "reported as a list rather than a dictionary. The attributes are presented " @@ -465,7 +501,7 @@ msgid "" "is false; it may be changed at any time." msgstr "" -#: ../../library/pyexpat.rst:405 +#: ../../library/pyexpat.rst:445 msgid "" "If set to a non-zero integer, the parser will report only those attributes " "which were specified in the document instance and not those which were " @@ -476,7 +512,22 @@ msgid "" "time." msgstr "" -#: ../../library/pyexpat.rst:413 +#: ../../library/pyexpat.rst:455 +msgid "" +"The dictionary used to intern the names of elements and attributes. It is " +"either the dictionary passed as the *intern* argument of :func:" +"`ParserCreate`, or a new dictionary created for this parser." +msgstr "" + +#: ../../library/pyexpat.rst:462 +msgid "" +"If set to a true value, and namespace processing is enabled, the namespace " +"prefix is reported as the third part of the expanded name, separated by the " +"namespace separator. Names which have no prefix are not affected. By " +"default, this attribute is false; it may be changed at any time." +msgstr "" + +#: ../../library/pyexpat.rst:469 msgid "" "The following attributes contain values relating to the most recent error " "encountered by an :class:`xmlparser` object, and will only have correct " @@ -484,26 +535,26 @@ msgid "" "`xml.parsers.expat.ExpatError` exception." msgstr "" -#: ../../library/pyexpat.rst:421 +#: ../../library/pyexpat.rst:477 msgid "Byte index at which an error occurred." msgstr "" -#: ../../library/pyexpat.rst:426 +#: ../../library/pyexpat.rst:482 msgid "" "Numeric code specifying the problem. This value can be passed to the :func:" "`ErrorString` function, or compared to one of the constants defined in the " "``errors`` object." msgstr "" -#: ../../library/pyexpat.rst:433 +#: ../../library/pyexpat.rst:489 msgid "Column number at which an error occurred." msgstr "" -#: ../../library/pyexpat.rst:438 +#: ../../library/pyexpat.rst:494 msgid "Line number at which an error occurred." msgstr "" -#: ../../library/pyexpat.rst:440 +#: ../../library/pyexpat.rst:496 msgid "" "The following attributes contain values relating to the current parse " "location in an :class:`xmlparser` object. During a callback reporting a " @@ -513,19 +564,19 @@ msgid "" "whether there was an associated callback)." msgstr "" -#: ../../library/pyexpat.rst:450 +#: ../../library/pyexpat.rst:506 msgid "Current byte index in the parser input." msgstr "" -#: ../../library/pyexpat.rst:455 +#: ../../library/pyexpat.rst:511 msgid "Current column number in the parser input." msgstr "" -#: ../../library/pyexpat.rst:460 +#: ../../library/pyexpat.rst:516 msgid "Current line number in the parser input." msgstr "" -#: ../../library/pyexpat.rst:462 +#: ../../library/pyexpat.rst:518 msgid "" "Here is the list of handlers that can be set. To set a handler on an :class:" "`xmlparser` object *o*, use ``o.handlername = func``. *handlername* must be " @@ -534,55 +585,52 @@ msgid "" "unless otherwise stated." msgstr "" -#: ../../library/pyexpat.rst:471 +#: ../../library/pyexpat.rst:527 msgid "" "Called when the XML declaration is parsed. The XML declaration is the " "(optional) declaration of the applicable version of the XML recommendation, " "the encoding of the document text, and an optional \"standalone\" " "declaration. *version* and *encoding* will be strings, and *standalone* will " "be ``1`` if the document is declared standalone, ``0`` if it is declared not " -"to be standalone, or ``-1`` if the standalone clause was omitted. This is " -"only available with Expat version 1.95.0 or newer." +"to be standalone, or ``-1`` if the standalone clause was omitted." msgstr "" -#: ../../library/pyexpat.rst:482 +#: ../../library/pyexpat.rst:537 msgid "" "Called when Expat begins parsing the document type declaration (``'``." msgstr "" -#: ../../library/pyexpat.rst:599 +#: ../../library/pyexpat.rst:655 msgid "" "Called at the start of a CDATA section. This and :attr:" "`EndCdataSectionHandler` are needed to be able to identify the syntactical " "start and end for CDATA sections." msgstr "" -#: ../../library/pyexpat.rst:606 +#: ../../library/pyexpat.rst:662 msgid "Called at the end of a CDATA section." msgstr "" -#: ../../library/pyexpat.rst:611 +#: ../../library/pyexpat.rst:667 msgid "" "Called for any characters in the XML document for which no applicable " "handler has been specified. This means characters that are part of a " @@ -679,14 +726,14 @@ msgid "" "supplied." msgstr "" -#: ../../library/pyexpat.rst:618 +#: ../../library/pyexpat.rst:674 msgid "" -"This is the same as the :func:`DefaultHandler`, but doesn't inhibit " +"This is the same as the :attr:`DefaultHandler`, but doesn't inhibit " "expansion of internal entities. The entity reference will not be passed to " "the default handler." msgstr "" -#: ../../library/pyexpat.rst:625 +#: ../../library/pyexpat.rst:681 msgid "" "Called if the XML document hasn't been declared as being a standalone " "document. This happens when there is an external subset or a reference to a " @@ -696,7 +743,7 @@ msgid "" "set, no exception is raised by the parser for this condition." msgstr "" -#: ../../library/pyexpat.rst:637 +#: ../../library/pyexpat.rst:693 msgid "" "Implementing a handler that accesses local files and/or the network may " "create a vulnerability to `external entity attacks `_ before implementing this handler." msgstr "" -#: ../../library/pyexpat.rst:644 +#: ../../library/pyexpat.rst:700 msgid "" "Called for references to external entities. *base* is the current base, as " "set by a previous call to :meth:`SetBase`. The public and system " @@ -714,7 +761,7 @@ msgid "" "is opaque and should only be used as described below." msgstr "" -#: ../../library/pyexpat.rst:650 +#: ../../library/pyexpat.rst:706 msgid "" "For external entities to be parsed, this handler must be implemented. It is " "responsible for creating the sub-parser using " @@ -724,28 +771,36 @@ msgid "" "`XML_ERROR_EXTERNAL_ENTITY_HANDLING` error, otherwise parsing will continue." msgstr "" -#: ../../library/pyexpat.rst:658 +#: ../../library/pyexpat.rst:714 msgid "" "If this handler is not provided, external entities are reported by the :attr:" "`DefaultHandler` callback, if provided." msgstr "" -#: ../../library/pyexpat.rst:665 +#: ../../library/pyexpat.rst:720 +msgid "" +"Called for entity references which are not expanded, because the parser did " +"not read the declaration of the entity. This happens when the external DTD " +"subset or an external parameter entity is not parsed. *is_parameter_entity* " +"is true for a parameter entity and false for a general entity." +msgstr "" + +#: ../../library/pyexpat.rst:731 msgid "ExpatError Exceptions" msgstr "" -#: ../../library/pyexpat.rst:667 +#: ../../library/pyexpat.rst:733 msgid ":exc:`ExpatError` exceptions have a number of interesting attributes:" msgstr "" -#: ../../library/pyexpat.rst:672 +#: ../../library/pyexpat.rst:738 msgid "" "Expat's internal error number for the specific error. The :data:`errors." "messages ` dictionary maps these error " "numbers to Expat's error messages. For example::" msgstr "" -#: ../../library/pyexpat.rst:676 +#: ../../library/pyexpat.rst:742 msgid "" "from xml.parsers.expat import ParserCreate, ExpatError, errors\n" "\n" @@ -756,36 +811,36 @@ msgid "" " print(\"Error:\", errors.messages[err.code])" msgstr "" -#: ../../library/pyexpat.rst:684 +#: ../../library/pyexpat.rst:750 msgid "" "The :mod:`~xml.parsers.expat.errors` module also provides error message " "constants and a dictionary :data:`~xml.parsers.expat.errors.codes` mapping " "these messages back to the error codes, see below." msgstr "" -#: ../../library/pyexpat.rst:691 +#: ../../library/pyexpat.rst:757 msgid "" "Line number on which the error was detected. The first line is numbered " "``1``." msgstr "" -#: ../../library/pyexpat.rst:696 +#: ../../library/pyexpat.rst:762 msgid "" "Character offset into the line where the error occurred. The first column " "is numbered ``0``." msgstr "" -#: ../../library/pyexpat.rst:703 +#: ../../library/pyexpat.rst:769 msgid "Example" msgstr "" -#: ../../library/pyexpat.rst:705 +#: ../../library/pyexpat.rst:771 msgid "" "The following program defines three handlers that just print out their " "arguments. ::" msgstr "" -#: ../../library/pyexpat.rst:708 +#: ../../library/pyexpat.rst:774 msgid "" "import xml.parsers.expat\n" "\n" @@ -809,11 +864,11 @@ msgid "" "\"\"\", 1)" msgstr "" -#: ../../library/pyexpat.rst:729 +#: ../../library/pyexpat.rst:795 msgid "The output from this program is::" msgstr "" -#: ../../library/pyexpat.rst:731 +#: ../../library/pyexpat.rst:797 msgid "" "Start element: parent {'id': 'top'}\n" "Start element: child1 {'name': 'paul'}\n" @@ -827,76 +882,87 @@ msgid "" "End element: parent" msgstr "" -#: ../../library/pyexpat.rst:746 +#: ../../library/pyexpat.rst:812 msgid "Content Model Descriptions" msgstr "" -#: ../../library/pyexpat.rst:750 +#: ../../library/pyexpat.rst:816 msgid "" "Content models are described using nested tuples. Each tuple contains four " "values: the type, the quantifier, the name, and a tuple of children. " "Children are simply additional content model descriptions." msgstr "" -#: ../../library/pyexpat.rst:754 +#: ../../library/pyexpat.rst:820 msgid "" "The values of the first two fields are constants defined in the :mod:`!xml." "parsers.expat.model` module. These constants can be collected in two " "groups: the model type group and the quantifier group." msgstr "" -#: ../../library/pyexpat.rst:758 +#: ../../library/pyexpat.rst:824 msgid "The constants in the model type group are:" msgstr "" -#: ../../library/pyexpat.rst:764 +#: ../../library/pyexpat.rst:829 msgid "" "The element named by the model name was declared to have a content model of " "``ANY``." msgstr "" -#: ../../library/pyexpat.rst:771 +#: ../../library/pyexpat.rst:835 msgid "" "The named element allows a choice from a number of options; this is used for " "content models such as ``(A | B | C)``." msgstr "" -#: ../../library/pyexpat.rst:778 +#: ../../library/pyexpat.rst:841 msgid "Elements which are declared to be ``EMPTY`` have this model type." msgstr "" -#: ../../library/pyexpat.rst:792 +#: ../../library/pyexpat.rst:846 +msgid "" +"The named element allows character data, optionally interspersed with the " +"named children; this is used for content models such as ``(#PCDATA)`` and " +"``(#PCDATA | A | B)*``." +msgstr "" + +#: ../../library/pyexpat.rst:853 +msgid "The model names a single element, as for ``A``." +msgstr "" + +#: ../../library/pyexpat.rst:858 msgid "" "Models which represent a series of models which follow one after the other " "are indicated with this model type. This is used for models such as ``(A, " "B, C)``." msgstr "" -#: ../../library/pyexpat.rst:795 +#: ../../library/pyexpat.rst:861 msgid "The constants in the quantifier group are:" msgstr "" -#: ../../library/pyexpat.rst:801 +#: ../../library/pyexpat.rst:866 msgid "No modifier is given, so it can appear exactly once, as for ``A``." msgstr "" -#: ../../library/pyexpat.rst:807 +#: ../../library/pyexpat.rst:871 msgid "The model is optional: it can appear once or not at all, as for ``A?``." msgstr "" -#: ../../library/pyexpat.rst:813 +#: ../../library/pyexpat.rst:876 msgid "The model must occur one or more times (like ``A+``)." msgstr "" -#: ../../library/pyexpat.rst:819 +#: ../../library/pyexpat.rst:881 msgid "The model must occur zero or more times, as for ``A*``." msgstr "" -#: ../../library/pyexpat.rst:825 +#: ../../library/pyexpat.rst:887 msgid "Expat error constants" msgstr "" -#: ../../library/pyexpat.rst:829 +#: ../../library/pyexpat.rst:891 msgid "" "The following constants are provided in the :mod:`!xml.parsers.expat.errors` " "module. These constants are useful in interpreting some of the attributes " @@ -907,210 +973,210 @@ msgid "" "XML_ERROR_{CONSTANT_NAME}]`." msgstr "" -#: ../../library/pyexpat.rst:837 +#: ../../library/pyexpat.rst:899 msgid "The ``errors`` module has the following attributes:" msgstr "" -#: ../../library/pyexpat.rst:841 +#: ../../library/pyexpat.rst:903 msgid "A dictionary mapping string descriptions to their error codes." msgstr "" -#: ../../library/pyexpat.rst:848 +#: ../../library/pyexpat.rst:910 msgid "A dictionary mapping numeric error codes to their string descriptions." msgstr "" -#: ../../library/pyexpat.rst:858 +#: ../../library/pyexpat.rst:920 msgid "" "An entity reference in an attribute value referred to an external entity " "instead of an internal entity." msgstr "" -#: ../../library/pyexpat.rst:864 +#: ../../library/pyexpat.rst:926 msgid "" "A character reference referred to a character which is illegal in XML (for " "example, character ``0``, or '``�``')." msgstr "" -#: ../../library/pyexpat.rst:870 +#: ../../library/pyexpat.rst:932 msgid "" "An entity reference referred to an entity which was declared with a " "notation, so cannot be parsed." msgstr "" -#: ../../library/pyexpat.rst:876 +#: ../../library/pyexpat.rst:938 msgid "An attribute was used more than once in a start tag." msgstr "" -#: ../../library/pyexpat.rst:884 +#: ../../library/pyexpat.rst:946 msgid "" "Raised when an input byte could not properly be assigned to a character; for " "example, a NUL byte (value ``0``) in a UTF-8 input stream." msgstr "" -#: ../../library/pyexpat.rst:890 +#: ../../library/pyexpat.rst:952 msgid "Something other than whitespace occurred after the document element." msgstr "" -#: ../../library/pyexpat.rst:895 +#: ../../library/pyexpat.rst:957 msgid "" "An XML declaration was found somewhere other than the start of the input " "data." msgstr "" -#: ../../library/pyexpat.rst:900 +#: ../../library/pyexpat.rst:962 msgid "" "The document contains no elements (XML requires all documents to contain " -"exactly one top-level element).." +"exactly one top-level element)." msgstr "" -#: ../../library/pyexpat.rst:906 +#: ../../library/pyexpat.rst:968 msgid "Expat was not able to allocate memory internally." msgstr "" -#: ../../library/pyexpat.rst:911 +#: ../../library/pyexpat.rst:973 msgid "A parameter entity reference was found where it was not allowed." msgstr "" -#: ../../library/pyexpat.rst:916 +#: ../../library/pyexpat.rst:978 msgid "An incomplete character was found in the input." msgstr "" -#: ../../library/pyexpat.rst:921 +#: ../../library/pyexpat.rst:983 msgid "" "An entity reference contained another reference to the same entity; possibly " "via a different name, and possibly indirectly." msgstr "" -#: ../../library/pyexpat.rst:927 +#: ../../library/pyexpat.rst:989 msgid "Some unspecified syntax error was encountered." msgstr "" -#: ../../library/pyexpat.rst:932 +#: ../../library/pyexpat.rst:994 msgid "An end tag did not match the innermost open start tag." msgstr "" -#: ../../library/pyexpat.rst:937 +#: ../../library/pyexpat.rst:999 msgid "" "Some token (such as a start tag) was not closed before the end of the stream " "or the next token was encountered." msgstr "" -#: ../../library/pyexpat.rst:943 +#: ../../library/pyexpat.rst:1005 msgid "A reference was made to an entity which was not defined." msgstr "" -#: ../../library/pyexpat.rst:948 +#: ../../library/pyexpat.rst:1010 msgid "The document encoding is not supported by Expat." msgstr "" -#: ../../library/pyexpat.rst:953 +#: ../../library/pyexpat.rst:1015 msgid "A CDATA marked section was not closed." msgstr "" -#: ../../library/pyexpat.rst:961 +#: ../../library/pyexpat.rst:1023 msgid "" "The parser determined that the document was not \"standalone\" though it " "declared itself to be in the XML declaration, and the :attr:" "`NotStandaloneHandler` was set and returned ``0``." msgstr "" -#: ../../library/pyexpat.rst:974 +#: ../../library/pyexpat.rst:1036 msgid "" "An operation was requested that requires DTD support to be compiled in, but " "Expat was configured without DTD support. This should never be reported by " "a standard build of the :mod:`!xml.parsers.expat` module." msgstr "" -#: ../../library/pyexpat.rst:981 +#: ../../library/pyexpat.rst:1043 msgid "" "A behavioral change was requested after parsing started that can only be " "changed before parsing has started. This is (currently) only raised by :" "meth:`UseForeignDTD`." msgstr "" -#: ../../library/pyexpat.rst:988 +#: ../../library/pyexpat.rst:1050 msgid "An undeclared prefix was found when namespace processing was enabled." msgstr "" -#: ../../library/pyexpat.rst:993 +#: ../../library/pyexpat.rst:1055 msgid "" "The document attempted to remove the namespace declaration associated with a " "prefix." msgstr "" -#: ../../library/pyexpat.rst:999 +#: ../../library/pyexpat.rst:1061 msgid "A parameter entity contained incomplete markup." msgstr "" -#: ../../library/pyexpat.rst:1004 -msgid "The document contained no document element at all." +#: ../../library/pyexpat.rst:1066 +msgid "There was an error parsing the XML declaration." msgstr "" -#: ../../library/pyexpat.rst:1009 +#: ../../library/pyexpat.rst:1071 msgid "There was an error parsing a text declaration in an external entity." msgstr "" -#: ../../library/pyexpat.rst:1014 +#: ../../library/pyexpat.rst:1076 msgid "Characters were found in the public id that are not allowed." msgstr "" -#: ../../library/pyexpat.rst:1019 +#: ../../library/pyexpat.rst:1081 msgid "" "The requested operation was made on a suspended parser, but isn't allowed. " "This includes attempts to provide additional input or to stop the parser." msgstr "" -#: ../../library/pyexpat.rst:1025 +#: ../../library/pyexpat.rst:1087 msgid "" "An attempt to resume the parser was made when the parser had not been " "suspended." msgstr "" -#: ../../library/pyexpat.rst:1030 ../../library/pyexpat.rst:1063 -#: ../../library/pyexpat.rst:1068 +#: ../../library/pyexpat.rst:1092 ../../library/pyexpat.rst:1125 +#: ../../library/pyexpat.rst:1130 msgid "This should not be reported to Python applications." msgstr "" -#: ../../library/pyexpat.rst:1035 +#: ../../library/pyexpat.rst:1097 msgid "" "The requested operation was made on a parser which was finished parsing " "input, but isn't allowed. This includes attempts to provide additional " "input or to stop the parser." msgstr "" -#: ../../library/pyexpat.rst:1045 +#: ../../library/pyexpat.rst:1107 msgid "" "An attempt was made to undeclare reserved namespace prefix ``xml`` or to " "bind it to another namespace URI." msgstr "" -#: ../../library/pyexpat.rst:1052 +#: ../../library/pyexpat.rst:1114 msgid "" "An attempt was made to declare or undeclare reserved namespace prefix " "``xmlns``." msgstr "" -#: ../../library/pyexpat.rst:1057 +#: ../../library/pyexpat.rst:1119 msgid "" "An attempt was made to bind the URI of one the reserved namespace prefixes " "``xml`` and ``xmlns`` to another namespace prefix." msgstr "" -#: ../../library/pyexpat.rst:1073 +#: ../../library/pyexpat.rst:1135 msgid "" "The limit on input amplification factor (from DTD and entities) has been " "breached." msgstr "" -#: ../../library/pyexpat.rst:1079 +#: ../../library/pyexpat.rst:1141 msgid "The parser was tried to be stopped or suspended before it started." msgstr "" -#: ../../library/pyexpat.rst:1085 +#: ../../library/pyexpat.rst:1147 msgid "Footnotes" msgstr "Fußnoten" -#: ../../library/pyexpat.rst:1086 +#: ../../library/pyexpat.rst:1148 msgid "" "The encoding string included in XML output should conform to the appropriate " "standards. For example, \"UTF-8\" is valid, but \"UTF8\" is not. See https://" diff --git a/library/ssl.po b/library/ssl.po index 6332dfe9..b0838793 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -601,7 +601,7 @@ msgid "" msgstr "" #: ../../library/ssl.rst:465 ../../library/ssl.rst:1661 -#: ../../library/ssl.rst:2036 +#: ../../library/ssl.rst:2058 msgid "Example::" msgstr "Beispiel::" @@ -649,7 +649,7 @@ msgid "" "does not send any for client cert authentication." msgstr "" -#: ../../library/ssl.rst:509 ../../library/ssl.rst:2538 +#: ../../library/ssl.rst:509 ../../library/ssl.rst:2560 msgid "See the discussion of :ref:`ssl-security` below." msgstr "" @@ -2196,6 +2196,14 @@ msgstr "" #: ../../library/ssl.rst:1850 msgid "" +"If the callback assigns a new context to :attr:`SSLSocket.context`, any " +"further ClientHello message on the same connection (for example after a TLS " +"1.3 HelloRetryRequest) is dispatched to the new context's *sni_callback*, if " +"it has one; the original callback is not called again for that connection." +msgstr "" + +#: ../../library/ssl.rst:1856 +msgid "" "Due to the early negotiation phase of the TLS connection, only limited " "methods and attributes are usable like :meth:`SSLSocket." "selected_alpn_protocol` and :attr:`SSLSocket.context`. The :meth:`SSLSocket." @@ -2206,7 +2214,7 @@ msgid "" "they be called safely." msgstr "" -#: ../../library/ssl.rst:1859 +#: ../../library/ssl.rst:1865 msgid "" "The *sni_callback* function must return ``None`` to allow the TLS " "negotiation to continue. If a TLS failure is required, a constant :const:" @@ -2215,20 +2223,27 @@ msgid "" "`ALERT_DESCRIPTION_INTERNAL_ERROR`." msgstr "" -#: ../../library/ssl.rst:1865 +#: ../../library/ssl.rst:1871 msgid "" "If an exception is raised from the *sni_callback* function the TLS " "connection will terminate with a fatal TLS alert message :const:" "`ALERT_DESCRIPTION_HANDSHAKE_FAILURE`." msgstr "" -#: ../../library/ssl.rst:1869 +#: ../../library/ssl.rst:1875 msgid "" "This method will raise :exc:`NotImplementedError` if the OpenSSL library had " "OPENSSL_NO_TLSEXT defined when it was built." msgstr "" -#: ../../library/ssl.rst:1876 +#: ../../library/ssl.rst:1880 +msgid "" +"After the callback assigns a new :attr:`SSLSocket.context`, later " +"ClientHello messages on the connection are dispatched to the new context's " +"*sni_callback*." +msgstr "" + +#: ../../library/ssl.rst:1887 msgid "" "This is a legacy API retained for backwards compatibility. When possible, " "you should use :attr:`sni_callback` instead. The given " @@ -2237,14 +2252,14 @@ msgid "" "*server_name_callback* receives a decoded U-label (``\"pythön.org\"``)." msgstr "" -#: ../../library/ssl.rst:1882 +#: ../../library/ssl.rst:1893 msgid "" "If there is a decoding error on the server name, the TLS connection will " "terminate with an :const:`ALERT_DESCRIPTION_INTERNAL_ERROR` fatal TLS alert " "message to the client." msgstr "" -#: ../../library/ssl.rst:1890 +#: ../../library/ssl.rst:1901 msgid "" "Load the key generation parameters for Diffie-Hellman (DH) key exchange. " "Using DH key exchange improves forward secrecy at the expense of " @@ -2253,13 +2268,13 @@ msgid "" "format." msgstr "" -#: ../../library/ssl.rst:1896 +#: ../../library/ssl.rst:1907 msgid "" "This setting doesn't apply to client sockets. You can also use the :data:" "`OP_SINGLE_DH_USE` option to further improve security." msgstr "" -#: ../../library/ssl.rst:1903 +#: ../../library/ssl.rst:1914 msgid "" "Set the curve name for Elliptic Curve-based Diffie-Hellman (ECDH) key " "exchange. ECDH is significantly faster than regular DH while arguably as " @@ -2268,27 +2283,27 @@ msgid "" "curve." msgstr "" -#: ../../library/ssl.rst:1909 +#: ../../library/ssl.rst:1920 msgid "" "This setting doesn't apply to client sockets. You can also use the :data:" "`OP_SINGLE_ECDH_USE` option to further improve security." msgstr "" -#: ../../library/ssl.rst:1912 +#: ../../library/ssl.rst:1923 msgid "This method is not available if :data:`HAS_ECDH` is ``False``." msgstr "" -#: ../../library/ssl.rst:1917 +#: ../../library/ssl.rst:1928 msgid "" "`SSL/TLS & Perfect Forward Secrecy `_" msgstr "" -#: ../../library/ssl.rst:1918 +#: ../../library/ssl.rst:1929 msgid "Vincent Bernat." msgstr "" -#: ../../library/ssl.rst:1924 +#: ../../library/ssl.rst:1935 msgid "" "Wrap an existing Python socket *sock* and return an instance of :attr:" "`SSLContext.sslsocket_class` (default :class:`SSLSocket`). The returned SSL " @@ -2296,13 +2311,13 @@ msgid "" "a :const:`~socket.SOCK_STREAM` socket; other socket types are unsupported." msgstr "" -#: ../../library/ssl.rst:1930 +#: ../../library/ssl.rst:1941 msgid "" "The parameter ``server_side`` is a boolean which identifies whether server-" "side or client-side behavior is desired from this socket." msgstr "" -#: ../../library/ssl.rst:1933 +#: ../../library/ssl.rst:1944 msgid "" "For client-side sockets, the context construction is lazy; if the underlying " "socket isn't connected yet, the context construction will be performed " @@ -2313,7 +2328,7 @@ msgid "" "exc:`SSLError`." msgstr "" -#: ../../library/ssl.rst:1941 +#: ../../library/ssl.rst:1952 msgid "" "On client connections, the optional parameter *server_hostname* specifies " "the hostname of the service which we are connecting to. This allows a " @@ -2322,7 +2337,7 @@ msgid "" "*server_hostname* will raise a :exc:`ValueError` if *server_side* is true." msgstr "" -#: ../../library/ssl.rst:1947 +#: ../../library/ssl.rst:1958 msgid "" "The parameter ``do_handshake_on_connect`` specifies whether to do the SSL " "handshake automatically after doing a :meth:`socket.connect`, or whether the " @@ -2332,7 +2347,7 @@ msgid "" "socket I/O involved in the handshake." msgstr "" -#: ../../library/ssl.rst:1954 +#: ../../library/ssl.rst:1965 msgid "" "The parameter ``suppress_ragged_eofs`` specifies how the :meth:`SSLSocket." "recv` method should signal unexpected EOF from the other end of the " @@ -2342,40 +2357,40 @@ msgid "" "exceptions back to the caller." msgstr "" -#: ../../library/ssl.rst:1961 +#: ../../library/ssl.rst:1972 msgid "*session*, see :attr:`~SSLSocket.session`." msgstr "" -#: ../../library/ssl.rst:1963 +#: ../../library/ssl.rst:1974 msgid "" "To wrap an :class:`SSLSocket` in another :class:`SSLSocket`, use :meth:" "`SSLContext.wrap_bio`." msgstr "" -#: ../../library/ssl.rst:1966 +#: ../../library/ssl.rst:1977 msgid "" "Always allow a server_hostname to be passed, even if OpenSSL does not have " "SNI." msgstr "" -#: ../../library/ssl.rst:1970 ../../library/ssl.rst:1997 +#: ../../library/ssl.rst:1981 ../../library/ssl.rst:2012 msgid "*session* argument was added." msgstr "" -#: ../../library/ssl.rst:1973 +#: ../../library/ssl.rst:1984 msgid "" "The method returns an instance of :attr:`SSLContext.sslsocket_class` instead " "of hard-coded :class:`SSLSocket`." msgstr "" -#: ../../library/ssl.rst:1979 +#: ../../library/ssl.rst:1990 msgid "" "The return type of :meth:`SSLContext.wrap_socket`, defaults to :class:" "`SSLSocket`. The attribute can be assigned to on instances of :class:" "`SSLContext` in order to return a custom subclass of :class:`SSLSocket`." msgstr "" -#: ../../library/ssl.rst:1989 +#: ../../library/ssl.rst:2000 msgid "" "Wrap the BIO objects *incoming* and *outgoing* and return an instance of :" "attr:`SSLContext.sslobject_class` (default :class:`SSLObject`). The SSL " @@ -2383,26 +2398,38 @@ msgid "" "outgoing BIO." msgstr "" -#: ../../library/ssl.rst:1994 +#: ../../library/ssl.rst:2005 msgid "" "The *server_side*, *server_hostname* and *session* parameters have the same " -"meaning as in :meth:`SSLContext.wrap_socket`." +"meaning as in :meth:`SSLContext.wrap_socket`, and are validated in the same " +"way: in particular a :exc:`ValueError` is raised when :attr:`~SSLContext." +"check_hostname` is enabled but no *server_hostname* is given, since there " +"would be no name to match the peer's certificate against." msgstr "" -#: ../../library/ssl.rst:2000 +#: ../../library/ssl.rst:2015 msgid "" "The method returns an instance of :attr:`SSLContext.sslobject_class` instead " "of hard-coded :class:`SSLObject`." msgstr "" -#: ../../library/ssl.rst:2006 +#: ../../library/ssl.rst:2019 +msgid "" +"The *server_side*, *server_hostname* and *session* parameters are now " +"validated as :meth:`SSLContext.wrap_socket` validates them. Previously a " +"context with :attr:`~SSLContext.check_hostname` enabled and no " +"*server_hostname* was accepted, and verified the certificate chain but never " +"the peer's identity." +msgstr "" + +#: ../../library/ssl.rst:2028 msgid "" "The return type of :meth:`SSLContext.wrap_bio`, defaults to :class:" "`SSLObject`. The attribute can be overridden on instance of class in order " "to return a custom subclass of :class:`SSLObject`." msgstr "" -#: ../../library/ssl.rst:2014 +#: ../../library/ssl.rst:2036 msgid "" "Get statistics about the SSL sessions created or managed by this context. A " "dictionary is returned which maps the names of each `piece of information " @@ -2411,14 +2438,14 @@ msgid "" "the session cache since the context was created::" msgstr "" -#: ../../library/ssl.rst:2019 +#: ../../library/ssl.rst:2041 msgid "" ">>> stats = context.session_stats()\n" ">>> stats['hits'], stats['misses']\n" "(0, 0)" msgstr "" -#: ../../library/ssl.rst:2025 +#: ../../library/ssl.rst:2047 msgid "" "Whether to match the peer cert's hostname in :meth:`SSLSocket.do_handshake`. " "The context's :attr:`~SSLContext.verify_mode` must be set to :data:" @@ -2431,7 +2458,7 @@ msgid "" "With other protocols, hostname checking must be enabled explicitly." msgstr "" -#: ../../library/ssl.rst:2038 +#: ../../library/ssl.rst:2060 msgid "" "import socket, ssl\n" "\n" @@ -2445,7 +2472,7 @@ msgid "" "ssl_sock.connect(('www.verisign.com', 443))" msgstr "" -#: ../../library/ssl.rst:2053 +#: ../../library/ssl.rst:2075 msgid "" ":attr:`~SSLContext.verify_mode` is now automatically changed to :data:" "`CERT_REQUIRED` when hostname checking is enabled and :attr:`~SSLContext." @@ -2453,7 +2480,7 @@ msgid "" "failed with a :exc:`ValueError`." msgstr "" -#: ../../library/ssl.rst:2060 +#: ../../library/ssl.rst:2082 msgid "" "Write TLS keys to a keylog file, whenever key material is generated or " "received. The keylog file is designed for debugging purposes only. The file " @@ -2462,7 +2489,7 @@ msgid "" "synchronized between threads, but not between processes." msgstr "" -#: ../../library/ssl.rst:2070 +#: ../../library/ssl.rst:2092 msgid "" "A :class:`TLSVersion` enum member representing the highest supported TLS " "version. The value defaults to :attr:`TLSVersion.MAXIMUM_SUPPORTED`. The " @@ -2470,7 +2497,7 @@ msgid "" "const:`PROTOCOL_TLS_CLIENT`, and :const:`PROTOCOL_TLS_SERVER`." msgstr "" -#: ../../library/ssl.rst:2075 +#: ../../library/ssl.rst:2097 msgid "" "The attributes :attr:`~SSLContext.maximum_version`, :attr:`~SSLContext." "minimum_version` and :attr:`SSLContext.options` all affect the supported SSL " @@ -2480,38 +2507,38 @@ msgid "" "`TLSVersion.TLSv1_2` will not be able to establish a TLS 1.2 connection." msgstr "" -#: ../../library/ssl.rst:2088 +#: ../../library/ssl.rst:2110 msgid "" "Like :attr:`SSLContext.maximum_version` except it is the lowest supported " "version or :attr:`TLSVersion.MINIMUM_SUPPORTED`." msgstr "" -#: ../../library/ssl.rst:2095 +#: ../../library/ssl.rst:2117 msgid "" "Control the number of TLS 1.3 session tickets of a :const:" "`PROTOCOL_TLS_SERVER` context. The setting has no impact on TLS 1.0 to 1.2 " "connections." msgstr "" -#: ../../library/ssl.rst:2103 +#: ../../library/ssl.rst:2125 msgid "" "An integer representing the set of SSL options enabled on this context. The " "default value is :data:`OP_ALL`, but you can specify other options such as :" "data:`OP_NO_SSLv2` by ORing them together." msgstr "" -#: ../../library/ssl.rst:2107 +#: ../../library/ssl.rst:2129 msgid ":attr:`SSLContext.options` returns :class:`Options` flags:" msgstr "" -#: ../../library/ssl.rst:2115 +#: ../../library/ssl.rst:2137 msgid "" "All ``OP_NO_SSL*`` and ``OP_NO_TLS*`` options have been deprecated since " "Python 3.7. Use :attr:`SSLContext.minimum_version` and :attr:`SSLContext." "maximum_version` instead." msgstr "" -#: ../../library/ssl.rst:2121 +#: ../../library/ssl.rst:2143 msgid "" "Enable TLS 1.3 post-handshake client authentication. Post-handshake auth is " "disabled by default and a server can only request a TLS client certificate " @@ -2519,13 +2546,13 @@ msgid "" "client certificate at any time after the handshake." msgstr "" -#: ../../library/ssl.rst:2126 +#: ../../library/ssl.rst:2148 msgid "" "When enabled on client-side sockets, the client signals the server that it " "supports post-handshake authentication." msgstr "" -#: ../../library/ssl.rst:2129 +#: ../../library/ssl.rst:2151 msgid "" "When enabled on server-side sockets, :attr:`SSLContext.verify_mode` must be " "set to :data:`CERT_OPTIONAL` or :data:`CERT_REQUIRED`, too. The actual " @@ -2533,66 +2560,66 @@ msgid "" "verify_client_post_handshake` is called and some I/O is performed." msgstr "" -#: ../../library/ssl.rst:2139 +#: ../../library/ssl.rst:2161 msgid "" "The protocol version chosen when constructing the context. This attribute " "is read-only." msgstr "" -#: ../../library/ssl.rst:2144 +#: ../../library/ssl.rst:2166 msgid "" "Whether :attr:`~SSLContext.check_hostname` falls back to verify the cert's " "subject common name in the absence of a subject alternative name extension " "(default: true)." msgstr "" -#: ../../library/ssl.rst:2152 +#: ../../library/ssl.rst:2174 msgid "" "The flag had no effect with OpenSSL before version 1.1.1l. Python 3.8.9, " "3.9.3, and 3.10 include workarounds for previous versions." msgstr "" -#: ../../library/ssl.rst:2157 +#: ../../library/ssl.rst:2179 msgid "" "An integer representing the `security level `_ for the context. This attribute is read-" "only." msgstr "" -#: ../../library/ssl.rst:2165 +#: ../../library/ssl.rst:2187 msgid "" "The flags for certificate verification operations. You can set flags like :" "data:`VERIFY_CRL_CHECK_LEAF` by ORing them together. By default OpenSSL does " "neither require nor verify certificate revocation lists (CRLs)." msgstr "" -#: ../../library/ssl.rst:2171 +#: ../../library/ssl.rst:2193 msgid ":attr:`SSLContext.verify_flags` returns :class:`VerifyFlags` flags:" msgstr "" -#: ../../library/ssl.rst:2179 +#: ../../library/ssl.rst:2201 msgid "" "Whether to try to verify other peers' certificates and how to behave if " "verification fails. This attribute must be one of :data:`CERT_NONE`, :data:" "`CERT_OPTIONAL` or :data:`CERT_REQUIRED`." msgstr "" -#: ../../library/ssl.rst:2183 +#: ../../library/ssl.rst:2205 msgid ":attr:`SSLContext.verify_mode` returns :class:`VerifyMode` enum:" msgstr "" -#: ../../library/ssl.rst:2191 +#: ../../library/ssl.rst:2213 msgid "" "Enables TLS-PSK (pre-shared key) authentication on a client-side connection." msgstr "" -#: ../../library/ssl.rst:2193 ../../library/ssl.rst:2242 +#: ../../library/ssl.rst:2215 ../../library/ssl.rst:2264 msgid "" "In general, certificate based authentication should be preferred over this " "method." msgstr "" -#: ../../library/ssl.rst:2195 +#: ../../library/ssl.rst:2217 msgid "" "The parameter ``callback`` is a callable object with the signature: ``def " "callback(hint: str | None) -> tuple[str | None, bytes]``. The ``hint`` " @@ -2604,27 +2631,27 @@ msgid "" "shared key. Return a zero length PSK to reject the connection." msgstr "" -#: ../../library/ssl.rst:2205 ../../library/ssl.rst:2251 +#: ../../library/ssl.rst:2227 ../../library/ssl.rst:2273 msgid "Setting ``callback`` to :const:`None` removes any existing callback." msgstr "" -#: ../../library/ssl.rst:2208 +#: ../../library/ssl.rst:2230 msgid "When using TLS 1.3:" msgstr "" -#: ../../library/ssl.rst:2210 +#: ../../library/ssl.rst:2232 msgid "the ``hint`` parameter is always :const:`None`." msgstr "" -#: ../../library/ssl.rst:2211 +#: ../../library/ssl.rst:2233 msgid "client-identity must be a non-empty string." msgstr "" -#: ../../library/ssl.rst:2213 ../../library/ssl.rst:2260 +#: ../../library/ssl.rst:2235 ../../library/ssl.rst:2282 msgid "Example usage::" msgstr "" -#: ../../library/ssl.rst:2215 +#: ../../library/ssl.rst:2237 msgid "" "context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)\n" "context.check_hostname = False\n" @@ -2645,18 +2672,18 @@ msgid "" "context.set_psk_client_callback(callback)" msgstr "" -#: ../../library/ssl.rst:2233 ../../library/ssl.rst:2278 +#: ../../library/ssl.rst:2255 ../../library/ssl.rst:2300 msgid "" "This method will raise :exc:`NotImplementedError` if :data:`HAS_PSK` is " "``False``." msgstr "" -#: ../../library/ssl.rst:2240 +#: ../../library/ssl.rst:2262 msgid "" "Enables TLS-PSK (pre-shared key) authentication on a server-side connection." msgstr "" -#: ../../library/ssl.rst:2244 +#: ../../library/ssl.rst:2266 msgid "" "The parameter ``callback`` is a callable object with the signature: ``def " "callback(identity: str | None) -> bytes``. The ``identity`` parameter is an " @@ -2666,19 +2693,19 @@ msgid "" "connection." msgstr "" -#: ../../library/ssl.rst:2253 +#: ../../library/ssl.rst:2275 msgid "" "The parameter ``identity_hint`` is an optional identity hint string sent to " "the client. The string must be less than or equal to ``256`` octets when " "UTF-8 encoded." msgstr "" -#: ../../library/ssl.rst:2258 +#: ../../library/ssl.rst:2280 msgid "" "When using TLS 1.3 the ``identity_hint`` parameter is not sent to the client." msgstr "" -#: ../../library/ssl.rst:2262 +#: ../../library/ssl.rst:2284 msgid "" "context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)\n" "context.maximum_version = ssl.TLSVersion.TLSv1_2\n" @@ -2697,11 +2724,11 @@ msgid "" "context.set_psk_server_callback(callback, 'ServerId_1')" msgstr "" -#: ../../library/ssl.rst:2290 +#: ../../library/ssl.rst:2312 msgid "Certificates" msgstr "" -#: ../../library/ssl.rst:2292 +#: ../../library/ssl.rst:2314 msgid "" "Certificates in general are part of a public-key / private-key system. In " "this system, each *principal*, (which may be a machine, or a person, or an " @@ -2712,7 +2739,7 @@ msgid "" "other part, and **only** with the other part." msgstr "" -#: ../../library/ssl.rst:2300 +#: ../../library/ssl.rst:2322 msgid "" "A certificate contains information about two principals. It contains the " "name of a *subject*, and the subject's public key. It also contains a " @@ -2726,7 +2753,7 @@ msgid "" "as two fields, called \"notBefore\" and \"notAfter\"." msgstr "" -#: ../../library/ssl.rst:2310 +#: ../../library/ssl.rst:2332 msgid "" "In the Python use of certificates, a client or server can use a certificate " "to prove who they are. The other side of a network connection can also be " @@ -2739,25 +2766,25 @@ msgid "" "take place." msgstr "" -#: ../../library/ssl.rst:2320 +#: ../../library/ssl.rst:2342 msgid "" "Python uses files to contain certificates. They should be formatted as " "\"PEM\" (see :rfc:`1422`), which is a base-64 encoded form wrapped with a " "header line and a footer line::" msgstr "" -#: ../../library/ssl.rst:2324 +#: ../../library/ssl.rst:2346 msgid "" "-----BEGIN CERTIFICATE-----\n" "... (certificate in base64 PEM encoding) ...\n" "-----END CERTIFICATE-----" msgstr "" -#: ../../library/ssl.rst:2329 +#: ../../library/ssl.rst:2351 msgid "Certificate chains" msgstr "" -#: ../../library/ssl.rst:2331 +#: ../../library/ssl.rst:2353 msgid "" "The Python files which contain certificates can contain a sequence of " "certificates, sometimes called a *certificate chain*. This chain should " @@ -2773,7 +2800,7 @@ msgid "" "agency which issued the certification authority's certificate::" msgstr "" -#: ../../library/ssl.rst:2344 +#: ../../library/ssl.rst:2366 msgid "" "-----BEGIN CERTIFICATE-----\n" "... (certificate for your server)...\n" @@ -2786,11 +2813,11 @@ msgid "" "-----END CERTIFICATE-----" msgstr "" -#: ../../library/ssl.rst:2355 +#: ../../library/ssl.rst:2377 msgid "CA certificates" msgstr "" -#: ../../library/ssl.rst:2357 +#: ../../library/ssl.rst:2379 msgid "" "If you are going to require validation of the other side of the connection's " "certificate, you need to provide a \"CA certs\" file, filled with the " @@ -2802,11 +2829,11 @@ msgid "" "create_default_context`." msgstr "" -#: ../../library/ssl.rst:2366 +#: ../../library/ssl.rst:2388 msgid "Combined key and certificate" msgstr "" -#: ../../library/ssl.rst:2368 +#: ../../library/ssl.rst:2390 msgid "" "Often the private key is stored in the same file as the certificate; in this " "case, only the ``certfile`` parameter to :meth:`SSLContext.load_cert_chain` " @@ -2814,7 +2841,7 @@ msgid "" "should come before the first certificate in the certificate chain::" msgstr "" -#: ../../library/ssl.rst:2374 +#: ../../library/ssl.rst:2396 msgid "" "-----BEGIN RSA PRIVATE KEY-----\n" "... (private key in base64 encoding) ...\n" @@ -2824,11 +2851,11 @@ msgid "" "-----END CERTIFICATE-----" msgstr "" -#: ../../library/ssl.rst:2382 +#: ../../library/ssl.rst:2404 msgid "Self-signed certificates" msgstr "" -#: ../../library/ssl.rst:2384 +#: ../../library/ssl.rst:2406 msgid "" "If you are going to create a server that provides SSL-encrypted connection " "services, you will need to acquire a certificate for that service. There " @@ -2838,7 +2865,7 @@ msgid "" "package, using something like the following::" msgstr "" -#: ../../library/ssl.rst:2391 +#: ../../library/ssl.rst:2413 msgid "" "% openssl req -new -x509 -days 365 -nodes -out cert.pem -keyout cert.pem\n" "Generating a 1024 bit RSA private key\n" @@ -2864,28 +2891,28 @@ msgid "" "%" msgstr "" -#: ../../library/ssl.rst:2413 +#: ../../library/ssl.rst:2435 msgid "" "The disadvantage of a self-signed certificate is that it is its own root " "certificate, and no one else will have it in their cache of known (and " "trusted) root certificates." msgstr "" -#: ../../library/ssl.rst:2419 +#: ../../library/ssl.rst:2441 msgid "Examples" msgstr "Beispiele" -#: ../../library/ssl.rst:2422 +#: ../../library/ssl.rst:2444 msgid "Testing for SSL support" msgstr "" -#: ../../library/ssl.rst:2424 +#: ../../library/ssl.rst:2446 msgid "" "To test for the presence of SSL support in a Python installation, user code " "should use the following idiom::" msgstr "" -#: ../../library/ssl.rst:2427 +#: ../../library/ssl.rst:2449 msgid "" "try:\n" " import ssl\n" @@ -2895,40 +2922,40 @@ msgid "" " ... # do something that requires SSL support" msgstr "" -#: ../../library/ssl.rst:2435 +#: ../../library/ssl.rst:2457 msgid "Client-side operation" msgstr "" -#: ../../library/ssl.rst:2437 +#: ../../library/ssl.rst:2459 msgid "" "This example creates a SSL context with the recommended security settings " "for client sockets, including automatic certificate verification::" msgstr "" -#: ../../library/ssl.rst:2440 +#: ../../library/ssl.rst:2462 msgid ">>> context = ssl.create_default_context()" msgstr "" -#: ../../library/ssl.rst:2442 +#: ../../library/ssl.rst:2464 msgid "" "If you prefer to tune security settings yourself, you might create a context " "from scratch (but beware that you might not get the settings right)::" msgstr "" -#: ../../library/ssl.rst:2446 +#: ../../library/ssl.rst:2468 msgid "" ">>> context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)\n" ">>> context.load_verify_locations(\"/etc/ssl/certs/ca-bundle.crt\")" msgstr "" -#: ../../library/ssl.rst:2449 +#: ../../library/ssl.rst:2471 msgid "" "(this snippet assumes your operating system places a bundle of all CA " "certificates in ``/etc/ssl/certs/ca-bundle.crt``; if not, you'll get an " "error and have to adjust the location)" msgstr "" -#: ../../library/ssl.rst:2453 +#: ../../library/ssl.rst:2475 msgid "" "The :data:`PROTOCOL_TLS_CLIENT` protocol configures the context for cert " "validation and hostname verification. :attr:`~SSLContext.verify_mode` is set " @@ -2936,7 +2963,7 @@ msgid "" "``True``. All other protocols create SSL contexts with insecure defaults." msgstr "" -#: ../../library/ssl.rst:2458 +#: ../../library/ssl.rst:2480 msgid "" "When you use the context to connect to a server, :const:`CERT_REQUIRED` and :" "attr:`~SSLContext.check_hostname` validate the server certificate: it " @@ -2945,28 +2972,28 @@ msgid "" "properties like validity and identity of the hostname::" msgstr "" -#: ../../library/ssl.rst:2464 +#: ../../library/ssl.rst:2486 msgid "" ">>> conn = context.wrap_socket(socket.socket(socket.AF_INET),\n" "... server_hostname=\"www.python.org\")\n" ">>> conn.connect((\"www.python.org\", 443))" msgstr "" -#: ../../library/ssl.rst:2468 +#: ../../library/ssl.rst:2490 msgid "You may then fetch the certificate::" msgstr "" -#: ../../library/ssl.rst:2470 +#: ../../library/ssl.rst:2492 msgid ">>> cert = conn.getpeercert()" msgstr "" -#: ../../library/ssl.rst:2472 +#: ../../library/ssl.rst:2494 msgid "" "Visual inspection shows that the certificate does identify the desired " "service (that is, the HTTPS host ``www.python.org``)::" msgstr "" -#: ../../library/ssl.rst:2475 +#: ../../library/ssl.rst:2497 msgid "" ">>> pprint.pprint(cert)\n" "{'OCSP': ('http://ocsp.digicert.com',),\n" @@ -3013,13 +3040,13 @@ msgid "" " 'version': 3}" msgstr "" -#: ../../library/ssl.rst:2515 +#: ../../library/ssl.rst:2537 msgid "" "Now the SSL channel is established and the certificate verified, you can " "proceed to talk with the server::" msgstr "" -#: ../../library/ssl.rst:2518 +#: ../../library/ssl.rst:2540 msgid "" ">>> conn.sendall(b\"HEAD / HTTP/1.0\\r\\nHost: linuxfr.org\\r\\n\\r\\n\")\n" ">>> pprint.pprint(conn.recv(1024).split(b\"\\r\\n\"))\n" @@ -3042,11 +3069,11 @@ msgid "" " b'']" msgstr "" -#: ../../library/ssl.rst:2542 +#: ../../library/ssl.rst:2564 msgid "Server-side operation" msgstr "" -#: ../../library/ssl.rst:2544 +#: ../../library/ssl.rst:2566 msgid "" "For server operation, typically you'll need to have a server certificate, " "and private key, each in a file. You'll first create a context holding the " @@ -3055,7 +3082,7 @@ msgid "" "start waiting for clients to connect::" msgstr "" -#: ../../library/ssl.rst:2550 +#: ../../library/ssl.rst:2572 msgid "" "import socket, ssl\n" "\n" @@ -3067,14 +3094,14 @@ msgid "" "bindsocket.listen(5)" msgstr "" -#: ../../library/ssl.rst:2559 +#: ../../library/ssl.rst:2581 msgid "" "When a client connects, you'll call :meth:`accept` on the socket to get the " "new socket from the other end, and use the context's :meth:`SSLContext." "wrap_socket` method to create a server-side SSL socket for the connection::" msgstr "" -#: ../../library/ssl.rst:2563 +#: ../../library/ssl.rst:2585 msgid "" "while True:\n" " newsocket, fromaddr = bindsocket.accept()\n" @@ -3086,13 +3113,13 @@ msgid "" " connstream.close()" msgstr "" -#: ../../library/ssl.rst:2572 +#: ../../library/ssl.rst:2594 msgid "" "Then you'll read data from the ``connstream`` and do something with it till " "you are finished with the client (or the client is finished with you)::" msgstr "" -#: ../../library/ssl.rst:2575 +#: ../../library/ssl.rst:2597 msgid "" "def deal_with_client(connstream):\n" " data = connstream.recv(1024)\n" @@ -3106,7 +3133,7 @@ msgid "" " # finished with client" msgstr "" -#: ../../library/ssl.rst:2586 +#: ../../library/ssl.rst:2608 msgid "" "And go back to listening for new client connections (of course, a real " "server would probably handle each client connection in a separate thread, or " @@ -3114,18 +3141,18 @@ msgid "" "event loop)." msgstr "" -#: ../../library/ssl.rst:2594 +#: ../../library/ssl.rst:2616 msgid "Notes on non-blocking sockets" msgstr "" -#: ../../library/ssl.rst:2596 +#: ../../library/ssl.rst:2618 msgid "" "SSL sockets behave slightly different than regular sockets in non-blocking " "mode. When working with non-blocking sockets, there are thus several things " "you need to be aware of:" msgstr "" -#: ../../library/ssl.rst:2600 +#: ../../library/ssl.rst:2622 msgid "" "Most :class:`SSLSocket` methods will raise either :exc:`SSLWantWriteError` " "or :exc:`SSLWantReadError` instead of :exc:`BlockingIOError` if an I/O " @@ -3137,13 +3164,13 @@ msgid "" "require a prior *write* to the underlying socket." msgstr "" -#: ../../library/ssl.rst:2612 +#: ../../library/ssl.rst:2634 msgid "" "In earlier Python versions, the :meth:`!SSLSocket.send` method returned zero " "instead of raising :exc:`SSLWantWriteError` or :exc:`SSLWantReadError`." msgstr "" -#: ../../library/ssl.rst:2616 +#: ../../library/ssl.rst:2638 msgid "" "Calling :func:`~select.select` tells you that the OS-level socket can be " "read from (or written to), but it does not imply that there is sufficient " @@ -3153,7 +3180,7 @@ msgid "" "`~select.select`." msgstr "" -#: ../../library/ssl.rst:2623 +#: ../../library/ssl.rst:2645 msgid "" "Conversely, since the SSL layer has its own framing, a SSL socket may still " "have data available for reading without :func:`~select.select` being aware " @@ -3162,13 +3189,13 @@ msgid "" "call if still necessary." msgstr "" -#: ../../library/ssl.rst:2629 +#: ../../library/ssl.rst:2651 msgid "" "(of course, similar provisions apply when using other primitives such as :" "func:`~select.poll`, or those in the :mod:`selectors` module)" msgstr "" -#: ../../library/ssl.rst:2632 +#: ../../library/ssl.rst:2654 msgid "" "The SSL handshake itself will be non-blocking: the :meth:`SSLSocket." "do_handshake` method has to be retried until it returns successfully. Here " @@ -3176,7 +3203,7 @@ msgid "" "readiness::" msgstr "" -#: ../../library/ssl.rst:2637 +#: ../../library/ssl.rst:2659 msgid "" "while True:\n" " try:\n" @@ -3188,7 +3215,7 @@ msgid "" " select.select([], [sock], [])" msgstr "" -#: ../../library/ssl.rst:2648 +#: ../../library/ssl.rst:2670 msgid "" "The :mod:`asyncio` module supports :ref:`non-blocking SSL sockets ` and provides a higher level :ref:`Streams API `. " "This means that for example :meth:`~SSLSocket.read` will raise an :exc:" "`SSLWantReadError` if it needs more data than the incoming BIO has available." msgstr "" -#: ../../library/ssl.rst:2751 +#: ../../library/ssl.rst:2773 msgid "" ":class:`SSLObject` instances must be created with :meth:`~SSLContext." "wrap_bio`. In earlier versions, it was possible to create instances " "directly. This was never documented or officially supported." msgstr "" -#: ../../library/ssl.rst:2757 +#: ../../library/ssl.rst:2779 msgid "" "An SSLObject communicates with the outside world using memory buffers. The " "class :class:`MemoryBIO` provides a memory buffer that can be used for this " "purpose. It wraps an OpenSSL memory BIO (Basic IO) object:" msgstr "" -#: ../../library/ssl.rst:2763 +#: ../../library/ssl.rst:2785 msgid "" "A memory buffer that can be used to pass data between Python and an SSL " "protocol instance." msgstr "" -#: ../../library/ssl.rst:2768 +#: ../../library/ssl.rst:2790 msgid "Return the number of bytes currently in the memory buffer." msgstr "" -#: ../../library/ssl.rst:2772 +#: ../../library/ssl.rst:2794 msgid "" "A boolean indicating whether the memory BIO is current at the end-of-file " "position." msgstr "" -#: ../../library/ssl.rst:2777 +#: ../../library/ssl.rst:2799 msgid "" "Read up to *n* bytes from the memory buffer. If *n* is not specified or " "negative, all bytes are returned." msgstr "" -#: ../../library/ssl.rst:2782 +#: ../../library/ssl.rst:2804 msgid "" "Write the bytes from *buf* to the memory BIO. The *buf* argument must be an " "object supporting the buffer protocol." msgstr "" -#: ../../library/ssl.rst:2785 +#: ../../library/ssl.rst:2807 msgid "" "The return value is the number of bytes written, which is always equal to " "the length of *buf*." msgstr "" -#: ../../library/ssl.rst:2790 +#: ../../library/ssl.rst:2812 msgid "" "Write an EOF marker to the memory BIO. After this method has been called, it " "is illegal to call :meth:`~MemoryBIO.write`. The attribute :attr:`eof` will " "become true after all data currently in the buffer has been read." msgstr "" -#: ../../library/ssl.rst:2796 +#: ../../library/ssl.rst:2818 msgid "SSL session" msgstr "" -#: ../../library/ssl.rst:2802 +#: ../../library/ssl.rst:2824 msgid "Session object used by :attr:`~SSLSocket.session`." msgstr "" -#: ../../library/ssl.rst:2814 +#: ../../library/ssl.rst:2836 msgid "Security considerations" msgstr "" -#: ../../library/ssl.rst:2817 +#: ../../library/ssl.rst:2839 msgid "Best defaults" msgstr "" -#: ../../library/ssl.rst:2819 +#: ../../library/ssl.rst:2841 msgid "" "For **client use**, if you don't have any special requirements for your " "security policy, it is highly recommended that you use the :func:" @@ -3480,13 +3507,13 @@ msgid "" "settings." msgstr "" -#: ../../library/ssl.rst:2826 +#: ../../library/ssl.rst:2848 msgid "" "For example, here is how you would use the :class:`smtplib.SMTP` class to " "create a trusted, secure connection to a SMTP server::" msgstr "" -#: ../../library/ssl.rst:2829 +#: ../../library/ssl.rst:2851 msgid "" ">>> import ssl, smtplib\n" ">>> smtp = smtplib.SMTP(\"mail.python.org\", port=587)\n" @@ -3495,13 +3522,13 @@ msgid "" "(220, b'2.0.0 Ready to start TLS')" msgstr "" -#: ../../library/ssl.rst:2835 +#: ../../library/ssl.rst:2857 msgid "" "If a client certificate is needed for the connection, it can be added with :" "meth:`SSLContext.load_cert_chain`." msgstr "" -#: ../../library/ssl.rst:2838 +#: ../../library/ssl.rst:2860 msgid "" "By contrast, if you create the SSL context by calling the :class:" "`SSLContext` constructor yourself, it will not have certificate validation " @@ -3509,15 +3536,15 @@ msgid "" "paragraphs below to achieve a good security level." msgstr "" -#: ../../library/ssl.rst:2844 +#: ../../library/ssl.rst:2866 msgid "Manual settings" msgstr "" -#: ../../library/ssl.rst:2847 +#: ../../library/ssl.rst:2869 msgid "Verifying certificates" msgstr "" -#: ../../library/ssl.rst:2849 +#: ../../library/ssl.rst:2871 msgid "" "When calling the :class:`SSLContext` constructor directly, :const:" "`CERT_NONE` is the default. Since it does not authenticate the other peer, " @@ -3532,13 +3559,13 @@ msgid "" "enabled." msgstr "" -#: ../../library/ssl.rst:2861 +#: ../../library/ssl.rst:2883 msgid "" "Hostname matchings is now performed by OpenSSL. Python no longer uses :func:" "`!match_hostname`." msgstr "" -#: ../../library/ssl.rst:2865 +#: ../../library/ssl.rst:2887 msgid "" "In server mode, if you want to authenticate your clients using the SSL layer " "(rather than using a higher-level authentication mechanism), you'll also " @@ -3546,11 +3573,11 @@ msgid "" "certificate." msgstr "" -#: ../../library/ssl.rst:2871 +#: ../../library/ssl.rst:2893 msgid "Protocol versions" msgstr "" -#: ../../library/ssl.rst:2873 +#: ../../library/ssl.rst:2895 msgid "" "SSL versions 2 and 3 are considered insecure and are therefore dangerous to " "use. If you want maximum compatibility between clients and servers, it is " @@ -3559,14 +3586,14 @@ msgid "" "by default." msgstr "" -#: ../../library/ssl.rst:2881 +#: ../../library/ssl.rst:2903 msgid "" ">>> client_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)\n" ">>> client_context.minimum_version = ssl.TLSVersion.TLSv1_2\n" ">>> client_context.maximum_version = ssl.TLSVersion.TLSv1_3" msgstr "" -#: ../../library/ssl.rst:2886 +#: ../../library/ssl.rst:2908 msgid "" "The SSL client context created above will only allow TLSv1.2 and TLSv1.3 (if " "supported by your system) connections to a server. :const:" @@ -3574,11 +3601,11 @@ msgid "" "default. You have to load certificates into the context." msgstr "" -#: ../../library/ssl.rst:2893 +#: ../../library/ssl.rst:2915 msgid "Cipher selection" msgstr "" -#: ../../library/ssl.rst:2895 +#: ../../library/ssl.rst:2917 msgid "" "If you have advanced security requirements, fine-tuning of the ciphers " "enabled when negotiating a SSL session is possible through the :meth:" @@ -3591,11 +3618,11 @@ msgid "" "command on your system." msgstr "" -#: ../../library/ssl.rst:2906 +#: ../../library/ssl.rst:2928 msgid "Multi-processing" msgstr "" -#: ../../library/ssl.rst:2908 +#: ../../library/ssl.rst:2930 msgid "" "If using this module as part of a multi-processed application (using, for " "example the :mod:`multiprocessing` or :mod:`concurrent.futures` modules), be " @@ -3606,17 +3633,17 @@ msgid "" "sufficient." msgstr "" -#: ../../library/ssl.rst:2920 +#: ../../library/ssl.rst:2942 msgid "TLS 1.3" msgstr "" -#: ../../library/ssl.rst:2924 +#: ../../library/ssl.rst:2946 msgid "" "The TLS 1.3 protocol behaves slightly differently than previous version of " "TLS/SSL. Some new TLS 1.3 features are not yet available." msgstr "" -#: ../../library/ssl.rst:2927 +#: ../../library/ssl.rst:2949 msgid "" "TLS 1.3 uses a disjunct set of cipher suites. All AES-GCM and ChaCha20 " "cipher suites are enabled by default. To restrict which TLS 1.3 ciphers are " @@ -3629,14 +3656,14 @@ msgid "" "established." msgstr "" -#: ../../library/ssl.rst:2936 +#: ../../library/ssl.rst:2958 msgid "" "Session tickets are no longer sent as part of the initial handshake and are " "handled differently. :attr:`SSLSocket.session` and :class:`SSLSession` are " "not compatible with TLS 1.3." msgstr "" -#: ../../library/ssl.rst:2939 +#: ../../library/ssl.rst:2961 msgid "" "Client-side certificates are also no longer verified during the initial " "handshake. A server can request a certificate at any time. Clients process " @@ -3644,103 +3671,103 @@ msgid "" "server." msgstr "" -#: ../../library/ssl.rst:2943 +#: ../../library/ssl.rst:2965 msgid "" "TLS 1.3 features like early data, deferred TLS client cert request, and " "rekeying are not supported yet." msgstr "" -#: ../../library/ssl.rst:2949 +#: ../../library/ssl.rst:2971 msgid "Class :class:`socket.socket`" msgstr "" -#: ../../library/ssl.rst:2950 +#: ../../library/ssl.rst:2972 msgid "Documentation of underlying :mod:`socket` class" msgstr "" -#: ../../library/ssl.rst:2952 +#: ../../library/ssl.rst:2974 msgid "" "`SSL/TLS Strong Encryption: An Introduction `_" msgstr "" -#: ../../library/ssl.rst:2953 +#: ../../library/ssl.rst:2975 msgid "Intro from the Apache HTTP Server documentation" msgstr "" -#: ../../library/ssl.rst:2955 +#: ../../library/ssl.rst:2977 msgid "" ":rfc:`RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: " "Certificate-Based Key Management <1422>`" msgstr "" -#: ../../library/ssl.rst:2956 +#: ../../library/ssl.rst:2978 msgid "Steve Kent" msgstr "" -#: ../../library/ssl.rst:2958 +#: ../../library/ssl.rst:2980 msgid ":rfc:`RFC 4086: Randomness Requirements for Security <4086>`" msgstr "" -#: ../../library/ssl.rst:2959 +#: ../../library/ssl.rst:2981 msgid "Donald E. Eastlake, Jeffrey I. Schiller, Steve Crocker" msgstr "" -#: ../../library/ssl.rst:2961 +#: ../../library/ssl.rst:2983 msgid "" ":rfc:`RFC 5280: Internet X.509 Public Key Infrastructure Certificate and " "Certificate Revocation List (CRL) Profile <5280>`" msgstr "" -#: ../../library/ssl.rst:2962 +#: ../../library/ssl.rst:2984 msgid "David Cooper et al." msgstr "" -#: ../../library/ssl.rst:2964 +#: ../../library/ssl.rst:2986 msgid "" ":rfc:`RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 " "<5246>`" msgstr "" -#: ../../library/ssl.rst:2965 +#: ../../library/ssl.rst:2987 msgid "Tim Dierks and Eric Rescorla." msgstr "" -#: ../../library/ssl.rst:2967 +#: ../../library/ssl.rst:2989 msgid ":rfc:`RFC 6066: Transport Layer Security (TLS) Extensions <6066>`" msgstr "" -#: ../../library/ssl.rst:2968 +#: ../../library/ssl.rst:2990 msgid "Donald E. Eastlake" msgstr "" -#: ../../library/ssl.rst:2970 +#: ../../library/ssl.rst:2992 msgid "" "`IANA TLS: Transport Layer Security (TLS) Parameters `_" msgstr "" -#: ../../library/ssl.rst:2971 +#: ../../library/ssl.rst:2993 msgid "IANA" msgstr "" -#: ../../library/ssl.rst:2973 +#: ../../library/ssl.rst:2995 msgid "" ":rfc:`RFC 7525: Recommendations for Secure Use of Transport Layer Security " "(TLS) and Datagram Transport Layer Security (DTLS) <7525>`" msgstr "" -#: ../../library/ssl.rst:2974 +#: ../../library/ssl.rst:2996 msgid "IETF" msgstr "" -#: ../../library/ssl.rst:2976 +#: ../../library/ssl.rst:2998 msgid "" "`Mozilla's Server Side TLS recommendations `_" msgstr "" -#: ../../library/ssl.rst:2977 +#: ../../library/ssl.rst:2999 msgid "Mozilla" msgstr "" @@ -3768,10 +3795,10 @@ msgstr "" msgid "Secure Sockets Layer" msgstr "" -#: ../../library/ssl.rst:2283 +#: ../../library/ssl.rst:2305 msgid "certificates" msgstr "" -#: ../../library/ssl.rst:2285 +#: ../../library/ssl.rst:2307 msgid "X509 certificate" msgstr "" diff --git a/library/subprocess.po b/library/subprocess.po index 170c07b9..a884131a 100644 --- a/library/subprocess.po +++ b/library/subprocess.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -307,8 +307,8 @@ msgstr "" #: ../../library/subprocess.rst:239 msgid "" -"Exit status of the child process. If the process exited due to a signal, " -"this will be the negative signal number." +"Exit status of the child process, an integer. If the process exited due to " +"a signal, this will be the negative signal number." msgstr "" #: ../../library/subprocess.rst:248 diff --git a/library/tempfile.po b/library/tempfile.po index 232de407..bf001e3b 100644 --- a/library/tempfile.po +++ b/library/tempfile.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-14 20:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -103,7 +103,7 @@ msgid "" msgstr "" #: ../../library/tempfile.rst:66 ../../library/tempfile.rst:135 -#: ../../library/tempfile.rst:264 +#: ../../library/tempfile.rst:273 msgid "" "Raises an :ref:`auditing event ` ``tempfile.mkstemp`` with " "argument ``fullpath``." @@ -296,21 +296,34 @@ msgid "" "based on other logic." msgstr "" -#: ../../library/tempfile.rst:208 ../../library/tempfile.rst:290 +#: ../../library/tempfile.rst:210 +msgid "" +"Cleanup is not robust against the tree being modified while it is removed. " +"Files outside of the tree may have their permissions and file flags reset." +msgstr "" + +#: ../../library/tempfile.rst:213 +msgid "" +"On systems where :data:`shutil.rmtree.avoids_symlink_attacks` is false, " +"manipulating symbolic links during cleanup may cause files outside of the " +"tree to be removed." +msgstr "" + +#: ../../library/tempfile.rst:217 ../../library/tempfile.rst:299 msgid "" "Raises an :ref:`auditing event ` ``tempfile.mkdtemp`` with " "argument ``fullpath``." msgstr "" -#: ../../library/tempfile.rst:212 +#: ../../library/tempfile.rst:221 msgid "Added *ignore_cleanup_errors* parameter." msgstr "" -#: ../../library/tempfile.rst:215 +#: ../../library/tempfile.rst:224 msgid "Added the *delete* parameter." msgstr "" -#: ../../library/tempfile.rst:221 +#: ../../library/tempfile.rst:230 msgid "" "Creates a temporary file in the most secure manner possible. There are no " "race conditions in the file's creation, assuming that the platform properly " @@ -320,20 +333,20 @@ msgid "" "executable by no one." msgstr "" -#: ../../library/tempfile.rst:228 +#: ../../library/tempfile.rst:237 msgid "" "The file descriptor is :ref:`not inherited by child processes " "`." msgstr "" -#: ../../library/tempfile.rst:230 +#: ../../library/tempfile.rst:239 msgid "" "Unlike :func:`TemporaryFile`, the user of :func:`mkstemp` is responsible for " "closing the file descriptor (for example, using :func:`os.close`) and " "deleting the temporary file (for example, using :func:`os.remove`)." msgstr "" -#: ../../library/tempfile.rst:234 +#: ../../library/tempfile.rst:243 msgid "" "If *suffix* is not ``None``, the file name will end with that suffix, " "otherwise there will be no suffix. :func:`mkstemp` does not put a dot " @@ -341,14 +354,14 @@ msgid "" "beginning of *suffix*." msgstr "" -#: ../../library/tempfile.rst:239 +#: ../../library/tempfile.rst:248 msgid "" "If *prefix* is not ``None``, the file name will begin with that prefix; " "otherwise, a default prefix is used. The default is the return value of :" "func:`gettempprefix` or :func:`gettempprefixb`, as appropriate." msgstr "" -#: ../../library/tempfile.rst:243 +#: ../../library/tempfile.rst:252 msgid "" "If *dir* is not ``None``, the file will be created in that directory; " "otherwise, a default directory is used. The default directory is chosen " @@ -359,7 +372,7 @@ msgid "" "commands via ``os.popen()``." msgstr "" -#: ../../library/tempfile.rst:251 +#: ../../library/tempfile.rst:260 msgid "" "If any of *suffix*, *prefix*, and *dir* are not ``None``, they must be the " "same type. If they are bytes, the returned name will be bytes instead of " @@ -367,20 +380,20 @@ msgid "" "behavior, pass ``suffix=b''``." msgstr "" -#: ../../library/tempfile.rst:257 +#: ../../library/tempfile.rst:266 msgid "" "If *text* is specified and true, the file is opened in text mode. Otherwise, " "(the default) the file is opened in binary mode." msgstr "" -#: ../../library/tempfile.rst:260 +#: ../../library/tempfile.rst:269 msgid "" ":func:`mkstemp` returns a tuple containing an OS-level handle to an open " "file (as would be returned by :func:`os.open`) and the absolute pathname of " "that file, in that order." msgstr "" -#: ../../library/tempfile.rst:266 ../../library/tempfile.rst:292 +#: ../../library/tempfile.rst:275 ../../library/tempfile.rst:301 msgid "" "*suffix*, *prefix*, and *dir* may now be supplied in bytes in order to " "obtain a bytes return value. Prior to this, only str was allowed. *suffix* " @@ -388,111 +401,111 @@ msgid "" "default value to be used." msgstr "" -#: ../../library/tempfile.rst:272 ../../library/tempfile.rst:298 +#: ../../library/tempfile.rst:281 ../../library/tempfile.rst:307 msgid "The *dir* parameter now accepts a :term:`path-like object`." msgstr "" -#: ../../library/tempfile.rst:278 +#: ../../library/tempfile.rst:287 msgid "" "Creates a temporary directory in the most secure manner possible. There are " "no race conditions in the directory's creation. The directory is readable, " "writable, and searchable only by the creating user ID." msgstr "" -#: ../../library/tempfile.rst:282 +#: ../../library/tempfile.rst:291 msgid "" "The user of :func:`mkdtemp` is responsible for deleting the temporary " "directory and its contents when done with it." msgstr "" -#: ../../library/tempfile.rst:285 +#: ../../library/tempfile.rst:294 msgid "" "The *prefix*, *suffix*, and *dir* arguments are the same as for :func:" "`mkstemp`." msgstr "" -#: ../../library/tempfile.rst:288 +#: ../../library/tempfile.rst:297 msgid ":func:`mkdtemp` returns the absolute pathname of the new directory." msgstr "" -#: ../../library/tempfile.rst:301 +#: ../../library/tempfile.rst:310 msgid "" ":func:`mkdtemp` now always returns an absolute path, even if *dir* is " "relative." msgstr "" -#: ../../library/tempfile.rst:307 +#: ../../library/tempfile.rst:316 msgid "" "Return the name of the directory used for temporary files. This defines the " "default value for the *dir* argument to all functions in this module." msgstr "" -#: ../../library/tempfile.rst:311 +#: ../../library/tempfile.rst:320 msgid "" "Python searches a standard list of directories to find one which the calling " "user can create files in. The list is:" msgstr "" -#: ../../library/tempfile.rst:314 +#: ../../library/tempfile.rst:323 msgid "The directory named by the :envvar:`TMPDIR` environment variable." msgstr "" -#: ../../library/tempfile.rst:316 +#: ../../library/tempfile.rst:325 msgid "The directory named by the :envvar:`TEMP` environment variable." msgstr "" -#: ../../library/tempfile.rst:318 +#: ../../library/tempfile.rst:327 msgid "The directory named by the :envvar:`TMP` environment variable." msgstr "" -#: ../../library/tempfile.rst:320 +#: ../../library/tempfile.rst:329 msgid "A platform-specific location:" msgstr "" -#: ../../library/tempfile.rst:322 +#: ../../library/tempfile.rst:331 msgid "" "On Windows, the directories :file:`%USERPROFILE%\\\\AppData\\\\Local\\" "\\Temp`, :file:`%SYSTEMROOT%\\\\Temp`, :file:`C:\\\\TEMP`, :file:`C:\\" "\\TMP`, :file:`\\\\TEMP`, and :file:`\\\\TMP`, in that order." msgstr "" -#: ../../library/tempfile.rst:328 +#: ../../library/tempfile.rst:337 msgid "" "On all other platforms, the directories :file:`/tmp`, :file:`/var/tmp`, and :" "file:`/usr/tmp`, in that order." msgstr "" -#: ../../library/tempfile.rst:331 +#: ../../library/tempfile.rst:340 msgid "As a last resort, the current working directory." msgstr "" -#: ../../library/tempfile.rst:333 +#: ../../library/tempfile.rst:342 msgid "" "The result of this search is cached, see the description of :data:`tempdir` " "below." msgstr "" -#: ../../library/tempfile.rst:338 +#: ../../library/tempfile.rst:347 msgid "" "Always returns a str. Previously it would return any :data:`tempdir` value " "regardless of type so long as it was not ``None``." msgstr "" -#: ../../library/tempfile.rst:343 +#: ../../library/tempfile.rst:352 msgid "Same as :func:`gettempdir` but the return value is in bytes." msgstr "" -#: ../../library/tempfile.rst:349 +#: ../../library/tempfile.rst:358 msgid "" "Return the filename prefix used to create temporary files. This does not " "contain the directory component." msgstr "" -#: ../../library/tempfile.rst:354 +#: ../../library/tempfile.rst:363 msgid "Same as :func:`gettempprefix` but the return value is in bytes." msgstr "" -#: ../../library/tempfile.rst:358 +#: ../../library/tempfile.rst:367 msgid "" "The module uses a global variable to store the name of the directory used " "for temporary files returned by :func:`gettempdir`. It can be set directly " @@ -502,21 +515,21 @@ msgid "" "unsuspecting code by changing global API behavior." msgstr "" -#: ../../library/tempfile.rst:367 +#: ../../library/tempfile.rst:376 msgid "" "When set to a value other than ``None``, this variable defines the default " "value for the *dir* argument to the functions defined in this module, " "including its type, bytes or str. It cannot be a :term:`path-like object`." msgstr "" -#: ../../library/tempfile.rst:372 +#: ../../library/tempfile.rst:381 msgid "" "If ``tempdir`` is ``None`` (the default) at any call to any of the above " "functions except :func:`gettempprefix` it is initialized following the " "algorithm described in :func:`gettempdir`." msgstr "" -#: ../../library/tempfile.rst:378 +#: ../../library/tempfile.rst:387 msgid "" "Beware that if you set ``tempdir`` to a bytes value, there is a nasty side " "effect: The global default return type of :func:`mkstemp` and :func:" @@ -526,16 +539,16 @@ msgid "" "compatibility with the historical implementation." msgstr "" -#: ../../library/tempfile.rst:389 +#: ../../library/tempfile.rst:398 msgid "Examples" msgstr "Beispiele" -#: ../../library/tempfile.rst:391 +#: ../../library/tempfile.rst:400 msgid "" "Here are some examples of typical usage of the :mod:`!tempfile` module::" msgstr "" -#: ../../library/tempfile.rst:393 +#: ../../library/tempfile.rst:402 msgid "" ">>> import tempfile\n" "\n" @@ -578,11 +591,11 @@ msgid "" "# directory and contents have been removed" msgstr "" -#: ../../library/tempfile.rst:436 +#: ../../library/tempfile.rst:445 msgid "Deprecated functions and variables" msgstr "" -#: ../../library/tempfile.rst:438 +#: ../../library/tempfile.rst:447 msgid "" "A historical way to create temporary files was to first generate a file name " "with the :func:`mktemp` function and then create a file using this name. " @@ -593,11 +606,11 @@ msgid "" "used by :func:`mkstemp` and the other functions described above." msgstr "" -#: ../../library/tempfile.rst:449 +#: ../../library/tempfile.rst:458 msgid "Use :func:`mkstemp` instead." msgstr "" -#: ../../library/tempfile.rst:452 +#: ../../library/tempfile.rst:461 msgid "" "Return an absolute pathname of a file that did not exist at the time the " "call is made. The *prefix*, *suffix*, and *dir* arguments are similar to " @@ -605,7 +618,7 @@ msgid "" "``prefix=None`` are not supported." msgstr "" -#: ../../library/tempfile.rst:459 +#: ../../library/tempfile.rst:468 msgid "" "Use of this function may introduce a security hole in your program. By the " "time you get around to doing anything with the file name it returns, someone " @@ -614,7 +627,7 @@ msgid "" "parameter::" msgstr "" -#: ../../library/tempfile.rst:465 +#: ../../library/tempfile.rst:474 msgid "" ">>> f = NamedTemporaryFile(delete=False)\n" ">>> f.name\n" diff --git a/library/test.po b/library/test.po index c188e266..3df38119 100644 --- a/library/test.po +++ b/library/test.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -774,7 +774,7 @@ msgid "Context manager to swap out an attribute with a new object." msgstr "" #: ../../library/test.rst:635 ../../library/test.rst:653 -#: ../../library/test.rst:908 ../../library/test.rst:1427 +#: ../../library/test.rst:908 ../../library/test.rst:1440 msgid "Usage::" msgstr "" @@ -1160,10 +1160,26 @@ msgid "" msgstr "" #: ../../library/test.rst:1000 +msgid "" +"*options* is a sequence of interpreter command line options to run the " +"subprocess with, and *env* is a mapping of environment variables to set in " +"it, on top of the inherited environment. A value of ``None`` in *env* unsets " +"the variable. Note that :option:`-E` and :option:`-I` make the subprocess " +"ignore the ``PYTHON*`` environment variables, including :envvar:`PYTHONPATH`." +msgstr "" + +#: ../../library/test.rst:1008 +msgid "" +"*timeout* is the number of seconds to wait for the subprocess; the test is " +"reported as an error if it does not complete in time. By default there is no " +"timeout, and a hung test is left to the timeout of the test runner." +msgstr "" + +#: ../../library/test.rst:1013 msgid "The test is skipped on platforms without subprocess support." msgstr "" -#: ../../library/test.rst:1005 +#: ../../library/test.rst:1018 msgid "" "``True`` while the code runs in the isolated subprocess spawned by :func:" "`runInSubprocess`, and ``False`` otherwise (including in the parent process " @@ -1174,29 +1190,29 @@ msgid "" "to run in the subprocess." msgstr "" -#: ../../library/test.rst:1019 +#: ../../library/test.rst:1032 msgid "Assert instances of *cls* are deallocated after iterating." msgstr "" -#: ../../library/test.rst:1024 +#: ../../library/test.rst:1037 msgid "" "Check for the existence of the compiler executables whose names are listed " "in *cmd_names* or all the compiler executables when *cmd_names* is empty and " "return the first missing executable or ``None`` when none is found missing." msgstr "" -#: ../../library/test.rst:1032 +#: ../../library/test.rst:1045 msgid "" "Assert that the ``__all__`` variable of *module* contains all public names." msgstr "" -#: ../../library/test.rst:1034 +#: ../../library/test.rst:1047 msgid "" "The module's public names (its API) are detected automatically based on " "whether they match the public name convention and were defined in *module*." msgstr "" -#: ../../library/test.rst:1038 +#: ../../library/test.rst:1051 msgid "" "The *name_of_module* argument can specify (as a string or tuple thereof) " "what module(s) an API could be defined in order to be detected as a public " @@ -1204,7 +1220,7 @@ msgid "" "other modules, possibly a C backend (like ``csv`` and its ``_csv``)." msgstr "" -#: ../../library/test.rst:1043 +#: ../../library/test.rst:1056 msgid "" "The *extra* argument can be a set of names that wouldn't otherwise be " "automatically detected as \"public\", like objects without a proper :attr:" @@ -1212,17 +1228,17 @@ msgid "" "automatically detected ones." msgstr "" -#: ../../library/test.rst:1047 +#: ../../library/test.rst:1060 msgid "" "The *not_exported* argument can be a set of names that must not be treated " "as part of the public API even though their names indicate otherwise." msgstr "" -#: ../../library/test.rst:1050 ../../library/test.rst:1713 +#: ../../library/test.rst:1063 ../../library/test.rst:1726 msgid "Example use::" msgstr "" -#: ../../library/test.rst:1052 +#: ../../library/test.rst:1065 msgid "" "import bar\n" "import foo\n" @@ -1242,18 +1258,18 @@ msgid "" " extra=extra, not_exported=not_exported)" msgstr "" -#: ../../library/test.rst:1073 +#: ../../library/test.rst:1086 msgid "" "Skip tests if the :mod:`multiprocessing.synchronize` module is missing, if " "there is no available semaphore implementation, or if creating a lock raises " "an :exc:`OSError`." msgstr "" -#: ../../library/test.rst:1082 +#: ../../library/test.rst:1095 msgid "Assert that type *tp* cannot be instantiated using *args* and *kwds*." msgstr "" -#: ../../library/test.rst:1089 +#: ../../library/test.rst:1102 msgid "" "This function returns a context manager that will change the global :func:" "`sys.set_int_max_str_digits` setting for the duration of the context to " @@ -1261,73 +1277,73 @@ msgid "" "digits when converting between an integer and string." msgstr "" -#: ../../library/test.rst:1097 +#: ../../library/test.rst:1110 msgid "The :mod:`!test.support` module defines the following classes:" msgstr "" -#: ../../library/test.rst:1102 +#: ../../library/test.rst:1115 msgid "" "A context manager used to try to prevent crash dialog popups on tests that " "are expected to crash a subprocess." msgstr "" -#: ../../library/test.rst:1105 +#: ../../library/test.rst:1118 msgid "" "On Windows, it disables Windows Error Reporting dialogs using `SetErrorMode " "`_." msgstr "" -#: ../../library/test.rst:1108 +#: ../../library/test.rst:1121 msgid "" "On UNIX, :func:`resource.setrlimit` is used to set :const:`resource." "RLIMIT_CORE`'s soft limit to 0 to prevent coredump file creation." msgstr "" -#: ../../library/test.rst:1112 +#: ../../library/test.rst:1125 msgid "" "On both platforms, the old value is restored by :meth:`~object.__exit__`." msgstr "" -#: ../../library/test.rst:1117 +#: ../../library/test.rst:1130 msgid "" "Class to save and restore signal handlers registered by the Python signal " "handler." msgstr "" -#: ../../library/test.rst:1122 +#: ../../library/test.rst:1135 msgid "" "Save the signal handlers to a dictionary mapping signal numbers to the " "current signal handler." msgstr "" -#: ../../library/test.rst:1127 +#: ../../library/test.rst:1140 msgid "" "Set the signal numbers from the :meth:`save` dictionary to the saved handler." msgstr "" -#: ../../library/test.rst:1135 +#: ../../library/test.rst:1148 msgid "Try to match a single dict with the supplied arguments." msgstr "" -#: ../../library/test.rst:1140 +#: ../../library/test.rst:1153 msgid "Try to match a single stored value (*dv*) with a supplied value (*v*)." msgstr "" -#: ../../library/test.rst:1144 +#: ../../library/test.rst:1157 msgid ":mod:`!test.support.socket_helper` --- Utilities for socket tests" msgstr "" -#: ../../library/test.rst:1150 +#: ../../library/test.rst:1163 msgid "" "The :mod:`!test.support.socket_helper` module provides support for socket " "tests." msgstr "" -#: ../../library/test.rst:1157 +#: ../../library/test.rst:1170 msgid "Set to ``True`` if IPv6 is enabled on this host, ``False`` otherwise." msgstr "" -#: ../../library/test.rst:1162 +#: ../../library/test.rst:1175 msgid "" "Returns an unused port that should be suitable for binding. This is " "achieved by creating a temporary socket with the same family and type as the " @@ -1338,7 +1354,7 @@ msgid "" "port is returned." msgstr "" -#: ../../library/test.rst:1171 +#: ../../library/test.rst:1184 msgid "" "Either this method or :func:`bind_port` should be used for any tests where a " "server socket needs to be bound to a particular port for the duration of the " @@ -1351,7 +1367,7 @@ msgid "" "simultaneously, which is a problem for buildbots." msgstr "" -#: ../../library/test.rst:1185 +#: ../../library/test.rst:1198 msgid "" "Bind the socket to a free port and return the port number. Relies on " "ephemeral ports in order to ensure we are using an unbound port. This is " @@ -1364,7 +1380,7 @@ msgid "" "testing multicasting via multiple UDP sockets." msgstr "" -#: ../../library/test.rst:1196 +#: ../../library/test.rst:1209 msgid "" "Additionally, if the :const:`~socket.SO_EXCLUSIVEADDRUSE` socket option is " "available (i.e. on Windows), it will be set on the socket. This will " @@ -1372,58 +1388,58 @@ msgid "" "test." msgstr "" -#: ../../library/test.rst:1204 +#: ../../library/test.rst:1217 msgid "" "Bind a Unix socket, raising :exc:`unittest.SkipTest` if :exc:" "`PermissionError` is raised." msgstr "" -#: ../../library/test.rst:1210 +#: ../../library/test.rst:1223 msgid "" "A decorator for running tests that require a functional ``bind()`` for Unix " "sockets." msgstr "" -#: ../../library/test.rst:1216 +#: ../../library/test.rst:1229 msgid "" "A context manager that raises :exc:`~test.support.ResourceDenied` when " "various issues with the internet connection manifest themselves as " "exceptions." msgstr "" -#: ../../library/test.rst:1222 +#: ../../library/test.rst:1235 msgid "" ":mod:`!test.support.script_helper` --- Utilities for the Python execution " "tests" msgstr "" -#: ../../library/test.rst:1228 +#: ../../library/test.rst:1241 msgid "" "The :mod:`!test.support.script_helper` module provides support for Python's " "script execution tests." msgstr "" -#: ../../library/test.rst:1233 +#: ../../library/test.rst:1246 msgid "" "Return ``True`` if ``sys.executable interpreter`` requires environment " "variables in order to be able to run at all." msgstr "" -#: ../../library/test.rst:1236 +#: ../../library/test.rst:1249 msgid "" "This is designed to be used with ``@unittest.skipIf()`` to annotate tests " "that need to use an ``assert_python*()`` function to launch an isolated mode " "(``-I``) or no environment mode (``-E``) sub-interpreter process." msgstr "" -#: ../../library/test.rst:1240 +#: ../../library/test.rst:1253 msgid "" "A normal build & test does not run into this situation but it can happen " "when trying to run the standard library test suite from an interpreter that " "doesn't have an obvious home with Python's current home finding logic." msgstr "" -#: ../../library/test.rst:1244 +#: ../../library/test.rst:1257 msgid "" "Setting :envvar:`PYTHONHOME` is one way to get most of the testsuite to run " "in that situation. :envvar:`PYTHONPATH` or :envvar:`PYTHONUSERSITE` are " @@ -1431,85 +1447,85 @@ msgid "" "interpreter can start." msgstr "" -#: ../../library/test.rst:1252 +#: ../../library/test.rst:1265 msgid "" "Set up the environment based on *env_vars* for running the interpreter in a " "subprocess. The values can include ``__isolated``, ``__cleanenv``, " "``__cwd``, and ``TERM``." msgstr "" -#: ../../library/test.rst:1256 ../../library/test.rst:1272 -#: ../../library/test.rst:1284 +#: ../../library/test.rst:1269 ../../library/test.rst:1285 +#: ../../library/test.rst:1297 msgid "The function no longer strips whitespaces from *stderr*." msgstr "" -#: ../../library/test.rst:1262 +#: ../../library/test.rst:1275 msgid "" "Assert that running the interpreter with *args* and optional environment " "variables *env_vars* succeeds (``rc == 0``) and return a ``(return code, " "stdout, stderr)`` tuple." msgstr "" -#: ../../library/test.rst:1266 +#: ../../library/test.rst:1279 msgid "" "If the *__cleanenv* keyword-only parameter is set, *env_vars* is used as a " "fresh environment." msgstr "" -#: ../../library/test.rst:1269 +#: ../../library/test.rst:1282 msgid "" "Python is started in isolated mode (command line option ``-I``), except if " "the *__isolated* keyword-only parameter is set to ``False``." msgstr "" -#: ../../library/test.rst:1278 +#: ../../library/test.rst:1291 msgid "" "Assert that running the interpreter with *args* and optional environment " "variables *env_vars* fails (``rc != 0``) and return a ``(return code, " "stdout, stderr)`` tuple." msgstr "" -#: ../../library/test.rst:1282 +#: ../../library/test.rst:1295 msgid "See :func:`assert_python_ok` for more options." msgstr "" -#: ../../library/test.rst:1290 +#: ../../library/test.rst:1303 msgid "Run a Python subprocess with the given arguments." msgstr "" -#: ../../library/test.rst:1292 +#: ../../library/test.rst:1305 msgid "" "*kw* is extra keyword args to pass to :func:`subprocess.Popen`. Returns a :" "class:`subprocess.Popen` object." msgstr "" -#: ../../library/test.rst:1298 +#: ../../library/test.rst:1311 msgid "" "Run the given :class:`subprocess.Popen` process until completion and return " "stdout." msgstr "" -#: ../../library/test.rst:1304 +#: ../../library/test.rst:1317 msgid "" "Create script containing *source* in path *script_dir* and " "*script_basename*. If *omit_suffix* is ``False``, append ``.py`` to the " "name. Return the full script path." msgstr "" -#: ../../library/test.rst:1311 +#: ../../library/test.rst:1324 msgid "" "Create zip file at *zip_dir* and *zip_basename* with extension ``zip`` which " "contains the files in *script_name*. *name_in_zip* is the archive name. " "Return a tuple containing ``(full path, full path of archive name)``." msgstr "" -#: ../../library/test.rst:1318 +#: ../../library/test.rst:1331 msgid "" "Create a directory named *pkg_dir* containing an ``__init__`` file with " "*init_source* as its contents." msgstr "" -#: ../../library/test.rst:1325 +#: ../../library/test.rst:1338 msgid "" "Create a zip package directory with a path of *zip_dir* and *zip_basename* " "containing an empty ``__init__`` file and a file *script_basename* " @@ -1518,60 +1534,60 @@ msgid "" "path and the archive name for the zip file." msgstr "" -#: ../../library/test.rst:1333 +#: ../../library/test.rst:1346 msgid "" ":mod:`!test.support.bytecode_helper` --- Support tools for testing correct " "bytecode generation" msgstr "" -#: ../../library/test.rst:1338 +#: ../../library/test.rst:1351 msgid "" "The :mod:`!test.support.bytecode_helper` module provides support for testing " "and inspecting bytecode generation." msgstr "" -#: ../../library/test.rst:1343 +#: ../../library/test.rst:1356 msgid "The module defines the following class:" msgstr "" -#: ../../library/test.rst:1347 +#: ../../library/test.rst:1360 msgid "This class has custom assertion methods for inspecting bytecode." msgstr "" -#: ../../library/test.rst:1351 +#: ../../library/test.rst:1364 msgid "Return the disassembly of *co* as string." msgstr "" -#: ../../library/test.rst:1356 +#: ../../library/test.rst:1369 msgid "" "Return instr if *opname* is found, otherwise throws :exc:`AssertionError`." msgstr "" -#: ../../library/test.rst:1361 +#: ../../library/test.rst:1374 msgid "Throws :exc:`AssertionError` if *opname* is found." msgstr "" -#: ../../library/test.rst:1365 +#: ../../library/test.rst:1378 msgid ":mod:`!test.support.threading_helper` --- Utilities for threading tests" msgstr "" -#: ../../library/test.rst:1370 +#: ../../library/test.rst:1383 msgid "" "The :mod:`!test.support.threading_helper` module provides support for " "threading tests." msgstr "" -#: ../../library/test.rst:1377 +#: ../../library/test.rst:1390 msgid "" "Join a *thread* within *timeout*. Raise an :exc:`AssertionError` if thread " "is still alive after *timeout* seconds." msgstr "" -#: ../../library/test.rst:1383 +#: ../../library/test.rst:1396 msgid "Decorator to ensure the threads are cleaned up even if the test fails." msgstr "" -#: ../../library/test.rst:1388 +#: ../../library/test.rst:1401 msgid "" "Context manager to start *threads*, which is a sequence of threads. *unlock* " "is a function called after the threads are started, even if an exception was " @@ -1579,57 +1595,57 @@ msgid "" "will attempt to join the started threads upon exit." msgstr "" -#: ../../library/test.rst:1396 +#: ../../library/test.rst:1409 msgid "" "Cleanup up threads not specified in *original_values*. Designed to emit a " "warning if a test leaves running threads in the background." msgstr "" -#: ../../library/test.rst:1402 +#: ../../library/test.rst:1415 msgid "Return current thread count and copy of dangling threads." msgstr "" -#: ../../library/test.rst:1407 +#: ../../library/test.rst:1420 msgid "" "Context manager to wait until all threads created in the ``with`` statement " "exit." msgstr "" -#: ../../library/test.rst:1413 +#: ../../library/test.rst:1426 msgid "" "Context manager catching :class:`threading.Thread` exception using :func:" "`threading.excepthook`." msgstr "" -#: ../../library/test.rst:1416 +#: ../../library/test.rst:1429 msgid "Attributes set when an exception is caught:" msgstr "" -#: ../../library/test.rst:1418 +#: ../../library/test.rst:1431 msgid "``exc_type``" msgstr "" -#: ../../library/test.rst:1419 +#: ../../library/test.rst:1432 msgid "``exc_value``" msgstr "" -#: ../../library/test.rst:1420 +#: ../../library/test.rst:1433 msgid "``exc_traceback``" msgstr "" -#: ../../library/test.rst:1421 +#: ../../library/test.rst:1434 msgid "``thread``" msgstr "" -#: ../../library/test.rst:1423 +#: ../../library/test.rst:1436 msgid "See :func:`threading.excepthook` documentation." msgstr "" -#: ../../library/test.rst:1425 +#: ../../library/test.rst:1438 msgid "These attributes are deleted at the context manager exit." msgstr "" -#: ../../library/test.rst:1429 +#: ../../library/test.rst:1442 msgid "" "with threading_helper.catch_threading_exception() as cm:\n" " # code spawning a thread which raises an exception\n" @@ -1644,36 +1660,36 @@ msgid "" "# (to avoid reference cycles)" msgstr "" -#: ../../library/test.rst:1446 +#: ../../library/test.rst:1459 msgid "" "Run the worker function concurrently in multiple threads. Re-raises an " "exception if any thread raises one, after all threads have finished." msgstr "" -#: ../../library/test.rst:1452 +#: ../../library/test.rst:1465 msgid ":mod:`!test.support.os_helper` --- Utilities for os tests" msgstr "" -#: ../../library/test.rst:1457 +#: ../../library/test.rst:1470 msgid "" "The :mod:`!test.support.os_helper` module provides support for os tests." msgstr "" -#: ../../library/test.rst:1464 +#: ../../library/test.rst:1477 msgid "A non-ASCII character encodable by :func:`os.fsencode`." msgstr "" -#: ../../library/test.rst:1469 +#: ../../library/test.rst:1482 msgid "Set to :func:`os.getcwd`." msgstr "" -#: ../../library/test.rst:1474 +#: ../../library/test.rst:1487 msgid "" "Set to a name that is safe to use as the name of a temporary file. Any " "temporary file that is created should be closed and unlinked (removed)." msgstr "" -#: ../../library/test.rst:1480 +#: ../../library/test.rst:1493 msgid "" "Set to a filename containing the :data:`FS_NONASCII` character, if it " "exists. This guarantees that if the filename exists, it can be encoded and " @@ -1681,25 +1697,25 @@ msgid "" "a non-ASCII filename to be easily skipped on platforms where they can't work." msgstr "" -#: ../../library/test.rst:1488 +#: ../../library/test.rst:1501 msgid "" "Set to a filename (str type) that should not be able to be encoded by file " "system encoding in strict mode. It may be ``None`` if it's not possible to " "generate such a filename." msgstr "" -#: ../../library/test.rst:1495 +#: ../../library/test.rst:1508 msgid "" "Set to a filename (bytes type) that should not be able to be decoded by file " "system encoding in strict mode. It may be ``None`` if it's not possible to " "generate such a filename." msgstr "" -#: ../../library/test.rst:1502 +#: ../../library/test.rst:1515 msgid "Set to a non-ASCII name for a temporary file." msgstr "" -#: ../../library/test.rst:1507 +#: ../../library/test.rst:1520 msgid "" "Class used to temporarily set or unset environment variables. Instances can " "be used as a context manager and have a complete dictionary interface for " @@ -1708,79 +1724,79 @@ msgid "" "instance will be rolled back." msgstr "" -#: ../../library/test.rst:1513 +#: ../../library/test.rst:1526 msgid "Added dictionary interface." msgstr "" -#: ../../library/test.rst:1519 +#: ../../library/test.rst:1532 msgid "" "Simple :term:`path-like object`. It implements the :meth:`~os.PathLike." "__fspath__` method which just returns the *path* argument. If *path* is an " "exception, it will be raised in :meth:`!__fspath__`." msgstr "" -#: ../../library/test.rst:1527 +#: ../../library/test.rst:1540 msgid "" "Temporarily set the environment variable ``envvar`` to the value of " "``value``." msgstr "" -#: ../../library/test.rst:1533 +#: ../../library/test.rst:1546 msgid "Temporarily unset one or more environment variables." msgstr "" -#: ../../library/test.rst:1535 +#: ../../library/test.rst:1548 msgid "More than one environment variable can be unset." msgstr "" -#: ../../library/test.rst:1541 +#: ../../library/test.rst:1554 msgid "Return ``True`` if the OS supports symbolic links, ``False`` otherwise." msgstr "" -#: ../../library/test.rst:1547 +#: ../../library/test.rst:1560 msgid "Return ``True`` if the OS supports xattr, ``False`` otherwise." msgstr "" -#: ../../library/test.rst:1553 +#: ../../library/test.rst:1566 msgid "" "A context manager that temporarily changes the current working directory to " "*path* and yields the directory." msgstr "" -#: ../../library/test.rst:1556 +#: ../../library/test.rst:1569 msgid "" "If *quiet* is ``False``, the context manager raises an exception on error. " "Otherwise, it issues only a warning and keeps the current working directory " "the same." msgstr "" -#: ../../library/test.rst:1563 +#: ../../library/test.rst:1576 msgid "" "Create an empty file with *filename*. If it already exists, truncate it." msgstr "" -#: ../../library/test.rst:1568 +#: ../../library/test.rst:1581 msgid "Count the number of open file descriptors." msgstr "" -#: ../../library/test.rst:1573 +#: ../../library/test.rst:1586 msgid "Return ``True`` if the file system for *directory* is case-insensitive." msgstr "" -#: ../../library/test.rst:1578 +#: ../../library/test.rst:1591 msgid "" "Create an invalid file descriptor by opening and closing a temporary file, " "and returning its descriptor." msgstr "" -#: ../../library/test.rst:1584 +#: ../../library/test.rst:1597 msgid "" "Call :func:`os.rmdir` on *filename*. On Windows platforms, this is wrapped " "with a wait loop that checks for the existence of the file, which is needed " "due to antivirus programs that can hold files open and prevent deletion." msgstr "" -#: ../../library/test.rst:1592 +#: ../../library/test.rst:1605 msgid "" "Call :func:`shutil.rmtree` on *path* or call :func:`os.lstat` and :func:`os." "rmdir` to remove a path and its contents. As with :func:`rmdir`, on Windows " @@ -1788,21 +1804,21 @@ msgid "" "the files." msgstr "" -#: ../../library/test.rst:1600 +#: ../../library/test.rst:1613 msgid "A decorator for running tests that require support for symbolic links." msgstr "" -#: ../../library/test.rst:1605 +#: ../../library/test.rst:1618 msgid "A decorator for running tests that require support for xattr." msgstr "" -#: ../../library/test.rst:1610 +#: ../../library/test.rst:1623 msgid "" "A context manager that temporarily creates a new directory and changes the " "current working directory (CWD)." msgstr "" -#: ../../library/test.rst:1613 +#: ../../library/test.rst:1626 msgid "" "The context manager creates a temporary directory in the current directory " "with name *name* before temporarily changing the current working directory. " @@ -1810,20 +1826,20 @@ msgid "" "`tempfile.mkdtemp`." msgstr "" -#: ../../library/test.rst:1618 +#: ../../library/test.rst:1631 msgid "" "If *quiet* is ``False`` and it is not possible to create or change the CWD, " "an error is raised. Otherwise, only a warning is raised and the original " "CWD is used." msgstr "" -#: ../../library/test.rst:1625 +#: ../../library/test.rst:1638 msgid "" "A context manager that creates a temporary directory at *path* and yields " "the directory." msgstr "" -#: ../../library/test.rst:1628 +#: ../../library/test.rst:1641 msgid "" "If *path* is ``None``, the temporary directory is created using :func:" "`tempfile.mkdtemp`. If *quiet* is ``False``, the context manager raises an " @@ -1831,37 +1847,37 @@ msgid "" "created, only a warning is issued." msgstr "" -#: ../../library/test.rst:1636 +#: ../../library/test.rst:1649 msgid "A context manager that temporarily sets the process umask." msgstr "" -#: ../../library/test.rst:1641 +#: ../../library/test.rst:1654 msgid "" "Call :func:`os.unlink` on *filename*. As with :func:`rmdir`, on Windows " "platforms, this is wrapped with a wait loop that checks for the existence of " "the file." msgstr "" -#: ../../library/test.rst:1648 +#: ../../library/test.rst:1661 msgid "" "A decorator for running tests with the :envvar:`SOURCE_DATE_EPOCH` " "environment variable set to *epoch*." msgstr "" -#: ../../library/test.rst:1654 +#: ../../library/test.rst:1667 msgid "" "A decorator for running tests with the :envvar:`SOURCE_DATE_EPOCH` " "environment variable unset." msgstr "" -#: ../../library/test.rst:1660 +#: ../../library/test.rst:1673 msgid "" "Metaclass wrapping all test methods of the class with :func:" "`with_source_date_epoch` if the *source_date_epoch* keyword class argument " "is true, or with :func:`without_source_date_epoch` otherwise. For example::" msgstr "" -#: ../../library/test.rst:1665 +#: ../../library/test.rst:1678 msgid "" "class TestsWithSourceEpoch(Tests,\n" " metaclass=SourceDateEpochTestMeta,\n" @@ -1869,23 +1885,23 @@ msgid "" " pass" msgstr "" -#: ../../library/test.rst:1673 +#: ../../library/test.rst:1686 msgid ":mod:`!test.support.import_helper` --- Utilities for import tests" msgstr "" -#: ../../library/test.rst:1678 +#: ../../library/test.rst:1691 msgid "" "The :mod:`!test.support.import_helper` module provides support for import " "tests." msgstr "" -#: ../../library/test.rst:1685 +#: ../../library/test.rst:1698 msgid "" "Remove the module named *module_name* from ``sys.modules`` and delete any " "byte-compiled files of the module." msgstr "" -#: ../../library/test.rst:1691 +#: ../../library/test.rst:1704 msgid "" "This function imports and returns a fresh copy of the named Python module by " "removing the named module from ``sys.modules`` before doing the import. Note " @@ -1893,39 +1909,39 @@ msgid "" "operation." msgstr "" -#: ../../library/test.rst:1696 +#: ../../library/test.rst:1709 msgid "" "*fresh* is an iterable of additional module names that are also removed from " "the ``sys.modules`` cache before doing the import." msgstr "" -#: ../../library/test.rst:1699 +#: ../../library/test.rst:1712 msgid "" "*blocked* is an iterable of module names that are replaced with ``None`` in " "the module cache during the import to ensure that attempts to import them " "raise :exc:`ImportError`." msgstr "" -#: ../../library/test.rst:1703 +#: ../../library/test.rst:1716 msgid "" "The named module and any modules named in the *fresh* and *blocked* " "parameters are saved before starting the import and then reinserted into " "``sys.modules`` when the fresh import is complete." msgstr "" -#: ../../library/test.rst:1707 +#: ../../library/test.rst:1720 msgid "" "Module and package deprecation messages are suppressed during this import if " "*deprecated* is ``True``." msgstr "" -#: ../../library/test.rst:1710 +#: ../../library/test.rst:1723 msgid "" "This function will raise :exc:`ImportError` if the named module cannot be " "imported." msgstr "" -#: ../../library/test.rst:1715 +#: ../../library/test.rst:1728 msgid "" "# Get copies of the warnings module for testing without affecting the\n" "# version being used by the rest of the test suite. One copy uses the\n" @@ -1935,14 +1951,14 @@ msgid "" "c_warnings = import_fresh_module('warnings', fresh=['_warnings'])" msgstr "" -#: ../../library/test.rst:1727 +#: ../../library/test.rst:1740 msgid "" "This function imports and returns the named module. Unlike a normal import, " "this function raises :exc:`unittest.SkipTest` if the module cannot be " "imported." msgstr "" -#: ../../library/test.rst:1731 +#: ../../library/test.rst:1744 msgid "" "Module and package deprecation messages are suppressed during this import if " "*deprecated* is ``True``. If a module is required on a platform but " @@ -1950,21 +1966,21 @@ msgid "" "which will be compared against :data:`sys.platform`." msgstr "" -#: ../../library/test.rst:1741 +#: ../../library/test.rst:1754 msgid "Return a copy of :data:`sys.modules`." msgstr "" -#: ../../library/test.rst:1746 +#: ../../library/test.rst:1759 msgid "" "Remove modules except for *oldmodules* and ``encodings`` in order to " "preserve internal cache." msgstr "" -#: ../../library/test.rst:1752 +#: ../../library/test.rst:1765 msgid "Delete *name* from ``sys.modules``." msgstr "" -#: ../../library/test.rst:1757 +#: ../../library/test.rst:1770 msgid "" "Move a :pep:`3147`/:pep:`488` pyc file to its legacy pyc location and return " "the file system path to the legacy pyc file. The *source* value is the file " @@ -1972,48 +1988,48 @@ msgid "" "3147/488 pyc file must exist." msgstr "" -#: ../../library/test.rst:1765 +#: ../../library/test.rst:1778 msgid "" "A context manager to force import to return a new module reference. This is " "useful for testing module-level behaviors, such as the emission of a :exc:" "`DeprecationWarning` on import. Example usage::" msgstr "" -#: ../../library/test.rst:1769 +#: ../../library/test.rst:1782 msgid "" "with CleanImport('foo'):\n" " importlib.import_module('foo') # New reference." msgstr "" -#: ../../library/test.rst:1775 +#: ../../library/test.rst:1788 msgid "A context manager to temporarily add directories to :data:`sys.path`." msgstr "" -#: ../../library/test.rst:1777 +#: ../../library/test.rst:1790 msgid "" "This makes a copy of :data:`sys.path`, appends any directories given as " "positional arguments, then reverts :data:`sys.path` to the copied settings " "when the context ends." msgstr "" -#: ../../library/test.rst:1781 +#: ../../library/test.rst:1794 msgid "" "Note that *all* :data:`sys.path` modifications in the body of the context " "manager, including replacement of the object, will be reverted at the end of " "the block." msgstr "" -#: ../../library/test.rst:1787 +#: ../../library/test.rst:1800 msgid ":mod:`!test.support.warnings_helper` --- Utilities for warnings tests" msgstr "" -#: ../../library/test.rst:1792 +#: ../../library/test.rst:1805 msgid "" "The :mod:`!test.support.warnings_helper` module provides support for " "warnings tests." msgstr "" -#: ../../library/test.rst:1799 +#: ../../library/test.rst:1812 msgid "" "Suppress warnings that are instances of *category*, which must be :exc:" "`Warning` or a subclass. Roughly equivalent to :func:`warnings." @@ -2021,21 +2037,21 @@ msgid "" "category=category) `. For example::" msgstr "" -#: ../../library/test.rst:1805 +#: ../../library/test.rst:1818 msgid "" "@warning_helper.ignore_warnings(category=DeprecationWarning)\n" "def test_suppress_warning():\n" " # do something" msgstr "" -#: ../../library/test.rst:1814 +#: ../../library/test.rst:1827 msgid "" "Context manager to check that no :exc:`ResourceWarning` was raised. You " "must remove the object which may emit :exc:`ResourceWarning` before the end " "of the context manager." msgstr "" -#: ../../library/test.rst:1821 +#: ../../library/test.rst:1834 msgid "" "Test for syntax warning in *statement* by attempting to compile *statement*. " "Test also that the :exc:`SyntaxWarning` is emitted only once, and that it " @@ -2047,7 +2063,7 @@ msgid "" "``None``, compares to the offset of the exception." msgstr "" -#: ../../library/test.rst:1835 +#: ../../library/test.rst:1848 msgid "" "A convenience wrapper for :func:`warnings.catch_warnings` that makes it " "easier to test that a warning was correctly raised. It is approximately " @@ -2056,7 +2072,7 @@ msgid "" "automatically validate the results that are recorded." msgstr "" -#: ../../library/test.rst:1841 +#: ../../library/test.rst:1854 msgid "" "``check_warnings`` accepts 2-tuples of the form ``(\"message regexp\", " "WarningCategory)`` as positional arguments. If one or more *filters* are " @@ -2068,19 +2084,19 @@ msgid "" "*quiet* to ``True``." msgstr "" -#: ../../library/test.rst:1850 +#: ../../library/test.rst:1863 msgid "If no arguments are specified, it defaults to::" msgstr "" -#: ../../library/test.rst:1852 +#: ../../library/test.rst:1865 msgid "check_warnings((\"\", Warning), quiet=True)" msgstr "" -#: ../../library/test.rst:1854 +#: ../../library/test.rst:1867 msgid "In this case all warnings are caught and no errors are raised." msgstr "" -#: ../../library/test.rst:1856 +#: ../../library/test.rst:1869 msgid "" "On entry to the context manager, a :class:`WarningRecorder` instance is " "returned. The underlying warnings list from :func:`~warnings.catch_warnings` " @@ -2092,17 +2108,17 @@ msgid "" "return ``None``." msgstr "" -#: ../../library/test.rst:1865 +#: ../../library/test.rst:1878 msgid "" "The recorder object also has a :meth:`reset` method, which clears the " "warnings list." msgstr "" -#: ../../library/test.rst:1868 +#: ../../library/test.rst:1881 msgid "The context manager is designed to be used like this::" msgstr "" -#: ../../library/test.rst:1870 +#: ../../library/test.rst:1883 msgid "" "with check_warnings((\"assertion is always true\", SyntaxWarning),\n" " (\"\", UserWarning)):\n" @@ -2110,19 +2126,19 @@ msgid "" " warnings.warn(UserWarning(\"Hide me!\"))" msgstr "" -#: ../../library/test.rst:1875 +#: ../../library/test.rst:1888 msgid "" "In this case if either warning was not raised, or some other warning was " "raised, :func:`check_warnings` would raise an error." msgstr "" -#: ../../library/test.rst:1878 +#: ../../library/test.rst:1891 msgid "" "When a test needs to look more deeply into the warnings, rather than just " "checking whether or not they occurred, code like this can be used::" msgstr "" -#: ../../library/test.rst:1881 +#: ../../library/test.rst:1894 msgid "" "with check_warnings(quiet=True) as w:\n" " warnings.warn(\"foo\")\n" @@ -2135,17 +2151,17 @@ msgid "" " assert len(w.warnings) == 0" msgstr "" -#: ../../library/test.rst:1892 +#: ../../library/test.rst:1905 msgid "" "Here all warnings will be caught, and the test code tests the captured " "warnings directly." msgstr "" -#: ../../library/test.rst:1895 +#: ../../library/test.rst:1908 msgid "New optional arguments *filters* and *quiet*." msgstr "" -#: ../../library/test.rst:1901 +#: ../../library/test.rst:1914 msgid "" "Class used to record warnings for unit tests. See documentation of :func:" "`check_warnings` above for more details." diff --git a/library/time.po b/library/time.po index 78fa1096..9db5ad51 100644 --- a/library/time.po +++ b/library/time.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -186,192 +186,193 @@ msgid "" "Convert a tuple or :class:`struct_time` representing a time as returned by :" "func:`gmtime` or :func:`localtime` to a string of the following form: ``'Sun " "Jun 20 23:21:05 1993'``. The day field is two characters long and is space " -"padded if the day is a single digit, e.g.: ``'Wed Jun 9 04:26:40 1993'``." +"padded if the day is a single digit, for example: ``'Wed Jun 9 04:26:40 " +"1993'``." msgstr "" #: ../../library/time.rst:133 msgid "" -"If *t* is not provided, the current time as returned by :func:`localtime` is " -"used. Locale information is not used by :func:`asctime`." +"If *time_tuple* is not provided, the current time as returned by :func:" +"`localtime` is used. Locale information is not used by :func:`asctime`." msgstr "" -#: ../../library/time.rst:138 +#: ../../library/time.rst:139 msgid "" "Unlike the C function of the same name, :func:`asctime` does not add a " "trailing newline." msgstr "" -#: ../../library/time.rst:143 +#: ../../library/time.rst:144 msgid "" "Return the *clk_id* of the thread-specific CPU-time clock for the specified " "*thread_id*." msgstr "" -#: ../../library/time.rst:145 +#: ../../library/time.rst:146 msgid "" "Use :func:`threading.get_ident` or the :attr:`~threading.Thread.ident` " "attribute of :class:`threading.Thread` objects to get a suitable value for " "*thread_id*." msgstr "" -#: ../../library/time.rst:150 +#: ../../library/time.rst:151 msgid "" "Passing an invalid or expired *thread_id* may result in undefined behavior, " "such as segmentation fault." msgstr "" -#: ../../library/time.rst:153 ../../library/time.rst:165 -#: ../../library/time.rst:178 ../../library/time.rst:187 -#: ../../library/time.rst:200 ../../library/time.rst:212 -#: ../../library/time.rst:768 ../../library/time.rst:792 -#: ../../library/time.rst:888 ../../library/time.rst:899 -#: ../../library/time.rst:909 ../../library/time.rst:919 -#: ../../library/time.rst:928 ../../library/time.rst:937 -#: ../../library/time.rst:946 ../../library/time.rst:957 -#: ../../library/time.rst:965 ../../library/time.rst:976 -#: ../../library/time.rst:987 ../../library/time.rst:996 -#: ../../library/time.rst:1009 +#: ../../library/time.rst:154 ../../library/time.rst:166 +#: ../../library/time.rst:179 ../../library/time.rst:188 +#: ../../library/time.rst:201 ../../library/time.rst:213 +#: ../../library/time.rst:774 ../../library/time.rst:798 +#: ../../library/time.rst:894 ../../library/time.rst:905 +#: ../../library/time.rst:915 ../../library/time.rst:925 +#: ../../library/time.rst:934 ../../library/time.rst:943 +#: ../../library/time.rst:952 ../../library/time.rst:963 +#: ../../library/time.rst:971 ../../library/time.rst:982 +#: ../../library/time.rst:993 ../../library/time.rst:1002 +#: ../../library/time.rst:1015 msgid "Availability" msgstr "" -#: ../../library/time.rst:155 +#: ../../library/time.rst:156 msgid "" "See the man page for :manpage:`pthread_getcpuclockid(3)` for further " "information." msgstr "" -#: ../../library/time.rst:162 +#: ../../library/time.rst:163 msgid "" "Return the resolution (precision) of the specified clock *clk_id*. Refer " "to :ref:`time-clock-id-constants` for a list of accepted values for *clk_id*." msgstr "" -#: ../../library/time.rst:172 +#: ../../library/time.rst:173 msgid "" "Return the time of the specified clock *clk_id*. Refer to :ref:`time-clock-" "id-constants` for a list of accepted values for *clk_id*." msgstr "" -#: ../../library/time.rst:175 +#: ../../library/time.rst:176 msgid "" "Use :func:`clock_gettime_ns` to avoid the precision loss caused by the :" "class:`float` type." msgstr "" -#: ../../library/time.rst:185 +#: ../../library/time.rst:186 msgid "Similar to :func:`clock_gettime` but return time as nanoseconds." msgstr "" -#: ../../library/time.rst:194 +#: ../../library/time.rst:195 msgid "" "Set the time of the specified clock *clk_id*. Currently, :data:" "`CLOCK_REALTIME` is the only accepted value for *clk_id*." msgstr "" -#: ../../library/time.rst:197 +#: ../../library/time.rst:198 msgid "" "Use :func:`clock_settime_ns` to avoid the precision loss caused by the :" "class:`float` type." msgstr "" -#: ../../library/time.rst:204 +#: ../../library/time.rst:205 msgid "Accepts any real number as *time*, not only integer or float." msgstr "" -#: ../../library/time.rst:210 +#: ../../library/time.rst:211 msgid "Similar to :func:`clock_settime` but set time with nanoseconds." msgstr "" -#: ../../library/time.rst:219 +#: ../../library/time.rst:220 msgid "" "Convert a time expressed in seconds since the epoch_ to a string of a form: " "``'Sun Jun 20 23:21:05 1993'`` representing local time. The day field is two " -"characters long and is space padded if the day is a single digit, e.g.: " -"``'Wed Jun 9 04:26:40 1993'``." +"characters long and is space padded if the day is a single digit, for " +"example: ``'Wed Jun 9 04:26:40 1993'``." msgstr "" -#: ../../library/time.rst:224 +#: ../../library/time.rst:225 msgid "" -"If *secs* is not provided or :const:`None`, the current time as returned by :" -"func:`.time` is used. ``ctime(secs)`` is equivalent to " -"``asctime(localtime(secs))``. Locale information is not used by :func:" +"If *seconds* is not provided or :const:`None`, the current time as returned " +"by :func:`.time` is used. ``ctime(seconds)`` is equivalent to " +"``asctime(localtime(seconds))``. Locale information is not used by :func:" "`ctime`." msgstr "" -#: ../../library/time.rst:229 ../../library/time.rst:267 -#: ../../library/time.rst:283 ../../library/time.rst:442 +#: ../../library/time.rst:230 ../../library/time.rst:268 +#: ../../library/time.rst:285 ../../library/time.rst:448 msgid "Accepts any real number, not only integer or float." msgstr "" -#: ../../library/time.rst:235 +#: ../../library/time.rst:236 msgid "" "Get information on the specified clock as a namespace object. Supported " "clock names and the corresponding functions to read their value are:" msgstr "" -#: ../../library/time.rst:239 +#: ../../library/time.rst:240 msgid "``'monotonic'``: :func:`time.monotonic`" msgstr "" -#: ../../library/time.rst:240 +#: ../../library/time.rst:241 msgid "``'perf_counter'``: :func:`time.perf_counter`" msgstr "" -#: ../../library/time.rst:241 +#: ../../library/time.rst:242 msgid "``'process_time'``: :func:`time.process_time`" msgstr "" -#: ../../library/time.rst:242 +#: ../../library/time.rst:243 msgid "``'thread_time'``: :func:`time.thread_time`" msgstr "" -#: ../../library/time.rst:243 +#: ../../library/time.rst:244 msgid "``'time'``: :func:`time.time`" msgstr "" -#: ../../library/time.rst:245 +#: ../../library/time.rst:246 msgid "The result has the following attributes:" msgstr "" -#: ../../library/time.rst:247 +#: ../../library/time.rst:248 msgid "" "*adjustable*: ``True`` if the clock can be set to jump forward or backward " "in time, ``False`` otherwise. Does not refer to gradual NTP rate adjustments." msgstr "" -#: ../../library/time.rst:249 +#: ../../library/time.rst:250 msgid "" "*implementation*: The name of the underlying C function used to get the " "clock value. Refer to :ref:`time-clock-id-constants` for possible values." msgstr "" -#: ../../library/time.rst:251 +#: ../../library/time.rst:252 msgid "" "*monotonic*: ``True`` if the clock cannot go backward, ``False`` otherwise" msgstr "" -#: ../../library/time.rst:253 +#: ../../library/time.rst:254 msgid "*resolution*: The resolution of the clock in seconds (:class:`float`)" msgstr "" -#: ../../library/time.rst:260 +#: ../../library/time.rst:261 msgid "" "Convert a time expressed in seconds since the epoch_ to a :class:" -"`struct_time` in UTC in which the dst flag is always zero. If *secs* is not " -"provided or :const:`None`, the current time as returned by :func:`.time` is " -"used. Fractions of a second are ignored. See above for a description of " +"`struct_time` in UTC in which the dst flag is always zero. If *seconds* is " +"not provided or :const:`None`, the current time as returned by :func:`.time` " +"is used. Fractions of a second are ignored. See above for a description of " "the :class:`struct_time` object. See :func:`calendar.timegm` for the inverse " "of this function." msgstr "" -#: ../../library/time.rst:273 +#: ../../library/time.rst:274 msgid "" -"Like :func:`gmtime` but converts to local time. If *secs* is not provided " -"or :const:`None`, the current time as returned by :func:`.time` is used. " -"The dst flag is set to ``1`` when DST applies to the given time." +"Like :func:`gmtime` but converts to local time. If *seconds* is not provided " +"or :const:`None`, the current time as returned by :func:`.time` is used. The " +"dst flag is set to ``1`` when DST applies to the given time." msgstr "" -#: ../../library/time.rst:277 +#: ../../library/time.rst:279 msgid "" ":func:`localtime` may raise :exc:`OverflowError`, if the timestamp is " "outside the range of values supported by the platform C :c:func:`localtime` " @@ -380,7 +381,7 @@ msgid "" "between 1970 and 2038." msgstr "" -#: ../../library/time.rst:289 +#: ../../library/time.rst:291 msgid "" "This is the inverse function of :func:`localtime`. Its argument is the :" "class:`struct_time` or full 9-tuple (since the dst flag is needed; use " @@ -393,7 +394,7 @@ msgid "" "dependent." msgstr "" -#: ../../library/time.rst:301 +#: ../../library/time.rst:303 msgid "" "Return the value (in fractional seconds) of a monotonic clock, i.e. a clock " "that cannot go backwards. The clock is not affected by system clock " @@ -401,53 +402,53 @@ msgid "" "only the difference between the results of two calls is valid." msgstr "" -#: ../../library/time.rst:306 ../../library/time.rst:729 +#: ../../library/time.rst:308 ../../library/time.rst:735 msgid "Clock:" msgstr "" -#: ../../library/time.rst:308 +#: ../../library/time.rst:310 msgid "" "On Windows, call ``QueryPerformanceCounter()`` and " "``QueryPerformanceFrequency()``." msgstr "" -#: ../../library/time.rst:310 +#: ../../library/time.rst:312 msgid "On macOS, call ``mach_absolute_time()`` and ``mach_timebase_info()``." msgstr "" -#: ../../library/time.rst:311 +#: ../../library/time.rst:313 msgid "On HP-UX, call ``gethrtime()``." msgstr "" -#: ../../library/time.rst:312 +#: ../../library/time.rst:314 msgid "Call ``clock_gettime(CLOCK_HIGHRES)`` if available." msgstr "" -#: ../../library/time.rst:313 +#: ../../library/time.rst:315 msgid "Otherwise, call ``clock_gettime(CLOCK_MONOTONIC)``." msgstr "" -#: ../../library/time.rst:315 +#: ../../library/time.rst:317 msgid "" "Use :func:`monotonic_ns` to avoid the precision loss caused by the :class:" "`float` type." msgstr "" -#: ../../library/time.rst:320 +#: ../../library/time.rst:322 msgid "" "The function is now always available and the clock is now the same for all " "processes." msgstr "" -#: ../../library/time.rst:324 +#: ../../library/time.rst:326 msgid "On macOS, the clock is now the same for all processes." msgstr "" -#: ../../library/time.rst:330 +#: ../../library/time.rst:332 msgid "Similar to :func:`monotonic`, but return time as nanoseconds." msgstr "" -#: ../../library/time.rst:339 +#: ../../library/time.rst:341 msgid "" "Return the value (in fractional seconds) of a performance counter, i.e. a " "clock with the highest available resolution to measure a short duration. It " @@ -456,31 +457,31 @@ msgid "" "only the difference between the results of two calls is valid." msgstr "" -#: ../../library/time.rst:348 +#: ../../library/time.rst:350 msgid "" "On CPython, use the same clock as :func:`time.monotonic` and is a monotonic " "clock, i.e. a clock that cannot go backwards." msgstr "" -#: ../../library/time.rst:351 +#: ../../library/time.rst:353 msgid "" "Use :func:`perf_counter_ns` to avoid the precision loss caused by the :class:" "`float` type." msgstr "" -#: ../../library/time.rst:356 +#: ../../library/time.rst:358 msgid "On Windows, the clock is now the same for all processes." msgstr "" -#: ../../library/time.rst:359 +#: ../../library/time.rst:361 msgid "Use the same clock as :func:`time.monotonic`." msgstr "" -#: ../../library/time.rst:365 +#: ../../library/time.rst:367 msgid "Similar to :func:`perf_counter`, but return time as nanoseconds." msgstr "" -#: ../../library/time.rst:377 +#: ../../library/time.rst:379 msgid "" "Return the value (in fractional seconds) of the sum of the system and user " "CPU time of the current process. It does not include time elapsed during " @@ -489,389 +490,389 @@ msgid "" "of two calls is valid." msgstr "" -#: ../../library/time.rst:383 +#: ../../library/time.rst:385 msgid "" "Use :func:`process_time_ns` to avoid the precision loss caused by the :class:" "`float` type." msgstr "" -#: ../../library/time.rst:390 +#: ../../library/time.rst:392 msgid "Similar to :func:`process_time` but return time as nanoseconds." msgstr "" -#: ../../library/time.rst:396 +#: ../../library/time.rst:398 msgid "" "Suspend execution of the calling thread for the given number of seconds. The " "argument may be a non-integer to indicate a more precise sleep time." msgstr "" -#: ../../library/time.rst:399 +#: ../../library/time.rst:401 msgid "" "If the sleep is interrupted by a signal and no exception is raised by the " "signal handler, the sleep is restarted with a recomputed timeout." msgstr "" -#: ../../library/time.rst:402 +#: ../../library/time.rst:404 msgid "" "The suspension time may be longer than requested by an arbitrary amount, " "because of the scheduling of other activity in the system." msgstr "" -#: ../../library/time.rst:406 +#: ../../library/time.rst:408 msgid "Windows implementation" msgstr "" -#: ../../library/time.rst:407 +#: ../../library/time.rst:409 msgid "" -"On Windows, if *secs* is zero, the thread relinquishes the remainder of its " -"time slice to any other thread that is ready to run. If there are no other " -"threads ready to run, the function returns immediately, and the thread " -"continues execution. On Windows 10 and newer the implementation uses a " -"`high-resolution timer `_ which provides resolution of " -"100 nanoseconds. If *secs* is zero, ``Sleep(0)`` is used." +"On Windows, if *seconds* is zero, the thread relinquishes the remainder of " +"its time slice to any other thread that is ready to run. If there are no " +"other threads ready to run, the function returns immediately, and the thread " +"continues execution. On Windows 10 and newer the implementation uses a `high-" +"resolution timer `_ which provides resolution of 100 " +"nanoseconds. If *seconds* is zero, ``Sleep(0)`` is used." msgstr "" -#: ../../library/time.rst:416 +#: ../../library/time.rst:421 msgid "Unix implementation" msgstr "" -#: ../../library/time.rst:417 +#: ../../library/time.rst:422 msgid "Use ``clock_nanosleep()`` if available (resolution: 1 nanosecond);" msgstr "" -#: ../../library/time.rst:418 +#: ../../library/time.rst:423 msgid "Or use ``nanosleep()`` if available (resolution: 1 nanosecond);" msgstr "" -#: ../../library/time.rst:419 +#: ../../library/time.rst:424 msgid "Or use ``select()`` (resolution: 1 microsecond)." msgstr "" -#: ../../library/time.rst:423 +#: ../../library/time.rst:428 msgid "" "To emulate a \"no-op\", use :keyword:`pass` instead of ``time.sleep(0)``." msgstr "" -#: ../../library/time.rst:425 +#: ../../library/time.rst:430 msgid "" "To voluntarily relinquish the CPU, specify a real-time :ref:`scheduling " "policy ` and use :func:`os.sched_yield` instead." msgstr "" -#: ../../library/time.rst:428 +#: ../../library/time.rst:433 msgid "" "Raises an :ref:`auditing event ` ``time.sleep`` with argument " -"``secs``." +"``seconds``." msgstr "" -#: ../../library/time.rst:430 +#: ../../library/time.rst:435 msgid "" -"The function now sleeps at least *secs* even if the sleep is interrupted by " -"a signal, except if the signal handler raises an exception (see :pep:`475` " -"for the rationale)." +"The function now sleeps at least *seconds* even if the sleep is interrupted " +"by a signal, except if the signal handler raises an exception (see :pep:" +"`475` for the rationale)." msgstr "" -#: ../../library/time.rst:435 +#: ../../library/time.rst:441 msgid "" "On Unix, the ``clock_nanosleep()`` and ``nanosleep()`` functions are now " "used if available. On Windows, a waitable timer is now used." msgstr "" -#: ../../library/time.rst:439 +#: ../../library/time.rst:445 msgid "Raises an auditing event." msgstr "" -#: ../../library/time.rst:450 +#: ../../library/time.rst:456 msgid "" "Convert a tuple or :class:`struct_time` representing a time as returned by :" "func:`gmtime` or :func:`localtime` to a string as specified by the *format* " -"argument. If *t* is not provided, the current time as returned by :func:" -"`localtime` is used. *format* must be a string. :exc:`ValueError` is " -"raised if any field in *t* is outside of the allowed range." +"argument. If *time_tuple* is not provided, the current time as returned by :" +"func:`localtime` is used. *format* must be a string. :exc:`ValueError` is " +"raised if any field in *time_tuple* is outside of the allowed range." msgstr "" -#: ../../library/time.rst:456 +#: ../../library/time.rst:462 msgid "" "0 is a legal argument for any position in the time tuple; if it is normally " "illegal the value is forced to a correct one." msgstr "" -#: ../../library/time.rst:459 +#: ../../library/time.rst:465 msgid "" "The following directives can be embedded in the *format* string. They are " "shown without the optional field width and precision specification, and are " "replaced by the indicated characters in the :func:`strftime` result:" msgstr "" -#: ../../library/time.rst:464 +#: ../../library/time.rst:470 msgid "Directive" msgstr "" -#: ../../library/time.rst:464 +#: ../../library/time.rst:470 msgid "Meaning" msgstr "Bedeutung" -#: ../../library/time.rst:464 +#: ../../library/time.rst:470 msgid "Notes" msgstr "Hinweise" -#: ../../library/time.rst:466 +#: ../../library/time.rst:472 msgid "``%a``" msgstr "" -#: ../../library/time.rst:466 +#: ../../library/time.rst:472 msgid "Locale's abbreviated weekday name." msgstr "" -#: ../../library/time.rst:469 +#: ../../library/time.rst:475 msgid "``%A``" msgstr "" -#: ../../library/time.rst:469 +#: ../../library/time.rst:475 msgid "Locale's full weekday name." msgstr "" -#: ../../library/time.rst:471 +#: ../../library/time.rst:477 msgid "``%b``" msgstr "" -#: ../../library/time.rst:471 +#: ../../library/time.rst:477 msgid "Locale's abbreviated month name." msgstr "" -#: ../../library/time.rst:474 +#: ../../library/time.rst:480 msgid "``%B``" msgstr "" -#: ../../library/time.rst:474 +#: ../../library/time.rst:480 msgid "Locale's full month name." msgstr "" -#: ../../library/time.rst:476 +#: ../../library/time.rst:482 msgid "``%c``" msgstr "" -#: ../../library/time.rst:476 +#: ../../library/time.rst:482 msgid "Locale's appropriate date and time representation." msgstr "" -#: ../../library/time.rst:479 +#: ../../library/time.rst:485 msgid "``%d``" msgstr "" -#: ../../library/time.rst:479 +#: ../../library/time.rst:485 msgid "Day of the month as a decimal number [01,31]." msgstr "" -#: ../../library/time.rst:482 +#: ../../library/time.rst:488 msgid "``%f``" msgstr "" -#: ../../library/time.rst:482 +#: ../../library/time.rst:488 msgid "Microseconds as a decimal number" msgstr "" -#: ../../library/time.rst:483 +#: ../../library/time.rst:489 msgid "[000000,999999]." msgstr "" -#: ../../library/time.rst:482 +#: ../../library/time.rst:488 msgid "\\(1)" msgstr "\\(1)" -#: ../../library/time.rst:486 +#: ../../library/time.rst:492 msgid "``%H``" msgstr "" -#: ../../library/time.rst:486 +#: ../../library/time.rst:492 msgid "Hour (24-hour clock) as a decimal number [00,23]." msgstr "" -#: ../../library/time.rst:489 +#: ../../library/time.rst:495 msgid "``%I``" msgstr "" -#: ../../library/time.rst:489 +#: ../../library/time.rst:495 msgid "Hour (12-hour clock) as a decimal number [01,12]." msgstr "" -#: ../../library/time.rst:492 +#: ../../library/time.rst:498 msgid "``%j``" msgstr "" -#: ../../library/time.rst:492 +#: ../../library/time.rst:498 msgid "Day of the year as a decimal number [001,366]." msgstr "" -#: ../../library/time.rst:495 +#: ../../library/time.rst:501 msgid "``%m``" msgstr "" -#: ../../library/time.rst:495 +#: ../../library/time.rst:501 msgid "Month as a decimal number [01,12]." msgstr "" -#: ../../library/time.rst:498 +#: ../../library/time.rst:504 msgid "``%M``" msgstr "" -#: ../../library/time.rst:498 +#: ../../library/time.rst:504 msgid "Minute as a decimal number [00,59]." msgstr "" -#: ../../library/time.rst:501 +#: ../../library/time.rst:507 msgid "``%p``" msgstr "" -#: ../../library/time.rst:501 +#: ../../library/time.rst:507 msgid "Locale's equivalent of either AM or PM." msgstr "" -#: ../../library/time.rst:501 +#: ../../library/time.rst:507 msgid "\\(2)" msgstr "\\(2)" -#: ../../library/time.rst:504 +#: ../../library/time.rst:510 msgid "``%S``" msgstr "" -#: ../../library/time.rst:504 +#: ../../library/time.rst:510 msgid "Second as a decimal number [00,61]." msgstr "" -#: ../../library/time.rst:504 +#: ../../library/time.rst:510 msgid "\\(3)" msgstr "\\(3)" -#: ../../library/time.rst:507 +#: ../../library/time.rst:513 msgid "``%U``" msgstr "" -#: ../../library/time.rst:507 +#: ../../library/time.rst:513 msgid "" "Week number of the year (Sunday as the first day of the week) as a decimal " "number [00,53]. All days in a new year preceding the first Sunday are " "considered to be in week 0." msgstr "" -#: ../../library/time.rst:507 ../../library/time.rst:521 +#: ../../library/time.rst:513 ../../library/time.rst:527 msgid "\\(4)" msgstr "\\(4)" -#: ../../library/time.rst:515 +#: ../../library/time.rst:521 msgid "``%u``" msgstr "" -#: ../../library/time.rst:515 +#: ../../library/time.rst:521 msgid "Day of the week (Monday is 1; Sunday is 7) as a decimal number [1, 7]." msgstr "" -#: ../../library/time.rst:518 +#: ../../library/time.rst:524 msgid "``%w``" msgstr "" -#: ../../library/time.rst:518 +#: ../../library/time.rst:524 msgid "Weekday as a decimal number [0(Sunday),6]." msgstr "" -#: ../../library/time.rst:521 +#: ../../library/time.rst:527 msgid "``%W``" msgstr "" -#: ../../library/time.rst:521 +#: ../../library/time.rst:527 msgid "" "Week number of the year (Monday as the first day of the week) as a decimal " "number [00,53]. All days in a new year preceding the first Monday are " "considered to be in week 0." msgstr "" -#: ../../library/time.rst:529 +#: ../../library/time.rst:535 msgid "``%x``" msgstr "" -#: ../../library/time.rst:529 +#: ../../library/time.rst:535 msgid "Locale's appropriate date representation." msgstr "" -#: ../../library/time.rst:532 +#: ../../library/time.rst:538 msgid "``%X``" msgstr "" -#: ../../library/time.rst:532 +#: ../../library/time.rst:538 msgid "Locale's appropriate time representation." msgstr "" -#: ../../library/time.rst:535 +#: ../../library/time.rst:541 msgid "``%y``" msgstr "" -#: ../../library/time.rst:535 +#: ../../library/time.rst:541 msgid "Year without century as a decimal number [00,99]." msgstr "" -#: ../../library/time.rst:538 +#: ../../library/time.rst:544 msgid "``%Y``" msgstr "" -#: ../../library/time.rst:538 +#: ../../library/time.rst:544 msgid "Year with century as a decimal number." msgstr "" -#: ../../library/time.rst:541 +#: ../../library/time.rst:547 msgid "``%z``" msgstr "" -#: ../../library/time.rst:541 +#: ../../library/time.rst:547 msgid "" "Time zone offset indicating a positive or negative time difference from UTC/" "GMT of the form +HHMM or -HHMM, where H represents decimal hour digits and M " "represents decimal minute digits [-23:59, +23:59]. [1]_" msgstr "" -#: ../../library/time.rst:547 +#: ../../library/time.rst:553 msgid "``%Z``" msgstr "" -#: ../../library/time.rst:547 +#: ../../library/time.rst:553 msgid "Time zone name (no characters if no time zone exists). Deprecated. [1]_" msgstr "" -#: ../../library/time.rst:550 +#: ../../library/time.rst:556 msgid "``%G``" msgstr "" -#: ../../library/time.rst:550 +#: ../../library/time.rst:556 msgid "" "ISO 8601 year (similar to ``%Y`` but follows the rules for the ISO 8601 " "calendar year). The year starts with the week that contains the first " "Thursday of the calendar year." msgstr "" -#: ../../library/time.rst:555 +#: ../../library/time.rst:561 msgid "``%V``" msgstr "" -#: ../../library/time.rst:555 +#: ../../library/time.rst:561 msgid "" "ISO 8601 week number (as a decimal number [01,53]). The first week of the " "year is the one that contains the first Thursday of the year. Weeks start on " "Monday." msgstr "" -#: ../../library/time.rst:560 +#: ../../library/time.rst:566 msgid "``%%``" msgstr "" -#: ../../library/time.rst:560 +#: ../../library/time.rst:566 msgid "A literal ``'%'`` character." msgstr "" -#: ../../library/time.rst:563 +#: ../../library/time.rst:569 msgid "Notes:" msgstr "Hinweise:" -#: ../../library/time.rst:566 +#: ../../library/time.rst:572 msgid "" "The ``%f`` format directive only applies to :func:`strptime`, not to :func:" "`strftime`. However, see also :meth:`datetime.datetime.strptime` and :meth:" @@ -879,40 +880,40 @@ msgid "" "to microseconds `." msgstr "" -#: ../../library/time.rst:572 +#: ../../library/time.rst:578 msgid "" "When used with the :func:`strptime` function, the ``%p`` directive only " "affects the output hour field if the ``%I`` directive is used to parse the " "hour." msgstr "" -#: ../../library/time.rst:578 +#: ../../library/time.rst:584 msgid "" "The range really is ``0`` to ``61``; value ``60`` is valid in timestamps " "representing `leap seconds`_ and value ``61`` is supported for historical " "reasons." msgstr "" -#: ../../library/time.rst:583 +#: ../../library/time.rst:589 msgid "" "When used with the :func:`strptime` function, ``%U`` and ``%W`` are only " "used in calculations when the day of the week and the year are specified." msgstr "" -#: ../../library/time.rst:586 +#: ../../library/time.rst:592 msgid "" "Here is an example, a format for dates compatible with that specified in " "the :rfc:`5322` Internet email standard. [1]_ ::" msgstr "" -#: ../../library/time.rst:589 +#: ../../library/time.rst:595 msgid "" ">>> from time import gmtime, strftime\n" ">>> strftime(\"%a, %d %b %Y %H:%M:%S +0000\", gmtime())\n" "'Thu, 28 Jun 2001 14:17:15 +0000'" msgstr "" -#: ../../library/time.rst:593 +#: ../../library/time.rst:599 msgid "" "Additional directives may be supported on certain platforms, but only the " "ones listed here have a meaning standardized by ANSI C. To see the full set " @@ -920,7 +921,7 @@ msgid "" "`strftime(3)` documentation." msgstr "" -#: ../../library/time.rst:598 +#: ../../library/time.rst:604 msgid "" "On some platforms, an optional field width and precision specification can " "immediately follow the initial ``'%'`` of a directive in the following " @@ -928,13 +929,13 @@ msgid "" "``%j`` where it is 3." msgstr "" -#: ../../library/time.rst:609 +#: ../../library/time.rst:615 msgid "" "Parse a string representing a time according to a format. The return value " "is a :class:`struct_time` as returned by :func:`gmtime` or :func:`localtime`." msgstr "" -#: ../../library/time.rst:613 +#: ../../library/time.rst:619 msgid "" "The *format* parameter uses the same directives as those used by :func:" "`strftime`; it defaults to ``\"%a %b %d %H:%M:%S %Y\"`` which matches the " @@ -945,11 +946,11 @@ msgid "" "Both *string* and *format* must be strings." msgstr "" -#: ../../library/time.rst:621 +#: ../../library/time.rst:627 msgid "For example:" msgstr "Zum Beispiel:" -#: ../../library/time.rst:628 +#: ../../library/time.rst:634 msgid "" "Support for the ``%Z`` directive is based on the values contained in " "``tzname`` and whether ``daylight`` is true. Because of this, it is " @@ -957,7 +958,7 @@ msgid "" "(and are considered to be non-daylight savings timezones)." msgstr "" -#: ../../library/time.rst:633 +#: ../../library/time.rst:639 msgid "" "Only the directives specified in the documentation are supported. Because " "``strftime()`` is implemented per platform it can sometimes offer more " @@ -966,7 +967,7 @@ msgid "" "are not documented as supported." msgstr "" -#: ../../library/time.rst:642 +#: ../../library/time.rst:648 msgid "" "The type of the time value sequence returned by :func:`gmtime`, :func:" "`localtime`, and :func:`strptime`. It is an object with a :term:`named " @@ -974,109 +975,109 @@ msgid "" "The following values are present:" msgstr "" -#: ../../library/time.rst:649 +#: ../../library/time.rst:655 msgid "Index" msgstr "" -#: ../../library/time.rst:650 +#: ../../library/time.rst:656 msgid "Attribute" msgstr "" -#: ../../library/time.rst:651 +#: ../../library/time.rst:657 msgid "Values" msgstr "" -#: ../../library/time.rst:653 +#: ../../library/time.rst:659 msgid "0" msgstr "0" -#: ../../library/time.rst:655 +#: ../../library/time.rst:661 msgid "(for example, 1993)" msgstr "" -#: ../../library/time.rst:657 +#: ../../library/time.rst:663 msgid "1" msgstr "" -#: ../../library/time.rst:659 +#: ../../library/time.rst:665 msgid "range [1, 12]" msgstr "" -#: ../../library/time.rst:661 +#: ../../library/time.rst:667 msgid "2" msgstr "" -#: ../../library/time.rst:663 +#: ../../library/time.rst:669 msgid "range [1, 31]" msgstr "" -#: ../../library/time.rst:665 +#: ../../library/time.rst:671 msgid "3" msgstr "" -#: ../../library/time.rst:667 +#: ../../library/time.rst:673 msgid "range [0, 23]" msgstr "" -#: ../../library/time.rst:669 +#: ../../library/time.rst:675 msgid "4" msgstr "4" -#: ../../library/time.rst:671 +#: ../../library/time.rst:677 msgid "range [0, 59]" msgstr "" -#: ../../library/time.rst:673 +#: ../../library/time.rst:679 msgid "5" msgstr "" -#: ../../library/time.rst:675 +#: ../../library/time.rst:681 msgid "range [0, 61]; see :ref:`Note (2) ` in :func:`strftime`" msgstr "" -#: ../../library/time.rst:677 +#: ../../library/time.rst:683 msgid "6" msgstr "" -#: ../../library/time.rst:679 +#: ../../library/time.rst:685 msgid "range [0, 6]; Monday is 0" msgstr "" -#: ../../library/time.rst:681 +#: ../../library/time.rst:687 msgid "7" msgstr "" -#: ../../library/time.rst:683 +#: ../../library/time.rst:689 msgid "range [1, 366]" msgstr "" -#: ../../library/time.rst:685 +#: ../../library/time.rst:691 msgid "8" msgstr "8" -#: ../../library/time.rst:687 +#: ../../library/time.rst:693 msgid "0, 1 or -1; see below" msgstr "" -#: ../../library/time.rst:689 ../../library/time.rst:693 +#: ../../library/time.rst:695 ../../library/time.rst:699 msgid "N/A" msgstr "" -#: ../../library/time.rst:691 +#: ../../library/time.rst:697 msgid "abbreviation of timezone name" msgstr "" -#: ../../library/time.rst:695 +#: ../../library/time.rst:701 msgid "offset east of UTC in seconds" msgstr "" -#: ../../library/time.rst:697 +#: ../../library/time.rst:703 msgid "" "Note that unlike the C structure, the month value is a range of [1, 12], not " "[0, 11]." msgstr "" -#: ../../library/time.rst:700 +#: ../../library/time.rst:706 msgid "" "In calls to :func:`mktime`, :attr:`tm_isdst` may be set to 1 when daylight " "savings time is in effect, and 0 when it is not. A value of -1 indicates " @@ -1084,14 +1085,14 @@ msgid "" "filled in." msgstr "" -#: ../../library/time.rst:704 +#: ../../library/time.rst:710 msgid "" "When a tuple with an incorrect length is passed to a function expecting a :" "class:`struct_time`, or having elements of the wrong type, a :exc:" "`TypeError` is raised." msgstr "" -#: ../../library/time.rst:710 +#: ../../library/time.rst:716 msgid "" "Return the time in seconds since the epoch_ as a floating-point number. The " "handling of `leap seconds`_ is platform dependent. On Windows and most Unix " @@ -1100,7 +1101,7 @@ msgid "" "org/wiki/Unix_time>`_." msgstr "" -#: ../../library/time.rst:716 +#: ../../library/time.rst:722 msgid "" "Note that even though the time is always returned as a floating-point " "number, not all systems provide time with a better precision than 1 second. " @@ -1109,7 +1110,7 @@ msgid "" "between the two calls." msgstr "" -#: ../../library/time.rst:722 +#: ../../library/time.rst:728 msgid "" "The number returned by :func:`.time` may be converted into a more common " "time format (i.e. year, month, day, hour, etc...) in UTC by passing it to :" @@ -1119,37 +1120,37 @@ msgid "" "attributes." msgstr "" -#: ../../library/time.rst:731 +#: ../../library/time.rst:737 msgid "On Windows, call ``GetSystemTimePreciseAsFileTime()``." msgstr "" -#: ../../library/time.rst:732 +#: ../../library/time.rst:738 msgid "Call ``clock_gettime(CLOCK_REALTIME)`` if available." msgstr "" -#: ../../library/time.rst:733 +#: ../../library/time.rst:739 msgid "Otherwise, call ``gettimeofday()``." msgstr "" -#: ../../library/time.rst:735 +#: ../../library/time.rst:741 msgid "" "Use :func:`time_ns` to avoid the precision loss caused by the :class:`float` " "type." msgstr "" -#: ../../library/time.rst:740 +#: ../../library/time.rst:746 msgid "" "On Windows, calls ``GetSystemTimePreciseAsFileTime()`` instead of " "``GetSystemTimeAsFileTime()``." msgstr "" -#: ../../library/time.rst:746 +#: ../../library/time.rst:752 msgid "" "Similar to :func:`~time.time` but returns time as an integer number of " "nanoseconds since the epoch_." msgstr "" -#: ../../library/time.rst:759 +#: ../../library/time.rst:765 msgid "" "Return the value (in fractional seconds) of the sum of the system and user " "CPU time of the current thread. It does not include time elapsed during " @@ -1158,21 +1159,21 @@ msgid "" "of two calls in the same thread is valid." msgstr "" -#: ../../library/time.rst:765 +#: ../../library/time.rst:771 msgid "" "Use :func:`thread_time_ns` to avoid the precision loss caused by the :class:" "`float` type." msgstr "" -#: ../../library/time.rst:770 +#: ../../library/time.rst:776 msgid "Unix systems supporting ``CLOCK_THREAD_CPUTIME_ID``." msgstr "" -#: ../../library/time.rst:777 +#: ../../library/time.rst:783 msgid "Similar to :func:`thread_time` but return time as nanoseconds." msgstr "" -#: ../../library/time.rst:784 +#: ../../library/time.rst:790 msgid "" "Reset the time conversion rules used by the library routines. The " "environment variable :envvar:`TZ` specifies how this is done. It will also " @@ -1183,46 +1184,46 @@ msgid "" "when daylight saving time applies)." msgstr "" -#: ../../library/time.rst:796 +#: ../../library/time.rst:802 msgid "" "Although in many cases, changing the :envvar:`TZ` environment variable may " "affect the output of functions like :func:`localtime` without calling :func:" "`tzset`, this behavior should not be relied on." msgstr "" -#: ../../library/time.rst:800 +#: ../../library/time.rst:806 msgid "The :envvar:`TZ` environment variable should contain no whitespace." msgstr "" -#: ../../library/time.rst:802 +#: ../../library/time.rst:808 msgid "" "The standard format of the :envvar:`TZ` environment variable is (whitespace " "added for clarity)::" msgstr "" -#: ../../library/time.rst:805 +#: ../../library/time.rst:811 msgid "std offset [dst [offset [,start[/time], end[/time]]]]" msgstr "" -#: ../../library/time.rst:807 +#: ../../library/time.rst:813 msgid "Where the components are:" msgstr "" -#: ../../library/time.rst:809 +#: ../../library/time.rst:815 msgid "``std`` and ``dst``" msgstr "" -#: ../../library/time.rst:810 +#: ../../library/time.rst:816 msgid "" "Three or more alphanumerics giving the timezone abbreviations. These will be " "propagated into time.tzname" msgstr "" -#: ../../library/time.rst:813 +#: ../../library/time.rst:819 msgid "``offset``" msgstr "" -#: ../../library/time.rst:814 +#: ../../library/time.rst:820 msgid "" "The offset has the form: ``± hh[:mm[:ss]]``. This indicates the value added " "the local time to arrive at UTC. If preceded by a '-', the timezone is east " @@ -1230,41 +1231,41 @@ msgid "" "summer time is assumed to be one hour ahead of standard time." msgstr "" -#: ../../library/time.rst:819 +#: ../../library/time.rst:825 msgid "``start[/time], end[/time]``" msgstr "" -#: ../../library/time.rst:820 +#: ../../library/time.rst:826 msgid "" "Indicates when to change to and back from DST. The format of the start and " "end dates are one of the following:" msgstr "" -#: ../../library/time.rst:823 +#: ../../library/time.rst:829 msgid ":samp:`J{n}`" msgstr "" -#: ../../library/time.rst:824 +#: ../../library/time.rst:830 msgid "" "The Julian day *n* (1 <= *n* <= 365). Leap days are not counted, so in all " "years February 28 is day 59 and March 1 is day 60." msgstr "" -#: ../../library/time.rst:827 +#: ../../library/time.rst:833 msgid ":samp:`{n}`" msgstr "" -#: ../../library/time.rst:828 +#: ../../library/time.rst:834 msgid "" "The zero-based Julian day (0 <= *n* <= 365). Leap days are counted, and it " "is possible to refer to February 29." msgstr "" -#: ../../library/time.rst:831 +#: ../../library/time.rst:837 msgid ":samp:`M{m}.{n}.{d}`" msgstr "" -#: ../../library/time.rst:832 +#: ../../library/time.rst:838 msgid "" "The *d*'th day (0 <= *d* <= 6) of week *n* of month *m* of the year (1 <= " "*n* <= 5, 1 <= *m* <= 12, where week 5 means \"the last *d* day in month " @@ -1272,13 +1273,13 @@ msgid "" "first week in which the *d*'th day occurs. Day zero is a Sunday." msgstr "" -#: ../../library/time.rst:838 +#: ../../library/time.rst:844 msgid "" "``time`` has the same format as ``offset`` except that no leading sign ('-' " "or '+') is allowed. The default, if time is not given, is 02:00:00." msgstr "" -#: ../../library/time.rst:843 +#: ../../library/time.rst:849 msgid "" ">>> os.environ['TZ'] = 'EST+05EDT,M4.1.0,M10.5.0'\n" ">>> time.tzset()\n" @@ -1290,7 +1291,7 @@ msgid "" "'16:08:12 05/08/03 AEST'" msgstr "" -#: ../../library/time.rst:852 +#: ../../library/time.rst:858 msgid "" "On many Unix systems (including \\*BSD, Linux, Solaris, and Darwin), it is " "more convenient to use the system's zoneinfo (:manpage:`tzfile(5)`) " @@ -1301,7 +1302,7 @@ msgid "" "``'Australia/Melbourne'``, ``'Egypt'`` or ``'Europe/Amsterdam'``. ::" msgstr "" -#: ../../library/time.rst:860 +#: ../../library/time.rst:866 msgid "" ">>> os.environ['TZ'] = 'US/Eastern'\n" ">>> time.tzset()\n" @@ -1313,23 +1314,23 @@ msgid "" "('EET', 'EEST')" msgstr "" -#: ../../library/time.rst:873 +#: ../../library/time.rst:879 msgid "Clock ID Constants" msgstr "" -#: ../../library/time.rst:875 +#: ../../library/time.rst:881 msgid "" "These constants are used as parameters for :func:`clock_getres` and :func:" "`clock_gettime`." msgstr "" -#: ../../library/time.rst:880 +#: ../../library/time.rst:886 msgid "" "Identical to :data:`CLOCK_MONOTONIC`, except it also includes any time that " "the system is suspended." msgstr "" -#: ../../library/time.rst:883 +#: ../../library/time.rst:889 msgid "" "This allows applications to get a suspend-aware monotonic clock without " "having to deal with the complications of :data:`CLOCK_REALTIME`, which may " @@ -1337,87 +1338,87 @@ msgid "" "similar." msgstr "" -#: ../../library/time.rst:895 +#: ../../library/time.rst:901 msgid "" "The Solaris OS has a ``CLOCK_HIGHRES`` timer that attempts to use an optimal " "hardware source, and may give close to nanosecond resolution. " "``CLOCK_HIGHRES`` is the nonadjustable, high-resolution clock." msgstr "" -#: ../../library/time.rst:906 +#: ../../library/time.rst:912 msgid "" "Clock that cannot be set and represents monotonic time since some " "unspecified starting point." msgstr "" -#: ../../library/time.rst:916 +#: ../../library/time.rst:922 msgid "" "Similar to :data:`CLOCK_MONOTONIC`, but provides access to a raw hardware-" "based time that is not subject to NTP adjustments." msgstr "" -#: ../../library/time.rst:925 +#: ../../library/time.rst:931 msgid "" "Similar to :data:`CLOCK_MONOTONIC_RAW`, but reads a value cached by the " "system at context switch and hence has less accuracy." msgstr "" -#: ../../library/time.rst:935 ../../library/time.rst:944 +#: ../../library/time.rst:941 ../../library/time.rst:950 msgid "High-resolution per-process timer from the CPU." msgstr "" -#: ../../library/time.rst:952 +#: ../../library/time.rst:958 msgid "" "`International Atomic Time `_" msgstr "" -#: ../../library/time.rst:954 +#: ../../library/time.rst:960 msgid "" "The system must have a current leap second table in order for this to give " "the correct answer. PTP or NTP software can maintain a leap second table." msgstr "" -#: ../../library/time.rst:963 +#: ../../library/time.rst:969 msgid "Thread-specific CPU-time clock." msgstr "" -#: ../../library/time.rst:972 +#: ../../library/time.rst:978 msgid "" "Time whose absolute value is the time the system has been running and not " "suspended, providing accurate uptime measurement, both absolute and interval." msgstr "" -#: ../../library/time.rst:983 +#: ../../library/time.rst:989 msgid "" "Clock that increments monotonically, tracking the time since an arbitrary " "point, unaffected by frequency or time adjustments and not incremented while " "the system is asleep." msgstr "" -#: ../../library/time.rst:993 +#: ../../library/time.rst:999 msgid "" "Like :data:`CLOCK_UPTIME_RAW`, but the value is cached by the system at " "context switches and therefore has less accuracy." msgstr "" -#: ../../library/time.rst:1000 +#: ../../library/time.rst:1006 msgid "" "The following constant is the only parameter that can be sent to :func:" "`clock_settime`." msgstr "" -#: ../../library/time.rst:1006 +#: ../../library/time.rst:1012 msgid "" "Real-time clock. Setting this clock requires appropriate privileges. The " "clock is the same for all processes." msgstr "" -#: ../../library/time.rst:1017 +#: ../../library/time.rst:1023 msgid "Timezone Constants" msgstr "" -#: ../../library/time.rst:1021 +#: ../../library/time.rst:1027 msgid "" "The offset of the local DST timezone, in seconds west of UTC, if one is " "defined. This is negative if the local DST timezone is east of UTC (as in " @@ -1425,25 +1426,25 @@ msgid "" "nonzero. See note below." msgstr "" -#: ../../library/time.rst:1027 +#: ../../library/time.rst:1033 msgid "Nonzero if a DST timezone is defined. See note below." msgstr "" -#: ../../library/time.rst:1031 +#: ../../library/time.rst:1037 msgid "" "The offset of the local (non-DST) timezone, in seconds west of UTC (negative " "in most of Western Europe, positive in the US, zero in the UK). See note " "below." msgstr "" -#: ../../library/time.rst:1036 +#: ../../library/time.rst:1042 msgid "" "A tuple of two strings: the first is the name of the local non-DST timezone, " "the second is the name of the local DST timezone. If no DST timezone is " "defined, the second string should not be used. See note below." msgstr "" -#: ../../library/time.rst:1042 +#: ../../library/time.rst:1048 msgid "" "For the above Timezone constants (:data:`altzone`, :data:`daylight`, :data:" "`timezone`, and :data:`tzname`), the value is determined by the timezone " @@ -1453,40 +1454,40 @@ msgid "" "func:`localtime` to obtain timezone information." msgstr "" -#: ../../library/time.rst:1051 +#: ../../library/time.rst:1057 msgid "Module :mod:`datetime`" msgstr "" -#: ../../library/time.rst:1052 +#: ../../library/time.rst:1058 msgid "More object-oriented interface to dates and times." msgstr "" -#: ../../library/time.rst:1054 +#: ../../library/time.rst:1060 msgid "Module :mod:`locale`" msgstr "" -#: ../../library/time.rst:1055 +#: ../../library/time.rst:1061 msgid "" "Internationalization services. The locale setting affects the " "interpretation of many format specifiers in :func:`strftime` and :func:" "`strptime`." msgstr "" -#: ../../library/time.rst:1058 +#: ../../library/time.rst:1064 msgid "Module :mod:`calendar`" msgstr "" -#: ../../library/time.rst:1059 +#: ../../library/time.rst:1065 msgid "" "General calendar-related functions. :func:`~calendar.timegm` is the " "inverse of :func:`gmtime` from this module." msgstr "" -#: ../../library/time.rst:1063 +#: ../../library/time.rst:1069 msgid "Footnotes" msgstr "Fußnoten" -#: ../../library/time.rst:1064 +#: ../../library/time.rst:1070 msgid "" "The use of ``%Z`` is now deprecated, but the ``%z`` escape that expands to " "the preferred hour/minute offset is not supported by all ANSI C libraries. " @@ -1525,23 +1526,23 @@ msgstr "" msgid "Daylight Saving Time" msgstr "" -#: ../../library/time.rst:336 ../../library/time.rst:372 -#: ../../library/time.rst:754 +#: ../../library/time.rst:338 ../../library/time.rst:374 +#: ../../library/time.rst:760 msgid "benchmarking" msgstr "" -#: ../../library/time.rst:372 ../../library/time.rst:754 +#: ../../library/time.rst:374 ../../library/time.rst:760 msgid "CPU time" msgstr "" -#: ../../library/time.rst:372 ../../library/time.rst:754 +#: ../../library/time.rst:374 ../../library/time.rst:760 msgid "processor time" msgstr "" -#: ../../library/time.rst:445 ../../library/time.rst:604 +#: ../../library/time.rst:451 ../../library/time.rst:610 msgid "% (percent)" msgstr "% (Prozent)" -#: ../../library/time.rst:445 ../../library/time.rst:604 +#: ../../library/time.rst:451 ../../library/time.rst:610 msgid "datetime format" msgstr "" diff --git a/library/turtle.po b/library/turtle.po index 5561b763..5d92867a 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Last-Translator: Swen Bachmann\n" "Language-Team: German (https://github.com/python/python-docs-de)\n" @@ -38,7 +38,11 @@ msgstr "" "Turtle kann komplizierte Formen zeichnen, indem es Programme verwendet, die " "einfache Bewegungen wiederholen." -#: ../../library/turtle.rst:35 +#: ../../library/turtle.rst:32 +msgid "A yellow starburst of thin spikes with a red outline, drawn by turtle." +msgstr "" + +#: ../../library/turtle.rst:36 msgid "" "Imagine a robotic turtle starting at (0, 0) in the x-y plane. After an " "``import turtle``, give it the command ``turtle.forward(15)``, and it moves " @@ -52,10 +56,11 @@ msgstr "" "schaut, und zeichnet dabei eine Linie. Gib ihr den Befehl ``turtle." "right(25)``, und sie dreht sich auf der Stelle um 25 Grad im Uhrzeigersinn." -#: ../../library/turtle.rst:41 +#: ../../library/turtle.rst:42 +#, fuzzy msgid "" "Turtle graphics is an implementation of `the drawing tools introduced in " -"Logo `_ in 1967. It was " +"Logo `__ in 1967. It was " "created as an educational tool, and its instant, visible feedback makes it " "an effective way for learners to encounter programming concepts. It is also " "a convenient way to produce simple graphical output without bringing in " @@ -68,17 +73,17 @@ msgstr "" "Berührung kommen. Außerdem ist sie eine bequeme Möglichkeit, einfache " "grafische Ausgaben zu erzeugen, ohne externe Bibliotheken einzubinden." -#: ../../library/turtle.rst:47 +#: ../../library/turtle.rst:48 msgid "This document includes four main sections:" msgstr "Dieses Dokument umfasst vier Hauptabschnitte:" -#: ../../library/turtle.rst:49 +#: ../../library/turtle.rst:50 msgid ":ref:`turtle-tutorial` teaches the basics of turtle drawing." msgstr "" ":ref:`turtle-tutorial` vermittelt die Grundlagen des Zeichnens mit der " "Turtle." -#: ../../library/turtle.rst:50 +#: ../../library/turtle.rst:51 msgid "" ":ref:`turtle-reference` describes the functions, methods and classes this " "module defines." @@ -86,13 +91,14 @@ msgstr "" ":ref:`turtle-reference` beschreibt die Funktionen, Methoden und Klassen, die " "dieses Modul definiert." -#: ../../library/turtle.rst:52 -msgid ":ref:`turtle-howtos` details how to handle specific tasks." +#: ../../library/turtle.rst:53 +#, fuzzy +msgid ":ref:`turtle-howtos` detail how to handle specific tasks." msgstr "" ":ref:`turtle-howtos` beschreibt im Detail, wie bestimmte Aufgaben zu lösen " "sind." -#: ../../library/turtle.rst:53 +#: ../../library/turtle.rst:54 msgid "" ":ref:`turtle-explanation` provides background on the object-oriented " "interface." @@ -100,7 +106,7 @@ msgstr "" ":ref:`turtle-explanation` liefert Hintergrundinformationen zur " "objektorientierten Schnittstelle." -#: ../../library/turtle.rst:58 +#: ../../library/turtle.rst:59 msgid "" "Turtle graphics requires the :mod:`tkinter` :term:`optional module`. The " "python.org installers for Windows and macOS include it, but some Linux " @@ -117,11 +123,11 @@ msgstr "" "(also dessen, der dir Python bereitgestellt hat). Prüfe das vorab, wenn du " "Turtle-Grafik mit Lernenden einsetzen willst." -#: ../../library/turtle.rst:71 +#: ../../library/turtle.rst:72 msgid "Tutorial" msgstr "Tutorial" -#: ../../library/turtle.rst:73 +#: ../../library/turtle.rst:74 msgid "" "New users should start here. In this tutorial we'll explore some of the " "basics of turtle drawing." @@ -129,19 +135,19 @@ msgstr "" "Neue Benutzer sollten hier beginnen. In diesem Tutorial erkunden wir einige " "der Grundlagen des Turtle-Zeichnens." -#: ../../library/turtle.rst:78 +#: ../../library/turtle.rst:79 msgid "Starting a turtle environment" msgstr "Eine Turtle-Umgebung starten" -#: ../../library/turtle.rst:80 +#: ../../library/turtle.rst:81 msgid "In a Python shell, import all the objects of the ``turtle`` module::" msgstr "Importiere in einer Python-Shell alle Objekte des Moduls ``turtle``::" -#: ../../library/turtle.rst:82 +#: ../../library/turtle.rst:83 msgid "from turtle import *" msgstr "from turtle import *" -#: ../../library/turtle.rst:84 +#: ../../library/turtle.rst:85 msgid "" "If you run into a ``Standard library module '_tkinter' was not found`` " "error, you'll have to install the :mod:`Tk interface package ` on " @@ -151,38 +157,54 @@ msgstr "" "found`` stößt, musst du das :mod:`Tk-Interface-Paket ` auf deinem " "System installieren." -#: ../../library/turtle.rst:89 +#: ../../library/turtle.rst:88 +msgid "" +"Nothing appears yet. To open the turtle window, make the turtle visible::" +msgstr "" + +#: ../../library/turtle.rst:90 +#, fuzzy +msgid "showturtle()" +msgstr ">>> turtle.showturtle()" + +#: ../../library/turtle.rst:92 +msgid "" +"A new window opens, with the turtle in the middle, shown as an arrow heading " +"East." +msgstr "" + +#: ../../library/turtle.rst:97 msgid "Basic drawing" msgstr "Einfaches Zeichnen" -#: ../../library/turtle.rst:91 +#: ../../library/turtle.rst:99 msgid "Send the turtle forward 100 steps::" msgstr "Schicke die Turtle 100 Schritte vorwärts::" -#: ../../library/turtle.rst:93 +#: ../../library/turtle.rst:101 msgid "forward(100)" msgstr "forward(100)" -#: ../../library/turtle.rst:95 +#: ../../library/turtle.rst:103 +#, fuzzy msgid "" -"You should see (most likely, in a new window on your display) a line drawn " -"by the turtle, heading East. Change the direction of the turtle, so that it " -"turns 120 degrees left (anti-clockwise)::" +"You should see a line drawn by the turtle, heading East. Change the " +"direction of the turtle, so that it turns 120 degrees left (anti-clockwise)::" msgstr "" "Du solltest (höchstwahrscheinlich in einem neuen Fenster auf deinem " "Bildschirm) eine von der Turtle gezeichnete Linie sehen, die nach Osten " "zeigt. Ändere die Richtung der Turtle, sodass sie sich um 120 Grad nach " "links dreht (gegen den Uhrzeigersinn)::" -#: ../../library/turtle.rst:99 +#: ../../library/turtle.rst:107 msgid "left(120)" msgstr "left(120)" -#: ../../library/turtle.rst:101 +#: ../../library/turtle.rst:109 msgid "Let's continue by drawing a triangle::" msgstr "Lass uns fortfahren, indem wir ein Dreieck zeichnen::" -#: ../../library/turtle.rst:103 +#: ../../library/turtle.rst:111 msgid "" "forward(100)\n" "left(120)\n" @@ -192,7 +214,7 @@ msgstr "" "left(120)\n" "forward(100)" -#: ../../library/turtle.rst:107 +#: ../../library/turtle.rst:115 msgid "" "Notice how the turtle, represented by an arrow, points in different " "directions as you steer it." @@ -200,22 +222,22 @@ msgstr "" "Beachte, wie die Turtle, dargestellt durch einen Pfeil, in unterschiedliche " "Richtungen zeigt, während du sie steuerst." -#: ../../library/turtle.rst:110 +#: ../../library/turtle.rst:118 +#, fuzzy msgid "" "Experiment with those commands, and also with ``backward()`` and " -"``right()``. Many commands also have terser aliases, such as ``fd()`` for :" +"``right()``. Many commands also have shorter aliases, such as ``fd()`` for :" "func:`forward`." msgstr "" "Experimentiere mit diesen Befehlen und auch mit ``backward()`` und " "``right()``. Viele Befehle haben außerdem knappere Aliasnamen, etwa ``fd()`` " "für :func:`forward`." -#: ../../library/turtle.rst:116 ../../library/turtle.rst:353 -#: ../../library/turtle.rst:1053 +#: ../../library/turtle.rst:124 ../../library/turtle.rst:811 msgid "Pen control" msgstr "Stiftsteuerung" -#: ../../library/turtle.rst:118 +#: ../../library/turtle.rst:126 msgid "" "Try changing the color - for example, ``color('blue')`` - and width of the " "line - for example, ``width(3)`` - and then drawing again." @@ -223,7 +245,7 @@ msgstr "" "Versuche, die Farbe zu ändern – zum Beispiel ``color('blue')`` – sowie die " "Breite der Linie – zum Beispiel ``width(3)`` – und zeichne dann erneut." -#: ../../library/turtle.rst:121 +#: ../../library/turtle.rst:129 msgid "" "You can also move the turtle around without drawing, by lifting up the pen: " "``up()`` before moving. To start drawing again, use ``down()``." @@ -232,11 +254,11 @@ msgstr "" "anhebst: ``up()`` vor dem Bewegen. Um wieder mit dem Zeichnen zu beginnen, " "verwende ``down()``." -#: ../../library/turtle.rst:126 +#: ../../library/turtle.rst:134 msgid "The turtle's position" msgstr "Die Position der Turtle" -#: ../../library/turtle.rst:128 +#: ../../library/turtle.rst:136 msgid "" "Send your turtle back to its starting-point (useful if it has disappeared " "off-screen)::" @@ -244,11 +266,11 @@ msgstr "" "Schicke deine Turtle zurück zu ihrem Startpunkt (nützlich, falls sie " "außerhalb des Bildschirms verschwunden ist)::" -#: ../../library/turtle.rst:131 +#: ../../library/turtle.rst:139 msgid "home()" msgstr "home()" -#: ../../library/turtle.rst:133 +#: ../../library/turtle.rst:141 msgid "" "The home position is at the center of the turtle's screen. If you ever need " "to know them, get the turtle's x-y coordinates with::" @@ -256,15 +278,15 @@ msgstr "" "Die Home-Position befindet sich in der Mitte des Turtle-Bildschirms. Falls " "du sie jemals wissen musst, erhältst du die x-y-Koordinaten der Turtle mit::" -#: ../../library/turtle.rst:136 +#: ../../library/turtle.rst:144 msgid "pos()" msgstr "pos()" -#: ../../library/turtle.rst:138 +#: ../../library/turtle.rst:146 msgid "Home is at ``(0, 0)``." msgstr "Home liegt bei ``(0, 0)``." -#: ../../library/turtle.rst:140 +#: ../../library/turtle.rst:148 msgid "" "And after a while, it will probably help to clear the window so we can start " "anew::" @@ -272,20 +294,20 @@ msgstr "" "Und nach einer Weile wird es wahrscheinlich helfen, das Fenster zu leeren, " "damit wir von vorne beginnen können::" -#: ../../library/turtle.rst:143 +#: ../../library/turtle.rst:151 msgid "clearscreen()" msgstr "clearscreen()" -#: ../../library/turtle.rst:147 +#: ../../library/turtle.rst:155 msgid "Making algorithmic patterns" msgstr "Algorithmische Muster erstellen" -#: ../../library/turtle.rst:149 +#: ../../library/turtle.rst:157 msgid "Using loops, it's possible to build up geometric patterns::" msgstr "" "Mithilfe von Schleifen ist es möglich, geometrische Muster aufzubauen::" -#: ../../library/turtle.rst:151 +#: ../../library/turtle.rst:159 msgid "" "for steps in range(100):\n" " for c in ('blue', 'red', 'green'):\n" @@ -299,11 +321,11 @@ msgstr "" " forward(steps)\n" " right(30)" -#: ../../library/turtle.rst:158 +#: ../../library/turtle.rst:166 msgid "\\ - which of course, are limited only by the imagination!" msgstr "\\ - die natürlich nur durch die Fantasie begrenzt werden!" -#: ../../library/turtle.rst:160 +#: ../../library/turtle.rst:168 msgid "" "Let's draw the star shape at the top of this page. We want red lines, filled " "in with yellow::" @@ -311,7 +333,7 @@ msgstr "" "Lass uns die Sternform am Anfang dieser Seite zeichnen. Wir wollen rote " "Linien, gefüllt mit Gelb::" -#: ../../library/turtle.rst:163 +#: ../../library/turtle.rst:171 msgid "" "color('red')\n" "fillcolor('yellow')" @@ -319,7 +341,7 @@ msgstr "" "color('red')\n" "fillcolor('yellow')" -#: ../../library/turtle.rst:166 +#: ../../library/turtle.rst:174 msgid "" "Just as ``up()`` and ``down()`` determine whether lines will be drawn, " "filling can be turned on and off::" @@ -327,15 +349,15 @@ msgstr "" "Genau wie ``up()`` und ``down()`` bestimmen, ob Linien gezeichnet werden, " "kann das Füllen ein- und ausgeschaltet werden::" -#: ../../library/turtle.rst:169 +#: ../../library/turtle.rst:177 msgid "begin_fill()" msgstr "begin_fill()" -#: ../../library/turtle.rst:171 +#: ../../library/turtle.rst:179 msgid "Next we'll create a loop::" msgstr "Als Nächstes erstellen wir eine Schleife::" -#: ../../library/turtle.rst:173 +#: ../../library/turtle.rst:181 msgid "" "start = pos()\n" "\n" @@ -353,7 +375,7 @@ msgstr "" " if distance(start) < 1:\n" " break" -#: ../../library/turtle.rst:181 +#: ../../library/turtle.rst:189 msgid "" "``distance(start) < 1`` is a good way to know when the turtle is back at its " "start position." @@ -361,15 +383,15 @@ msgstr "" "``distance(start) < 1`` ist eine gute Möglichkeit zu erkennen, wann die " "Turtle wieder an ihrer Startposition ist." -#: ../../library/turtle.rst:184 +#: ../../library/turtle.rst:192 msgid "Finally, complete the filling::" msgstr "Schließlich vervollständige das Füllen::" -#: ../../library/turtle.rst:186 +#: ../../library/turtle.rst:194 msgid "end_fill()" msgstr "end_fill()" -#: ../../library/turtle.rst:188 +#: ../../library/turtle.rst:196 msgid "" "(Note that filling only actually takes place when you give the " "``end_fill()`` command.)" @@ -377,875 +399,179 @@ msgstr "" "(Beachte, dass das Füllen erst tatsächlich stattfindet, wenn du den Befehl " "``end_fill()`` gibst.)" -#: ../../library/turtle.rst:197 -msgid "How-to guides" -msgstr "How-to-Anleitungen" - -#: ../../library/turtle.rst:199 -msgid "This section covers some typical turtle use-cases and approaches." -msgstr "" -"Dieser Abschnitt behandelt einige typische Anwendungsfälle und " -"Vorgehensweisen für Turtle." +#: ../../library/turtle.rst:204 +msgid "Reference" +msgstr "Referenz" -#: ../../library/turtle.rst:203 -msgid "Automatically begin and end filling" -msgstr "Füllen automatisch beginnen und beenden" +#: ../../library/turtle.rst:210 +#, fuzzy +msgid "Turtle methods and functions" +msgstr "Turtle-Methoden" -#: ../../library/turtle.rst:205 +#: ../../library/turtle.rst:212 msgid "" -"Starting with Python 3.14, you can use the :func:`fill` :term:`context " -"manager` instead of :func:`begin_fill` and :func:`end_fill` to automatically " -"begin and end fill. Here is an example::" -msgstr "" -"Ab Python 3.14 kannst du den :term:`Kontextmanager ` :func:" -"`fill` anstelle von :func:`begin_fill` und :func:`end_fill` verwenden, um " -"das Füllen automatisch zu beginnen und zu beenden. Hier ist ein Beispiel::" +"Most of the examples in this section refer to a Turtle instance called " +"``turtle``." +msgstr "Turtle-Instanz namens ``turtle``." -#: ../../library/turtle.rst:209 -msgid "" -"with fill():\n" -" for i in range(4):\n" -" forward(100)\n" -" right(90)\n" -"\n" -"forward(200)" -msgstr "" -"with fill():\n" -" for i in range(4):\n" -" forward(100)\n" -" right(90)\n" -"\n" -"forward(200)" +#: ../../library/turtle.rst:218 +msgid "Move and draw" +msgstr "Bewegen und zeichnen" -#: ../../library/turtle.rst:216 -msgid "The code above is equivalent to::" -msgstr "Der obige Code ist äquivalent zu::" +#: ../../library/turtle.rst:0 +msgid "Parameters" +msgstr "Parameter" -#: ../../library/turtle.rst:218 +#: ../../library/turtle.rst:223 ../../library/turtle.rst:245 +#: ../../library/turtle.rst:269 ../../library/turtle.rst:295 +#: ../../library/turtle.rst:393 ../../library/turtle.rst:415 +#: ../../library/turtle.rst:438 ../../library/turtle.rst:489 +#: ../../library/turtle.rst:764 ../../library/turtle.rst:1298 +#: ../../library/turtle.rst:1745 ../../library/turtle.rst:1746 +#: ../../library/turtle.rst:1747 ../../library/turtle.rst:1748 +msgid "a number" +msgstr "eine Zahl" + +#: ../../library/turtle.rst:225 msgid "" -"begin_fill()\n" -"for i in range(4):\n" -" forward(100)\n" -" right(90)\n" -"end_fill()\n" -"\n" -"forward(200)" +"Move the turtle forward by the specified *distance*, in the direction the " +"turtle is headed." msgstr "" -"begin_fill()\n" -"for i in range(4):\n" -" forward(100)\n" -" right(90)\n" -"end_fill()\n" -"\n" -"forward(200)" +"Bewege die Turtle um die angegebene *distance* vorwärts, in die Richtung, in " +"die die Turtle blickt." #: ../../library/turtle.rst:228 -msgid "Use the ``turtle`` module namespace" -msgstr "Das ``turtle``-Modul im eigenen Namensraum verwenden" - -#: ../../library/turtle.rst:230 msgid "" -"Using ``from turtle import *`` is convenient - but be warned that it imports " -"a rather large collection of objects, and if you're doing anything but " -"turtle graphics you run the risk of a name conflict (this becomes even more " -"an issue if you're using turtle graphics in a script where other modules " -"might be imported)." +">>> turtle.position()\n" +"(0.00,0.00)\n" +">>> turtle.forward(25)\n" +">>> turtle.position()\n" +"(25.00,0.00)\n" +">>> turtle.forward(-75)\n" +">>> turtle.position()\n" +"(-50.00,0.00)" msgstr "" -"Es ist praktisch, ``from turtle import *`` zu verwenden – aber sei gewarnt, " -"dass dadurch eine recht große Sammlung von Objekten importiert wird, und " -"wenn du irgendetwas außer Turtle-Grafik machst, läufst du Gefahr eines " -"Namenskonflikts (dies wird noch problematischer, wenn du Turtle-Grafik in " -"einem Skript verwendest, in dem auch andere Module importiert werden " -"könnten)." +">>> turtle.position()\n" +"(0.00,0.00)\n" +">>> turtle.forward(25)\n" +">>> turtle.position()\n" +"(25.00,0.00)\n" +">>> turtle.forward(-75)\n" +">>> turtle.position()\n" +"(-50.00,0.00)" -#: ../../library/turtle.rst:236 +#: ../../library/turtle.rst:247 +#, fuzzy msgid "" -"The solution is to use ``import turtle`` - ``fd()`` becomes ``turtle.fd()``, " -"``width()`` becomes ``turtle.width()`` and so on. (If typing \"turtle\" over " -"and over again becomes tedious, use for example ``import turtle as t`` " -"instead.)" +"Move the turtle backward by *distance*, opposite to the direction the turtle " +"is headed. The turtle's heading does not change." msgstr "" -"Die Lösung besteht darin, ``import turtle`` zu verwenden - ``fd()`` wird zu " -"``turtle.fd()``, ``width()`` wird zu ``turtle.width()`` und so weiter. " -"(Falls es lästig wird, immer wieder \"turtle\" zu tippen, verwende " -"stattdessen zum Beispiel ``import turtle as t``.)" - -#: ../../library/turtle.rst:243 -msgid "Use turtle graphics in a script" -msgstr "Turtle-Grafik in einem Skript verwenden" +"Bewege die Turtle um *distance* rückwärts, entgegen der Richtung, in die die " +"Turtle blickt. Die Ausrichtung der Turtle wird dabei nicht verändert." -#: ../../library/turtle.rst:245 +#: ../../library/turtle.rst:256 msgid "" -"It's recommended to use the ``turtle`` module namespace as described " -"immediately above, for example::" +">>> turtle.position()\n" +"(0.00,0.00)\n" +">>> turtle.backward(30)\n" +">>> turtle.position()\n" +"(-30.00,0.00)" msgstr "" -"Es wird empfohlen, den Namensraum des Moduls ``turtle`` wie unmittelbar oben " -"beschrieben zu verwenden, zum Beispiel::" +">>> turtle.position()\n" +"(0.00,0.00)\n" +">>> turtle.backward(30)\n" +">>> turtle.position()\n" +"(-30.00,0.00)" -#: ../../library/turtle.rst:248 +#: ../../library/turtle.rst:271 +#, fuzzy msgid "" -"import turtle as t\n" -"from random import random\n" -"\n" -"for i in range(100):\n" -" steps = int(random() * 100)\n" -" angle = int(random() * 360)\n" -" t.right(angle)\n" -" t.fd(steps)" +"Turn the turtle right by the specified *angle*. The angle is measured in " +"degrees by default; the unit can be changed with :func:`degrees` or :func:" +"`radians`. How the heading is measured depends on the turtle mode, see :func:" +"`mode`." msgstr "" -"import turtle as t\n" -"from random import random\n" -"\n" -"for i in range(100):\n" -" steps = int(random() * 100)\n" -" angle = int(random() * 360)\n" -" t.right(angle)\n" -" t.fd(steps)" +"Drehe die Turtle um *angle* Einheiten nach rechts. (Die Einheit ist " +"standardmäßig Grad, kann aber über die Funktionen :func:`degrees` und :func:" +"`radians` festgelegt werden.) Die Winkelausrichtung hängt vom Turtle-Modus " +"ab, siehe :func:`mode`." -#: ../../library/turtle.rst:257 +#: ../../library/turtle.rst:282 msgid "" -"Another step is also required though - as soon as the script ends, Python " -"will also close the turtle's window. Add::" +">>> turtle.heading()\n" +"22.0\n" +">>> turtle.right(45)\n" +">>> turtle.heading()\n" +"337.0" msgstr "" -"Ein weiterer Schritt ist jedoch ebenfalls erforderlich - sobald das Skript " -"endet, wird Python auch das Fenster der Turtle schließen. Füge Folgendes " -"hinzu::" - -#: ../../library/turtle.rst:260 -msgid "t.mainloop()" -msgstr "t.mainloop()" +">>> turtle.heading()\n" +"22.0\n" +">>> turtle.right(45)\n" +">>> turtle.heading()\n" +"337.0" -#: ../../library/turtle.rst:262 +#: ../../library/turtle.rst:297 +#, fuzzy msgid "" -"to the end of the script. The script will now wait to be dismissed and will " -"not exit until it is terminated, for example by closing the turtle graphics " -"window." +"Turn the turtle left by the specified *angle*. The angle is measured in " +"degrees by default; the unit can be changed with :func:`degrees` or :func:" +"`radians`. How the heading is measured depends on the turtle mode, see :func:" +"`mode`." msgstr "" -"am Ende des Skripts. Das Skript wartet nun darauf, geschlossen zu werden, " -"und beendet sich nicht, bis es beendet wird, zum Beispiel durch Schließen " -"des Turtle-Grafikfensters." - -#: ../../library/turtle.rst:268 -msgid "Use object-oriented turtle graphics" -msgstr "Objektorientierte Turtle-Grafik verwenden" +"Drehe die Turtle um *angle* Einheiten nach links. (Die Einheit ist " +"standardmäßig Grad, kann aber über die Funktionen :func:`degrees` und :func:" +"`radians` festgelegt werden.) Die Winkelausrichtung hängt vom Turtle-Modus " +"ab, siehe :func:`mode`." -#: ../../library/turtle.rst:270 +#: ../../library/turtle.rst:308 msgid "" -":ref:`Explanation of the object-oriented interface `" +">>> turtle.heading()\n" +"22.0\n" +">>> turtle.left(45)\n" +">>> turtle.heading()\n" +"67.0" msgstr "" -":ref:`Erklärung der objektorientierten Schnittstelle `" +">>> turtle.heading()\n" +"22.0\n" +">>> turtle.left(45)\n" +">>> turtle.heading()\n" +"67.0" -#: ../../library/turtle.rst:272 -msgid "" -"Other than for very basic introductory purposes, or for trying things out as " -"quickly as possible, it's more usual and much more powerful to use the " -"object-oriented approach to turtle graphics. For example, this allows " -"multiple turtles on screen at once." -msgstr "" -"Abgesehen von sehr grundlegenden Einführungszwecken oder um Dinge so schnell " -"wie möglich auszuprobieren, ist es üblicher und deutlich leistungsfähiger, " -"den objektorientierten Ansatz für Turtle-Grafik zu verwenden. Dies " -"ermöglicht zum Beispiel mehrere Turtles gleichzeitig auf dem Bildschirm." +#: ../../library/turtle.rst:322 +msgid "a number or a pair/vector of numbers" +msgstr "eine Zahl oder ein Paar/Vektor von Zahlen" -#: ../../library/turtle.rst:277 +#: ../../library/turtle.rst:323 ../../library/turtle.rst:355 +#: ../../library/turtle.rst:356 ../../library/turtle.rst:490 +#: ../../library/turtle.rst:1973 ../../library/turtle.rst:1974 +#: ../../library/turtle.rst:1975 ../../library/turtle.rst:2021 +msgid "a number or ``None``" +msgstr "eine Zahl oder ``None``" + +#: ../../library/turtle.rst:325 +#, fuzzy msgid "" -"In this approach, the various turtle commands are methods of objects (mostly " -"of ``Turtle`` objects). You *can* use the object-oriented approach in the " -"shell, but it would be more typical in a Python script." +"Move the turtle to an absolute position. If *y* is ``None``, *x* must be a " +"pair of coordinates or a :class:`Vec2D`, for example as returned by :func:" +"`pos`. If the pen is down, a line is drawn. The turtle's heading does not " +"change." msgstr "" -"Bei diesem Ansatz sind die verschiedenen Turtle-Befehle Methoden von " -"Objekten (meist von ``Turtle``-Objekten). Du *kannst* den objektorientierten " -"Ansatz auch in der Shell verwenden, typischer wäre es aber in einem Python-" -"Skript." - -#: ../../library/turtle.rst:281 -msgid "The example above then becomes::" -msgstr "Das obige Beispiel wird dann zu::" +"Wenn *y* ``None`` ist, muss *x* ein Koordinatenpaar oder ein :class:`Vec2D` " +"sein (z. B. wie von :func:`pos` zurückgegeben)." -#: ../../library/turtle.rst:283 -msgid "" -"from turtle import Turtle\n" -"from random import random\n" -"\n" -"t = Turtle()\n" -"for i in range(100):\n" -" steps = int(random() * 100)\n" -" angle = int(random() * 360)\n" -" t.right(angle)\n" -" t.fd(steps)\n" -"\n" -"t.screen.mainloop()" -msgstr "" -"from turtle import Turtle\n" -"from random import random\n" -"\n" -"t = Turtle()\n" -"for i in range(100):\n" -" steps = int(random() * 100)\n" -" angle = int(random() * 360)\n" -" t.right(angle)\n" -" t.fd(steps)\n" -"\n" -"t.screen.mainloop()" - -#: ../../library/turtle.rst:295 -msgid "" -"Note the last line. ``t.screen`` is an instance of the :class:`Screen` that " -"a Turtle instance exists on; it's created automatically along with the " -"turtle." -msgstr "" -"Beachte die letzte Zeile. ``t.screen`` ist eine Instanz der :class:`Screen`, " -"auf der eine Turtle-Instanz existiert; sie wird automatisch zusammen mit der " -"Turtle erstellt." - -#: ../../library/turtle.rst:299 -msgid "The turtle's screen can be customised, for example::" -msgstr "Der Turtle-Scree kann angepasst werden, zum Beispiel::" - -#: ../../library/turtle.rst:301 -msgid "" -"t.screen.title('Object-oriented turtle demo')\n" -"t.screen.bgcolor(\"orange\")" -msgstr "" -"t.screen.title('Object-oriented turtle demo')\n" -"t.screen.bgcolor(\"orange\")" - -#: ../../library/turtle.rst:309 -msgid "Reference" -msgstr "Referenz" - -#: ../../library/turtle.rst:313 -msgid "" -"In the following documentation the argument list for functions is given. " -"Methods, of course, have the additional first argument *self* which is " -"omitted here." -msgstr "" -"In der folgenden Dokumentation wird die Argumentliste für Funktionen " -"angegeben. Methoden haben natürlich das zusätzliche erste Argument *self*, " -"das hier weggelassen wird." - -#: ../../library/turtle.rst:319 -msgid "Turtle methods" -msgstr "Turtle-Methoden" - -#: ../../library/turtle.rst:321 ../../library/turtle.rst:464 -msgid "Turtle motion" -msgstr "Turtle-Bewegung" - -#: ../../library/turtle.rst:322 -msgid "Move and draw" -msgstr "Bewegen und zeichnen" - -#: ../../library/turtle.rst:323 -msgid ":func:`forward` | :func:`fd`" -msgstr ":func:`forward` | :func:`fd`" - -#: ../../library/turtle.rst:324 -msgid ":func:`backward` | :func:`bk` | :func:`back`" -msgstr ":func:`backward` | :func:`bk` | :func:`back`" - -#: ../../library/turtle.rst:325 -msgid ":func:`right` | :func:`rt`" -msgstr ":func:`right` | :func:`rt`" - -#: ../../library/turtle.rst:326 -msgid ":func:`left` | :func:`lt`" -msgstr ":func:`left` | :func:`lt`" - -#: ../../library/turtle.rst:327 -msgid ":func:`goto` | :func:`setpos` | :func:`setposition`" -msgstr ":func:`goto` | :func:`setpos` | :func:`setposition`" - -#: ../../library/turtle.rst:328 -msgid ":func:`teleport`" -msgstr ":func:`teleport`" - -#: ../../library/turtle.rst:329 -msgid ":func:`setx`" -msgstr ":func:`setx`" - -#: ../../library/turtle.rst:330 -msgid ":func:`sety`" -msgstr ":func:`sety`" - -#: ../../library/turtle.rst:331 -msgid ":func:`setheading` | :func:`seth`" -msgstr ":func:`setheading` | :func:`seth`" - -#: ../../library/turtle.rst:332 -msgid ":func:`home`" -msgstr ":func:`home`" - -#: ../../library/turtle.rst:333 ../../library/turtle.rst:2881 -msgid ":func:`circle`" -msgstr ":func:`circle`" - -#: ../../library/turtle.rst:334 -msgid ":func:`dot`" -msgstr ":func:`dot`" - -#: ../../library/turtle.rst:335 ../../library/turtle.rst:2859 -msgid ":func:`stamp`" -msgstr ":func:`stamp`" - -#: ../../library/turtle.rst:336 -msgid ":func:`clearstamp`" -msgstr ":func:`clearstamp`" - -#: ../../library/turtle.rst:337 -msgid ":func:`clearstamps`" -msgstr ":func:`clearstamps`" - -#: ../../library/turtle.rst:338 -msgid ":func:`undo`" -msgstr ":func:`undo`" - -#: ../../library/turtle.rst:339 -msgid ":func:`speed`" -msgstr ":func:`speed`" - -#: ../../library/turtle.rst:341 ../../library/turtle.rst:902 -msgid "Tell Turtle's state" -msgstr "Zustand der Turtle abfragen" - -#: ../../library/turtle.rst:342 -msgid ":func:`position` | :func:`pos`" -msgstr ":func:`position` | :func:`pos`" - -#: ../../library/turtle.rst:343 -msgid ":func:`towards`" -msgstr ":func:`towards`" - -#: ../../library/turtle.rst:344 -msgid ":func:`xcor`" -msgstr ":func:`xcor`" - -#: ../../library/turtle.rst:345 -msgid ":func:`ycor`" -msgstr ":func:`ycor`" - -#: ../../library/turtle.rst:346 -msgid ":func:`heading`" -msgstr ":func:`heading`" - -#: ../../library/turtle.rst:347 -msgid ":func:`distance`" -msgstr ":func:`distance`" - -#: ../../library/turtle.rst:349 -msgid "Setting and measurement" -msgstr "Einstellung und Maß" - -#: ../../library/turtle.rst:350 -msgid ":func:`degrees`" -msgstr ":func:`degrees`" - -#: ../../library/turtle.rst:351 -msgid ":func:`radians`" -msgstr ":func:`radians`" - -#: ../../library/turtle.rst:354 ../../library/turtle.rst:1056 -msgid "Drawing state" -msgstr "Zeichenzustand" - -#: ../../library/turtle.rst:355 -msgid ":func:`pendown` | :func:`pd` | :func:`down`" -msgstr ":func:`pendown` | :func:`pd` | :func:`down`" - -#: ../../library/turtle.rst:356 -msgid ":func:`penup` | :func:`pu` | :func:`up`" -msgstr ":func:`penup` | :func:`pu` | :func:`up`" - -#: ../../library/turtle.rst:357 -msgid ":func:`pensize` | :func:`width`" -msgstr ":func:`pensize` | :func:`width`" - -#: ../../library/turtle.rst:358 -msgid ":func:`pen`" -msgstr ":func:`pen`" - -#: ../../library/turtle.rst:359 -msgid ":func:`isdown`" -msgstr ":func:`isdown`" - -#: ../../library/turtle.rst:361 ../../library/turtle.rst:1148 -msgid "Color control" -msgstr "Farbkontrolle" - -#: ../../library/turtle.rst:362 -msgid ":func:`color`" -msgstr ":func:`color`" - -#: ../../library/turtle.rst:363 -msgid ":func:`pencolor`" -msgstr ":func:`pencolor`" - -#: ../../library/turtle.rst:364 -msgid ":func:`fillcolor`" -msgstr ":func:`fillcolor`" - -#: ../../library/turtle.rst:366 ../../library/turtle.rst:1287 -msgid "Filling" -msgstr "Füllen" - -#: ../../library/turtle.rst:367 -msgid ":func:`filling`" -msgstr ":func:`filling`" - -#: ../../library/turtle.rst:368 -msgid ":func:`fill`" -msgstr ":func:`fill`" - -#: ../../library/turtle.rst:369 -msgid ":func:`begin_fill`" -msgstr ":func:`begin_fill`" - -#: ../../library/turtle.rst:370 -msgid ":func:`end_fill`" -msgstr ":func:`end_fill`" - -#: ../../library/turtle.rst:372 ../../library/turtle.rst:1357 -msgid "More drawing control" -msgstr "Mehr Zeichenkontrolle" - -#: ../../library/turtle.rst:373 -msgid ":func:`reset`" -msgstr ":func:`reset`" - -#: ../../library/turtle.rst:374 -msgid ":func:`clear`" -msgstr ":func:`clear`" - -#: ../../library/turtle.rst:375 -msgid ":func:`write`" -msgstr ":func:`write`" - -#: ../../library/turtle.rst:377 ../../library/turtle.rst:1406 -msgid "Turtle state" -msgstr "Turtle-Status" - -#: ../../library/turtle.rst:378 ../../library/turtle.rst:1409 -msgid "Visibility" -msgstr "Sichtbarkeit" - -#: ../../library/turtle.rst:379 -msgid ":func:`showturtle` | :func:`st`" -msgstr ":func:`showturtle` | :func:`st`" - -#: ../../library/turtle.rst:380 -msgid ":func:`hideturtle` | :func:`ht`" -msgstr ":func:`hideturtle` | :func:`ht`" - -#: ../../library/turtle.rst:381 -msgid ":func:`isvisible`" -msgstr ":func:`isvisible`" - -#: ../../library/turtle.rst:383 ../../library/turtle.rst:1451 -msgid "Appearance" -msgstr "Erscheinungsbild" - -#: ../../library/turtle.rst:384 -msgid ":func:`shape`" -msgstr ":func:`shape`" - -#: ../../library/turtle.rst:385 -msgid ":func:`resizemode`" -msgstr ":func:`resizemode`" - -#: ../../library/turtle.rst:386 -msgid ":func:`shapesize` | :func:`turtlesize`" -msgstr ":func:`shapesize` | :func:`turtlesize`" - -#: ../../library/turtle.rst:387 -msgid ":func:`shearfactor`" -msgstr ":func:`shearfactor`" - -#: ../../library/turtle.rst:388 -msgid ":func:`tiltangle`" -msgstr ":func:`tiltangle`" - -#: ../../library/turtle.rst:389 -msgid ":func:`tilt`" -msgstr ":func:`tilt`" - -#: ../../library/turtle.rst:390 -msgid ":func:`shapetransform`" -msgstr ":func:`shapetransform`" - -#: ../../library/turtle.rst:391 -msgid ":func:`get_shapepoly`" -msgstr ":func:`get_shapepoly`" - -#: ../../library/turtle.rst:393 ../../library/turtle.rst:1634 -msgid "Using events" -msgstr "Ereignisse verwenden" - -#: ../../library/turtle.rst:394 ../../library/turtle.rst:2853 -msgid ":func:`onclick`" -msgstr ":func:`onclick`" - -#: ../../library/turtle.rst:395 -msgid ":func:`onrelease`" -msgstr ":func:`onrelease`" - -#: ../../library/turtle.rst:396 ../../library/turtle.rst:2836 -msgid ":func:`ondrag`" -msgstr ":func:`ondrag`" - -#: ../../library/turtle.rst:398 ../../library/turtle.rst:1708 -msgid "Special Turtle methods" -msgstr "Spezielle Turtle-Methoden" - -#: ../../library/turtle.rst:399 -msgid ":func:`poly`" -msgstr ":func:`poly`" - -#: ../../library/turtle.rst:400 -msgid ":func:`begin_poly`" -msgstr ":func:`begin_poly`" - -#: ../../library/turtle.rst:401 -msgid ":func:`end_poly`" -msgstr ":func:`end_poly`" - -#: ../../library/turtle.rst:402 -msgid ":func:`get_poly`" -msgstr ":func:`get_poly`" - -#: ../../library/turtle.rst:403 ../../library/turtle.rst:2875 -msgid ":func:`clone`" -msgstr ":func:`clone`" - -#: ../../library/turtle.rst:404 -msgid ":func:`getturtle` | :func:`getpen`" -msgstr ":func:`getturtle` | :func:`getpen`" - -#: ../../library/turtle.rst:405 -msgid ":func:`getscreen`" -msgstr ":func:`getscreen`" - -#: ../../library/turtle.rst:406 -msgid ":func:`setundobuffer`" -msgstr ":func:`setundobuffer`" - -#: ../../library/turtle.rst:407 -msgid ":func:`undobufferentries`" -msgstr ":func:`undobufferentries`" - -#: ../../library/turtle.rst:411 -msgid "Methods of TurtleScreen/Screen" -msgstr "Methoden von TurtleScreen/Screen" - -#: ../../library/turtle.rst:413 ../../library/turtle.rst:1879 -msgid "Window control" -msgstr "Fenstersteuerung" - -#: ../../library/turtle.rst:414 -msgid ":func:`bgcolor`" -msgstr ":func:`bgcolor`" - -#: ../../library/turtle.rst:415 -msgid ":func:`bgpic`" -msgstr ":func:`bgpic`" - -#: ../../library/turtle.rst:416 -msgid ":func:`clearscreen`" -msgstr ":func:`clearscreen`" - -#: ../../library/turtle.rst:417 -msgid ":func:`resetscreen`" -msgstr ":func:`resetscreen`" - -#: ../../library/turtle.rst:418 -msgid ":func:`screensize`" -msgstr ":func:`screensize`" - -#: ../../library/turtle.rst:419 -msgid ":func:`setworldcoordinates`" -msgstr ":func:`setworldcoordinates`" - -#: ../../library/turtle.rst:421 ../../library/turtle.rst:2025 -msgid "Animation control" -msgstr "Animationskontrolle" - -#: ../../library/turtle.rst:422 -msgid ":func:`no_animation`" -msgstr ":func:`no_animation`" - -#: ../../library/turtle.rst:423 -msgid ":func:`delay`" -msgstr ":func:`delay`" - -#: ../../library/turtle.rst:424 -msgid ":func:`tracer`" -msgstr ":func:`tracer`" - -#: ../../library/turtle.rst:425 -msgid ":func:`update`" -msgstr ":func:`update`" - -#: ../../library/turtle.rst:427 ../../library/turtle.rst:2095 -msgid "Using screen events" -msgstr "Screen-Events verwenden" - -#: ../../library/turtle.rst:428 -msgid ":func:`listen`" -msgstr ":func:`listen`" - -#: ../../library/turtle.rst:429 -msgid ":func:`onkey` | :func:`onkeyrelease`" -msgstr ":func:`onkey` | :func:`onkeyrelease`" - -#: ../../library/turtle.rst:430 -msgid ":func:`onkeypress`" -msgstr ":func:`onkeypress`" - -#: ../../library/turtle.rst:431 -msgid ":func:`onclick` | :func:`onscreenclick`" -msgstr ":func:`onclick` | :func:`onscreenclick`" - -#: ../../library/turtle.rst:432 -msgid ":func:`ontimer`" -msgstr ":func:`ontimer`" - -#: ../../library/turtle.rst:433 -msgid ":func:`mainloop` | :func:`done`" -msgstr ":func:`mainloop` | :func:`done`" - -#: ../../library/turtle.rst:435 ../../library/turtle.rst:2240 -msgid "Settings and special methods" -msgstr "Einstellungen und spezielle Methoden" - -#: ../../library/turtle.rst:436 -msgid ":func:`mode`" -msgstr ":func:`mode`" - -#: ../../library/turtle.rst:437 -msgid ":func:`colormode`" -msgstr ":func:`colormode`" - -#: ../../library/turtle.rst:438 -msgid ":func:`getcanvas`" -msgstr ":func:`getcanvas`" - -#: ../../library/turtle.rst:439 -msgid ":func:`getshapes`" -msgstr ":func:`getshapes`" - -#: ../../library/turtle.rst:440 -msgid ":func:`register_shape` | :func:`addshape`" -msgstr ":func:`register_shape` | :func:`addshape`" - -#: ../../library/turtle.rst:441 -msgid ":func:`turtles`" -msgstr ":func:`turtles`" - -#: ../../library/turtle.rst:442 -msgid ":func:`window_height`" -msgstr ":func:`window_height`" - -#: ../../library/turtle.rst:443 -msgid ":func:`window_width`" -msgstr ":func:`window_width`" - -#: ../../library/turtle.rst:445 ../../library/turtle.rst:2204 -msgid "Input methods" -msgstr "Eingabemethoden" - -#: ../../library/turtle.rst:446 -msgid ":func:`textinput`" -msgstr ":func:`textinput`" - -#: ../../library/turtle.rst:447 -msgid ":func:`numinput`" -msgstr ":func:`numinput`" - -#: ../../library/turtle.rst:449 -msgid "Methods specific to Screen" -msgstr "Spezifische Methoden zum Screen" - -#: ../../library/turtle.rst:450 -msgid ":func:`bye`" -msgstr ":func:`bye`" - -#: ../../library/turtle.rst:451 -msgid ":func:`exitonclick`" -msgstr ":func:`exitonclick`" - -#: ../../library/turtle.rst:452 -msgid ":func:`save`" -msgstr ":func:`save`" - -#: ../../library/turtle.rst:453 -msgid ":func:`setup`" -msgstr ":func:`setup`" - -#: ../../library/turtle.rst:454 -msgid ":func:`title`" -msgstr ":func:`title`" - -#: ../../library/turtle.rst:458 -msgid "Methods of RawTurtle/Turtle and corresponding functions" -msgstr "Methoden von RawTurtle/Turtle und entsprechende Funktionen" - -#: ../../library/turtle.rst:460 -msgid "" -"Most of the examples in this section refer to a Turtle instance called " -"``turtle``." -msgstr "Turtle-Instanz namens ``turtle``." - -#: ../../library/turtle.rst:0 -msgid "Parameters" -msgstr "Parameter" - -#: ../../library/turtle.rst:469 ../../library/turtle.rst:515 -#: ../../library/turtle.rst:540 ../../library/turtle.rst:638 -#: ../../library/turtle.rst:661 ../../library/turtle.rst:684 -msgid "a number (integer or float)" -msgstr "eine Zahl (Ganzzahl oder Gleitkommazahl)" - -#: ../../library/turtle.rst:471 -msgid "" -"Move the turtle forward by the specified *distance*, in the direction the " -"turtle is headed." -msgstr "" -"Bewege die Turtle um die angegebene *distance* vorwärts, in die Richtung, in " -"die die Turtle blickt." - -#: ../../library/turtle.rst:474 -msgid "" -">>> turtle.position()\n" -"(0.00,0.00)\n" -">>> turtle.forward(25)\n" -">>> turtle.position()\n" -"(25.00,0.00)\n" -">>> turtle.forward(-75)\n" -">>> turtle.position()\n" -"(-50.00,0.00)" -msgstr "" -">>> turtle.position()\n" -"(0.00,0.00)\n" -">>> turtle.forward(25)\n" -">>> turtle.position()\n" -"(25.00,0.00)\n" -">>> turtle.forward(-75)\n" -">>> turtle.position()\n" -"(-50.00,0.00)" - -#: ../../library/turtle.rst:491 ../../library/turtle.rst:734 -#: ../../library/turtle.rst:1006 ../../library/turtle.rst:1550 -msgid "a number" -msgstr "eine Zahl" - -#: ../../library/turtle.rst:493 -msgid "" -"Move the turtle backward by *distance*, opposite to the direction the turtle " -"is headed. Do not change the turtle's heading." -msgstr "" -"Bewege die Turtle um *distance* rückwärts, entgegen der Richtung, in die die " -"Turtle blickt. Die Ausrichtung der Turtle wird dabei nicht verändert." - -#: ../../library/turtle.rst:502 -msgid "" -">>> turtle.position()\n" -"(0.00,0.00)\n" -">>> turtle.backward(30)\n" -">>> turtle.position()\n" -"(-30.00,0.00)" -msgstr "" -">>> turtle.position()\n" -"(0.00,0.00)\n" -">>> turtle.backward(30)\n" -">>> turtle.position()\n" -"(-30.00,0.00)" - -#: ../../library/turtle.rst:517 -msgid "" -"Turn turtle right by *angle* units. (Units are by default degrees, but can " -"be set via the :func:`degrees` and :func:`radians` functions.) Angle " -"orientation depends on the turtle mode, see :func:`mode`." -msgstr "" -"Drehe die Turtle um *angle* Einheiten nach rechts. (Die Einheit ist " -"standardmäßig Grad, kann aber über die Funktionen :func:`degrees` und :func:" -"`radians` festgelegt werden.) Die Winkelausrichtung hängt vom Turtle-Modus " -"ab, siehe :func:`mode`." - -#: ../../library/turtle.rst:527 -msgid "" -">>> turtle.heading()\n" -"22.0\n" -">>> turtle.right(45)\n" -">>> turtle.heading()\n" -"337.0" -msgstr "" -">>> turtle.heading()\n" -"22.0\n" -">>> turtle.right(45)\n" -">>> turtle.heading()\n" -"337.0" - -#: ../../library/turtle.rst:542 -msgid "" -"Turn turtle left by *angle* units. (Units are by default degrees, but can " -"be set via the :func:`degrees` and :func:`radians` functions.) Angle " -"orientation depends on the turtle mode, see :func:`mode`." -msgstr "" -"Drehe die Turtle um *angle* Einheiten nach links. (Die Einheit ist " -"standardmäßig Grad, kann aber über die Funktionen :func:`degrees` und :func:" -"`radians` festgelegt werden.) Die Winkelausrichtung hängt vom Turtle-Modus " -"ab, siehe :func:`mode`." - -#: ../../library/turtle.rst:552 -msgid "" -">>> turtle.heading()\n" -"22.0\n" -">>> turtle.left(45)\n" -">>> turtle.heading()\n" -"67.0" -msgstr "" -">>> turtle.heading()\n" -"22.0\n" -">>> turtle.left(45)\n" -">>> turtle.heading()\n" -"67.0" - -#: ../../library/turtle.rst:566 -msgid "a number or a pair/vector of numbers" -msgstr "eine Zahl oder ein Paar/Vektor von Zahlen" - -#: ../../library/turtle.rst:567 ../../library/turtle.rst:600 -#: ../../library/turtle.rst:601 -msgid "a number or ``None``" -msgstr "eine Zahl oder ``None``" - -#: ../../library/turtle.rst:569 -msgid "" -"If *y* is ``None``, *x* must be a pair of coordinates or a :class:`Vec2D` (e." -"g. as returned by :func:`pos`)." -msgstr "" -"Wenn *y* ``None`` ist, muss *x* ein Koordinatenpaar oder ein :class:`Vec2D` " -"sein (z. B. wie von :func:`pos` zurückgegeben)." - -#: ../../library/turtle.rst:572 -msgid "" -"Move turtle to an absolute position. If the pen is down, draw line. Do not " -"change the turtle's orientation." -msgstr "" -"Bewege die Turtle zu einer absoluten Position. Wenn der Stift unten ist, " -"zeichne eine Linie. Die Ausrichtung der Turtle wird dabei nicht verändert." - -#: ../../library/turtle.rst:581 +#: ../../library/turtle.rst:336 +#, fuzzy msgid "" ">>> tp = turtle.pos()\n" ">>> tp\n" "(0.00,0.00)\n" -">>> turtle.setpos(60,30)\n" +">>> turtle.goto(60,30)\n" ">>> turtle.pos()\n" "(60.00,30.00)\n" -">>> turtle.setpos((20,80))\n" +">>> turtle.goto((20,80))\n" ">>> turtle.pos()\n" "(20.00,80.00)\n" -">>> turtle.setpos(tp)\n" +">>> turtle.goto(tp)\n" ">>> turtle.pos()\n" "(0.00,0.00)" msgstr "" @@ -1262,11 +588,11 @@ msgstr "" ">>> turtle.pos()\n" "(0.00,0.00)" -#: ../../library/turtle.rst:602 +#: ../../library/turtle.rst:357 msgid "a boolean" msgstr "Ein Boolean" -#: ../../library/turtle.rst:604 +#: ../../library/turtle.rst:359 msgid "" "Move turtle to an absolute position. Unlike goto(x, y), a line will not be " "drawn. The turtle's orientation does not change. If currently filling, the " @@ -1283,7 +609,7 @@ msgstr "" "wodurch die gedachte Linie, die während des Teleportierens zurückgelegt " "wird, wie bei goto(x, y) als Füllbarriere wirkt." -#: ../../library/turtle.rst:617 +#: ../../library/turtle.rst:372 msgid "" ">>> tp = turtle.pos()\n" ">>> tp\n" @@ -1311,14 +637,14 @@ msgstr "" ">>> turtle.pos()\n" "(20.00,30.00)" -#: ../../library/turtle.rst:640 -msgid "" -"Set the turtle's first coordinate to *x*, leave second coordinate unchanged." +#: ../../library/turtle.rst:395 +#, fuzzy +msgid "Set the turtle's x coordinate to *x*. The y coordinate is unchanged." msgstr "" "Setze die erste Koordinate der Turtle auf *x*, die zweite Koordinate bleibt " "unverändert." -#: ../../library/turtle.rst:649 +#: ../../library/turtle.rst:403 msgid "" ">>> turtle.position()\n" "(0.00,240.00)\n" @@ -1332,14 +658,14 @@ msgstr "" ">>> turtle.position()\n" "(10.00,240.00)" -#: ../../library/turtle.rst:663 -msgid "" -"Set the turtle's second coordinate to *y*, leave first coordinate unchanged." +#: ../../library/turtle.rst:417 +#, fuzzy +msgid "Set the turtle's y coordinate to *y*. The x coordinate is unchanged." msgstr "" "Setze die zweite Koordinate der Turtle auf *y*, die erste Koordinate bleibt " "unverändert." -#: ../../library/turtle.rst:671 +#: ../../library/turtle.rst:425 msgid "" ">>> turtle.position()\n" "(0.00,40.00)\n" @@ -1353,55 +679,56 @@ msgstr "" ">>> turtle.position()\n" "(0.00,-10.00)" -#: ../../library/turtle.rst:686 +#: ../../library/turtle.rst:440 +#, fuzzy msgid "" -"Set the orientation of the turtle to *to_angle*. Here are some common " -"directions in degrees:" +"Set the turtle's heading to *to_angle*. Here are some common directions in " +"degrees:" msgstr "" "Setze die Ausrichtung der Turtle auf *to_angle*. Hier sind einige gängige " "Richtungen in Grad:" -#: ../../library/turtle.rst:690 +#: ../../library/turtle.rst:444 msgid "standard mode" msgstr "Standardmodus" -#: ../../library/turtle.rst:690 +#: ../../library/turtle.rst:444 msgid "logo mode" msgstr "Logo-Modus" -#: ../../library/turtle.rst:692 +#: ../../library/turtle.rst:446 msgid "0 - east" msgstr "0 - Ost" -#: ../../library/turtle.rst:692 +#: ../../library/turtle.rst:446 msgid "0 - north" msgstr "0 - Nord" -#: ../../library/turtle.rst:693 +#: ../../library/turtle.rst:447 msgid "90 - north" msgstr "90 - Nord" -#: ../../library/turtle.rst:693 +#: ../../library/turtle.rst:447 msgid "90 - east" msgstr "90 - Ost" -#: ../../library/turtle.rst:694 +#: ../../library/turtle.rst:448 msgid "180 - west" msgstr "180 - West" -#: ../../library/turtle.rst:694 +#: ../../library/turtle.rst:448 msgid "180 - south" msgstr "180 - Süd" -#: ../../library/turtle.rst:695 +#: ../../library/turtle.rst:449 msgid "270 - south" msgstr "270 - Süd" -#: ../../library/turtle.rst:695 +#: ../../library/turtle.rst:449 msgid "270 - west" msgstr "270 - West" -#: ../../library/turtle.rst:698 +#: ../../library/turtle.rst:452 msgid "" ">>> turtle.setheading(90)\n" ">>> turtle.heading()\n" @@ -1411,16 +738,18 @@ msgstr "" ">>> turtle.heading()\n" "90.0" -#: ../../library/turtle.rst:708 +#: ../../library/turtle.rst:462 +#, fuzzy msgid "" -"Move turtle to the origin -- coordinates (0,0) -- and set its heading to its " -"start-orientation (which depends on the mode, see :func:`mode`)." +"Move the turtle to the origin, coordinates (0,0). The turtle's heading is " +"set to its start orientation, which depends on the turtle mode, see :func:" +"`mode`." msgstr "" "Bewege die Turtle zum Ursprung – Koordinaten (0,0) – und setze ihre " "Ausrichtung auf die Startausrichtung (die vom Modus abhängt, siehe :func:" "`mode`)." -#: ../../library/turtle.rst:718 +#: ../../library/turtle.rst:473 msgid "" ">>> turtle.heading()\n" "90.0\n" @@ -1442,23 +771,19 @@ msgstr "" ">>> turtle.heading()\n" "0.0" -#: ../../library/turtle.rst:735 -msgid "a number (or ``None``)" -msgstr "eine Zahl (oder ``None``)" - -#: ../../library/turtle.rst:736 ../../library/turtle.rst:833 -msgid "an integer (or ``None``)" -msgstr "eine Ganzzahl (oder ``None``)" +#: ../../library/turtle.rst:491 ../../library/turtle.rst:1550 +msgid "an integer or ``None``" +msgstr "eine Ganzzahl oder ``None``" -#: ../../library/turtle.rst:738 +#: ../../library/turtle.rst:493 +#, fuzzy msgid "" -"Draw a circle with given *radius*. The center is *radius* units left of the " -"turtle; *extent* -- an angle -- determines which part of the circle is " -"drawn. If *extent* is not given, draw the entire circle. If *extent* is " -"not a full circle, one endpoint of the arc is the current pen position. " -"Draw the arc in counterclockwise direction if *radius* is positive, " -"otherwise in clockwise direction. Finally the direction of the turtle is " -"changed by the amount of *extent*." +"Draw a circle with the given *radius*. The center is *radius* units left of " +"the turtle; *extent*, an angle, determines which part of the circle is " +"drawn. If *extent* is not given, draw the entire circle. If *extent* is not " +"a full circle, one endpoint of the arc is the current pen position. Draw the " +"arc in counterclockwise direction if *radius* is positive, otherwise in " +"clockwise direction. Finally, the turtle's heading is changed by *extent*." msgstr "" "Zeichne einen Kreis mit dem angegebenen *radius*. Der Mittelpunkt liegt " "*radius* Einheiten links von der Turtle, *extent* – ein Winkel – bestimmt, " @@ -1469,18 +794,19 @@ msgstr "" "Abschließend wird die Richtung der Turtle um den Betrag von *extent* " "geändert." -#: ../../library/turtle.rst:746 +#: ../../library/turtle.rst:501 +#, fuzzy msgid "" "As the circle is approximated by an inscribed regular polygon, *steps* " -"determines the number of steps to use. If not given, it will be calculated " -"automatically. May be used to draw regular polygons." +"determines the number of steps to use. If not given, it will be calculated " +"automatically. May be used to draw regular polygons." msgstr "" "Da der Kreis durch ein einbeschriebenes regelmäßiges Vieleck angenähert " "wird, bestimmt *steps* die Anzahl der zu verwendenden Schritte. Wird es " "nicht angegeben, wird es automatisch berechnet. Kann verwendet werden, um " "regelmäßige Vielecke zu zeichnen." -#: ../../library/turtle.rst:750 +#: ../../library/turtle.rst:505 msgid "" ">>> turtle.home()\n" ">>> turtle.position()\n" @@ -1514,15 +840,15 @@ msgstr "" ">>> turtle.heading()\n" "180.0" -#: ../../library/turtle.rst:776 +#: ../../library/turtle.rst:531 msgid "an integer >= 1 (if given)" msgstr "eine Ganzzahl >= 1 (falls angegeben)" -#: ../../library/turtle.rst:777 +#: ../../library/turtle.rst:532 msgid "a colorstring or a numeric color tuple" msgstr "ein Farbstring oder ein numerisches Farb-Tupel" -#: ../../library/turtle.rst:779 +#: ../../library/turtle.rst:534 msgid "" "Draw a circular dot with diameter *size*, using *color*. If *size* is not " "given, the maximum of ``pensize+4`` and ``2*pensize`` is used." @@ -1531,7 +857,7 @@ msgstr "" "*color*. Wird *size* nicht angegeben, wird das Maximum aus ``pensize+4`` und " "``2*pensize`` verwendet." -#: ../../library/turtle.rst:783 +#: ../../library/turtle.rst:538 msgid "" ">>> turtle.home()\n" ">>> turtle.dot()\n" @@ -1549,7 +875,7 @@ msgstr "" ">>> turtle.heading()\n" "0.0" -#: ../../library/turtle.rst:797 +#: ../../library/turtle.rst:552 msgid "" "Stamp a copy of the turtle shape onto the canvas at the current turtle " "position. Return a stamp_id for that stamp, which can be used to delete it " @@ -1559,7 +885,7 @@ msgstr "" "die Zeichenfläche. Gibt eine stamp_id für diesen Stempel zurück, mit der er " "durch Aufruf von ``clearstamp(stamp_id)`` wieder gelöscht werden kann." -#: ../../library/turtle.rst:801 +#: ../../library/turtle.rst:556 msgid "" ">>> turtle.color(\"blue\")\n" ">>> stamp_id = turtle.stamp()\n" @@ -1569,17 +895,17 @@ msgstr "" ">>> stamp_id = turtle.stamp()\n" ">>> turtle.fd(50)" -#: ../../library/turtle.rst:811 +#: ../../library/turtle.rst:566 msgid "an integer, must be return value of previous :func:`stamp` call" msgstr "" "eine Ganzzahl, muss der Rückgabewert eines vorherigen Aufrufs von :func:" "`stamp` sein" -#: ../../library/turtle.rst:814 +#: ../../library/turtle.rst:569 msgid "Delete stamp with given *stampid*." msgstr "Lösche den Stempel mit der angegebenen *stampid*." -#: ../../library/turtle.rst:816 +#: ../../library/turtle.rst:571 msgid "" ">>> turtle.position()\n" "(150.00,-0.00)\n" @@ -1603,7 +929,11 @@ msgstr "" ">>> turtle.position()\n" "(200.00,-0.00)" -#: ../../library/turtle.rst:835 +#: ../../library/turtle.rst:588 +msgid "an integer (or ``None``)" +msgstr "eine Ganzzahl (oder ``None``)" + +#: ../../library/turtle.rst:590 msgid "" "Delete all or first/last *n* of turtle's stamps. If *n* is ``None``, delete " "all stamps, if *n* > 0 delete first *n* stamps, else if *n* < 0 delete last " @@ -1614,7 +944,7 @@ msgstr "" "ersten *n* Stempel gelöscht, andernfalls, wenn *n* < 0 ist, werden die " "letzten *n* Stempel gelöscht." -#: ../../library/turtle.rst:839 +#: ../../library/turtle.rst:594 msgid "" ">>> for i in range(8):\n" "... unused_stamp_id = turtle.stamp()\n" @@ -1630,7 +960,7 @@ msgstr "" ">>> turtle.clearstamps(-2)\n" ">>> turtle.clearstamps()" -#: ../../library/turtle.rst:852 +#: ../../library/turtle.rst:607 msgid "" "Undo (repeatedly) the last turtle action(s). Number of available undo " "actions is determined by the size of the undobuffer." @@ -1639,7 +969,7 @@ msgstr "" "der verfügbaren Rückgängig-Aktionen wird durch die Größe des Undo-Puffers " "bestimmt." -#: ../../library/turtle.rst:855 +#: ../../library/turtle.rst:610 msgid "" ">>> for i in range(4):\n" "... turtle.fd(50); turtle.lt(80)\n" @@ -1653,11 +983,11 @@ msgstr "" ">>> for i in range(8):\n" "... turtle.undo()" -#: ../../library/turtle.rst:867 +#: ../../library/turtle.rst:622 msgid "an integer in the range 0..10 or a speedstring (see below)" msgstr "eine Ganzzahl im Bereich 0..10 oder ein speedstring (siehe unten)" -#: ../../library/turtle.rst:869 +#: ../../library/turtle.rst:624 msgid "" "Set the turtle's speed to an integer value in the range 0..10. If no " "argument is given, return current speed." @@ -1666,7 +996,7 @@ msgstr "" "0..10. Wird kein Argument angegeben, wird die aktuelle Geschwindigkeit " "zurückgegeben." -#: ../../library/turtle.rst:872 +#: ../../library/turtle.rst:627 msgid "" "If input is a number greater than 10 or smaller than 0.5, speed is set to " "0. Speedstrings are mapped to speedvalues as follows:" @@ -1675,27 +1005,27 @@ msgstr "" "Geschwindigkeit auf 0 gesetzt. Speedstrings werden wie folgt auf Speedvalues " "abgebildet:" -#: ../../library/turtle.rst:875 +#: ../../library/turtle.rst:630 msgid "\"fastest\": 0" msgstr "\"fastest\": 0" -#: ../../library/turtle.rst:876 +#: ../../library/turtle.rst:631 msgid "\"fast\": 10" msgstr "\"fast\": 10" -#: ../../library/turtle.rst:877 +#: ../../library/turtle.rst:632 msgid "\"normal\": 6" msgstr "\"normal\": 6" -#: ../../library/turtle.rst:878 +#: ../../library/turtle.rst:633 msgid "\"slow\": 3" msgstr "\"slow\": 3" -#: ../../library/turtle.rst:879 +#: ../../library/turtle.rst:634 msgid "\"slowest\": 1" msgstr "\"slowest\": 1" -#: ../../library/turtle.rst:881 +#: ../../library/turtle.rst:636 msgid "" "Speeds from 1 to 10 enforce increasingly faster animation of line drawing " "and turtle turning." @@ -1703,7 +1033,7 @@ msgstr "" "Geschwindigkeiten von 1 bis 10 erzwingen eine zunehmend schnellere Animation " "beim Linienzeichnen und Drehen der Turtle." -#: ../../library/turtle.rst:884 +#: ../../library/turtle.rst:639 msgid "" "Attention: *speed* = 0 means that *no* animation takes place. forward/back " "makes turtle jump and likewise left/right make the turtle turn instantly." @@ -1712,7 +1042,7 @@ msgstr "" "back lässt die Turtle springen, und ebenso lassen left/right die Turtle " "sofort drehen." -#: ../../library/turtle.rst:888 +#: ../../library/turtle.rst:643 msgid "" ">>> turtle.speed()\n" "3\n" @@ -1732,14 +1062,18 @@ msgstr "" ">>> turtle.speed()\n" "9" -#: ../../library/turtle.rst:907 -msgid "" -"Return the turtle's current location (x,y) (as a :class:`Vec2D` vector)." +#: ../../library/turtle.rst:657 +msgid "Tell Turtle's state" +msgstr "Zustand der Turtle abfragen" + +#: ../../library/turtle.rst:662 +#, fuzzy +msgid "Return the turtle's current location (x,y) as a :class:`Vec2D` vector." msgstr "" "Gib die aktuelle Position der Turtle (x,y) (als :class:`Vec2D`-Vektor) " "zurück." -#: ../../library/turtle.rst:909 +#: ../../library/turtle.rst:664 msgid "" ">>> turtle.pos()\n" "(440.00,-0.00)" @@ -1747,27 +1081,29 @@ msgstr "" ">>> turtle.pos()\n" "(440.00,-0.00)" -#: ../../library/turtle.rst:918 ../../library/turtle.rst:981 +#: ../../library/turtle.rst:673 ../../library/turtle.rst:738 msgid "a number or a pair/vector of numbers or a turtle instance" msgstr "eine Zahl oder ein Paar/Vektor von Zahlen oder eine Turtle-Instanz" -#: ../../library/turtle.rst:919 ../../library/turtle.rst:982 +#: ../../library/turtle.rst:674 ../../library/turtle.rst:739 msgid "a number if *x* is a number, else ``None``" msgstr "eine Zahl, falls *x* eine Zahl ist, andernfalls ``None``" -#: ../../library/turtle.rst:921 +#: ../../library/turtle.rst:676 +#, fuzzy msgid "" -"Return the angle between the line from turtle position to position specified " -"by (x,y), the vector or the other turtle. This depends on the turtle's " -"start orientation which depends on the mode - \"standard\"/\"world\" or " -"\"logo\"." +"Return the angle of the line from the turtle's position to (x,y). If *y* is " +"``None``, *x* must be a pair of coordinates, a :class:`Vec2D`, for example " +"as returned by :func:`pos`, or another turtle. The angle is measured from " +"the turtle's start orientation, which depends on the turtle mode, see :func:" +"`mode`." msgstr "" "Gib den Winkel zwischen der Linie von der Position der Turtle zu der durch " "(x,y), den Vektor oder die andere Turtle angegebenen Position zurück. Dies " "hängt von der Startausrichtung der Turtle ab, die wiederum vom Modus abhängt " "– \"standard\"/\"world\" oder \"logo\"." -#: ../../library/turtle.rst:925 +#: ../../library/turtle.rst:682 msgid "" ">>> turtle.goto(10, 10)\n" ">>> turtle.towards(0,0)\n" @@ -1777,11 +1113,11 @@ msgstr "" ">>> turtle.towards(0,0)\n" "225.0" -#: ../../library/turtle.rst:935 +#: ../../library/turtle.rst:692 msgid "Return the turtle's x coordinate." msgstr "Gib die x-Koordinate der Turtle zurück." -#: ../../library/turtle.rst:937 +#: ../../library/turtle.rst:694 msgid "" ">>> turtle.home()\n" ">>> turtle.left(50)\n" @@ -1799,11 +1135,11 @@ msgstr "" ">>> print(round(turtle.xcor(), 5))\n" "64.27876" -#: ../../library/turtle.rst:951 +#: ../../library/turtle.rst:708 msgid "Return the turtle's y coordinate." msgstr "Gib die y-Koordinate der Turtle zurück." -#: ../../library/turtle.rst:953 +#: ../../library/turtle.rst:710 msgid "" ">>> turtle.home()\n" ">>> turtle.left(60)\n" @@ -1821,15 +1157,16 @@ msgstr "" ">>> print(round(turtle.ycor(), 5))\n" "86.60254" -#: ../../library/turtle.rst:967 +#: ../../library/turtle.rst:724 +#, fuzzy msgid "" -"Return the turtle's current heading (value depends on the turtle mode, see :" -"func:`mode`)." +"Return the turtle's current heading. The value depends on the turtle mode, " +"see :func:`mode`." msgstr "" "Gibt die aktuelle Ausrichtung der Turtle zurück (der Wert hängt vom Turtle-" "Modus ab, siehe :func:`mode`)." -#: ../../library/turtle.rst:970 +#: ../../library/turtle.rst:727 msgid "" ">>> turtle.home()\n" ">>> turtle.left(67)\n" @@ -1841,15 +1178,17 @@ msgstr "" ">>> turtle.heading()\n" "67.0" -#: ../../library/turtle.rst:984 +#: ../../library/turtle.rst:741 +#, fuzzy msgid "" -"Return the distance from the turtle to (x,y), the given vector, or the given " -"other turtle, in turtle step units." +"Return the distance from the turtle to (x,y) in turtle step units. If *y* is " +"``None``, *x* must be a pair of coordinates, a :class:`Vec2D`, for example " +"as returned by :func:`pos`, or another turtle." msgstr "" -"Gib die Entfernung von der Turtle zu (x,y), dem angegebenen Vektor oder der " -"angegebenen anderen Turtle in Turtle-Schrittweiten zurück." +"Wenn *y* ``None`` ist, muss *x* ein Koordinatenpaar oder ein :class:`Vec2D` " +"sein (z. B. wie von :func:`pos` zurückgegeben)." -#: ../../library/turtle.rst:987 +#: ../../library/turtle.rst:745 msgid "" ">>> turtle.home()\n" ">>> turtle.distance(30,40)\n" @@ -1871,19 +1210,20 @@ msgstr "" ">>> turtle.distance(joe)\n" "77.0" -#: ../../library/turtle.rst:1002 +#: ../../library/turtle.rst:760 msgid "Settings for measurement" msgstr "Einstellungen für Messungen" -#: ../../library/turtle.rst:1008 +#: ../../library/turtle.rst:766 +#, fuzzy msgid "" -"Set angle measurement units, i.e. set number of \"degrees\" for a full " -"circle. Default value is 360 degrees." +"Set the angle measurement units to degrees. The number of degrees in a full " +"circle is set to *fullcircle*, which defaults to 360." msgstr "" "Setze die Winkelmesseinheiten, d. h. setze die Anzahl der \"Grad\" für einen " "vollen Kreis. Der Standardwert ist 360 Grad." -#: ../../library/turtle.rst:1011 +#: ../../library/turtle.rst:769 msgid "" ">>> turtle.home()\n" ">>> turtle.left(90)\n" @@ -1913,14 +1253,15 @@ msgstr "" ">>> turtle.heading()\n" "90.0" -#: ../../library/turtle.rst:1031 +#: ../../library/turtle.rst:789 +#, fuzzy msgid "" -"Set the angle measurement units to radians. Equivalent to ``degrees(2*math." -"pi)``." +"Set the angle measurement units to radians. Equivalent to ``degrees(2 * " +"math.pi)``." msgstr "" "Setze die Winkelmesseinheiten auf Radiant. Entspricht ``degrees(2*math.pi)``." -#: ../../library/turtle.rst:1034 +#: ../../library/turtle.rst:792 msgid "" ">>> turtle.home()\n" ">>> turtle.left(90)\n" @@ -1938,19 +1279,23 @@ msgstr "" ">>> turtle.heading()\n" "1.5707963267948966" -#: ../../library/turtle.rst:1062 +#: ../../library/turtle.rst:814 +msgid "Drawing state" +msgstr "Zeichenzustand" + +#: ../../library/turtle.rst:820 msgid "Pull the pen down -- drawing when moving." msgstr "Senke den Stift -- zeichnet beim Bewegen." -#: ../../library/turtle.rst:1069 +#: ../../library/turtle.rst:827 msgid "Pull the pen up -- no drawing when moving." msgstr "Hebe den Stift -- zeichnet nicht beim Bewegen." -#: ../../library/turtle.rst:1075 +#: ../../library/turtle.rst:833 msgid "a positive number" msgstr "eine positive Zahl" -#: ../../library/turtle.rst:1077 +#: ../../library/turtle.rst:835 msgid "" "Set the line thickness to *width* or return it. If resizemode is set to " "\"auto\" and turtleshape is a polygon, that polygon is drawn with the same " @@ -1961,7 +1306,7 @@ msgstr "" "mit derselben Liniendicke gezeichnet. Wird kein Argument angegeben, wird die " "aktuelle Stiftgröße zurückgegeben." -#: ../../library/turtle.rst:1081 +#: ../../library/turtle.rst:839 msgid "" ">>> turtle.pensize()\n" "1\n" @@ -1971,17 +1316,17 @@ msgstr "" "1\n" ">>> turtle.pensize(10) # from here on lines of width 10 are drawn" -#: ../../library/turtle.rst:1091 +#: ../../library/turtle.rst:849 msgid "a dictionary with some or all of the below listed keys" msgstr "ein Dictionary mit einigen oder allen der unten aufgeführten Schlüssel" -#: ../../library/turtle.rst:1092 +#: ../../library/turtle.rst:850 msgid "one or more keyword-arguments with the below listed keys as keywords" msgstr "" "ein oder mehrere Schlüsselwortargumente mit den unten aufgeführten " "Schlüsseln als Schlüsselwörter" -#: ../../library/turtle.rst:1094 +#: ../../library/turtle.rst:852 msgid "" "Return or set the pen's attributes in a \"pen-dictionary\" with the " "following key/value pairs:" @@ -1989,47 +1334,47 @@ msgstr "" "Gib die Attribute des Stifts in einem \"Stift-Dictionary\" zurück oder setze " "sie, mit den folgenden Schlüssel/Wert-Paaren:" -#: ../../library/turtle.rst:1097 +#: ../../library/turtle.rst:855 msgid "\"shown\": True/False" msgstr "\"shown\": True/False" -#: ../../library/turtle.rst:1098 +#: ../../library/turtle.rst:856 msgid "\"pendown\": True/False" msgstr "\"pendown\": True/False" -#: ../../library/turtle.rst:1099 +#: ../../library/turtle.rst:857 msgid "\"pencolor\": color-string or color-tuple" msgstr "\"pencolor\": Farbstring oder Farb-Tupel" -#: ../../library/turtle.rst:1100 +#: ../../library/turtle.rst:858 msgid "\"fillcolor\": color-string or color-tuple" msgstr "\"fillcolor\": Farbstring oder Farb-Tupel" -#: ../../library/turtle.rst:1101 +#: ../../library/turtle.rst:859 msgid "\"pensize\": positive number" msgstr "\"pensize\": positive Zahl" -#: ../../library/turtle.rst:1102 +#: ../../library/turtle.rst:860 msgid "\"speed\": number in range 0..10" msgstr "\"speed\": Zahl im Bereich 0..10" -#: ../../library/turtle.rst:1103 +#: ../../library/turtle.rst:861 msgid "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" msgstr "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" -#: ../../library/turtle.rst:1104 +#: ../../library/turtle.rst:862 msgid "\"stretchfactor\": (positive number, positive number)" msgstr "\"stretchfactor\": (positive Zahl, positive Zahl)" -#: ../../library/turtle.rst:1105 +#: ../../library/turtle.rst:863 msgid "\"outline\": positive number" msgstr "\"outline\": positive Zahl" -#: ../../library/turtle.rst:1106 +#: ../../library/turtle.rst:864 msgid "\"tilt\": number" msgstr "\"tilt\": Zahl" -#: ../../library/turtle.rst:1108 +#: ../../library/turtle.rst:866 msgid "" "This dictionary can be used as argument for a subsequent call to :func:`pen` " "to restore the former pen-state. Moreover one or more of these attributes " @@ -2042,7 +1387,7 @@ msgstr "" "angegeben werden. Dies kann verwendet werden, um mehrere Stiftattribute in " "einer einzigen Anweisung zu setzen." -#: ../../library/turtle.rst:1113 +#: ../../library/turtle.rst:871 msgid "" ">>> turtle.pen(fillcolor=\"black\", pencolor=\"red\", pensize=10)\n" ">>> sorted(turtle.pen().items())\n" @@ -2074,12 +1419,12 @@ msgstr "" ">>> sorted(turtle.pen().items())[:3]\n" "[('fillcolor', 'green'), ('outline', 1), ('pencolor', 'red')]" -#: ../../library/turtle.rst:1134 +#: ../../library/turtle.rst:892 msgid "Return ``True`` if pen is down, ``False`` if it's up." msgstr "" "Gib ``True`` zurück, wenn der Stift unten ist, ``False``, wenn er oben ist." -#: ../../library/turtle.rst:1136 +#: ../../library/turtle.rst:894 msgid "" ">>> turtle.penup()\n" ">>> turtle.isdown()\n" @@ -2095,34 +1440,39 @@ msgstr "" ">>> turtle.isdown()\n" "True" -#: ../../library/turtle.rst:1154 +#: ../../library/turtle.rst:906 +msgid "Color control" +msgstr "Farbkontrolle" + +#: ../../library/turtle.rst:912 msgid "Return or set the pencolor." msgstr "Gib die Stiftfarbe zurück oder setze sie." -#: ../../library/turtle.rst:1156 ../../library/turtle.rst:1207 -#: ../../library/turtle.rst:1887 +#: ../../library/turtle.rst:914 ../../library/turtle.rst:966 +#: ../../library/turtle.rst:1639 msgid "Four input formats are allowed:" msgstr "Vier Eingabeformate sind erlaubt:" -#: ../../library/turtle.rst:1158 +#: ../../library/turtle.rst:916 msgid "``pencolor()``" msgstr "``pencolor()``" -#: ../../library/turtle.rst:1159 +#: ../../library/turtle.rst:917 +#, fuzzy msgid "" "Return the current pencolor as color specification string or as a tuple (see " -"example). May be used as input to another color/pencolor/fillcolor/bgcolor " -"call." +"example). May be used as input to another :func:`color`, :func:`pencolor`, :" +"func:`fillcolor` or :func:`bgcolor` call." msgstr "" "Gib die aktuelle Stiftfarbe als Farbangabe-String oder als Tupel zurück " "(siehe Beispiel). Kann als Eingabe für einen weiteren color/pencolor/" "fillcolor/bgcolor-Aufruf verwendet werden." -#: ../../library/turtle.rst:1163 +#: ../../library/turtle.rst:922 msgid "``pencolor(colorstring)``" msgstr "``pencolor(colorstring)``" -#: ../../library/turtle.rst:1164 +#: ../../library/turtle.rst:923 msgid "" "Set pencolor to *colorstring*, which is a Tk color specification string, " "such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." @@ -2130,11 +1480,11 @@ msgstr "" "Setze die Stiftfarbe auf *colorstring*, was ein Tk-Farbangabe-String ist, " "wie zum Beispiel ``\"red\"``, ``\"yellow\"`` oder ``\"#33cc8c\"``." -#: ../../library/turtle.rst:1167 +#: ../../library/turtle.rst:926 msgid "``pencolor((r, g, b))``" msgstr "``pencolor((r, g, b))``" -#: ../../library/turtle.rst:1168 +#: ../../library/turtle.rst:927 msgid "" "Set pencolor to the RGB color represented by the tuple of *r*, *g*, and " "*b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where " @@ -2145,11 +1495,11 @@ msgstr "" "colormode liegen, wobei colormode entweder 1.0 oder 255 ist (siehe :func:" "`colormode`)." -#: ../../library/turtle.rst:1172 +#: ../../library/turtle.rst:931 msgid "``pencolor(r, g, b)``" msgstr "``pencolor(r, g, b)``" -#: ../../library/turtle.rst:1173 +#: ../../library/turtle.rst:932 msgid "" "Set pencolor to the RGB color represented by *r*, *g*, and *b*. Each of " "*r*, *g*, and *b* must be in the range 0..colormode." @@ -2157,7 +1507,7 @@ msgstr "" "Setze die Stiftfarbe auf die durch *r*, *g* und *b* dargestellte RGB-Farbe. " "Jeder der Werte *r*, *g* und *b* muss im Bereich 0..colormode liegen." -#: ../../library/turtle.rst:1176 +#: ../../library/turtle.rst:935 msgid "" "If turtleshape is a polygon, the outline of that polygon is drawn with the " "newly set pencolor." @@ -2165,7 +1515,7 @@ msgstr "" "Ist die Form der Turtle ein Polygon, wird der Umriss dieses Polygons mit der " "neu gesetzten Stiftfarbe gezeichnet." -#: ../../library/turtle.rst:1179 +#: ../../library/turtle.rst:938 msgid "" ">>> colormode()\n" "1.0\n" @@ -2203,29 +1553,30 @@ msgstr "" ">>> turtle.pencolor()\n" "(50.0, 193.0, 143.0)" -#: ../../library/turtle.rst:1205 +#: ../../library/turtle.rst:964 msgid "Return or set the fillcolor." msgstr "Gib die Füllfarbe zurück oder setze sie." -#: ../../library/turtle.rst:1209 +#: ../../library/turtle.rst:968 msgid "``fillcolor()``" msgstr "``fillcolor()``" -#: ../../library/turtle.rst:1210 +#: ../../library/turtle.rst:969 +#, fuzzy msgid "" "Return the current fillcolor as color specification string, possibly in " -"tuple format (see example). May be used as input to another color/pencolor/" -"fillcolor/bgcolor call." +"tuple format (see example). May be used as input to another :func:`color`, :" +"func:`pencolor`, :func:`fillcolor` or :func:`bgcolor` call." msgstr "" "Gib die aktuelle Füllfarbe als Farbangabe-String zurück, möglicherweise im " "Tupel-Format (siehe Beispiel). Kann als Eingabe für einen weiteren color/" "pencolor/fillcolor/bgcolor-Aufruf verwendet werden." -#: ../../library/turtle.rst:1214 +#: ../../library/turtle.rst:974 msgid "``fillcolor(colorstring)``" msgstr "``fillcolor(colorstring)``" -#: ../../library/turtle.rst:1215 +#: ../../library/turtle.rst:975 msgid "" "Set fillcolor to *colorstring*, which is a Tk color specification string, " "such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." @@ -2233,11 +1584,11 @@ msgstr "" "Setze die Füllfarbe auf *colorstring*, was ein Tk-Farbangabe-String ist, wie " "zum Beispiel ``\"red\"``, ``\"yellow\"`` oder ``\"#33cc8c\"``." -#: ../../library/turtle.rst:1218 +#: ../../library/turtle.rst:978 msgid "``fillcolor((r, g, b))``" msgstr "``fillcolor((r, g, b))``" -#: ../../library/turtle.rst:1219 +#: ../../library/turtle.rst:979 msgid "" "Set fillcolor to the RGB color represented by the tuple of *r*, *g*, and " "*b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where " @@ -2248,11 +1599,11 @@ msgstr "" "colormode liegen, wobei colormode entweder 1.0 oder 255 ist (siehe :func:" "`colormode`)." -#: ../../library/turtle.rst:1223 +#: ../../library/turtle.rst:983 msgid "``fillcolor(r, g, b)``" msgstr "``fillcolor(r, g, b)``" -#: ../../library/turtle.rst:1224 +#: ../../library/turtle.rst:984 msgid "" "Set fillcolor to the RGB color represented by *r*, *g*, and *b*. Each of " "*r*, *g*, and *b* must be in the range 0..colormode." @@ -2260,7 +1611,7 @@ msgstr "" "Setze die Füllfarbe auf die durch *r*, *g* und *b* dargestellte RGB-Farbe. " "Jeder der Werte *r*, *g* und *b* muss im Bereich 0..colormode liegen." -#: ../../library/turtle.rst:1227 +#: ../../library/turtle.rst:987 msgid "" "If turtleshape is a polygon, the interior of that polygon is drawn with the " "newly set fillcolor." @@ -2268,7 +1619,7 @@ msgstr "" "Ist die Form der Turtle ein Polygon, wird das Innere dieses Polygons mit der " "neu gesetzten Füllfarbe gezeichnet." -#: ../../library/turtle.rst:1230 +#: ../../library/turtle.rst:990 msgid "" ">>> turtle.fillcolor(\"violet\")\n" ">>> turtle.fillcolor()\n" @@ -2294,22 +1645,22 @@ msgstr "" ">>> turtle.fillcolor()\n" "(255.0, 255.0, 255.0)" -#: ../../library/turtle.rst:1251 +#: ../../library/turtle.rst:1011 msgid "Return or set pencolor and fillcolor." msgstr "Gib die Stiftfarbe und die Füllfarbe zurück oder setze sie." -#: ../../library/turtle.rst:1253 +#: ../../library/turtle.rst:1013 msgid "" "Several input formats are allowed. They use 0 to 3 arguments as follows:" msgstr "" "Mehrere Eingabeformate sind erlaubt. Sie verwenden dabei 0 bis 3 Argumente " "wie folgt:" -#: ../../library/turtle.rst:1256 +#: ../../library/turtle.rst:1016 msgid "``color()``" msgstr "``color()``" -#: ../../library/turtle.rst:1257 +#: ../../library/turtle.rst:1017 msgid "" "Return the current pencolor and the current fillcolor as a pair of color " "specification strings or tuples as returned by :func:`pencolor` and :func:" @@ -2319,11 +1670,11 @@ msgstr "" "Farbangabe-Strings oder Tupeln zurück, wie sie von :func:`pencolor` und :" "func:`fillcolor` zurückgegeben werden." -#: ../../library/turtle.rst:1261 +#: ../../library/turtle.rst:1021 msgid "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" msgstr "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" -#: ../../library/turtle.rst:1262 +#: ../../library/turtle.rst:1022 msgid "" "Inputs as in :func:`pencolor`, set both, fillcolor and pencolor, to the " "given value." @@ -2331,13 +1682,13 @@ msgstr "" "Eingaben wie bei :func:`pencolor`, setzt sowohl fillcolor als auch pencolor " "auf den angegebenen Wert." -#: ../../library/turtle.rst:1265 +#: ../../library/turtle.rst:1025 msgid "" "``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" msgstr "" "``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" -#: ../../library/turtle.rst:1266 +#: ../../library/turtle.rst:1026 msgid "" "Equivalent to ``pencolor(colorstring1)`` and ``fillcolor(colorstring2)`` and " "analogously if the other input format is used." @@ -2345,7 +1696,7 @@ msgstr "" "Entspricht ``pencolor(colorstring1)`` und ``fillcolor(colorstring2)`` und " "analog, wenn das andere Eingabeformat verwendet wird." -#: ../../library/turtle.rst:1269 +#: ../../library/turtle.rst:1029 msgid "" "If turtleshape is a polygon, outline and interior of that polygon is drawn " "with the newly set colors." @@ -2353,7 +1704,7 @@ msgstr "" "Ist die Form der Turtle ein Polygon, werden Umriss und Inneres dieses " "Polygons mit den neu gesetzten Farben gezeichnet." -#: ../../library/turtle.rst:1272 +#: ../../library/turtle.rst:1032 msgid "" ">>> turtle.color(\"red\", \"green\")\n" ">>> turtle.color()\n" @@ -2369,16 +1720,20 @@ msgstr "" ">>> color()\n" "((40.0, 80.0, 120.0), (160.0, 200.0, 240.0))" -#: ../../library/turtle.rst:1283 +#: ../../library/turtle.rst:1043 msgid "See also: Screen method :func:`colormode`." msgstr "Siehe auch: Screen-Methode :func:`colormode`." -#: ../../library/turtle.rst:1297 +#: ../../library/turtle.rst:1047 +msgid "Filling" +msgstr "Füllen" + +#: ../../library/turtle.rst:1057 msgid "Return fillstate (``True`` if filling, ``False`` else)." msgstr "" "Gib den Füllstatus zurück (``True``, wenn gefüllt wird, sonst ``False``)." -#: ../../library/turtle.rst:1299 +#: ../../library/turtle.rst:1059 msgid "" ">>> turtle.begin_fill()\n" ">>> if turtle.filling():\n" @@ -2392,11 +1747,11 @@ msgstr "" "... else:\n" "... turtle.pensize(3)" -#: ../../library/turtle.rst:1310 +#: ../../library/turtle.rst:1070 msgid "Fill the shape drawn in the ``with turtle.fill():`` block." msgstr "Fülle die Form, die im ``with turtle.fill():``-Block gezeichnet wurde." -#: ../../library/turtle.rst:1312 +#: ../../library/turtle.rst:1072 msgid "" ">>> turtle.color(\"black\", \"red\")\n" ">>> with turtle.fill():\n" @@ -2406,7 +1761,7 @@ msgstr "" ">>> with turtle.fill():\n" "... turtle.circle(80)" -#: ../../library/turtle.rst:1319 +#: ../../library/turtle.rst:1079 msgid "" "Using :func:`!fill` is equivalent to adding the :func:`begin_fill` before " "the fill-block and :func:`end_fill` after the fill-block:" @@ -2414,7 +1769,7 @@ msgstr "" "Die Verwendung von :func:`!fill` entspricht dem Hinzufügen von :func:" "`begin_fill` vor dem Füllblock und :func:`end_fill` nach dem Füllblock:" -#: ../../library/turtle.rst:1322 ../../library/turtle.rst:1347 +#: ../../library/turtle.rst:1082 ../../library/turtle.rst:1107 msgid "" ">>> turtle.color(\"black\", \"red\")\n" ">>> turtle.begin_fill()\n" @@ -2426,18 +1781,18 @@ msgstr "" ">>> turtle.circle(80)\n" ">>> turtle.end_fill()" -#: ../../library/turtle.rst:1335 +#: ../../library/turtle.rst:1095 msgid "To be called just before drawing a shape to be filled." msgstr "" "Muss unmittelbar vor dem Zeichnen einer zu füllenden Form aufgerufen werden." -#: ../../library/turtle.rst:1340 +#: ../../library/turtle.rst:1100 msgid "Fill the shape drawn after the last call to :func:`begin_fill`." msgstr "" "Fülle die Form, die seit dem letzten Aufruf von :func:`begin_fill` " "gezeichnet wurde." -#: ../../library/turtle.rst:1342 +#: ../../library/turtle.rst:1102 msgid "" "Whether or not overlap regions for self-intersecting polygons or multiple " "shapes are filled depends on the operating system graphics, type of overlap, " @@ -2450,15 +1805,20 @@ msgstr "" "gezeigte Turtle-Stern entweder komplett gelb sein oder einige weiße Bereiche " "aufweisen." -#: ../../library/turtle.rst:1361 +#: ../../library/turtle.rst:1117 +msgid "More drawing control" +msgstr "Mehr Zeichenkontrolle" + +#: ../../library/turtle.rst:1121 +#, fuzzy msgid "" -"Delete the turtle's drawings from the screen, re-center the turtle and set " -"variables to the default values." +"Delete the turtle's drawings and re-center the turtle. The turtle's settings " +"are restored to their default values." msgstr "" "Lösche die Zeichnungen der Turtle vom Bildschirm, zentriere die Turtle neu " "und setze die Variablen auf ihre Standardwerte zurück." -#: ../../library/turtle.rst:1364 +#: ../../library/turtle.rst:1124 msgid "" ">>> turtle.goto(0,-22)\n" ">>> turtle.left(100)\n" @@ -2484,32 +1844,32 @@ msgstr "" ">>> turtle.heading()\n" "0.0" -#: ../../library/turtle.rst:1382 +#: ../../library/turtle.rst:1142 +#, fuzzy msgid "" -"Delete the turtle's drawings from the screen. Do not move turtle. State " -"and position of the turtle as well as drawings of other turtles are not " -"affected." +"Delete the turtle's drawings from the screen. The state and position of the " +"turtle as well as the drawings of other turtles are not affected." msgstr "" "Lösche die Zeichnungen der Turtle vom Bildschirm, zentriere die Turtle neu " "und setze die Variablen auf ihre Standardwerte zurück." -#: ../../library/turtle.rst:1388 +#: ../../library/turtle.rst:1148 msgid "object to be written to the TurtleScreen" msgstr "Objekt, das auf den TurtleScreen geschrieben werden soll" -#: ../../library/turtle.rst:1389 +#: ../../library/turtle.rst:1149 msgid "True/False" msgstr "True/False" -#: ../../library/turtle.rst:1390 +#: ../../library/turtle.rst:1150 msgid "one of the strings \"left\", \"center\" or right\"" msgstr "eine der Zeichenketten \"left\", \"center\" oder \"right\"" -#: ../../library/turtle.rst:1391 +#: ../../library/turtle.rst:1151 msgid "a triple (fontname, fontsize, fonttype)" msgstr "ein Tripel (fontname, fontsize, fonttype)" -#: ../../library/turtle.rst:1393 +#: ../../library/turtle.rst:1153 msgid "" "Write text - the string representation of *arg* - at the current turtle " "position according to *align* (\"left\", \"center\" or \"right\") and with " @@ -2521,7 +1881,7 @@ msgstr "" "mit der angegebenen Schriftart. Ist *move* wahr, wird der Stift an die " "untere rechte Ecke des Textes bewegt. Standardmäßig ist *move* ``False``." -#: ../../library/turtle.rst:1398 +#: ../../library/turtle.rst:1158 msgid "" ">>> turtle.write(\"Home = \", True, align=\"center\")\n" ">>> turtle.write((0,0), True)" @@ -2529,35 +1889,30 @@ msgstr "" ">>> turtle.write(\"Home = \", True, align=\"center\")\n" ">>> turtle.write((0,0), True)" -#: ../../library/turtle.rst:1414 -msgid "" -"Make the turtle invisible. It's a good idea to do this while you're in the " -"middle of doing some complex drawing, because hiding the turtle speeds up " -"the drawing observably." -msgstr "" -"Mache die Turtle unsichtbar. Es ist eine gute Idee, dies während einer " -"komplexen Zeichnung zu tun, da das Verstecken der Turtle das Zeichnen " -"merklich beschleunigt." +#: ../../library/turtle.rst:1166 +msgid "Turtle state" +msgstr "Turtle-Status" -#: ../../library/turtle.rst:1418 -msgid ">>> turtle.hideturtle()" -msgstr ">>> turtle.hideturtle()" +#: ../../library/turtle.rst:1169 +msgid "Visibility" +msgstr "Sichtbarkeit" + +#: ../../library/turtle.rst:1174 +msgid "Make the turtle invisible. If the pen is down, movement still draws." +msgstr "" -#: ../../library/turtle.rst:1427 +#: ../../library/turtle.rst:1180 msgid "Make the turtle visible." msgstr "Mache die Turtle sichtbar." -#: ../../library/turtle.rst:1429 -msgid ">>> turtle.showturtle()" -msgstr ">>> turtle.showturtle()" - -#: ../../library/turtle.rst:1437 -msgid "Return ``True`` if the Turtle is shown, ``False`` if it's hidden." +#: ../../library/turtle.rst:1185 +#, fuzzy +msgid "Return ``True`` if the turtle is shown, ``False`` if it's hidden." msgstr "" "Gib ``True`` zurück, wenn die Turtle sichtbar ist, ``False``, wenn sie " "versteckt ist." -#: ../../library/turtle.rst:1439 +#: ../../library/turtle.rst:1187 msgid "" ">>> turtle.hideturtle()\n" ">>> turtle.isvisible()\n" @@ -2573,11 +1928,15 @@ msgstr "" ">>> turtle.isvisible()\n" "True" -#: ../../library/turtle.rst:1455 +#: ../../library/turtle.rst:1199 +msgid "Appearance" +msgstr "Erscheinungsbild" + +#: ../../library/turtle.rst:1203 msgid "a string which is a valid shapename" msgstr "eine Zeichenkette, die ein gültiger Formname ist" -#: ../../library/turtle.rst:1457 +#: ../../library/turtle.rst:1205 msgid "" "Set turtle shape to shape with given *name* or, if name is not given, return " "name of current shape. Shape with *name* must exist in the TurtleScreen's " @@ -2593,7 +1952,7 @@ msgstr "" "\"circle\", \"square\", \"triangle\", \"classic\". Um mehr über den Umgang " "mit Formen zu erfahren, siehe die Screen-Methode :func:`register_shape`." -#: ../../library/turtle.rst:1463 +#: ../../library/turtle.rst:1211 msgid "" ">>> turtle.shape()\n" "'classic'\n" @@ -2607,11 +1966,11 @@ msgstr "" ">>> turtle.shape()\n" "'turtle'" -#: ../../library/turtle.rst:1475 +#: ../../library/turtle.rst:1223 msgid "one of the strings \"auto\", \"user\", \"noresize\"" msgstr "eine der Zeichenketten \"auto\", \"user\", \"noresize\"" -#: ../../library/turtle.rst:1477 +#: ../../library/turtle.rst:1225 msgid "" "Set resizemode to one of the values: \"auto\", \"user\", \"noresize\". If " "*rmode* is not given, return current resizemode. Different resizemodes have " @@ -2621,7 +1980,7 @@ msgstr "" "*rmode* nicht angegeben, wird der aktuelle resizemode zurückgegeben. Die " "verschiedenen resizemodes haben folgende Auswirkungen:" -#: ../../library/turtle.rst:1481 +#: ../../library/turtle.rst:1229 msgid "" "\"auto\": adapts the appearance of the turtle corresponding to the value of " "pensize." @@ -2629,7 +1988,7 @@ msgstr "" "\"auto\": passt das Erscheinungsbild der Turtle entsprechend dem Wert von " "pensize an." -#: ../../library/turtle.rst:1482 +#: ../../library/turtle.rst:1230 msgid "" "\"user\": adapts the appearance of the turtle according to the values of " "stretchfactor and outlinewidth (outline), which are set by :func:`shapesize`." @@ -2638,13 +1997,13 @@ msgstr "" "stretchfactor und outlinewidth (outline) an, die durch :func:`shapesize` " "gesetzt werden." -#: ../../library/turtle.rst:1485 +#: ../../library/turtle.rst:1233 msgid "\"noresize\": no adaption of the turtle's appearance takes place." msgstr "" "\"noresize\": es findet keine Anpassung des Erscheinungsbilds der Turtle " "statt." -#: ../../library/turtle.rst:1487 +#: ../../library/turtle.rst:1235 msgid "" "``resizemode(\"user\")`` is called by :func:`shapesize` when used with " "arguments." @@ -2652,7 +2011,7 @@ msgstr "" "``resizemode(\"user\")`` wird von :func:`shapesize` aufgerufen, wenn es mit " "Argumenten verwendet wird." -#: ../../library/turtle.rst:1489 +#: ../../library/turtle.rst:1237 msgid "" ">>> turtle.resizemode()\n" "'noresize'\n" @@ -2666,12 +2025,12 @@ msgstr "" ">>> turtle.resizemode()\n" "'auto'" -#: ../../library/turtle.rst:1502 ../../library/turtle.rst:1503 -#: ../../library/turtle.rst:1504 +#: ../../library/turtle.rst:1250 ../../library/turtle.rst:1251 +#: ../../library/turtle.rst:1252 msgid "positive number" msgstr "Positive Zahl" -#: ../../library/turtle.rst:1506 +#: ../../library/turtle.rst:1254 msgid "" "Return or set the pen's attributes x/y-stretchfactors and/or outline. Set " "resizemode to \"user\". If and only if resizemode is set to \"user\", the " @@ -2687,7 +2046,7 @@ msgstr "" "Ausrichtung, *stretch_len* ist der Streckfaktor in Richtung ihrer " "Ausrichtung, *outline* bestimmt die Breite des Umrisses der Form." -#: ../../library/turtle.rst:1513 +#: ../../library/turtle.rst:1261 msgid "" ">>> turtle.shapesize()\n" "(1.0, 1.0, 1)\n" @@ -2709,12 +2068,11 @@ msgstr "" ">>> turtle.shapesize()\n" "(5, 5, 8)" -#: ../../library/turtle.rst:1529 ../../library/turtle.rst:2223 -#: ../../library/turtle.rst:2224 ../../library/turtle.rst:2225 +#: ../../library/turtle.rst:1277 msgid "number (optional)" msgstr "Zahl (optional)" -#: ../../library/turtle.rst:1531 +#: ../../library/turtle.rst:1279 msgid "" "Set or return the current shearfactor. Shear the turtleshape according to " "the given shearfactor shear, which is the tangent of the shear angle. Do " @@ -2729,7 +2087,7 @@ msgstr "" "Scherfaktor zurück, d. h. den Tangens des Scherwinkels, um den Linien " "parallel zur Ausrichtung der Turtle geschert werden." -#: ../../library/turtle.rst:1538 +#: ../../library/turtle.rst:1286 msgid "" ">>> turtle.shape(\"circle\")\n" ">>> turtle.shapesize(5,2)\n" @@ -2743,7 +2101,7 @@ msgstr "" ">>> turtle.shearfactor()\n" "0.5" -#: ../../library/turtle.rst:1552 +#: ../../library/turtle.rst:1300 msgid "" "Rotate the turtleshape by *angle* from its current tilt-angle, but do *not* " "change the turtle's heading (direction of movement)." @@ -2751,7 +2109,7 @@ msgstr "" "Drehe die Form der Turtle um *angle* von ihrem aktuellen Kippwinkel aus, " "ändere aber *nicht* die Ausrichtung der Turtle (Bewegungsrichtung)." -#: ../../library/turtle.rst:1555 +#: ../../library/turtle.rst:1303 msgid "" ">>> turtle.reset()\n" ">>> turtle.shape(\"circle\")\n" @@ -2769,13 +2127,13 @@ msgstr "" ">>> turtle.tilt(30)\n" ">>> turtle.fd(50)" -#: ../../library/turtle.rst:1569 ../../library/turtle.rst:1592 -#: ../../library/turtle.rst:1593 ../../library/turtle.rst:1594 -#: ../../library/turtle.rst:1595 +#: ../../library/turtle.rst:1317 ../../library/turtle.rst:1340 +#: ../../library/turtle.rst:1341 ../../library/turtle.rst:1342 +#: ../../library/turtle.rst:1343 msgid "a number (optional)" msgstr "eine Zahl (optional)" -#: ../../library/turtle.rst:1571 +#: ../../library/turtle.rst:1319 msgid "" "Set or return the current tilt-angle. If angle is given, rotate the " "turtleshape to point in the direction specified by angle, regardless of its " @@ -2792,7 +2150,7 @@ msgstr "" "Ausrichtung der Form der Turtle und der Ausrichtung der Turtle (ihrer " "Bewegungsrichtung)." -#: ../../library/turtle.rst:1579 +#: ../../library/turtle.rst:1327 msgid "" ">>> turtle.reset()\n" ">>> turtle.shape(\"circle\")\n" @@ -2808,12 +2166,12 @@ msgstr "" ">>> turtle.tiltangle()\n" "45.0" -#: ../../library/turtle.rst:1597 +#: ../../library/turtle.rst:1345 msgid "Set or return the current transformation matrix of the turtle shape." msgstr "" "Setze die aktuelle Transformationsmatrix der Turtle-Form oder gib sie zurück." -#: ../../library/turtle.rst:1599 +#: ../../library/turtle.rst:1347 msgid "" "If none of the matrix elements are given, return the transformation matrix " "as a tuple of 4 elements. Otherwise set the given elements and transform the " @@ -2830,7 +2188,7 @@ msgstr "" "andernfalls wird ein Fehler ausgelöst. Ändert stretchfactor, shearfactor und " "tiltangle entsprechend der angegebenen Matrix." -#: ../../library/turtle.rst:1608 +#: ../../library/turtle.rst:1356 msgid "" ">>> turtle = Turtle()\n" ">>> turtle.shape(\"square\")\n" @@ -2846,7 +2204,7 @@ msgstr "" ">>> turtle.shapetransform()\n" "(4.0, -1.0, -0.0, 2.0)" -#: ../../library/turtle.rst:1621 +#: ../../library/turtle.rst:1369 msgid "" "Return the current shape polygon as tuple of coordinate pairs. This can be " "used to define a new shape or components of a compound shape." @@ -2855,7 +2213,7 @@ msgstr "" "kann verwendet werden, um eine neue Form oder Komponenten einer " "zusammengesetzten Form zu definieren." -#: ../../library/turtle.rst:1624 +#: ../../library/turtle.rst:1372 msgid "" ">>> turtle.shape(\"square\")\n" ">>> turtle.shapetransform(4, -1, 0, 2)\n" @@ -2867,40 +2225,36 @@ msgstr "" ">>> turtle.get_shapepoly()\n" "((50, -20), (30, 20), (-50, 20), (-30, -20))" -#: ../../library/turtle.rst:1639 ../../library/turtle.rst:1661 -#: ../../library/turtle.rst:1686 ../../library/turtle.rst:2147 -msgid "" -"a function with two arguments which will be called with the coordinates of " -"the clicked point on the canvas" -msgstr "" -"eine Funktion mit zwei Argumenten, die mit den Koordinaten des angeklickten " -"Punkts auf der Zeichenfläche aufgerufen wird" +#: ../../library/turtle.rst:1382 +msgid "Using events" +msgstr "Ereignisse verwenden" -#: ../../library/turtle.rst:1641 ../../library/turtle.rst:1663 -#: ../../library/turtle.rst:1688 ../../library/turtle.rst:2149 -msgid "number of the mouse-button, defaults to 1 (left mouse button)" -msgstr "Nummer der Maustaste, standardmäßig 1 (linke Maustaste)" +#: ../../library/turtle.rst:1387 ../../library/turtle.rst:1899 +#, fuzzy +msgid "a function with two arguments or ``None``" +msgstr "eine Funktion ohne Argumente oder ``None``" -#: ../../library/turtle.rst:1642 ../../library/turtle.rst:1664 -#: ../../library/turtle.rst:1689 ../../library/turtle.rst:2150 -msgid "" -"``True`` or ``False`` -- if ``True``, a new binding will be added, otherwise " -"it will replace a former binding" -msgstr "" -"``True`` oder ``False`` -- ist es ``True``, wird eine neue Bindung " -"hinzugefügt, andernfalls ersetzt sie eine vorherige Bindung" +#: ../../library/turtle.rst:1388 ../../library/turtle.rst:1900 +#, fuzzy +msgid "an integer" +msgstr "eine Ganzzahl oder ``None``" + +#: ../../library/turtle.rst:1389 ../../library/turtle.rst:1901 +#, fuzzy +msgid "a boolean or ``None``" +msgstr "eine Zahl oder ``None``" -#: ../../library/turtle.rst:1645 +#: ../../library/turtle.rst:1391 msgid "" -"Bind *fun* to mouse-click events on this turtle. If *fun* is ``None``, " -"existing bindings are removed. Example for the anonymous turtle, i.e. the " -"procedural way:" +"Bind *fun* to mouse-click events on this turtle. *fun* is called with the " +"coordinates of the clicked point on the canvas. If *fun* is ``None``, " +"existing bindings are removed. *btn* is the number of the mouse button and " +"defaults to 1, the left mouse button. If *add* is ``True``, a new binding is " +"added, otherwise it replaces a former binding. Example for the anonymous " +"turtle, that is, the procedural way:" msgstr "" -"Binde *fun* an Mausklick-Ereignisse dieser Turtle. Ist *fun* ``None``, " -"werden bestehende Bindungen entfernt. Beispiel für die anonyme Turtle, d. h. " -"die prozedurale Vorgehensweise:" -#: ../../library/turtle.rst:1649 +#: ../../library/turtle.rst:1398 msgid "" ">>> def turn(x, y):\n" "... left(180)\n" @@ -2914,7 +2268,27 @@ msgstr "" ">>> onclick(turn) # Now clicking into the turtle will turn it.\n" ">>> onclick(None) # event-binding will be removed" -#: ../../library/turtle.rst:1667 +#: ../../library/turtle.rst:1410 ../../library/turtle.rst:1435 +msgid "" +"a function with two arguments which will be called with the coordinates of " +"the clicked point on the canvas" +msgstr "" +"eine Funktion mit zwei Argumenten, die mit den Koordinaten des angeklickten " +"Punkts auf der Zeichenfläche aufgerufen wird" + +#: ../../library/turtle.rst:1412 ../../library/turtle.rst:1437 +msgid "number of the mouse-button, defaults to 1 (left mouse button)" +msgstr "Nummer der Maustaste, standardmäßig 1 (linke Maustaste)" + +#: ../../library/turtle.rst:1413 ../../library/turtle.rst:1438 +msgid "" +"``True`` or ``False`` -- if ``True``, a new binding will be added, otherwise " +"it will replace a former binding" +msgstr "" +"``True`` oder ``False`` -- ist es ``True``, wird eine neue Bindung " +"hinzugefügt, andernfalls ersetzt sie eine vorherige Bindung" + +#: ../../library/turtle.rst:1416 msgid "" "Bind *fun* to mouse-button-release events on this turtle. If *fun* is " "``None``, existing bindings are removed." @@ -2922,7 +2296,7 @@ msgstr "" "Binde *fun* an Loslassen-der-Maustaste-Ereignisse dieser Turtle. Ist *fun* " "``None``, werden bestehende Bindungen entfernt." -#: ../../library/turtle.rst:1670 +#: ../../library/turtle.rst:1419 msgid "" ">>> class MyTurtle(Turtle):\n" "... def glow(self,x,y):\n" @@ -2946,7 +2320,7 @@ msgstr "" "red,\n" ">>> turtle.onrelease(turtle.unglow) # releasing turns it to transparent." -#: ../../library/turtle.rst:1692 +#: ../../library/turtle.rst:1441 msgid "" "Bind *fun* to mouse-move events on this turtle. If *fun* is ``None``, " "existing bindings are removed." @@ -2954,7 +2328,7 @@ msgstr "" "Binde *fun* an Mausbewegungs-Ereignisse dieser Turtle. Ist *fun* ``None``, " "werden bestehende Bindungen entfernt." -#: ../../library/turtle.rst:1695 +#: ../../library/turtle.rst:1444 msgid "" "Remark: Every sequence of mouse-move-events on a turtle is preceded by a " "mouse-click event on that turtle." @@ -2962,11 +2336,11 @@ msgstr "" "Anmerkung: Jeder Abfolge von Mausbewegungs-Ereignissen auf einer Turtle geht " "ein Mausklick-Ereignis auf dieser Turtle voraus." -#: ../../library/turtle.rst:1698 +#: ../../library/turtle.rst:1447 msgid ">>> turtle.ondrag(turtle.goto)" msgstr ">>> turtle.ondrag(turtle.goto)" -#: ../../library/turtle.rst:1703 +#: ../../library/turtle.rst:1452 msgid "" "Subsequently, clicking and dragging the Turtle will move it across the " "screen thereby producing handdrawings (if pen is down)." @@ -2974,7 +2348,11 @@ msgstr "" "Anschließend bewegt das Klicken und Ziehen der Turtle diese über den " "Bildschirm und erzeugt dabei Handzeichnungen (wenn der Stift unten ist)." -#: ../../library/turtle.rst:1713 +#: ../../library/turtle.rst:1457 +msgid "Special Turtle methods" +msgstr "Spezielle Turtle-Methoden" + +#: ../../library/turtle.rst:1462 msgid "" "Record the vertices of a polygon drawn in the ``with turtle.poly():`` block. " "The first and last vertices will be connected." @@ -2982,7 +2360,7 @@ msgstr "" "Zeichne die Eckpunkte eines Polygons auf, das im ``with turtle.poly():``-" "Block gezeichnet wird. Der erste und letzte Eckpunkt werden verbunden." -#: ../../library/turtle.rst:1716 +#: ../../library/turtle.rst:1465 msgid "" ">>> with turtle.poly():\n" "... turtle.forward(100)\n" @@ -2994,28 +2372,30 @@ msgstr "" "... turtle.right(60)\n" "... turtle.forward(100)" -#: ../../library/turtle.rst:1729 +#: ../../library/turtle.rst:1478 +#, fuzzy msgid "" -"Start recording the vertices of a polygon. Current turtle position is first " -"vertex of polygon." +"Start recording the vertices of a polygon. The current turtle position is " +"the first vertex of the polygon." msgstr "" "Beginne mit dem Aufzeichnen der Eckpunkte eines Polygons. Die aktuelle " "Position der Turtle ist der erste Eckpunkt des Polygons." -#: ../../library/turtle.rst:1735 +#: ../../library/turtle.rst:1484 +#, fuzzy msgid "" -"Stop recording the vertices of a polygon. Current turtle position is last " -"vertex of polygon. This will be connected with the first vertex." +"Stop recording the vertices of a polygon. The current turtle position is the " +"last vertex of the polygon. This will be connected with the first vertex." msgstr "" "Beende das Aufzeichnen der Eckpunkte eines Polygons. Die aktuelle Position " "der Turtle ist der letzte Eckpunkt des Polygons. Dieser wird mit dem ersten " "Eckpunkt verbunden." -#: ../../library/turtle.rst:1741 +#: ../../library/turtle.rst:1490 msgid "Return the last recorded polygon." msgstr "Gib das zuletzt aufgezeichnete Polygon zurück." -#: ../../library/turtle.rst:1743 +#: ../../library/turtle.rst:1492 msgid "" ">>> turtle.home()\n" ">>> turtle.begin_poly()\n" @@ -3039,7 +2419,7 @@ msgstr "" ">>> p = turtle.get_poly()\n" ">>> register_shape(\"myFavouriteShape\", p)" -#: ../../library/turtle.rst:1760 +#: ../../library/turtle.rst:1509 msgid "" "Create and return a clone of the turtle with same position, heading and " "turtle properties." @@ -3047,7 +2427,7 @@ msgstr "" "Erstelle und gib einen Klon der Turtle mit derselben Position, Ausrichtung " "und denselben Turtle-Eigenschaften zurück." -#: ../../library/turtle.rst:1763 +#: ../../library/turtle.rst:1512 msgid "" ">>> mick = Turtle()\n" ">>> joe = mick.clone()" @@ -3055,7 +2435,7 @@ msgstr "" ">>> mick = Turtle()\n" ">>> joe = mick.clone()" -#: ../../library/turtle.rst:1773 +#: ../../library/turtle.rst:1522 msgid "" "Return the Turtle object itself. Only reasonable use: as a function to " "return the \"anonymous turtle\":" @@ -3063,7 +2443,7 @@ msgstr "" "Gib das Turtle-Objekt selbst zurück. Einzig sinnvolle Verwendung: als " "Funktion, um die \"anonyme Turtle\" zurückzugeben:" -#: ../../library/turtle.rst:1776 +#: ../../library/turtle.rst:1525 msgid "" ">>> pet = getturtle()\n" ">>> pet.fd(50)\n" @@ -3075,7 +2455,7 @@ msgstr "" ">>> pet\n" "" -#: ../../library/turtle.rst:1787 +#: ../../library/turtle.rst:1536 msgid "" "Return the :class:`TurtleScreen` object the turtle is drawing on. " "TurtleScreen methods can then be called for that object." @@ -3083,7 +2463,7 @@ msgstr "" "Gib das :class:`TurtleScreen`-Objekt zurück, auf dem die Turtle zeichnet. " "Für dieses Objekt können dann TurtleScreen-Methoden aufgerufen werden." -#: ../../library/turtle.rst:1790 +#: ../../library/turtle.rst:1539 msgid "" ">>> ts = turtle.getscreen()\n" ">>> ts\n" @@ -3095,11 +2475,7 @@ msgstr "" "\n" ">>> ts.bgcolor(\"pink\")" -#: ../../library/turtle.rst:1801 -msgid "an integer or ``None``" -msgstr "eine Ganzzahl oder ``None``" - -#: ../../library/turtle.rst:1803 +#: ../../library/turtle.rst:1552 msgid "" "Set or disable undobuffer. If *size* is an integer, an empty undobuffer of " "given size is installed. *size* gives the maximum number of turtle actions " @@ -3112,15 +2488,15 @@ msgstr "" "`undo` rückgängig gemacht werden können. Ist *size* ``None``, wird der Undo-" "Puffer deaktiviert." -#: ../../library/turtle.rst:1808 +#: ../../library/turtle.rst:1557 msgid ">>> turtle.setundobuffer(42)" msgstr ">>> turtle.setundobuffer(42)" -#: ../../library/turtle.rst:1816 +#: ../../library/turtle.rst:1565 msgid "Return number of entries in the undobuffer." msgstr "Gib die Anzahl der Einträge im Undo-Puffer zurück." -#: ../../library/turtle.rst:1818 +#: ../../library/turtle.rst:1567 msgid "" ">>> while undobufferentries():\n" "... undo()" @@ -3128,11 +2504,11 @@ msgstr "" ">>> while undobufferentries():\n" "... undo()" -#: ../../library/turtle.rst:1829 +#: ../../library/turtle.rst:1578 msgid "Compound shapes" msgstr "Zusammengesetzte Formen" -#: ../../library/turtle.rst:1831 +#: ../../library/turtle.rst:1580 msgid "" "To use compound turtle shapes, which consist of several polygons of " "different color, you must use the helper class :class:`Shape` explicitly as " @@ -3142,11 +2518,11 @@ msgstr "" "unterschiedlicher Farbe bestehen, musst du die Hilfsklasse :class:`Shape` " "explizit verwenden, wie unten beschrieben:" -#: ../../library/turtle.rst:1835 +#: ../../library/turtle.rst:1584 msgid "Create an empty Shape object of type \"compound\"." msgstr "Erstelle ein leeres Shape-Objekt vom Typ \"compound\"." -#: ../../library/turtle.rst:1836 +#: ../../library/turtle.rst:1585 msgid "" "Add as many components to this object as desired, using the :meth:`~Shape." "addcomponent` method." @@ -3154,11 +2530,11 @@ msgstr "" "Füge diesem Objekt beliebig viele Komponenten hinzu, indem du die Methode :" "meth:`~Shape.addcomponent` verwendest." -#: ../../library/turtle.rst:1839 +#: ../../library/turtle.rst:1588 msgid "For example:" msgstr "Zum Beispiel:" -#: ../../library/turtle.rst:1841 +#: ../../library/turtle.rst:1590 msgid "" ">>> s = Shape(\"compound\")\n" ">>> poly1 = ((0,0),(10,-5),(0,10),(-10,-5))\n" @@ -3172,11 +2548,11 @@ msgstr "" ">>> poly2 = ((0,0),(10,-5),(-10,-5))\n" ">>> s.addcomponent(poly2, \"blue\", \"red\")" -#: ../../library/turtle.rst:1850 +#: ../../library/turtle.rst:1599 msgid "Now add the Shape to the Screen's shapelist and use it:" msgstr "Füge nun die Shape zur Formenliste des Screens hinzu und verwende sie:" -#: ../../library/turtle.rst:1852 +#: ../../library/turtle.rst:1601 msgid "" ">>> register_shape(\"myshape\", s)\n" ">>> shape(\"myshape\")" @@ -3184,7 +2560,7 @@ msgstr "" ">>> register_shape(\"myshape\", s)\n" ">>> shape(\"myshape\")" -#: ../../library/turtle.rst:1861 +#: ../../library/turtle.rst:1610 msgid "" "The :class:`Shape` class is used internally by the :func:`register_shape` " "method in different ways. The application programmer has to deal with the " @@ -3195,11 +2571,11 @@ msgstr "" "Shape-Klasse *nur* dann befassen, wenn zusammengesetzte Formen wie oben " "gezeigt verwendet werden!" -#: ../../library/turtle.rst:1867 -msgid "Methods of TurtleScreen/Screen and corresponding functions" -msgstr "Methoden von TurtleScreen/Screen und entsprechende Funktionen" +#: ../../library/turtle.rst:1619 +msgid "Screen methods and functions" +msgstr "" -#: ../../library/turtle.rst:1869 +#: ../../library/turtle.rst:1621 msgid "" "Most of the examples in this section refer to a TurtleScreen instance called " "``screen``." @@ -3207,29 +2583,34 @@ msgstr "" "Die meisten Beispiele in diesem Abschnitt beziehen sich auf eine " "TurtleScreen-Instanz namens ``screen``." -#: ../../library/turtle.rst:1885 +#: ../../library/turtle.rst:1631 +msgid "Window control" +msgstr "Fenstersteuerung" + +#: ../../library/turtle.rst:1637 msgid "Return or set the background color of the TurtleScreen." msgstr "Gib die Hintergrundfarbe des TurtleScreen zurück oder setze sie." -#: ../../library/turtle.rst:1889 +#: ../../library/turtle.rst:1641 msgid "``bgcolor()``" msgstr "``bgcolor()``" -#: ../../library/turtle.rst:1890 +#: ../../library/turtle.rst:1642 +#, fuzzy msgid "" -"Return the current background color as color specification string or as a " -"tuple (see example). May be used as input to another color/pencolor/" -"fillcolor/bgcolor call." +"Return the current background color as a color specification string or as a " +"tuple (see example). May be used as input to another :func:`color`, :func:" +"`pencolor`, :func:`fillcolor` or :func:`bgcolor` call." msgstr "" "Gib die aktuelle Hintergrundfarbe als Farbangabe-String oder als Tupel " "zurück (siehe Beispiel). Kann als Eingabe für einen weiteren color/pencolor/" "fillcolor/bgcolor-Aufruf verwendet werden." -#: ../../library/turtle.rst:1894 +#: ../../library/turtle.rst:1647 msgid "``bgcolor(colorstring)``" msgstr "``bgcolor(colorstring)``" -#: ../../library/turtle.rst:1895 +#: ../../library/turtle.rst:1648 msgid "" "Set the background color to *colorstring*, which is a Tk color specification " "string, such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." @@ -3237,14 +2618,15 @@ msgstr "" "Setzt die Hintergrundfarbe auf *colorstring*, eine Tk-Farbangabe als " "Zeichenkette, etwa ``\"red\"``, ``\"yellow\"`` oder ``\"#33cc8c\"``." -#: ../../library/turtle.rst:1898 +#: ../../library/turtle.rst:1651 msgid "``bgcolor((r, g, b))``" msgstr "``bgcolor((r, g, b))``" -#: ../../library/turtle.rst:1899 +#: ../../library/turtle.rst:1652 +#, fuzzy msgid "" "Set the background color to the RGB color represented by the tuple of *r*, " -"*g*, and *b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, " +"*g*, and *b*. Each of *r*, *g*, and *b* must be between 0 and colormode, " "where colormode is either 1.0 or 255 (see :func:`colormode`)." msgstr "" "Setze die Hintergrundfarbe auf die durch das Tupel aus *r*, *g* und *b* " @@ -3252,19 +2634,20 @@ msgstr "" "colormode liegen, wobei colormode entweder 1.0 oder 255 ist (siehe :func:" "`colormode`)." -#: ../../library/turtle.rst:1904 +#: ../../library/turtle.rst:1657 msgid "``bgcolor(r, g, b)``" msgstr "``bgcolor(r, g, b)``" -#: ../../library/turtle.rst:1905 +#: ../../library/turtle.rst:1658 +#, fuzzy msgid "" -"Set the background color to the RGB color represented by *r*, *g*, and *b*. " -"Each of *r*, *g*, and *b* must be in the range 0..colormode." +"Set the background color to the RGB color represented by *r*, *g*, and *b*. " +"Each of *r*, *g*, and *b* must be between 0 and colormode." msgstr "" "Setze die Hintergrundfarbe auf die durch *r*, *g* und *b* dargestellte RGB-" "Farbe. Jeder der Werte *r*, *g* und *b* muss im Bereich 0..colormode liegen." -#: ../../library/turtle.rst:1908 +#: ../../library/turtle.rst:1661 msgid "" ">>> screen.bgcolor(\"orange\")\n" ">>> screen.bgcolor()\n" @@ -3280,7 +2663,7 @@ msgstr "" ">>> screen.bgcolor()\n" "(128.0, 0.0, 128.0)" -#: ../../library/turtle.rst:1921 +#: ../../library/turtle.rst:1674 msgid "" "a string, name of an image file (PNG, GIF, PGM, and PPM) or ``\"nopic\"``, " "or ``None``" @@ -3288,7 +2671,7 @@ msgstr "" "eine Zeichenkette, Name einer Bilddatei (PNG, GIF, PGM und PPM) oder " "``\"nopic\"``, oder ``None``" -#: ../../library/turtle.rst:1924 +#: ../../library/turtle.rst:1677 msgid "" "Set background image or return name of current backgroundimage. If " "*picname* is a filename, set the corresponding image as background. If " @@ -3301,7 +2684,7 @@ msgstr "" "gelöscht, falls vorhanden. Ist *picname* ``None``, wird der Dateiname des " "aktuellen Hintergrundbilds zurückgegeben. ::" -#: ../../library/turtle.rst:1929 +#: ../../library/turtle.rst:1682 msgid "" ">>> screen.bgpic()\n" "'nopic'\n" @@ -3315,7 +2698,7 @@ msgstr "" ">>> screen.bgpic()\n" "\"landscape.gif\"" -#: ../../library/turtle.rst:1940 +#: ../../library/turtle.rst:1693 msgid "" "This TurtleScreen method is available as a global function only under the " "name ``clearscreen``. The global function ``clear`` is a different one " @@ -3325,7 +2708,7 @@ msgstr "" "``clearscreen`` verfügbar. Die globale Funktion ``clear`` ist eine andere, " "die von der Turtle-Methode ``clear`` abgeleitet ist." -#: ../../library/turtle.rst:1947 +#: ../../library/turtle.rst:1700 msgid "" "Delete all drawings and all turtles from the TurtleScreen. Reset the now " "empty TurtleScreen to its initial state: white background, no background " @@ -3335,7 +2718,7 @@ msgstr "" "leeren TurtleScreen auf seinen Ausgangszustand zurück: weißer Hintergrund, " "kein Hintergrundbild, keine Ereignisbindungen und Tracing aktiviert." -#: ../../library/turtle.rst:1956 +#: ../../library/turtle.rst:1709 msgid "" "This TurtleScreen method is available as a global function only under the " "name ``resetscreen``. The global function ``reset`` is another one derived " @@ -3345,23 +2728,24 @@ msgstr "" "``resetscreen`` verfügbar. Die globale Funktion ``reset`` ist eine andere, " "die von der Turtle-Methode ``reset`` abgeleitet ist." -#: ../../library/turtle.rst:1963 -msgid "Reset all Turtles on the Screen to their initial state." +#: ../../library/turtle.rst:1716 +#, fuzzy +msgid "Reset all turtles on the screen to their initial state." msgstr "Setze alle Turtles auf dem Screen auf ihren Ausgangszustand zurück." -#: ../../library/turtle.rst:1968 +#: ../../library/turtle.rst:1721 msgid "positive integer, new width of canvas in pixels" msgstr "positive Ganzzahl, neue Breite der Zeichenfläche in Pixeln" -#: ../../library/turtle.rst:1969 +#: ../../library/turtle.rst:1722 msgid "positive integer, new height of canvas in pixels" msgstr "positive Ganzzahl, neue Höhe der Zeichenfläche in Pixeln" -#: ../../library/turtle.rst:1970 +#: ../../library/turtle.rst:1723 msgid "colorstring or color-tuple, new background color" msgstr "Farbstring oder Farb-Tupel, neue Hintergrundfarbe" -#: ../../library/turtle.rst:1972 +#: ../../library/turtle.rst:1725 msgid "" "If no arguments are given, return current (canvaswidth, canvasheight). Else " "resize the canvas the turtles are drawing on. Do not alter the drawing " @@ -3377,7 +2761,7 @@ msgstr "" "Zeichnung sichtbar gemacht werden, die zuvor außerhalb der Zeichenfläche " "lagen." -#: ../../library/turtle.rst:1978 +#: ../../library/turtle.rst:1731 msgid "" ">>> screen.screensize()\n" "(400, 300)\n" @@ -3391,46 +2775,21 @@ msgstr "" ">>> screen.screensize()\n" "(2000, 1500)" -#: ../../library/turtle.rst:1987 +#: ../../library/turtle.rst:1740 msgid "e.g. to search for an erroneously escaped turtle ;-)" msgstr "z. B. um nach einer fälschlicherweise entkommenen Turtle zu suchen ;-)" -#: ../../library/turtle.rst:1992 -msgid "a number, x-coordinate of lower left corner of canvas" -msgstr "eine Zahl, x-Koordinate der unteren linken Ecke der Zeichenfläche" - -#: ../../library/turtle.rst:1993 -msgid "a number, y-coordinate of lower left corner of canvas" -msgstr "eine Zahl, y-Koordinate der unteren linken Ecke der Zeichenfläche" - -#: ../../library/turtle.rst:1994 -msgid "a number, x-coordinate of upper right corner of canvas" -msgstr "eine Zahl, x-Koordinate der oberen rechten Ecke der Zeichenfläche" - -#: ../../library/turtle.rst:1995 -msgid "a number, y-coordinate of upper right corner of canvas" -msgstr "eine Zahl, y-Koordinate der oberen rechten Ecke der Zeichenfläche" - -#: ../../library/turtle.rst:1997 -msgid "" -"Set up user-defined coordinate system and switch to mode \"world\" if " -"necessary. This performs a ``screen.reset()``. If mode \"world\" is " -"already active, all drawings are redrawn according to the new coordinates." -msgstr "" -"Richte ein benutzerdefiniertes Koordinatensystem ein und wechsle bei Bedarf " -"in den Modus \"world\". Dies führt ein ``screen.reset()`` aus. Ist der Modus " -"\"world\" bereits aktiv, werden alle Zeichnungen entsprechend den neuen " -"Koordinaten neu gezeichnet." - -#: ../../library/turtle.rst:2001 +#: ../../library/turtle.rst:1750 msgid "" -"**ATTENTION**: in user-defined coordinate systems angles may appear " -"distorted." +"Set up a user-defined coordinate system. *llx* and *lly* are the x and y " +"coordinates of the lower left corner of the canvas. *urx* and *ury* are the " +"x and y coordinates of the upper right corner. Switch to mode \"world\" if " +"necessary, which performs a reset. If mode \"world\" is already active, all " +"drawings are redrawn according to the new coordinates. In user-defined " +"coordinate systems, angles may appear distorted, see :func:`mode`." msgstr "" -"**ACHTUNG**: In benutzerdefinierten Koordinatensystemen können Winkel " -"verzerrt erscheinen." -#: ../../library/turtle.rst:2004 +#: ../../library/turtle.rst:1757 msgid "" ">>> screen.reset()\n" ">>> screen.setworldcoordinates(-50,-7.5,50,7.5)\n" @@ -3448,17 +2807,23 @@ msgstr "" ">>> for _ in range(8):\n" "... left(45); fd(2) # a regular octagon" -#: ../../library/turtle.rst:2029 +#: ../../library/turtle.rst:1778 +msgid "Animation control" +msgstr "Animationskontrolle" + +#: ../../library/turtle.rst:1782 +#, fuzzy msgid "" -"Temporarily disable turtle animation. The code written inside the " -"``no_animation`` block will not be animated; once the code block is exited, " -"the drawing will appear." +"Temporarily turn off turtle animation. The code inside the :keyword:`with` " +"block is not animated. Once the block is exited, the drawing appears. This " +"is useful for drawing complex shapes where even the fastest speed setting is " +"too slow." msgstr "" "Deaktiviere die Turtle-Animation vorübergehend. Der Code, der innerhalb des " "``no_animation``-Blocks geschrieben wird, wird nicht animiert; sobald der " "Codeblock verlassen wird, erscheint die Zeichnung." -#: ../../library/turtle.rst:2033 +#: ../../library/turtle.rst:1787 msgid "" ">>> with screen.no_animation():\n" "... for dist in range(2, 400, 2):\n" @@ -3470,26 +2835,25 @@ msgstr "" "... fd(dist)\n" "... rt(90)" -#: ../../library/turtle.rst:2046 -msgid "positive integer" -msgstr "positive Ganzzahl" +#: ../../library/turtle.rst:1800 ../../library/turtle.rst:1818 +#: ../../library/turtle.rst:1819 +#, fuzzy +msgid "a nonnegative integer or ``None``" +msgstr "eine Ganzzahl oder ``None``" -#: ../../library/turtle.rst:2048 +#: ../../library/turtle.rst:1802 +#, fuzzy msgid "" -"Set or return the drawing *delay* in milliseconds. (This is approximately " -"the time interval between two consecutive canvas updates.) The longer the " -"drawing delay, the slower the animation." +"Return or set the drawing delay in milliseconds. This is approximately the " +"time interval between two consecutive canvas updates. The longer the drawing " +"delay, the slower the animation." msgstr "" "Setze oder gib die Zeichen-*delay* in Millisekunden zurück. (Dies ist " "ungefähr das Zeitintervall zwischen zwei aufeinanderfolgenden " "Aktualisierungen der Zeichenfläche.) Je länger die Zeichen-delay, desto " "langsamer die Animation." -#: ../../library/turtle.rst:2052 -msgid "Optional argument:" -msgstr "Optionales Argument:" - -#: ../../library/turtle.rst:2054 +#: ../../library/turtle.rst:1806 msgid "" ">>> screen.delay()\n" "10\n" @@ -3503,17 +2867,15 @@ msgstr "" ">>> screen.delay()\n" "5" -#: ../../library/turtle.rst:2066 ../../library/turtle.rst:2067 -msgid "nonnegative integer" -msgstr "nichtnegative Ganzzahl" - -#: ../../library/turtle.rst:2069 +#: ../../library/turtle.rst:1821 +#, fuzzy msgid "" -"Turn turtle animation on/off and set delay for update drawings. If *n* is " -"given, only each n-th regular screen update is really performed. (Can be " -"used to accelerate the drawing of complex graphics.) When called without " -"arguments, returns the currently stored value of n. Second argument sets " -"delay value (see :func:`delay`)." +"Turn turtle animation on or off and set the drawing delay. If *n* is given, " +"only every n-th regular screen update is performed, which can be used to " +"speed up the drawing of complex graphics. If *n* is 0, animation is turned " +"off and the screen is only updated by calling :func:`update`. If *delay* is " +"given, it sets the drawing delay, see :func:`delay`. When called without " +"arguments, return the current value of *n*." msgstr "" "Schalte die Turtle-Animation ein/aus und setze die Verzögerung für " "Zeichnungsaktualisierungen. Wird *n* angegeben, wird nur jede n-te reguläre " @@ -3522,7 +2884,7 @@ msgstr "" "aufgerufen, wird der aktuell gespeicherte Wert von n zurückgegeben. Das " "zweite Argument setzt den Verzögerungswert (siehe :func:`delay`)." -#: ../../library/turtle.rst:2076 +#: ../../library/turtle.rst:1828 msgid "" ">>> screen.tracer(8, 25)\n" ">>> dist = 2\n" @@ -3538,17 +2900,21 @@ msgstr "" "... rt(90)\n" "... dist += 2" -#: ../../library/turtle.rst:2089 +#: ../../library/turtle.rst:1841 msgid "Perform a TurtleScreen update. To be used when tracer is turned off." msgstr "" "Führe eine TurtleScreen-Aktualisierung durch. Zu verwenden, wenn tracer " "ausgeschaltet ist." -#: ../../library/turtle.rst:2091 +#: ../../library/turtle.rst:1843 msgid "See also the RawTurtle/Turtle method :func:`speed`." msgstr "Siehe auch die RawTurtle/Turtle-Methode :func:`speed`." -#: ../../library/turtle.rst:2099 +#: ../../library/turtle.rst:1847 +msgid "Using screen events" +msgstr "Screen-Events verwenden" + +#: ../../library/turtle.rst:1851 msgid "" "Set focus on TurtleScreen (in order to collect key-events). Dummy arguments " "are provided in order to be able to pass :func:`listen` to the onclick " @@ -3558,16 +2924,16 @@ msgstr "" "Argumente werden bereitgestellt, um :func:`listen` an die onclick-Methode " "übergeben zu können." -#: ../../library/turtle.rst:2106 ../../library/turtle.rst:2126 +#: ../../library/turtle.rst:1858 ../../library/turtle.rst:1878 msgid "a function with no arguments or ``None``" msgstr "eine Funktion ohne Argumente oder ``None``" -#: ../../library/turtle.rst:2107 ../../library/turtle.rst:2127 +#: ../../library/turtle.rst:1859 ../../library/turtle.rst:1879 msgid "a string: key (e.g. \"a\") or key-symbol (e.g. \"space\")" msgstr "" "eine Zeichenkette: Taste (z.B. \"a\") oder Tastensymbol (z.B. \"space\")" -#: ../../library/turtle.rst:2109 +#: ../../library/turtle.rst:1861 msgid "" "Bind *fun* to key-release event of key. If *fun* is ``None``, event " "bindings are removed. Remark: in order to be able to register key-events, " @@ -3578,7 +2944,7 @@ msgstr "" "registrieren zu können, muss TurtleScreen den Fokus haben. (Siehe Methode :" "func:`listen`.)" -#: ../../library/turtle.rst:2113 +#: ../../library/turtle.rst:1865 msgid "" ">>> def f():\n" "... fd(50)\n" @@ -3594,7 +2960,7 @@ msgstr "" ">>> screen.onkey(f, \"Up\")\n" ">>> screen.listen()" -#: ../../library/turtle.rst:2129 +#: ../../library/turtle.rst:1881 msgid "" "Bind *fun* to key-press event of key if key is given, or to any key-press-" "event if no key is given. Remark: in order to be able to register key-" @@ -3605,7 +2971,7 @@ msgstr "" "Um Tastatur-Ereignisse registrieren zu können, muss TurtleScreen den Fokus " "haben. (Siehe Methode :func:`listen`.)" -#: ../../library/turtle.rst:2134 +#: ../../library/turtle.rst:1886 msgid "" ">>> def f():\n" "... fd(50)\n" @@ -3619,15 +2985,16 @@ msgstr "" ">>> screen.onkey(f, \"Up\")\n" ">>> screen.listen()" -#: ../../library/turtle.rst:2153 +#: ../../library/turtle.rst:1903 msgid "" -"Bind *fun* to mouse-click events on this screen. If *fun* is ``None``, " -"existing bindings are removed." +"Bind *fun* to mouse-click events on this screen. *fun* is called with the " +"coordinates of the clicked point on the canvas. If *fun* is ``None``, " +"existing bindings are removed. *btn* is the number of the mouse button and " +"defaults to 1, the left mouse button. If *add* is ``True``, a new binding is " +"added, otherwise it replaces a former binding." msgstr "" -"Binde *fun* an Mausklick-Ereignisse auf diesem Screen. Ist *fun* ``None``, " -"werden bestehende Bindungen entfernt." -#: ../../library/turtle.rst:2156 +#: ../../library/turtle.rst:1909 msgid "" "Example for a TurtleScreen instance named ``screen`` and a Turtle instance " "named ``turtle``:" @@ -3635,7 +3002,7 @@ msgstr "" "Beispiel für eine TurtleScreen-Instanz namens ``screen`` und eine Turtle-" "Instanz namens ``turtle``:" -#: ../../library/turtle.rst:2159 +#: ../../library/turtle.rst:1912 msgid "" ">>> screen.onclick(turtle.goto) # Subsequently clicking into the " "TurtleScreen will\n" @@ -3649,7 +3016,7 @@ msgstr "" "point.\n" ">>> screen.onclick(None) # remove event binding again" -#: ../../library/turtle.rst:2167 +#: ../../library/turtle.rst:1920 msgid "" "This TurtleScreen method is available as a global function only under the " "name ``onscreenclick``. The global function ``onclick`` is another one " @@ -3659,19 +3026,19 @@ msgstr "" "``onscreenclick`` verfügbar. Die globale Funktion ``onclick`` ist eine " "andere, die von der Turtle-Methode ``onclick`` abgeleitet ist." -#: ../../library/turtle.rst:2174 +#: ../../library/turtle.rst:1927 msgid "a function with no arguments" msgstr "eine Funktion ohne Argumente" -#: ../../library/turtle.rst:2175 +#: ../../library/turtle.rst:1928 msgid "a number >= 0" msgstr "eine Zahl >= 0" -#: ../../library/turtle.rst:2177 +#: ../../library/turtle.rst:1930 msgid "Install a timer that calls *fun* after *t* milliseconds." msgstr "Installiere einen Timer, der *fun* nach *t* Millisekunden aufruft." -#: ../../library/turtle.rst:2179 +#: ../../library/turtle.rst:1932 msgid "" ">>> running = True\n" ">>> def f():\n" @@ -3691,12 +3058,13 @@ msgstr "" ">>> f() ### makes the turtle march around\n" ">>> running = False" -#: ../../library/turtle.rst:2195 +#: ../../library/turtle.rst:1948 +#, fuzzy msgid "" -"Starts event loop - calling Tkinter's mainloop function. Must be the last " -"statement in a turtle graphics program. Must *not* be used if a script is " -"run from within IDLE in -n mode (No subprocess) - for interactive use of " -"turtle graphics. ::" +"Start the event loop by calling Tkinter's :meth:`~tkinter.Misc.mainloop` " +"method. Must be the last statement in a turtle graphics program. Must *not* " +"be used if a script is run from within IDLE in -n mode (see :ref:`idle-no-" +"subprocess`)." msgstr "" "Startet die Ereignisschleife – ruft die mainloop-Funktion von Tkinter auf. " "Muss die letzte Anweisung in einem Turtle-Grafikprogramm sein. Darf *nicht* " @@ -3704,40 +3072,44 @@ msgstr "" "Subprozess) ausgeführt wird – für die interaktive Verwendung von Turtle-" "Grafik. ::" -#: ../../library/turtle.rst:2200 -msgid ">>> screen.mainloop()" -msgstr ">>> screen.mainloop()" +#: ../../library/turtle.rst:1955 +msgid "Input methods" +msgstr "Eingabemethoden" -#: ../../library/turtle.rst:2208 ../../library/turtle.rst:2209 -#: ../../library/turtle.rst:2221 ../../library/turtle.rst:2222 -msgid "string" +#: ../../library/turtle.rst:1959 ../../library/turtle.rst:1960 +#: ../../library/turtle.rst:1971 ../../library/turtle.rst:1972 +#: ../../library/turtle.rst:2069 ../../library/turtle.rst:2202 +#: ../../library/turtle.rst:2258 +#, fuzzy +msgid "a string" msgstr "Zeichenkette" -#: ../../library/turtle.rst:2211 +#: ../../library/turtle.rst:1962 +#, fuzzy msgid "" -"Pop up a dialog window for input of a string. Parameter title is the title " -"of the dialog window, prompt is a text mostly describing what information to " -"input. Return the string input. If the dialog is canceled, return " -"``None``. ::" +"Pop up a dialog window for input of a string. *title* is the title of the " +"dialog window and *prompt* is a text describing what information to input. " +"Return the string entered. If the dialog is canceled, return ``None``. ::" msgstr "" "Öffne ein Dialogfenster zur Eingabe einer Zeichenkette. Der Parameter title " "ist der Titel des Dialogfensters, prompt ist ein Text, der meist beschreibt, " "welche Information einzugeben ist. Gib die eingegebene Zeichenkette zurück. " "Wird der Dialog abgebrochen, wird ``None`` zurückgegeben. ::" -#: ../../library/turtle.rst:2216 +#: ../../library/turtle.rst:1966 msgid ">>> screen.textinput(\"NIM\", \"Name of first player:\")" msgstr ">>> screen.textinput(\"NIM\", \"Name of first player:\")" -#: ../../library/turtle.rst:2227 +#: ../../library/turtle.rst:1977 +#, fuzzy msgid "" -"Pop up a dialog window for input of a number. title is the title of the " -"dialog window, prompt is a text mostly describing what numerical information " -"to input. default: default value, minval: minimum value for input, maxval: " -"maximum value for input. The number input must be in the range minval .. " -"maxval if these are given. If not, a hint is issued and the dialog remains " -"open for correction. Return the number input. If the dialog is canceled, " -"return ``None``. ::" +"Pop up a dialog window for input of a number. *title* is the title of the " +"dialog window and *prompt* is a text describing what numerical information " +"to input. *default* is the default value, *minval* and *maxval* are the " +"minimum and maximum values for input. If these are given, the number entered " +"must be between *minval* and *maxval*. If not, a hint is issued and the " +"dialog remains open for correction. Return the number entered. If the dialog " +"is canceled, return ``None``. ::" msgstr "" "Öffne ein Dialogfenster zur Eingabe einer Zahl. title ist der Titel des " "Dialogfensters, prompt ist ein Text, der meist beschreibt, welche numerische " @@ -3748,7 +3120,7 @@ msgstr "" "Korrektur geöffnet. Gib die eingegebene Zahl zurück. Wird der Dialog " "abgebrochen, wird ``None`` zurückgegeben. ::" -#: ../../library/turtle.rst:2236 +#: ../../library/turtle.rst:1985 msgid "" ">>> screen.numinput(\"Poker\", \"Your stakes:\", 1000, minval=10, " "maxval=10000)" @@ -3756,25 +3128,33 @@ msgstr "" ">>> screen.numinput(\"Poker\", \"Your stakes:\", 1000, minval=10, " "maxval=10000)" -#: ../../library/turtle.rst:2244 -msgid "one of the strings \"standard\", \"logo\" or \"world\"" -msgstr "eine der Zeichenketten \"standard\", \"logo\" oder \"world\"" +#: ../../library/turtle.rst:1989 +msgid "Settings and special methods" +msgstr "Einstellungen und spezielle Methoden" + +#: ../../library/turtle.rst:1993 +#, fuzzy +msgid "a string or ``None``" +msgstr "eine Ganzzahl oder ``None``" -#: ../../library/turtle.rst:2246 +#: ../../library/turtle.rst:1995 +#, fuzzy msgid "" -"Set turtle mode (\"standard\", \"logo\" or \"world\") and perform reset. If " -"mode is not given, current mode is returned." +"Set the turtle mode and perform a reset. *mode* is one of the strings " +"\"standard\", \"logo\" or \"world\". If *mode* is not given, return the " +"current mode." msgstr "" "Setze den Turtle-Modus (\"standard\", \"logo\" oder \"world\") und führe ein " "Reset durch. Wird mode nicht angegeben, wird der aktuelle Modus " "zurückgegeben." -#: ../../library/turtle.rst:2249 +#: ../../library/turtle.rst:1999 +#, fuzzy msgid "" -"Mode \"standard\" is compatible with old :mod:`!turtle`. Mode \"logo\" is " -"compatible with most Logo turtle graphics. Mode \"world\" uses user-defined " -"\"world coordinates\". **Attention**: in this mode angles appear distorted " -"if ``x/y`` unit-ratio doesn't equal 1." +"Mode \"standard\" is compatible with the old :mod:`!turtle` module. Mode " +"\"logo\" is compatible with most Logo turtle graphics. Mode \"world\" uses " +"user-defined world coordinates, see :func:`setworldcoordinates`. In this " +"mode, angles appear distorted if the x and y units are not of equal length." msgstr "" "Der Modus \"standard\" ist kompatibel mit dem alten :mod:`!turtle`. Der " "Modus \"logo\" ist kompatibel mit den meisten Logo-Turtle-Grafiken. Der " @@ -3782,45 +3162,46 @@ msgstr "" "**Achtung**: In diesem Modus erscheinen Winkel verzerrt, wenn das ``x/y``-" "Einheitsverhältnis nicht gleich 1 ist." -#: ../../library/turtle.rst:2255 +#: ../../library/turtle.rst:2005 msgid "Mode" msgstr "Modus" -#: ../../library/turtle.rst:2255 +#: ../../library/turtle.rst:2005 msgid "Initial turtle heading" msgstr "Anfängliche Ausrichtung der Turtle" -#: ../../library/turtle.rst:2255 +#: ../../library/turtle.rst:2005 msgid "positive angles" msgstr "positive Winkel" -#: ../../library/turtle.rst:2257 +#: ../../library/turtle.rst:2007 msgid "\"standard\"" msgstr "\"standard\"" -#: ../../library/turtle.rst:2257 +#: ../../library/turtle.rst:2007 msgid "to the right (east)" msgstr "nach rechts (Osten)" -#: ../../library/turtle.rst:2257 +#: ../../library/turtle.rst:2007 msgid "counterclockwise" msgstr "gegen den Uhrzeigersinn" -#: ../../library/turtle.rst:2258 +#: ../../library/turtle.rst:2008 msgid "\"logo\"" msgstr "\"logo\"" -#: ../../library/turtle.rst:2258 +#: ../../library/turtle.rst:2008 msgid "upward (north)" msgstr "nach oben (Norden)" -#: ../../library/turtle.rst:2258 +#: ../../library/turtle.rst:2008 msgid "clockwise" msgstr "im Uhrzeigersinn" -#: ../../library/turtle.rst:2261 +#: ../../library/turtle.rst:2011 +#, fuzzy msgid "" -">>> mode(\"logo\") # resets turtle heading to north\n" +">>> mode(\"logo\") # resets turtle heading to north\n" ">>> mode()\n" "'logo'" msgstr "" @@ -3828,19 +3209,16 @@ msgstr "" ">>> mode()\n" "'logo'" -#: ../../library/turtle.rst:2271 -msgid "one of the values 1.0 or 255" -msgstr "einer der Werte 1.0 oder 255" - -#: ../../library/turtle.rst:2273 +#: ../../library/turtle.rst:2023 +#, fuzzy msgid "" -"Return the colormode or set it to 1.0 or 255. Subsequently *r*, *g*, *b* " -"values of color triples have to be in the range 0..*cmode*." +"Return the colormode or set it to 1.0 or 255. After setting it, the *r*, *g* " +"and *b* values of color triples have to be between 0 and *cmode*." msgstr "" "Gib den colormode zurück oder setze ihn auf 1.0 oder 255. Anschließend " "müssen die Werte *r*, *g*, *b* von Farb-Tripeln im Bereich 0..*cmode* liegen." -#: ../../library/turtle.rst:2276 +#: ../../library/turtle.rst:2026 msgid "" ">>> screen.colormode(1)\n" ">>> turtle.pencolor(240, 160, 80)\n" @@ -3866,7 +3244,7 @@ msgstr "" "255\n" ">>> turtle.pencolor(240,160,80)" -#: ../../library/turtle.rst:2294 +#: ../../library/turtle.rst:2044 msgid "" "Return the Canvas of this TurtleScreen. Useful for insiders who know what " "to do with a Tkinter Canvas." @@ -3874,7 +3252,7 @@ msgstr "" "Gib die Canvas dieses TurtleScreen zurück. Nützlich für Insider, die wissen, " "was mit einer Tkinter-Canvas anzufangen ist." -#: ../../library/turtle.rst:2297 +#: ../../library/turtle.rst:2047 msgid "" ">>> cv = screen.getcanvas()\n" ">>> cv\n" @@ -3884,12 +3262,12 @@ msgstr "" ">>> cv\n" "" -#: ../../library/turtle.rst:2307 +#: ../../library/turtle.rst:2057 msgid "Return a list of names of all currently available turtle shapes." msgstr "" "Gib eine Liste der Namen aller aktuell verfügbaren Turtle-Formen zurück." -#: ../../library/turtle.rst:2309 +#: ../../library/turtle.rst:2059 msgid "" ">>> screen.getshapes()\n" "['arrow', 'blank', 'circle', ..., 'turtle']" @@ -3897,11 +3275,19 @@ msgstr "" ">>> screen.getshapes()\n" "['arrow', 'blank', 'circle', ..., 'turtle']" -#: ../../library/turtle.rst:2319 -msgid "There are four different ways to call this function:" -msgstr "Es gibt vier verschiedene Möglichkeiten, diese Funktion aufzurufen:" +#: ../../library/turtle.rst:2070 +msgid "" +"a string, a tuple of pairs of numbers, a :class:`Shape` object or ``None``" +msgstr "" + +#: ../../library/turtle.rst:2073 +#, fuzzy +msgid "" +"Add a turtle shape to the TurtleScreen's shape list. It can be called in " +"four different ways:" +msgstr "Füge nun die Shape zur Formenliste des Screens hinzu und verwende sie:" -#: ../../library/turtle.rst:2321 +#: ../../library/turtle.rst:2076 msgid "" "*name* is the name of an image file (PNG, GIF, PGM, and PPM) and *shape* is " "``None``: Install the corresponding image shape. ::" @@ -3909,19 +3295,11 @@ msgstr "" "*name* ist der Name einer Bilddatei (PNG, GIF, PGM und PPM) und *shape* ist " "``None``: Installiere die entsprechende Bildform. ::" -#: ../../library/turtle.rst:2324 +#: ../../library/turtle.rst:2079 msgid ">>> screen.register_shape(\"turtle.gif\")" msgstr ">>> screen.register_shape(\"turtle.gif\")" -#: ../../library/turtle.rst:2327 ../../library/turtle.rst:2336 -msgid "" -"Image shapes *do not* rotate when turning the turtle, so they do not display " -"the heading of the turtle!" -msgstr "" -"Bildformen drehen sich *nicht* mit, wenn die Turtle gedreht wird, sie zeigen " -"also nicht die Ausrichtung der Turtle an!" - -#: ../../library/turtle.rst:2330 +#: ../../library/turtle.rst:2081 msgid "" "*name* is an arbitrary string and *shape* is the name of an image file (PNG, " "GIF, PGM, and PPM): Install the corresponding image shape. ::" @@ -3929,11 +3307,11 @@ msgstr "" "*name* ist eine beliebige Zeichenkette und *shape* ist der Name einer " "Bilddatei (PNG, GIF, PGM und PPM): Installiere die entsprechende Bildform. ::" -#: ../../library/turtle.rst:2333 +#: ../../library/turtle.rst:2084 msgid ">>> screen.register_shape(\"turtle\", \"turtle.gif\")" msgstr ">>> screen.register_shape(\"turtle\", \"turtle.gif\")" -#: ../../library/turtle.rst:2339 +#: ../../library/turtle.rst:2086 msgid "" "*name* is an arbitrary string and *shape* is a tuple of pairs of " "coordinates: Install the corresponding polygon shape." @@ -3941,11 +3319,11 @@ msgstr "" "*name* ist eine beliebige Zeichenkette und *shape* ist ein Tupel aus " "Koordinatenpaaren: Installiere die entsprechende Polygonform." -#: ../../library/turtle.rst:2342 +#: ../../library/turtle.rst:2089 msgid ">>> screen.register_shape(\"triangle\", ((5,-3), (0,5), (-5,-3)))" msgstr ">>> screen.register_shape(\"triangle\", ((5,-3), (0,5), (-5,-3)))" -#: ../../library/turtle.rst:2347 +#: ../../library/turtle.rst:2094 msgid "" "*name* is an arbitrary string and *shape* is a (compound) :class:`Shape` " "object: Install the corresponding compound shape." @@ -3954,16 +3332,17 @@ msgstr "" "(zusammengesetztes) :class:`Shape`-Objekt: Installiere die entsprechende " "zusammengesetzte Form." -#: ../../library/turtle.rst:2350 +#: ../../library/turtle.rst:2097 +#, fuzzy msgid "" -"Add a turtle shape to TurtleScreen's shapelist. Only thusly registered " -"shapes can be used by issuing the command ``shape(shapename)``." +"Image shapes do not rotate when turning the turtle, so they do not display " +"the heading of the turtle. To use a registered shape, call :func:`shape` " +"with its name." msgstr "" -"Füge eine Turtle-Form zur Formenliste des TurtleScreen hinzu. Nur so " -"registrierte Formen können durch den Befehl ``shape(shapename)`` verwendet " -"werden." +"Bildformen drehen sich *nicht* mit, wenn die Turtle gedreht wird, sie zeigen " +"also nicht die Ausrichtung der Turtle an!" -#: ../../library/turtle.rst:2353 +#: ../../library/turtle.rst:2101 msgid "" "Added support for PNG, PGM, and PPM image formats. Both a shape name and an " "image file name can be specified." @@ -3971,11 +3350,11 @@ msgstr "" "Unterstützung für die Bildformate PNG, PGM und PPM hinzugefügt. Es kann " "sowohl ein Formname als auch ein Bilddateiname angegeben werden." -#: ../../library/turtle.rst:2360 +#: ../../library/turtle.rst:2108 msgid "Return the list of turtles on the screen." msgstr "Gib die Liste der Turtles auf dem Screen zurück." -#: ../../library/turtle.rst:2362 +#: ../../library/turtle.rst:2110 msgid "" ">>> for turtle in screen.turtles():\n" "... turtle.color(\"red\")" @@ -3983,11 +3362,11 @@ msgstr "" ">>> for turtle in screen.turtles():\n" "... turtle.color(\"red\")" -#: ../../library/turtle.rst:2371 +#: ../../library/turtle.rst:2119 msgid "Return the height of the turtle window. ::" msgstr "Gib die Höhe des Turtle-Fensters zurück. ::" -#: ../../library/turtle.rst:2373 +#: ../../library/turtle.rst:2121 msgid "" ">>> screen.window_height()\n" "480" @@ -3995,11 +3374,11 @@ msgstr "" ">>> screen.window_height()\n" "480" -#: ../../library/turtle.rst:2379 +#: ../../library/turtle.rst:2127 msgid "Return the width of the turtle window. ::" msgstr "Gib die Weite des Turtle-Fensters zurück. ::" -#: ../../library/turtle.rst:2381 +#: ../../library/turtle.rst:2129 msgid "" ">>> screen.window_width()\n" "640" @@ -4007,19 +3386,21 @@ msgstr "" ">>> screen.window_width()\n" "640" -#: ../../library/turtle.rst:2388 -msgid "Methods specific to Screen, not inherited from TurtleScreen" -msgstr "Methoden spezifisch für Screen, nicht von TurtleScreen geerbt" +#: ../../library/turtle.rst:2137 +#, fuzzy +msgid "Screen-only methods" +msgstr "Turtle-Methoden" -#: ../../library/turtle.rst:2392 -msgid "Shut the turtlegraphics window." +#: ../../library/turtle.rst:2141 +#, fuzzy +msgid "Close the turtle graphics window." msgstr "Schließe das Turtle-Grafikfenster." -#: ../../library/turtle.rst:2397 +#: ../../library/turtle.rst:2146 msgid "Bind ``bye()`` method to mouse clicks on the Screen." msgstr "Binde die Methode ``bye()`` an Mausklicks auf dem Screen." -#: ../../library/turtle.rst:2400 +#: ../../library/turtle.rst:2149 msgid "" "If the value \"using_IDLE\" in the configuration dictionary is ``False`` " "(default value), also enter mainloop. Remark: If IDLE with the ``-n`` " @@ -4033,16 +3414,16 @@ msgstr "" "`turtle.cfg` auf ``True`` gesetzt werden. In diesem Fall ist IDLEs eigene " "mainloop auch für das Client-Skript aktiv." -#: ../../library/turtle.rst:2409 +#: ../../library/turtle.rst:2158 msgid "Save the current turtle drawing (and turtles) as a PostScript file." msgstr "" "Speichere die aktuelle Turtle-Zeichnung (und Turtles) als PostScript-Datei." -#: ../../library/turtle.rst:2411 +#: ../../library/turtle.rst:2160 msgid "the path of the saved PostScript file" msgstr "der Pfad der gespeicherten PostScript-Datei" -#: ../../library/turtle.rst:2412 +#: ../../library/turtle.rst:2161 msgid "" "if ``False`` and there already exists a file with the given filename, then " "the function will raise a ``FileExistsError``. If it is ``True``, the file " @@ -4052,7 +3433,7 @@ msgstr "" "Dateinamen, löst die Funktion einen ``FileExistsError`` aus. Ist es " "``True``, wird die Datei überschrieben." -#: ../../library/turtle.rst:2417 +#: ../../library/turtle.rst:2166 msgid "" ">>> screen.save(\"my_drawing.ps\")\n" ">>> screen.save(\"my_drawing.ps\", overwrite=True)" @@ -4060,7 +3441,7 @@ msgstr "" ">>> screen.save(\"my_drawing.ps\")\n" ">>> screen.save(\"my_drawing.ps\", overwrite=True)" -#: ../../library/turtle.rst:2427 +#: ../../library/turtle.rst:2176 msgid "" "Set the size and position of the main window. Default values of arguments " "are stored in the configuration dictionary and can be changed via a :file:" @@ -4070,7 +3451,7 @@ msgstr "" "sind im Konfigurations-Dictionary gespeichert und können über eine :file:" "`turtle.cfg`-Datei geändert werden." -#: ../../library/turtle.rst:2431 +#: ../../library/turtle.rst:2180 msgid "" "if an integer, a size in pixels, if a float, a fraction of the screen; " "default is 50% of screen" @@ -4078,7 +3459,7 @@ msgstr "" "bei einer Ganzzahl eine Größe in Pixeln, bei einer Gleitkommazahl ein Anteil " "des Bildschirms; Standard ist 50 % des Bildschirms" -#: ../../library/turtle.rst:2433 +#: ../../library/turtle.rst:2182 msgid "" "if an integer, the height in pixels, if a float, a fraction of the screen; " "default is 75% of screen" @@ -4086,7 +3467,7 @@ msgstr "" "bei einer Ganzzahl die Höhe in Pixeln, bei einer Gleitkommazahl ein Anteil " "des Bildschirms; Standard ist 75 % des Bildschirms" -#: ../../library/turtle.rst:2435 +#: ../../library/turtle.rst:2184 msgid "" "if positive, starting position in pixels from the left edge of the screen, " "if negative from the right edge, if ``None``, center window horizontally" @@ -4095,7 +3476,7 @@ msgstr "" "Bildschirmrand aus, bei einem negativen Wert vom rechten Rand aus, bei " "``None`` wird das Fenster horizontal zentriert" -#: ../../library/turtle.rst:2438 +#: ../../library/turtle.rst:2187 msgid "" "if positive, starting position in pixels from the top edge of the screen, if " "negative from the bottom edge, if ``None``, center window vertically" @@ -4104,7 +3485,7 @@ msgstr "" "Bildschirmrand aus, bei einem negativen Wert vom unteren Rand aus, bei " "``None`` wird das Fenster vertikal zentriert" -#: ../../library/turtle.rst:2442 +#: ../../library/turtle.rst:2191 msgid "" ">>> screen.setup (width=200, height=200, startx=0, starty=0)\n" ">>> # sets window to 200x200 pixels, in upper left of screen\n" @@ -4116,25 +3497,24 @@ msgstr "" ">>> screen.setup(width=.75, height=0.5, startx=None, starty=None)\n" ">>> # sets window to 75% of screen by 50% of screen and centers" -#: ../../library/turtle.rst:2453 -msgid "a string that is shown in the titlebar of the turtle graphics window" +#: ../../library/turtle.rst:2204 +#, fuzzy +msgid "" +"Set the title of the turtle window to *titlestring*. The title is shown in " +"the title bar of the turtle graphics window." msgstr "" "eine Zeichenkette, die in der Titelleiste des Turtle-Grafikfensters " "angezeigt wird" -#: ../../library/turtle.rst:2456 -msgid "Set title of turtle window to *titlestring*." -msgstr "Setze den Titel des Turtle-Fensters auf *titlestring*." - -#: ../../library/turtle.rst:2458 +#: ../../library/turtle.rst:2207 msgid ">>> screen.title(\"Welcome to the turtle zoo!\")" msgstr ">>> screen.title(\"Welcome to the turtle zoo!\")" -#: ../../library/turtle.rst:2465 +#: ../../library/turtle.rst:2214 msgid "Public classes" msgstr "Öffentliche Klassen" -#: ../../library/turtle.rst:2471 +#: ../../library/turtle.rst:2220 msgid "" "a :class:`!tkinter.Canvas`, a :class:`ScrolledCanvas` or a :class:" "`TurtleScreen`" @@ -4142,7 +3522,7 @@ msgstr "" "ein :class:`!tkinter.Canvas`, ein :class:`ScrolledCanvas` oder ein :class:" "`TurtleScreen`" -#: ../../library/turtle.rst:2474 +#: ../../library/turtle.rst:2223 msgid "" "Create a turtle. The turtle has all methods described above as \"methods of " "Turtle/RawTurtle\"." @@ -4150,7 +3530,7 @@ msgstr "" "Erstelle eine Turtle. Die Turtle hat alle oben als \"Methoden von Turtle/" "RawTurtle\" beschriebenen Methoden." -#: ../../library/turtle.rst:2480 +#: ../../library/turtle.rst:2229 msgid "" "Subclass of RawTurtle, has the same interface but draws on a default :class:" "`Screen` object created automatically when needed for the first time." @@ -4159,11 +3539,11 @@ msgstr "" "einem Standard-:class:`Screen`-Objekt, das automatisch erstellt wird, wenn " "es zum ersten Mal benötigt wird." -#: ../../library/turtle.rst:2486 +#: ../../library/turtle.rst:2235 msgid "a :class:`!tkinter.Canvas`" msgstr "a :class:`!tkinter.Canvas`" -#: ../../library/turtle.rst:2488 +#: ../../library/turtle.rst:2237 msgid "" "Provides screen oriented methods like :func:`bgcolor` etc. that are " "described above." @@ -4171,256 +3551,389 @@ msgstr "" "Stellt bildschirmorientierte Methoden wie :func:`bgcolor` usw. bereit, die " "oben beschrieben sind." -#: ../../library/turtle.rst:2493 +#: ../../library/turtle.rst:2242 msgid "" -"Subclass of TurtleScreen, with :ref:`four methods added `." +"Subclass of :class:`TurtleScreen`, with :ref:`four methods added " +"`. Calling ``Screen()`` returns the single screen object. If " +"it does not exist yet, it is created. Otherwise the existing one is returned." msgstr "" -"Unterklasse von TurtleScreen, mit :ref:`vier hinzugefügten Methoden " -"`." -#: ../../library/turtle.rst:2498 +#: ../../library/turtle.rst:2250 msgid "" "some Tkinter widget to contain the ScrolledCanvas, i.e. a Tkinter-canvas " "with scrollbars added" msgstr "" -"ein Tkinter-Widget, das den ScrolledCanvas enthält, d. h. ein Tkinter-Canvas " -"mit hinzugefügten Bildlaufleisten" +"ein Tkinter-Widget, das den ScrolledCanvas enthält, d. h. ein Tkinter-Canvas " +"mit hinzugefügten Bildlaufleisten" + +#: ../../library/turtle.rst:2253 +msgid "" +"Used by class Screen, which thus automatically provides a ScrolledCanvas as " +"playground for the turtles." +msgstr "" +"Wird von der Klasse Screen verwendet, die dadurch automatisch einen " +"ScrolledCanvas als Spielfläche für die Turtles bereitstellt." + +#: ../../library/turtle.rst:2259 +msgid "depends on *type_*" +msgstr "" + +#: ../../library/turtle.rst:2261 +msgid "" +"Data structure modeling shapes. *type_* is one of the strings \"polygon\", " +"\"image\" or \"compound\". What *data* must be depends on *type_*: for " +"\"polygon\" a tuple of pairs of coordinates, for \"image\" an image (only " +"used internally), and for \"compound\" ``None``, as a compound shape is " +"built up using the :meth:`addcomponent` method." +msgstr "" + +#: ../../library/turtle.rst:2269 +#, fuzzy +msgid "a tuple of pairs of numbers" +msgstr "ein Polygon, d.h. ein Tupel aus Zahlenpaaren" + +#: ../../library/turtle.rst:2270 +msgid "a color" +msgstr "" + +#: ../../library/turtle.rst:2271 +#, fuzzy +msgid "a color or ``None``" +msgstr "eine Zahl oder ``None``" + +#: ../../library/turtle.rst:2273 +msgid "" +"Add a component to a shape of type \"compound\". *poly* is a polygon, a " +"tuple of pairs of numbers. *fill* is the color the polygon is filled with " +"and *outline* is the color of its outline. If *outline* is not given, *fill* " +"is used for it as well." +msgstr "" + +#: ../../library/turtle.rst:2278 +msgid "Example:" +msgstr "Beispiel:" + +#: ../../library/turtle.rst:2280 +#, fuzzy +msgid "" +">>> poly = ((0,0), (10,-5), (0,10), (-10,-5))\n" +">>> s = Shape(\"compound\")\n" +">>> s.addcomponent(poly, \"red\", \"blue\")\n" +">>> # ... add more components and then use register_shape()" +msgstr "" +">>> poly = ((0,0),(10,-5),(0,10),(-10,-5))\n" +">>> s = Shape(\"compound\")\n" +">>> s.addcomponent(poly, \"red\", \"blue\")\n" +">>> # ... add more components and then use register_shape()" + +#: ../../library/turtle.rst:2288 +msgid "See :ref:`compoundshapes`." +msgstr "Siehe :ref:`compoundshapes`." + +#: ../../library/turtle.rst:2293 +msgid "" +"A two-dimensional vector class, used as a helper class for implementing " +"turtle graphics. May be useful for turtle graphics programs too. Derived " +"from tuple, so a vector is a tuple!" +msgstr "" +"Eine zweidimensionale Vektorklasse, die als Hilfsklasse zur Implementierung " +"von Turtle-Grafik dient. Kann auch für Turtle-Grafik-Programme selbst " +"nützlich sein. Von tuple abgeleitet, ein Vektor ist also ein Tupel!" + +#: ../../library/turtle.rst:2297 +msgid "Provides (for *a*, *b* vectors, *k* number):" +msgstr "Bietet (für Vektoren *a*, *b*, Zahl *k*):" + +#: ../../library/turtle.rst:2299 +msgid "``a + b`` vector addition" +msgstr "``a + b`` Vectoraddition" + +#: ../../library/turtle.rst:2300 +msgid "``a - b`` vector subtraction" +msgstr "``a - b`` Vectorsubtraction" + +#: ../../library/turtle.rst:2301 +msgid "``a * b`` inner product" +msgstr "``a * b`` Skalarprodukt" + +#: ../../library/turtle.rst:2302 +msgid "``k * a`` and ``a * k`` multiplication with scalar" +msgstr "``k * a`` und ``a * k`` Multiplikation mit Skalar" + +#: ../../library/turtle.rst:2303 +msgid "``abs(a)`` absolute value of a" +msgstr "``abs(a)`` Absolutwert von a" + +#: ../../library/turtle.rst:2304 +msgid "``a.rotate(angle)`` rotation" +msgstr "``a.rotate(angle)`` Rotation" + +#: ../../library/turtle.rst:2308 +msgid "Exceptions" +msgstr "Erklärungen" + +#: ../../library/turtle.rst:2310 +msgid "The :mod:`!turtle` module defines the following exception:" +msgstr "Das Modul :mod:`!turtle` definiert die folgende Ausnahme:" + +#: ../../library/turtle.rst:2314 +msgid "" +"Raised for invalid arguments or operations. For example, a malformed color " +"string:" +msgstr "" +"Wird bei ungültigen Argumenten oder Operationen ausgelöst. Zum Beispiel bei " +"einer fehlerhaften Farbzeichenkette:" + +#: ../../library/turtle.rst:2317 +msgid "" +">>> turtle.color(\"blau\")\n" +"Traceback (most recent call last):\n" +" ...\n" +"turtle.TurtleGraphicsError: bad color string: blau" +msgstr "" +">>> turtle.color(\"blau\")\n" +"Traceback (most recent call last):\n" +" ...\n" +"turtle.TurtleGraphicsError: bad color string: blau" + +#: ../../library/turtle.rst:2331 +msgid "How-to guides" +msgstr "How-to-Anleitungen" + +#: ../../library/turtle.rst:2333 +msgid "This section covers some typical turtle use-cases and approaches." +msgstr "" +"Dieser Abschnitt behandelt einige typische Anwendungsfälle und " +"Vorgehensweisen für Turtle." + +#: ../../library/turtle.rst:2337 +msgid "Automatically begin and end filling" +msgstr "Füllen automatisch beginnen und beenden" + +#: ../../library/turtle.rst:2339 +msgid "" +"Starting with Python 3.14, you can use the :func:`fill` :term:`context " +"manager` instead of :func:`begin_fill` and :func:`end_fill` to automatically " +"begin and end fill. Here is an example::" +msgstr "" +"Ab Python 3.14 kannst du den :term:`Kontextmanager ` :func:" +"`fill` anstelle von :func:`begin_fill` und :func:`end_fill` verwenden, um " +"das Füllen automatisch zu beginnen und zu beenden. Hier ist ein Beispiel::" + +#: ../../library/turtle.rst:2343 +msgid "" +"with fill():\n" +" for i in range(4):\n" +" forward(100)\n" +" right(90)\n" +"\n" +"forward(200)" +msgstr "" +"with fill():\n" +" for i in range(4):\n" +" forward(100)\n" +" right(90)\n" +"\n" +"forward(200)" + +#: ../../library/turtle.rst:2350 +msgid "The code above is equivalent to::" +msgstr "Der obige Code ist äquivalent zu::" + +#: ../../library/turtle.rst:2352 +msgid "" +"begin_fill()\n" +"for i in range(4):\n" +" forward(100)\n" +" right(90)\n" +"end_fill()\n" +"\n" +"forward(200)" +msgstr "" +"begin_fill()\n" +"for i in range(4):\n" +" forward(100)\n" +" right(90)\n" +"end_fill()\n" +"\n" +"forward(200)" + +#: ../../library/turtle.rst:2362 +msgid "Use the ``turtle`` module namespace" +msgstr "Das ``turtle``-Modul im eigenen Namensraum verwenden" + +#: ../../library/turtle.rst:2364 +msgid "" +"Using ``from turtle import *`` is convenient - but be warned that it imports " +"a rather large collection of objects, and if you're doing anything but " +"turtle graphics you run the risk of a name conflict (this becomes even more " +"an issue if you're using turtle graphics in a script where other modules " +"might be imported)." +msgstr "" +"Es ist praktisch, ``from turtle import *`` zu verwenden – aber sei gewarnt, " +"dass dadurch eine recht große Sammlung von Objekten importiert wird, und " +"wenn du irgendetwas außer Turtle-Grafik machst, läufst du Gefahr eines " +"Namenskonflikts (dies wird noch problematischer, wenn du Turtle-Grafik in " +"einem Skript verwendest, in dem auch andere Module importiert werden " +"könnten)." -#: ../../library/turtle.rst:2501 +#: ../../library/turtle.rst:2370 msgid "" -"Used by class Screen, which thus automatically provides a ScrolledCanvas as " -"playground for the turtles." +"The solution is to use ``import turtle`` - ``fd()`` becomes ``turtle.fd()``, " +"``width()`` becomes ``turtle.width()`` and so on. (If typing \"turtle\" over " +"and over again becomes tedious, use for example ``import turtle as t`` " +"instead.)" msgstr "" -"Wird von der Klasse Screen verwendet, die dadurch automatisch einen " -"ScrolledCanvas als Spielfläche für die Turtles bereitstellt." +"Die Lösung besteht darin, ``import turtle`` zu verwenden - ``fd()`` wird zu " +"``turtle.fd()``, ``width()`` wird zu ``turtle.width()`` und so weiter. " +"(Falls es lästig wird, immer wieder \"turtle\" zu tippen, verwende " +"stattdessen zum Beispiel ``import turtle as t``.)" -#: ../../library/turtle.rst:2506 -msgid "one of the strings \"polygon\", \"image\", \"compound\"" -msgstr "eine der Zeichenketten \"polygon\", \"image\", \"compound\"" +#: ../../library/turtle.rst:2377 +msgid "Use turtle graphics in a script" +msgstr "Turtle-Grafik in einem Skript verwenden" -#: ../../library/turtle.rst:2508 +#: ../../library/turtle.rst:2379 msgid "" -"Data structure modeling shapes. The pair ``(type_, data)`` must follow this " -"specification:" +"It's recommended to use the ``turtle`` module namespace as described " +"immediately above, for example::" msgstr "" -"Datenstruktur zur Modellierung von Formen. Das Paar ``(type_, data)`` muss " -"dieser Spezifikation folgen:" - -#: ../../library/turtle.rst:2513 -msgid "*type_*" -msgstr "*type_*" - -#: ../../library/turtle.rst:2513 -msgid "*data*" -msgstr "*data*" - -#: ../../library/turtle.rst:2515 -msgid "\"polygon\"" -msgstr "\"polygon\"" - -#: ../../library/turtle.rst:2515 -msgid "a polygon-tuple, i.e. a tuple of pairs of coordinates" -msgstr "ein Polygon-Tupel, d. h. ein Tupel aus Koordinatenpaaren" - -#: ../../library/turtle.rst:2516 -msgid "\"image\"" -msgstr "\"image\"" - -#: ../../library/turtle.rst:2516 -msgid "an image (in this form only used internally!)" -msgstr "ein Bild (in dieser Form nur intern verwendet!)" - -#: ../../library/turtle.rst:2517 -msgid "\"compound\"" -msgstr "\"compound\"" +"Es wird empfohlen, den Namensraum des Moduls ``turtle`` wie unmittelbar oben " +"beschrieben zu verwenden, zum Beispiel::" -#: ../../library/turtle.rst:2517 +#: ../../library/turtle.rst:2382 msgid "" -"``None`` (a compound shape has to be constructed using the :meth:" -"`addcomponent` method)" +"import turtle as t\n" +"from random import random\n" +"\n" +"for i in range(100):\n" +" steps = int(random() * 100)\n" +" angle = int(random() * 360)\n" +" t.right(angle)\n" +" t.fd(steps)" msgstr "" -"``None`` (eine zusammengesetzte Form muss mit der Methode :meth:" -"`addcomponent` erstellt werden)" - -#: ../../library/turtle.rst:2523 -msgid "a polygon, i.e. a tuple of pairs of numbers" -msgstr "ein Polygon, d.h. ein Tupel aus Zahlenpaaren" - -#: ../../library/turtle.rst:2524 -msgid "a color the *poly* will be filled with" -msgstr "eine Farbe, mit der das *poly* gefüllt wird" - -#: ../../library/turtle.rst:2525 -msgid "a color for the poly's outline (if given)" -msgstr "eine Farbe für den Umriss des poly (falls angegeben)" - -#: ../../library/turtle.rst:2527 -msgid "Example:" -msgstr "Beispiel:" +"import turtle as t\n" +"from random import random\n" +"\n" +"for i in range(100):\n" +" steps = int(random() * 100)\n" +" angle = int(random() * 360)\n" +" t.right(angle)\n" +" t.fd(steps)" -#: ../../library/turtle.rst:2529 +#: ../../library/turtle.rst:2391 msgid "" -">>> poly = ((0,0),(10,-5),(0,10),(-10,-5))\n" -">>> s = Shape(\"compound\")\n" -">>> s.addcomponent(poly, \"red\", \"blue\")\n" -">>> # ... add more components and then use register_shape()" +"Another step is also required though - as soon as the script ends, Python " +"will also close the turtle's window. Add::" msgstr "" -">>> poly = ((0,0),(10,-5),(0,10),(-10,-5))\n" -">>> s = Shape(\"compound\")\n" -">>> s.addcomponent(poly, \"red\", \"blue\")\n" -">>> # ... add more components and then use register_shape()" +"Ein weiterer Schritt ist jedoch ebenfalls erforderlich - sobald das Skript " +"endet, wird Python auch das Fenster der Turtle schließen. Füge Folgendes " +"hinzu::" -#: ../../library/turtle.rst:2537 -msgid "See :ref:`compoundshapes`." -msgstr "Siehe :ref:`compoundshapes`." +#: ../../library/turtle.rst:2394 +msgid "t.mainloop()" +msgstr "t.mainloop()" -#: ../../library/turtle.rst:2542 +#: ../../library/turtle.rst:2396 msgid "" -"A two-dimensional vector class, used as a helper class for implementing " -"turtle graphics. May be useful for turtle graphics programs too. Derived " -"from tuple, so a vector is a tuple!" +"to the end of the script. The script will now wait to be dismissed and will " +"not exit until it is terminated, for example by closing the turtle graphics " +"window." msgstr "" -"Eine zweidimensionale Vektorklasse, die als Hilfsklasse zur Implementierung " -"von Turtle-Grafik dient. Kann auch für Turtle-Grafik-Programme selbst " -"nützlich sein. Von tuple abgeleitet, ein Vektor ist also ein Tupel!" - -#: ../../library/turtle.rst:2546 -msgid "Provides (for *a*, *b* vectors, *k* number):" -msgstr "Bietet (für Vektoren *a*, *b*, Zahl *k*):" - -#: ../../library/turtle.rst:2548 -msgid "``a + b`` vector addition" -msgstr "``a + b`` Vectoraddition" - -#: ../../library/turtle.rst:2549 -msgid "``a - b`` vector subtraction" -msgstr "``a - b`` Vectorsubtraction" - -#: ../../library/turtle.rst:2550 -msgid "``a * b`` inner product" -msgstr "``a * b`` Skalarprodukt" - -#: ../../library/turtle.rst:2551 -msgid "``k * a`` and ``a * k`` multiplication with scalar" -msgstr "``k * a`` und ``a * k`` Multiplikation mit Skalar" - -#: ../../library/turtle.rst:2552 -msgid "``abs(a)`` absolute value of a" -msgstr "``abs(a)`` Absolutwert von a" - -#: ../../library/turtle.rst:2553 -msgid "``a.rotate(angle)`` rotation" -msgstr "``a.rotate(angle)`` Rotation" - -#: ../../library/turtle.rst:2557 -msgid "Exceptions" -msgstr "Erklärungen" +"am Ende des Skripts. Das Skript wartet nun darauf, geschlossen zu werden, " +"und beendet sich nicht, bis es beendet wird, zum Beispiel durch Schließen " +"des Turtle-Grafikfensters." -#: ../../library/turtle.rst:2559 -msgid "The :mod:`!turtle` module defines the following exception:" -msgstr "Das Modul :mod:`!turtle` definiert die folgende Ausnahme:" +#: ../../library/turtle.rst:2402 +msgid "Use object-oriented turtle graphics" +msgstr "Objektorientierte Turtle-Grafik verwenden" -#: ../../library/turtle.rst:2563 +#: ../../library/turtle.rst:2404 msgid "" -"Raised for invalid arguments or operations. For example, a malformed color " -"string:" +":ref:`Explanation of the object-oriented interface `" msgstr "" -"Wird bei ungültigen Argumenten oder Operationen ausgelöst. Zum Beispiel bei " -"einer fehlerhaften Farbzeichenkette:" +":ref:`Erklärung der objektorientierten Schnittstelle `" -#: ../../library/turtle.rst:2566 +#: ../../library/turtle.rst:2406 msgid "" -">>> turtle.color(\"blau\")\n" -"Traceback (most recent call last):\n" -" ...\n" -"turtle.TurtleGraphicsError: bad color string: blau" +"Other than for very basic introductory purposes, or for trying things out as " +"quickly as possible, it's more usual and much more powerful to use the " +"object-oriented approach to turtle graphics. For example, this allows " +"multiple turtles on screen at once." msgstr "" -">>> turtle.color(\"blau\")\n" -"Traceback (most recent call last):\n" -" ...\n" -"turtle.TurtleGraphicsError: bad color string: blau" - -#: ../../library/turtle.rst:2578 -msgid "Explanation" -msgstr "Erklärung" +"Abgesehen von sehr grundlegenden Einführungszwecken oder um Dinge so schnell " +"wie möglich auszuprobieren, ist es üblicher und deutlich leistungsfähiger, " +"den objektorientierten Ansatz für Turtle-Grafik zu verwenden. Dies " +"ermöglicht zum Beispiel mehrere Turtles gleichzeitig auf dem Bildschirm." -#: ../../library/turtle.rst:2580 +#: ../../library/turtle.rst:2411 msgid "" -"A turtle object draws on a screen object, and there a number of key classes " -"in the turtle object-oriented interface that can be used to create them and " -"relate them to each other." +"In this approach, the various turtle commands are methods of objects (mostly " +"of ``Turtle`` objects). You *can* use the object-oriented approach in the " +"shell, but it would be more typical in a Python script." msgstr "" -"Ein Turtle-Objekt zeichnet auf einem Screen-Objekt, und es gibt eine Reihe " -"zentraler Klassen in der objektorientierten Turtle-Schnittstelle, mit denen " -"man diese erstellen und miteinander in Beziehung setzen kann." +"Bei diesem Ansatz sind die verschiedenen Turtle-Befehle Methoden von " +"Objekten (meist von ``Turtle``-Objekten). Du *kannst* den objektorientierten " +"Ansatz auch in der Shell verwenden, typischer wäre es aber in einem Python-" +"Skript." -#: ../../library/turtle.rst:2584 -msgid "" -"A :class:`Turtle` instance will automatically create a :class:`Screen` " -"instance if one is not already present." -msgstr "" -"Eine :class:`Turtle`-Instanz erstellt automatisch eine :class:`Screen`-" -"Instanz, falls noch keine vorhanden ist." +#: ../../library/turtle.rst:2415 +msgid "The example above then becomes::" +msgstr "Das obige Beispiel wird dann zu::" -#: ../../library/turtle.rst:2587 +#: ../../library/turtle.rst:2417 msgid "" -"``Turtle`` is a subclass of :class:`RawTurtle`, which *doesn't* " -"automatically create a drawing surface - a *canvas* will need to be provided " -"or created for it. The *canvas* can be a :class:`!tkinter.Canvas`, :class:" -"`ScrolledCanvas` or :class:`TurtleScreen`." +"from turtle import Turtle\n" +"from random import random\n" +"\n" +"t = Turtle()\n" +"for i in range(100):\n" +" steps = int(random() * 100)\n" +" angle = int(random() * 360)\n" +" t.right(angle)\n" +" t.fd(steps)\n" +"\n" +"t.screen.mainloop()" msgstr "" -"``Turtle`` ist eine Unterklasse von :class:`RawTurtle`, die *keine* " -"Zeichenfläche automatisch erstellt - eine *canvas* muss dafür bereitgestellt " -"oder erstellt werden. Die *canvas* kann ein :class:`!tkinter.Canvas`, :class:" -"`ScrolledCanvas` oder :class:`TurtleScreen` sein." +"from turtle import Turtle\n" +"from random import random\n" +"\n" +"t = Turtle()\n" +"for i in range(100):\n" +" steps = int(random() * 100)\n" +" angle = int(random() * 360)\n" +" t.right(angle)\n" +" t.fd(steps)\n" +"\n" +"t.screen.mainloop()" -#: ../../library/turtle.rst:2593 +#: ../../library/turtle.rst:2429 msgid "" -":class:`TurtleScreen` is the basic drawing surface for a turtle. :class:" -"`Screen` is a subclass of ``TurtleScreen``, and includes :ref:`some " -"additional methods ` for managing its appearance (including " -"size and title) and behaviour. ``TurtleScreen``'s constructor needs a :class:" -"`!tkinter.Canvas` or a :class:`ScrolledCanvas` as an argument." +"Note the last line. ``t.screen`` is an instance of the :class:`Screen` that " +"a Turtle instance exists on; it's created automatically along with the " +"turtle." msgstr "" -":class:`TurtleScreen` ist die grundlegende Zeichenfläche für eine Turtle. :" -"class:`Screen` ist eine Unterklasse von ``TurtleScreen`` und enthält :ref:" -"`einige zusätzliche Methoden ` zur Verwaltung ihres " -"Erscheinungsbilds (einschließlich Größe und Titel) und Verhaltens. Der " -"Konstruktor von ``TurtleScreen`` benötigt ein :class:`!tkinter.Canvas` oder " -"ein :class:`ScrolledCanvas` als Argument." +"Beachte die letzte Zeile. ``t.screen`` ist eine Instanz der :class:`Screen`, " +"auf der eine Turtle-Instanz existiert; sie wird automatisch zusammen mit der " +"Turtle erstellt." -#: ../../library/turtle.rst:2600 -msgid "" -"The functional interface for turtle graphics uses the various methods of " -"``Turtle`` and ``TurtleScreen``/``Screen``. Behind the scenes, a screen " -"object is automatically created whenever a function derived from a " -"``Screen`` method is called. Similarly, a turtle object is automatically " -"created whenever any of the functions derived from a Turtle method is called." -msgstr "" -"Die funktionale Schnittstelle für Turtle-Grafik verwendet die verschiedenen " -"Methoden von ``Turtle`` und ``TurtleScreen``/``Screen``. Im Hintergrund wird " -"automatisch ein Screen-Objekt erstellt, sobald eine von einer ``Screen``-" -"Methode abgeleitete Funktion aufgerufen wird. Ebenso wird automatisch ein " -"Turtle-Objekt erstellt, sobald eine der von einer Turtle-Methode " -"abgeleiteten Funktionen aufgerufen wird." +#: ../../library/turtle.rst:2433 +msgid "The turtle's screen can be customised, for example::" +msgstr "Der Turtle-Scree kann angepasst werden, zum Beispiel::" -#: ../../library/turtle.rst:2606 +#: ../../library/turtle.rst:2435 msgid "" -"To use multiple turtles on a screen, the object-oriented interface must be " -"used." +"t.screen.title('Object-oriented turtle demo')\n" +"t.screen.bgcolor(\"orange\")" msgstr "" -"Um mehrere Turtles auf einem Screen zu verwenden, muss die objektorientierte " -"Schnittstelle genutzt werden." - -#: ../../library/turtle.rst:2611 -msgid "Help and configuration" -msgstr "Hilfe und Konfiguration" +"t.screen.title('Object-oriented turtle demo')\n" +"t.screen.bgcolor(\"orange\")" -#: ../../library/turtle.rst:2614 +#: ../../library/turtle.rst:2442 msgid "How to use help" msgstr "Wie man die Hilfe verwendet" -#: ../../library/turtle.rst:2616 +#: ../../library/turtle.rst:2444 msgid "" "The public methods of the Screen and Turtle classes are documented " "extensively via docstrings. So these can be used as online-help via the " @@ -4430,7 +3943,7 @@ msgstr "" "über Docstrings dokumentiert. Diese können daher über die Python-" "Hilfefunktionen als Online-Hilfe verwendet werden:" -#: ../../library/turtle.rst:2620 +#: ../../library/turtle.rst:2448 msgid "" "When using IDLE, tooltips show the signatures and first lines of the " "docstrings of typed in function-/method calls." @@ -4438,13 +3951,13 @@ msgstr "" "Bei Verwendung von IDLE zeigen Tooltips die Signaturen und die ersten Zeilen " "der Docstrings eingetippter Funktions-/Methodenaufrufe." -#: ../../library/turtle.rst:2623 +#: ../../library/turtle.rst:2451 msgid "Calling :func:`help` on methods or functions displays the docstrings::" msgstr "" "Der Aufruf von :func:`help` für Methoden oder Funktionen zeigt die " "Docstrings an::" -#: ../../library/turtle.rst:2625 +#: ../../library/turtle.rst:2453 msgid "" ">>> help(Screen.bgcolor)\n" "Help on method bgcolor in module turtle:\n" @@ -4504,7 +4017,7 @@ msgstr "" "\n" " >>> turtle.penup()" -#: ../../library/turtle.rst:2654 +#: ../../library/turtle.rst:2482 msgid "" "The docstrings of the functions which are derived from methods have a " "modified form::" @@ -4512,7 +4025,7 @@ msgstr "" "Die Docstrings der Funktionen, die von Methoden abgeleitet sind, haben eine " "abgewandelte Form::" -#: ../../library/turtle.rst:2657 +#: ../../library/turtle.rst:2485 msgid "" ">>> help(bgcolor)\n" "Help on function bgcolor in module turtle:\n" @@ -4576,7 +4089,7 @@ msgstr "" " Example:\n" " >>> penup()" -#: ../../library/turtle.rst:2688 +#: ../../library/turtle.rst:2516 msgid "" "These modified docstrings are created automatically together with the " "function definitions that are derived from the methods at import time." @@ -4585,11 +4098,11 @@ msgstr "" "Funktionsdefinitionen erstellt, die zur Importzeit von den Methoden " "abgeleitet werden." -#: ../../library/turtle.rst:2693 +#: ../../library/turtle.rst:2521 msgid "Translation of docstrings into different languages" msgstr "Übersetzung von Docstrings in verschiedene Sprachen" -#: ../../library/turtle.rst:2695 +#: ../../library/turtle.rst:2523 msgid "" "There is a utility to create a dictionary the keys of which are the method " "names and the values of which are the docstrings of the public methods of " @@ -4599,11 +4112,11 @@ msgstr "" "die Methodennamen und dessen Werte die Docstrings der öffentlichen Methoden " "der Klassen Screen und Turtle sind." -#: ../../library/turtle.rst:2701 +#: ../../library/turtle.rst:2529 msgid "a string, used as filename" msgstr "eine Zeichenkette, verwendet als Dateiname" -#: ../../library/turtle.rst:2703 +#: ../../library/turtle.rst:2531 msgid "" "Create and write docstring-dictionary to a Python script with the given " "filename. This function has to be called explicitly (it is not used by the " @@ -4618,7 +4131,7 @@ msgstr "" "ist als Vorlage für die Übersetzung der Docstrings in verschiedene Sprachen " "gedacht." -#: ../../library/turtle.rst:2709 +#: ../../library/turtle.rst:2537 msgid "" "If you (or your students) want to use :mod:`!turtle` with online help in " "your native language, you have to translate the docstrings and save the " @@ -4628,7 +4141,7 @@ msgstr "" "Muttersprache verwenden möchtest, musst du die Docstrings übersetzen und die " "entstehende Datei z. B. als :file:`turtle_docstringdict_german.py` speichern." -#: ../../library/turtle.rst:2713 +#: ../../library/turtle.rst:2541 msgid "" "If you have an appropriate entry in your :file:`turtle.cfg` file this " "dictionary will be read in at import time and will replace the original " @@ -4638,7 +4151,7 @@ msgstr "" "hast, wird dieses Dictionary zur Importzeit eingelesen und ersetzt die " "ursprünglichen englischen Docstrings." -#: ../../library/turtle.rst:2716 +#: ../../library/turtle.rst:2544 msgid "" "At the time of this writing there are docstring dictionaries in German and " "in Italian. (Requests please to glingl@aon.at.)" @@ -4646,11 +4159,11 @@ msgstr "" "Zum Zeitpunkt der Erstellung dieses Textes gibt es Docstring-Dictionaries " "auf Deutsch und auf Italienisch. (Anfragen bitte an glingl@aon.at.)" -#: ../../library/turtle.rst:2722 +#: ../../library/turtle.rst:2550 msgid "How to configure Screen and Turtles" msgstr "Wie man Screen und Turtles konfiguriert" -#: ../../library/turtle.rst:2724 +#: ../../library/turtle.rst:2552 msgid "" "The built-in default configuration mimics the appearance and behaviour of " "the old turtle module in order to retain best possible compatibility with it." @@ -4659,7 +4172,7 @@ msgstr "" "Verhalten des alten turtle-Moduls nach, um eine möglichst gute " "Kompatibilität damit zu bewahren." -#: ../../library/turtle.rst:2727 +#: ../../library/turtle.rst:2555 msgid "" "If you want to use a different configuration which better reflects the " "features of this module or which better fits to your needs, e.g. for use in " @@ -4673,13 +4186,13 @@ msgstr "" "``turtle.cfg`` vorbereiten, die zur Importzeit eingelesen wird und die " "Konfiguration entsprechend ihrer Einstellungen ändert." -#: ../../library/turtle.rst:2732 +#: ../../library/turtle.rst:2560 msgid "" "The built in configuration would correspond to the following ``turtle.cfg``:" msgstr "" "Die integrierte Konfiguration würde der folgenden ``turtle.cfg`` entsprechen:" -#: ../../library/turtle.rst:2734 +#: ../../library/turtle.rst:2562 msgid "" "width = 0.5\n" "height = 0.75\n" @@ -4723,11 +4236,11 @@ msgstr "" "title = Python Turtle Graphics\n" "using_IDLE = False" -#: ../../library/turtle.rst:2757 +#: ../../library/turtle.rst:2585 msgid "Short explanation of selected entries:" msgstr "Kurze Erklärung ausgewählter Einträge:" -#: ../../library/turtle.rst:2759 +#: ../../library/turtle.rst:2587 msgid "" "The first four lines correspond to the arguments of the :func:`Screen.setup " "` method." @@ -4735,7 +4248,7 @@ msgstr "" "Die ersten vier Zeilen entsprechen den Argumenten der Methode :func:`Screen." "setup `." -#: ../../library/turtle.rst:2761 +#: ../../library/turtle.rst:2589 msgid "" "Line 5 and 6 correspond to the arguments of the method :func:`Screen." "screensize `." @@ -4743,7 +4256,7 @@ msgstr "" "Zeile 5 und 6 entsprechen den Argumenten der Methode :func:`Screen." "screensize `." -#: ../../library/turtle.rst:2763 +#: ../../library/turtle.rst:2591 msgid "" "*shape* can be any of the built-in shapes, e.g: arrow, turtle, etc. For " "more info try ``help(shape)``." @@ -4751,7 +4264,7 @@ msgstr "" "*shape* kann eine der integrierten Formen sein, z. B.: arrow, turtle usw. " "Für weitere Informationen versuche ``help(shape)``." -#: ../../library/turtle.rst:2765 +#: ../../library/turtle.rst:2593 msgid "" "If you want to use no fill color (i.e. make the turtle transparent), you " "have to write ``fillcolor = \"\"`` (but all nonempty strings must not have " @@ -4762,7 +4275,7 @@ msgstr "" "nichtleeren Zeichenketten dürfen in der cfg-Datei keine Anführungszeichen " "haben)." -#: ../../library/turtle.rst:2768 +#: ../../library/turtle.rst:2596 msgid "" "If you want to reflect the turtle its state, you have to use ``resizemode = " "auto``." @@ -4770,7 +4283,7 @@ msgstr "" "Wenn die Turtle ihren Zustand widerspiegeln soll, musst du ``resizemode = " "auto`` verwenden." -#: ../../library/turtle.rst:2770 +#: ../../library/turtle.rst:2598 msgid "" "If you set e.g. ``language = italian`` the docstringdict :file:" "`turtle_docstringdict_italian.py` will be loaded at import time (if present " @@ -4780,7 +4293,7 @@ msgstr "" "`turtle_docstringdict_italian.py` zur Importzeit geladen (sofern es im " "Importpfad vorhanden ist, z. B. im selben Verzeichnis wie :mod:`!turtle`)." -#: ../../library/turtle.rst:2773 +#: ../../library/turtle.rst:2601 msgid "" "The entries *exampleturtle* and *examplescreen* define the names of these " "objects as they occur in the docstrings. The transformation of method-" @@ -4792,7 +4305,7 @@ msgstr "" "Methoden-Docstrings in Funktions-Docstrings werden diese Namen aus den " "Docstrings entfernt." -#: ../../library/turtle.rst:2777 +#: ../../library/turtle.rst:2605 msgid "" "*using_IDLE*: Set this to ``True`` if you regularly work with IDLE and its " "``-n`` switch (\"no subprocess\"). This will prevent :func:`exitonclick` to " @@ -4802,7 +4315,7 @@ msgstr "" "dessen Schalter ``-n`` (\"no subprocess\") arbeitest. Dies verhindert, dass :" "func:`exitonclick` die mainloop aufruft." -#: ../../library/turtle.rst:2781 +#: ../../library/turtle.rst:2609 msgid "" "There can be a :file:`turtle.cfg` file in the directory where :mod:`!turtle` " "is stored and an additional one in the current working directory. The " @@ -4812,7 +4325,7 @@ msgstr "" "turtle` gespeichert ist, sowie eine zusätzliche im aktuellen " "Arbeitsverzeichnis. Letztere überschreibt die Einstellungen der ersten." -#: ../../library/turtle.rst:2785 +#: ../../library/turtle.rst:2613 msgid "" "The :file:`Lib/turtledemo` directory contains a :file:`turtle.cfg` file. " "You can study it as an example and see its effects when running the demos " @@ -4822,11 +4335,83 @@ msgstr "" "Datei. Du kannst sie als Beispiel studieren und ihre Auswirkungen beim " "Ausführen der Demos sehen (vorzugsweise nicht innerhalb des Demo-Viewers)." -#: ../../library/turtle.rst:2791 +#: ../../library/turtle.rst:2621 +msgid "Explanation" +msgstr "Erklärung" + +#: ../../library/turtle.rst:2623 +msgid "" +"A turtle object draws on a screen object, and there a number of key classes " +"in the turtle object-oriented interface that can be used to create them and " +"relate them to each other." +msgstr "" +"Ein Turtle-Objekt zeichnet auf einem Screen-Objekt, und es gibt eine Reihe " +"zentraler Klassen in der objektorientierten Turtle-Schnittstelle, mit denen " +"man diese erstellen und miteinander in Beziehung setzen kann." + +#: ../../library/turtle.rst:2627 +msgid "" +"A :class:`Turtle` instance will automatically create a :class:`Screen` " +"instance if one is not already present." +msgstr "" +"Eine :class:`Turtle`-Instanz erstellt automatisch eine :class:`Screen`-" +"Instanz, falls noch keine vorhanden ist." + +#: ../../library/turtle.rst:2630 +msgid "" +"``Turtle`` is a subclass of :class:`RawTurtle`, which *doesn't* " +"automatically create a drawing surface - a *canvas* will need to be provided " +"or created for it. The *canvas* can be a :class:`!tkinter.Canvas`, :class:" +"`ScrolledCanvas` or :class:`TurtleScreen`." +msgstr "" +"``Turtle`` ist eine Unterklasse von :class:`RawTurtle`, die *keine* " +"Zeichenfläche automatisch erstellt - eine *canvas* muss dafür bereitgestellt " +"oder erstellt werden. Die *canvas* kann ein :class:`!tkinter.Canvas`, :class:" +"`ScrolledCanvas` oder :class:`TurtleScreen` sein." + +#: ../../library/turtle.rst:2636 +msgid "" +":class:`TurtleScreen` is the basic drawing surface for a turtle. :class:" +"`Screen` is a subclass of ``TurtleScreen``, and includes :ref:`some " +"additional methods ` for managing its appearance (including " +"size and title) and behaviour. ``TurtleScreen``'s constructor needs a :class:" +"`!tkinter.Canvas` or a :class:`ScrolledCanvas` as an argument." +msgstr "" +":class:`TurtleScreen` ist die grundlegende Zeichenfläche für eine Turtle. :" +"class:`Screen` ist eine Unterklasse von ``TurtleScreen`` und enthält :ref:" +"`einige zusätzliche Methoden ` zur Verwaltung ihres " +"Erscheinungsbilds (einschließlich Größe und Titel) und Verhaltens. Der " +"Konstruktor von ``TurtleScreen`` benötigt ein :class:`!tkinter.Canvas` oder " +"ein :class:`ScrolledCanvas` als Argument." + +#: ../../library/turtle.rst:2643 +msgid "" +"The functional interface for turtle graphics uses the various methods of " +"``Turtle`` and ``TurtleScreen``/``Screen``. Behind the scenes, a screen " +"object is automatically created whenever a function derived from a " +"``Screen`` method is called. Similarly, a turtle object is automatically " +"created whenever any of the functions derived from a Turtle method is called." +msgstr "" +"Die funktionale Schnittstelle für Turtle-Grafik verwendet die verschiedenen " +"Methoden von ``Turtle`` und ``TurtleScreen``/``Screen``. Im Hintergrund wird " +"automatisch ein Screen-Objekt erstellt, sobald eine von einer ``Screen``-" +"Methode abgeleitete Funktion aufgerufen wird. Ebenso wird automatisch ein " +"Turtle-Objekt erstellt, sobald eine der von einer Turtle-Methode " +"abgeleiteten Funktionen aufgerufen wird." + +#: ../../library/turtle.rst:2649 +msgid "" +"To use multiple turtles on a screen, the object-oriented interface must be " +"used." +msgstr "" +"Um mehrere Turtles auf einem Screen zu verwenden, muss die objektorientierte " +"Schnittstelle genutzt werden." + +#: ../../library/turtle.rst:2654 msgid ":mod:`!turtledemo` --- Demo scripts" msgstr ":mod:`!turtledemo` --- Demo-Skripte" -#: ../../library/turtle.rst:2796 +#: ../../library/turtle.rst:2659 msgid "" "The :mod:`!turtledemo` package includes a set of demo scripts. These " "scripts can be run and viewed using the supplied demo viewer as follows::" @@ -4835,26 +4420,26 @@ msgstr "" "Skripte können mit dem mitgelieferten Demo-Viewer wie folgt ausgeführt und " "betrachtet werden::" -#: ../../library/turtle.rst:2799 +#: ../../library/turtle.rst:2662 msgid "python -m turtledemo" msgstr "python -m turtledemo" -#: ../../library/turtle.rst:2801 +#: ../../library/turtle.rst:2664 msgid "" "Alternatively, you can run the demo scripts individually. For example, ::" msgstr "" "Alternativ kannst du die Demo-Skripte auch einzeln ausführen. Zum " "Beispiel: ::" -#: ../../library/turtle.rst:2803 +#: ../../library/turtle.rst:2666 msgid "python -m turtledemo.bytedesign" msgstr "python -m turtledemo.bytedesign" -#: ../../library/turtle.rst:2805 +#: ../../library/turtle.rst:2668 msgid "The :mod:`!turtledemo` package directory contains:" msgstr "Das Paketverzeichnis :mod:`!turtledemo` enthält:" -#: ../../library/turtle.rst:2807 +#: ../../library/turtle.rst:2670 msgid "" "A demo viewer :file:`__main__.py` which can be used to view the sourcecode " "of the scripts and run them at the same time." @@ -4862,7 +4447,7 @@ msgstr "" "Einen Demo-Viewer :file:`__main__.py`, mit dem der Quellcode der Skripte " "betrachtet und gleichzeitig ausgeführt werden kann." -#: ../../library/turtle.rst:2809 +#: ../../library/turtle.rst:2672 msgid "" "Multiple scripts demonstrating different features of the :mod:`!turtle` " "module. Examples can be accessed via the Examples menu. They can also be " @@ -4872,7 +4457,7 @@ msgstr "" "demonstrieren. Auf die Beispiele kann über das Menü Examples zugegriffen " "werden. Sie können auch eigenständig ausgeführt werden." -#: ../../library/turtle.rst:2812 +#: ../../library/turtle.rst:2675 msgid "" "A :file:`turtle.cfg` file which serves as an example of how to write and use " "such files." @@ -4880,39 +4465,39 @@ msgstr "" "Eine :file:`turtle.cfg`-Datei, die als Beispiel dient, wie solche Dateien " "geschrieben und verwendet werden." -#: ../../library/turtle.rst:2815 +#: ../../library/turtle.rst:2678 msgid "The demo scripts are:" msgstr "Die Demo-Skripte sind:" -#: ../../library/turtle.rst:2822 +#: ../../library/turtle.rst:2685 msgid "Name" msgstr "Name" -#: ../../library/turtle.rst:2822 +#: ../../library/turtle.rst:2685 msgid "Description" msgstr "Beschreibung" -#: ../../library/turtle.rst:2822 +#: ../../library/turtle.rst:2685 msgid "Features" msgstr "Feature" -#: ../../library/turtle.rst:2824 +#: ../../library/turtle.rst:2687 msgid "``bytedesign``" msgstr "``bytedesign``" -#: ../../library/turtle.rst:2824 +#: ../../library/turtle.rst:2687 msgid "complex classical turtle graphics pattern" msgstr "komplexes klassisches Turtle-Grafik-Muster" -#: ../../library/turtle.rst:2824 +#: ../../library/turtle.rst:2687 msgid ":func:`tracer`, :func:`delay`, :func:`update`" msgstr ":func:`tracer`, :func:`delay`, :func:`update`" -#: ../../library/turtle.rst:2827 +#: ../../library/turtle.rst:2690 msgid "``chaos``" msgstr "``chaos``" -#: ../../library/turtle.rst:2827 +#: ../../library/turtle.rst:2690 msgid "" "graphs Verhulst dynamics, shows that computer's computations can generate " "results sometimes against the common sense expectations" @@ -4921,156 +4506,168 @@ msgstr "" "Computerberechnungen manchmal Ergebnisse liefern können, die dem gesunden " "Menschenverstand widersprechen" -#: ../../library/turtle.rst:2827 +#: ../../library/turtle.rst:2690 msgid "world coordinates" msgstr "Welt Koordinaten" -#: ../../library/turtle.rst:2833 +#: ../../library/turtle.rst:2696 msgid "``clock``" msgstr "``clock``" -#: ../../library/turtle.rst:2833 +#: ../../library/turtle.rst:2696 msgid "analog clock showing time of your computer" msgstr "analoge Uhr, die die Zeit deines Computers anzeigt" -#: ../../library/turtle.rst:2833 +#: ../../library/turtle.rst:2696 msgid "turtles as clock's hands, :func:`ontimer`" msgstr "Turtles als Uhrzeiger, :func:`ontimer`" -#: ../../library/turtle.rst:2836 +#: ../../library/turtle.rst:2699 msgid "``colormixer``" msgstr "``colormixer``" -#: ../../library/turtle.rst:2836 +#: ../../library/turtle.rst:2699 msgid "experiment with r, g, b" msgstr "Experiment mit r, g, b" -#: ../../library/turtle.rst:2838 +#: ../../library/turtle.rst:2699 +msgid ":func:`ondrag`" +msgstr ":func:`ondrag`" + +#: ../../library/turtle.rst:2701 msgid "``forest``" msgstr "``forest``" -#: ../../library/turtle.rst:2838 +#: ../../library/turtle.rst:2701 msgid "3 breadth-first trees" msgstr "3 Breitensuche-Bäume" -#: ../../library/turtle.rst:2838 +#: ../../library/turtle.rst:2701 msgid "randomization" msgstr "Zufallsgenerierung" -#: ../../library/turtle.rst:2840 +#: ../../library/turtle.rst:2703 msgid "``fractalcurves``" msgstr "``fractalcurves``" -#: ../../library/turtle.rst:2840 +#: ../../library/turtle.rst:2703 msgid "Hilbert & Koch curves" msgstr "Hilbert & Koch Kurven" -#: ../../library/turtle.rst:2840 +#: ../../library/turtle.rst:2703 msgid "recursion" msgstr "Rekursion" -#: ../../library/turtle.rst:2842 +#: ../../library/turtle.rst:2705 msgid "``lindenmayer``" msgstr "``lindenmayer``" -#: ../../library/turtle.rst:2842 +#: ../../library/turtle.rst:2705 msgid "ethnomathematics (indian kolams)" msgstr "Ethnomathematik (indische Kolams)" -#: ../../library/turtle.rst:2842 +#: ../../library/turtle.rst:2705 msgid "L-System" msgstr "L-System" -#: ../../library/turtle.rst:2845 +#: ../../library/turtle.rst:2708 msgid "``minimal_hanoi``" msgstr "``minimal_hanoi``" -#: ../../library/turtle.rst:2845 +#: ../../library/turtle.rst:2708 msgid "Towers of Hanoi" msgstr "Türme von Hannoi" -#: ../../library/turtle.rst:2845 +#: ../../library/turtle.rst:2708 msgid "Rectangular Turtles as Hanoi discs (:func:`shape`, :func:`shapesize`)" msgstr "" "Rechteckige Turtles als Hanoi-Scheiben (:func:`shape`, :func:`shapesize`)" -#: ../../library/turtle.rst:2849 +#: ../../library/turtle.rst:2712 msgid "``nim``" msgstr "``nim``" -#: ../../library/turtle.rst:2849 +#: ../../library/turtle.rst:2712 msgid "" "play the classical nim game with three heaps of sticks against the computer." msgstr "" "spiele das klassische Nim-Spiel mit drei Stapeln aus Stäbchen gegen den " "Computer." -#: ../../library/turtle.rst:2849 +#: ../../library/turtle.rst:2712 msgid "turtles as nimsticks, event driven (mouse, keyboard)" msgstr "Turtles als Nim-Stäbchen, ereignisgesteuert (Maus, Tastatur)" -#: ../../library/turtle.rst:2853 +#: ../../library/turtle.rst:2716 msgid "``paint``" msgstr "``paint``" -#: ../../library/turtle.rst:2853 +#: ../../library/turtle.rst:2716 msgid "super minimalistic drawing program" msgstr "super minimalistisches Zeichenprogramm" -#: ../../library/turtle.rst:2856 +#: ../../library/turtle.rst:2716 +msgid ":func:`onclick`" +msgstr ":func:`onclick`" + +#: ../../library/turtle.rst:2719 msgid "``peace``" msgstr "``peace``" -#: ../../library/turtle.rst:2856 +#: ../../library/turtle.rst:2719 msgid "elementary" msgstr "Elementar" -#: ../../library/turtle.rst:2856 +#: ../../library/turtle.rst:2719 msgid "turtle: appearance and animation" msgstr "Turtle: Erscheinungsbild und Animation" -#: ../../library/turtle.rst:2859 +#: ../../library/turtle.rst:2722 msgid "``penrose``" msgstr "``penrose``" -#: ../../library/turtle.rst:2859 +#: ../../library/turtle.rst:2722 msgid "aperiodic tiling with kites and darts" msgstr "aperiodische Kachelung mit Drachen und Pfeilen" -#: ../../library/turtle.rst:2862 +#: ../../library/turtle.rst:2722 +msgid ":func:`stamp`" +msgstr ":func:`stamp`" + +#: ../../library/turtle.rst:2725 msgid "``planet_and_moon``" msgstr "``planet_and_moon``" -#: ../../library/turtle.rst:2862 +#: ../../library/turtle.rst:2725 msgid "simulation of gravitational system" msgstr "Simulation eines Gravitationssystems" -#: ../../library/turtle.rst:2862 +#: ../../library/turtle.rst:2725 msgid "compound shapes, :class:`Vec2D`" msgstr "zusammengesetzte Formen, :class:`Vec2D`" -#: ../../library/turtle.rst:2865 +#: ../../library/turtle.rst:2728 msgid "``rosette``" msgstr "``rosette``" -#: ../../library/turtle.rst:2865 +#: ../../library/turtle.rst:2728 msgid "a pattern from the wikipedia article on turtle graphics" msgstr "ein Muster aus dem Wikipedia-Artikel über Turtle-Grafik" -#: ../../library/turtle.rst:2865 +#: ../../library/turtle.rst:2728 msgid ":func:`clone`, :func:`undo`" msgstr ":func:`clone`, :func:`undo`" -#: ../../library/turtle.rst:2868 +#: ../../library/turtle.rst:2731 msgid "``round_dance``" msgstr "``round_dance``" -#: ../../library/turtle.rst:2868 +#: ../../library/turtle.rst:2731 msgid "dancing turtles rotating pairwise in opposite direction" msgstr "" "tanzende Turtles, die sich paarweise in entgegengesetzter Richtung drehen" -#: ../../library/turtle.rst:2868 +#: ../../library/turtle.rst:2731 msgid "" "compound shapes, :func:`clone` :func:`shapesize`, :func:`tilt`, :func:" "`get_shapepoly`, :func:`update`" @@ -5078,50 +4675,517 @@ msgstr "" "zusammengesetzte Formen, :func:`clone` :func:`shapesize`, :func:`tilt`, :" "func:`get_shapepoly`, :func:`update`" -#: ../../library/turtle.rst:2872 +#: ../../library/turtle.rst:2735 msgid "``sorting_animate``" msgstr "``sorting_animate``" -#: ../../library/turtle.rst:2872 +#: ../../library/turtle.rst:2735 msgid "visual demonstration of different sorting methods" msgstr "visuelle Demonstration verschiedener Sortiermethoden" -#: ../../library/turtle.rst:2872 +#: ../../library/turtle.rst:2735 msgid "simple alignment, randomization" msgstr "einfache Ausrichtung, Zufallsgenerierung" -#: ../../library/turtle.rst:2875 +#: ../../library/turtle.rst:2738 msgid "``tree``" msgstr "``tree``" -#: ../../library/turtle.rst:2875 +#: ../../library/turtle.rst:2738 msgid "a (graphical) breadth first tree (using generators)" msgstr "ein (grafischer) Breitensuche-Baum (unter Verwendung von Generatoren)" -#: ../../library/turtle.rst:2878 +#: ../../library/turtle.rst:2738 +msgid ":func:`clone`" +msgstr ":func:`clone`" + +#: ../../library/turtle.rst:2741 msgid "``two_canvases``" msgstr "``two_canvases``" -#: ../../library/turtle.rst:2878 +#: ../../library/turtle.rst:2741 msgid "simple design" msgstr "einfaches Design" -#: ../../library/turtle.rst:2878 +#: ../../library/turtle.rst:2741 msgid "turtles on two canvases" msgstr "Turtles auf zwei Canvas" -#: ../../library/turtle.rst:2881 +#: ../../library/turtle.rst:2744 msgid "``yinyang``" msgstr "``yinyang``" -#: ../../library/turtle.rst:2881 +#: ../../library/turtle.rst:2744 msgid "another elementary example" msgstr "ein weiteres elementares Beispiel" -#: ../../library/turtle.rst:2884 +#: ../../library/turtle.rst:2744 +msgid ":func:`circle`" +msgstr ":func:`circle`" + +#: ../../library/turtle.rst:2747 msgid "Have fun!" msgstr "Viel Spaß!" +#~ msgid "" +#~ "In the following documentation the argument list for functions is given. " +#~ "Methods, of course, have the additional first argument *self* which is " +#~ "omitted here." +#~ msgstr "" +#~ "In der folgenden Dokumentation wird die Argumentliste für Funktionen " +#~ "angegeben. Methoden haben natürlich das zusätzliche erste Argument " +#~ "*self*, das hier weggelassen wird." + +#~ msgid "Turtle motion" +#~ msgstr "Turtle-Bewegung" + +#~ msgid ":func:`forward` | :func:`fd`" +#~ msgstr ":func:`forward` | :func:`fd`" + +#~ msgid ":func:`backward` | :func:`bk` | :func:`back`" +#~ msgstr ":func:`backward` | :func:`bk` | :func:`back`" + +#~ msgid ":func:`right` | :func:`rt`" +#~ msgstr ":func:`right` | :func:`rt`" + +#~ msgid ":func:`left` | :func:`lt`" +#~ msgstr ":func:`left` | :func:`lt`" + +#~ msgid ":func:`goto` | :func:`setpos` | :func:`setposition`" +#~ msgstr ":func:`goto` | :func:`setpos` | :func:`setposition`" + +#~ msgid ":func:`teleport`" +#~ msgstr ":func:`teleport`" + +#~ msgid ":func:`setx`" +#~ msgstr ":func:`setx`" + +#~ msgid ":func:`sety`" +#~ msgstr ":func:`sety`" + +#~ msgid ":func:`setheading` | :func:`seth`" +#~ msgstr ":func:`setheading` | :func:`seth`" + +#~ msgid ":func:`home`" +#~ msgstr ":func:`home`" + +#~ msgid ":func:`dot`" +#~ msgstr ":func:`dot`" + +#~ msgid ":func:`clearstamp`" +#~ msgstr ":func:`clearstamp`" + +#~ msgid ":func:`clearstamps`" +#~ msgstr ":func:`clearstamps`" + +#~ msgid ":func:`undo`" +#~ msgstr ":func:`undo`" + +#~ msgid ":func:`speed`" +#~ msgstr ":func:`speed`" + +#~ msgid ":func:`position` | :func:`pos`" +#~ msgstr ":func:`position` | :func:`pos`" + +#~ msgid ":func:`towards`" +#~ msgstr ":func:`towards`" + +#~ msgid ":func:`xcor`" +#~ msgstr ":func:`xcor`" + +#~ msgid ":func:`ycor`" +#~ msgstr ":func:`ycor`" + +#~ msgid ":func:`heading`" +#~ msgstr ":func:`heading`" + +#~ msgid ":func:`distance`" +#~ msgstr ":func:`distance`" + +#~ msgid "Setting and measurement" +#~ msgstr "Einstellung und Maß" + +#~ msgid ":func:`degrees`" +#~ msgstr ":func:`degrees`" + +#~ msgid ":func:`radians`" +#~ msgstr ":func:`radians`" + +#~ msgid ":func:`pendown` | :func:`pd` | :func:`down`" +#~ msgstr ":func:`pendown` | :func:`pd` | :func:`down`" + +#~ msgid ":func:`penup` | :func:`pu` | :func:`up`" +#~ msgstr ":func:`penup` | :func:`pu` | :func:`up`" + +#~ msgid ":func:`pensize` | :func:`width`" +#~ msgstr ":func:`pensize` | :func:`width`" + +#~ msgid ":func:`pen`" +#~ msgstr ":func:`pen`" + +#~ msgid ":func:`isdown`" +#~ msgstr ":func:`isdown`" + +#~ msgid ":func:`color`" +#~ msgstr ":func:`color`" + +#~ msgid ":func:`pencolor`" +#~ msgstr ":func:`pencolor`" + +#~ msgid ":func:`fillcolor`" +#~ msgstr ":func:`fillcolor`" + +#~ msgid ":func:`filling`" +#~ msgstr ":func:`filling`" + +#~ msgid ":func:`fill`" +#~ msgstr ":func:`fill`" + +#~ msgid ":func:`begin_fill`" +#~ msgstr ":func:`begin_fill`" + +#~ msgid ":func:`end_fill`" +#~ msgstr ":func:`end_fill`" + +#~ msgid ":func:`reset`" +#~ msgstr ":func:`reset`" + +#~ msgid ":func:`clear`" +#~ msgstr ":func:`clear`" + +#~ msgid ":func:`write`" +#~ msgstr ":func:`write`" + +#~ msgid ":func:`showturtle` | :func:`st`" +#~ msgstr ":func:`showturtle` | :func:`st`" + +#~ msgid ":func:`hideturtle` | :func:`ht`" +#~ msgstr ":func:`hideturtle` | :func:`ht`" + +#~ msgid ":func:`isvisible`" +#~ msgstr ":func:`isvisible`" + +#~ msgid ":func:`shape`" +#~ msgstr ":func:`shape`" + +#~ msgid ":func:`resizemode`" +#~ msgstr ":func:`resizemode`" + +#~ msgid ":func:`shapesize` | :func:`turtlesize`" +#~ msgstr ":func:`shapesize` | :func:`turtlesize`" + +#~ msgid ":func:`shearfactor`" +#~ msgstr ":func:`shearfactor`" + +#~ msgid ":func:`tiltangle`" +#~ msgstr ":func:`tiltangle`" + +#~ msgid ":func:`tilt`" +#~ msgstr ":func:`tilt`" + +#~ msgid ":func:`shapetransform`" +#~ msgstr ":func:`shapetransform`" + +#~ msgid ":func:`get_shapepoly`" +#~ msgstr ":func:`get_shapepoly`" + +#~ msgid ":func:`onrelease`" +#~ msgstr ":func:`onrelease`" + +#~ msgid ":func:`poly`" +#~ msgstr ":func:`poly`" + +#~ msgid ":func:`begin_poly`" +#~ msgstr ":func:`begin_poly`" + +#~ msgid ":func:`end_poly`" +#~ msgstr ":func:`end_poly`" + +#~ msgid ":func:`get_poly`" +#~ msgstr ":func:`get_poly`" + +#~ msgid ":func:`getturtle` | :func:`getpen`" +#~ msgstr ":func:`getturtle` | :func:`getpen`" + +#~ msgid ":func:`getscreen`" +#~ msgstr ":func:`getscreen`" + +#~ msgid ":func:`setundobuffer`" +#~ msgstr ":func:`setundobuffer`" + +#~ msgid ":func:`undobufferentries`" +#~ msgstr ":func:`undobufferentries`" + +#~ msgid "Methods of TurtleScreen/Screen" +#~ msgstr "Methoden von TurtleScreen/Screen" + +#~ msgid ":func:`bgcolor`" +#~ msgstr ":func:`bgcolor`" + +#~ msgid ":func:`bgpic`" +#~ msgstr ":func:`bgpic`" + +#~ msgid ":func:`clearscreen`" +#~ msgstr ":func:`clearscreen`" + +#~ msgid ":func:`resetscreen`" +#~ msgstr ":func:`resetscreen`" + +#~ msgid ":func:`screensize`" +#~ msgstr ":func:`screensize`" + +#~ msgid ":func:`setworldcoordinates`" +#~ msgstr ":func:`setworldcoordinates`" + +#~ msgid ":func:`no_animation`" +#~ msgstr ":func:`no_animation`" + +#~ msgid ":func:`delay`" +#~ msgstr ":func:`delay`" + +#~ msgid ":func:`tracer`" +#~ msgstr ":func:`tracer`" + +#~ msgid ":func:`update`" +#~ msgstr ":func:`update`" + +#~ msgid ":func:`listen`" +#~ msgstr ":func:`listen`" + +#~ msgid ":func:`onkey` | :func:`onkeyrelease`" +#~ msgstr ":func:`onkey` | :func:`onkeyrelease`" + +#~ msgid ":func:`onkeypress`" +#~ msgstr ":func:`onkeypress`" + +#~ msgid ":func:`onclick` | :func:`onscreenclick`" +#~ msgstr ":func:`onclick` | :func:`onscreenclick`" + +#~ msgid ":func:`ontimer`" +#~ msgstr ":func:`ontimer`" + +#~ msgid ":func:`mainloop` | :func:`done`" +#~ msgstr ":func:`mainloop` | :func:`done`" + +#~ msgid ":func:`mode`" +#~ msgstr ":func:`mode`" + +#~ msgid ":func:`colormode`" +#~ msgstr ":func:`colormode`" + +#~ msgid ":func:`getcanvas`" +#~ msgstr ":func:`getcanvas`" + +#~ msgid ":func:`getshapes`" +#~ msgstr ":func:`getshapes`" + +#~ msgid ":func:`register_shape` | :func:`addshape`" +#~ msgstr ":func:`register_shape` | :func:`addshape`" + +#~ msgid ":func:`turtles`" +#~ msgstr ":func:`turtles`" + +#~ msgid ":func:`window_height`" +#~ msgstr ":func:`window_height`" + +#~ msgid ":func:`window_width`" +#~ msgstr ":func:`window_width`" + +#~ msgid ":func:`textinput`" +#~ msgstr ":func:`textinput`" + +#~ msgid ":func:`numinput`" +#~ msgstr ":func:`numinput`" + +#~ msgid "Methods specific to Screen" +#~ msgstr "Spezifische Methoden zum Screen" + +#~ msgid ":func:`bye`" +#~ msgstr ":func:`bye`" + +#~ msgid ":func:`exitonclick`" +#~ msgstr ":func:`exitonclick`" + +#~ msgid ":func:`save`" +#~ msgstr ":func:`save`" + +#~ msgid ":func:`setup`" +#~ msgstr ":func:`setup`" + +#~ msgid ":func:`title`" +#~ msgstr ":func:`title`" + +#~ msgid "Methods of RawTurtle/Turtle and corresponding functions" +#~ msgstr "Methoden von RawTurtle/Turtle und entsprechende Funktionen" + +#~ msgid "a number (integer or float)" +#~ msgstr "eine Zahl (Ganzzahl oder Gleitkommazahl)" + +#~ msgid "" +#~ "Move turtle to an absolute position. If the pen is down, draw line. Do " +#~ "not change the turtle's orientation." +#~ msgstr "" +#~ "Bewege die Turtle zu einer absoluten Position. Wenn der Stift unten ist, " +#~ "zeichne eine Linie. Die Ausrichtung der Turtle wird dabei nicht verändert." + +#~ msgid "a number (or ``None``)" +#~ msgstr "eine Zahl (oder ``None``)" + +#~ msgid "" +#~ "Return the distance from the turtle to (x,y), the given vector, or the " +#~ "given other turtle, in turtle step units." +#~ msgstr "" +#~ "Gib die Entfernung von der Turtle zu (x,y), dem angegebenen Vektor oder " +#~ "der angegebenen anderen Turtle in Turtle-Schrittweiten zurück." + +#~ msgid "" +#~ "Make the turtle invisible. It's a good idea to do this while you're in " +#~ "the middle of doing some complex drawing, because hiding the turtle " +#~ "speeds up the drawing observably." +#~ msgstr "" +#~ "Mache die Turtle unsichtbar. Es ist eine gute Idee, dies während einer " +#~ "komplexen Zeichnung zu tun, da das Verstecken der Turtle das Zeichnen " +#~ "merklich beschleunigt." + +#~ msgid ">>> turtle.hideturtle()" +#~ msgstr ">>> turtle.hideturtle()" + +#~ msgid "" +#~ "Bind *fun* to mouse-click events on this turtle. If *fun* is ``None``, " +#~ "existing bindings are removed. Example for the anonymous turtle, i.e. " +#~ "the procedural way:" +#~ msgstr "" +#~ "Binde *fun* an Mausklick-Ereignisse dieser Turtle. Ist *fun* ``None``, " +#~ "werden bestehende Bindungen entfernt. Beispiel für die anonyme Turtle, d. " +#~ "h. die prozedurale Vorgehensweise:" + +#~ msgid "Methods of TurtleScreen/Screen and corresponding functions" +#~ msgstr "Methoden von TurtleScreen/Screen und entsprechende Funktionen" + +#~ msgid "a number, x-coordinate of lower left corner of canvas" +#~ msgstr "eine Zahl, x-Koordinate der unteren linken Ecke der Zeichenfläche" + +#~ msgid "a number, y-coordinate of lower left corner of canvas" +#~ msgstr "eine Zahl, y-Koordinate der unteren linken Ecke der Zeichenfläche" + +#~ msgid "a number, x-coordinate of upper right corner of canvas" +#~ msgstr "eine Zahl, x-Koordinate der oberen rechten Ecke der Zeichenfläche" + +#~ msgid "a number, y-coordinate of upper right corner of canvas" +#~ msgstr "eine Zahl, y-Koordinate der oberen rechten Ecke der Zeichenfläche" + +#~ msgid "" +#~ "Set up user-defined coordinate system and switch to mode \"world\" if " +#~ "necessary. This performs a ``screen.reset()``. If mode \"world\" is " +#~ "already active, all drawings are redrawn according to the new coordinates." +#~ msgstr "" +#~ "Richte ein benutzerdefiniertes Koordinatensystem ein und wechsle bei " +#~ "Bedarf in den Modus \"world\". Dies führt ein ``screen.reset()`` aus. Ist " +#~ "der Modus \"world\" bereits aktiv, werden alle Zeichnungen entsprechend " +#~ "den neuen Koordinaten neu gezeichnet." + +#~ msgid "" +#~ "**ATTENTION**: in user-defined coordinate systems angles may appear " +#~ "distorted." +#~ msgstr "" +#~ "**ACHTUNG**: In benutzerdefinierten Koordinatensystemen können Winkel " +#~ "verzerrt erscheinen." + +#~ msgid "positive integer" +#~ msgstr "positive Ganzzahl" + +#~ msgid "Optional argument:" +#~ msgstr "Optionales Argument:" + +#~ msgid "nonnegative integer" +#~ msgstr "nichtnegative Ganzzahl" + +#~ msgid "" +#~ "Bind *fun* to mouse-click events on this screen. If *fun* is ``None``, " +#~ "existing bindings are removed." +#~ msgstr "" +#~ "Binde *fun* an Mausklick-Ereignisse auf diesem Screen. Ist *fun* " +#~ "``None``, werden bestehende Bindungen entfernt." + +#~ msgid ">>> screen.mainloop()" +#~ msgstr ">>> screen.mainloop()" + +#~ msgid "one of the strings \"standard\", \"logo\" or \"world\"" +#~ msgstr "eine der Zeichenketten \"standard\", \"logo\" oder \"world\"" + +#~ msgid "one of the values 1.0 or 255" +#~ msgstr "einer der Werte 1.0 oder 255" + +#~ msgid "There are four different ways to call this function:" +#~ msgstr "Es gibt vier verschiedene Möglichkeiten, diese Funktion aufzurufen:" + +#~ msgid "" +#~ "Add a turtle shape to TurtleScreen's shapelist. Only thusly registered " +#~ "shapes can be used by issuing the command ``shape(shapename)``." +#~ msgstr "" +#~ "Füge eine Turtle-Form zur Formenliste des TurtleScreen hinzu. Nur so " +#~ "registrierte Formen können durch den Befehl ``shape(shapename)`` " +#~ "verwendet werden." + +#~ msgid "Methods specific to Screen, not inherited from TurtleScreen" +#~ msgstr "Methoden spezifisch für Screen, nicht von TurtleScreen geerbt" + +#~ msgid "Set title of turtle window to *titlestring*." +#~ msgstr "Setze den Titel des Turtle-Fensters auf *titlestring*." + +#~ msgid "" +#~ "Subclass of TurtleScreen, with :ref:`four methods added `." +#~ msgstr "" +#~ "Unterklasse von TurtleScreen, mit :ref:`vier hinzugefügten Methoden " +#~ "`." + +#~ msgid "one of the strings \"polygon\", \"image\", \"compound\"" +#~ msgstr "eine der Zeichenketten \"polygon\", \"image\", \"compound\"" + +#~ msgid "" +#~ "Data structure modeling shapes. The pair ``(type_, data)`` must follow " +#~ "this specification:" +#~ msgstr "" +#~ "Datenstruktur zur Modellierung von Formen. Das Paar ``(type_, data)`` " +#~ "muss dieser Spezifikation folgen:" + +#~ msgid "*type_*" +#~ msgstr "*type_*" + +#~ msgid "*data*" +#~ msgstr "*data*" + +#~ msgid "\"polygon\"" +#~ msgstr "\"polygon\"" + +#~ msgid "a polygon-tuple, i.e. a tuple of pairs of coordinates" +#~ msgstr "ein Polygon-Tupel, d. h. ein Tupel aus Koordinatenpaaren" + +#~ msgid "\"image\"" +#~ msgstr "\"image\"" + +#~ msgid "an image (in this form only used internally!)" +#~ msgstr "ein Bild (in dieser Form nur intern verwendet!)" + +#~ msgid "\"compound\"" +#~ msgstr "\"compound\"" + +#~ msgid "" +#~ "``None`` (a compound shape has to be constructed using the :meth:" +#~ "`addcomponent` method)" +#~ msgstr "" +#~ "``None`` (eine zusammengesetzte Form muss mit der Methode :meth:" +#~ "`addcomponent` erstellt werden)" + +#~ msgid "a color the *poly* will be filled with" +#~ msgstr "eine Farbe, mit der das *poly* gefüllt wird" + +#~ msgid "a color for the poly's outline (if given)" +#~ msgstr "eine Farbe für den Umriss des poly (falls angegeben)" + +#~ msgid "Help and configuration" +#~ msgstr "Hilfe und Konfiguration" + #~ msgid "Introduction" #~ msgstr "Einführung" diff --git a/library/uuid.po b/library/uuid.po index 538dfd59..6766a878 100644 --- a/library/uuid.po +++ b/library/uuid.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -68,17 +68,18 @@ msgstr "" #: ../../library/uuid.rst:47 msgid "" -"Create a UUID from either a string of 32 hexadecimal digits, a string of 16 " -"bytes in big-endian order as the *bytes* argument, a string of 16 bytes in " -"little-endian order as the *bytes_le* argument, a tuple of six integers (32-" -"bit *time_low*, 16-bit *time_mid*, 16-bit *time_hi_version*, 8-bit " -"*clock_seq_hi_variant*, 8-bit *clock_seq_low*, 48-bit *node*) as the " -"*fields* argument, or a single 128-bit integer as the *int* argument. When a " -"string of hex digits is given, curly braces, hyphens, and a URN prefix are " -"all optional. For example, these expressions all yield the same UUID::" +"Create a UUID from either a string of 32 hexadecimal digits, a 16-byte :" +"class:`bytes` object in big-endian order as the *bytes* argument, a 16-byte :" +"class:`bytes` object in little-endian order as the *bytes_le* argument, a " +"tuple of six integers (32-bit *time_low*, 16-bit *time_mid*, 16-bit " +"*time_hi_version*, 8-bit *clock_seq_hi_variant*, 8-bit *clock_seq_low*, 48-" +"bit *node*) as the *fields* argument, or a single 128-bit integer as the " +"*int* argument. When a string of hex digits is given, curly braces, hyphens, " +"and a URN prefix are all optional. For example, these expressions all yield " +"the same UUID::" msgstr "" -#: ../../library/uuid.rst:57 +#: ../../library/uuid.rst:58 msgid "" "UUID('{12345678-1234-5678-1234-567812345678}')\n" "UUID('12345678123456781234567812345678')\n" @@ -90,7 +91,7 @@ msgid "" "UUID(int=0x12345678123456781234567812345678)" msgstr "" -#: ../../library/uuid.rst:66 +#: ../../library/uuid.rst:67 msgid "" "Exactly one of *hex*, *bytes*, *bytes_le*, *fields*, or *int* must be given. " "The *version* argument is optional; if given, the resulting UUID will have " @@ -98,117 +99,117 @@ msgid "" "in the given *hex*, *bytes*, *bytes_le*, *fields*, or *int*." msgstr "" -#: ../../library/uuid.rst:71 +#: ../../library/uuid.rst:72 msgid "" "Comparison of UUID objects are made by way of comparing their :attr:`UUID." "int` attributes. Comparison with a non-UUID object raises a :exc:" "`TypeError`." msgstr "" -#: ../../library/uuid.rst:75 +#: ../../library/uuid.rst:76 msgid "" "``str(uuid)`` returns a string in the form " "``12345678-1234-5678-1234-567812345678`` where the 32 hexadecimal digits " "represent the UUID." msgstr "" -#: ../../library/uuid.rst:79 +#: ../../library/uuid.rst:80 msgid ":class:`UUID` instances have these read-only attributes:" msgstr "" -#: ../../library/uuid.rst:83 +#: ../../library/uuid.rst:84 msgid "" -"The UUID as a 16-byte string (containing the six integer fields in big-" -"endian byte order)." +"The UUID as a 16-byte :class:`bytes` object (containing the six integer " +"fields in big-endian byte order)." msgstr "" -#: ../../library/uuid.rst:89 +#: ../../library/uuid.rst:90 msgid "" -"The UUID as a 16-byte string (with *time_low*, *time_mid*, and " -"*time_hi_version* in little-endian byte order)." +"The UUID as a 16-byte :class:`bytes` object (with *time_low*, *time_mid*, " +"and *time_hi_version* in little-endian byte order)." msgstr "" -#: ../../library/uuid.rst:95 +#: ../../library/uuid.rst:96 msgid "" "A tuple of the six integer fields of the UUID, which are also available as " "six individual attributes and two derived attributes:" msgstr "" -#: ../../library/uuid.rst:100 +#: ../../library/uuid.rst:101 msgid "Field" msgstr "" -#: ../../library/uuid.rst:101 +#: ../../library/uuid.rst:102 msgid "Meaning" msgstr "Bedeutung" -#: ../../library/uuid.rst:104 +#: ../../library/uuid.rst:105 msgid "The first 32 bits of the UUID. Only relevant to version 1." msgstr "" -#: ../../library/uuid.rst:107 ../../library/uuid.rst:110 +#: ../../library/uuid.rst:108 ../../library/uuid.rst:111 msgid "The next 16 bits of the UUID. Only relevant to version 1." msgstr "" -#: ../../library/uuid.rst:113 ../../library/uuid.rst:116 +#: ../../library/uuid.rst:114 ../../library/uuid.rst:117 msgid "The next 8 bits of the UUID. Only relevant to versions 1 and 6." msgstr "" -#: ../../library/uuid.rst:119 +#: ../../library/uuid.rst:120 msgid "The last 48 bits of the UUID. Only relevant to version 1." msgstr "" -#: ../../library/uuid.rst:122 +#: ../../library/uuid.rst:123 msgid "" "The 60-bit timestamp as a count of 100-nanosecond intervals since Gregorian " "epoch (1582-10-15 00:00:00) for versions 1 and 6, or the 48-bit timestamp in " "milliseconds since Unix epoch (1970-01-01 00:00:00) for version 7." msgstr "" -#: ../../library/uuid.rst:128 +#: ../../library/uuid.rst:129 msgid "The 14-bit sequence number. Only relevant to versions 1 and 6." msgstr "" -#: ../../library/uuid.rst:133 +#: ../../library/uuid.rst:134 msgid "The UUID as a 32-character lowercase hexadecimal string." msgstr "" -#: ../../library/uuid.rst:138 +#: ../../library/uuid.rst:139 msgid "The UUID as a 128-bit integer." msgstr "" -#: ../../library/uuid.rst:143 +#: ../../library/uuid.rst:144 msgid "The UUID as a URN as specified in :rfc:`9562`." msgstr "" -#: ../../library/uuid.rst:148 +#: ../../library/uuid.rst:149 msgid "" "The UUID variant, which determines the internal layout of the UUID. This " "will be one of the constants :const:`RESERVED_NCS`, :const:`RFC_4122`, :" "const:`RESERVED_MICROSOFT`, or :const:`RESERVED_FUTURE`." msgstr "" -#: ../../library/uuid.rst:155 +#: ../../library/uuid.rst:156 msgid "" "The UUID version number (1 through 8, meaningful only when the variant is :" "const:`RFC_4122`)." msgstr "" -#: ../../library/uuid.rst:158 +#: ../../library/uuid.rst:159 msgid "Added UUID versions 6, 7 and 8." msgstr "" -#: ../../library/uuid.rst:164 +#: ../../library/uuid.rst:165 msgid "" "An enumeration of :class:`SafeUUID` which indicates whether the platform " "generated the UUID in a multiprocessing-safe way." msgstr "" -#: ../../library/uuid.rst:169 +#: ../../library/uuid.rst:170 msgid "The :mod:`!uuid` module defines the following functions:" msgstr "" -#: ../../library/uuid.rst:174 +#: ../../library/uuid.rst:175 msgid "" "Get the hardware address as a 48-bit positive integer. The first time this " "runs, it may launch a separate program, which could be quite slow. If all " @@ -221,46 +222,46 @@ msgid "" "locally administered MAC addresses, but with no other ordering guarantees." msgstr "" -#: ../../library/uuid.rst:184 +#: ../../library/uuid.rst:185 msgid "" "Universally administered MAC addresses are preferred over locally " "administered MAC addresses, since the former are guaranteed to be globally " "unique, while the latter are not." msgstr "" -#: ../../library/uuid.rst:194 +#: ../../library/uuid.rst:195 msgid "" "Generate a UUID from a host ID, sequence number, and the current time " "according to :rfc:`RFC 9562, §5.1 <9562#section-5.1>`." msgstr "" -#: ../../library/uuid.rst:197 ../../library/uuid.rst:234 +#: ../../library/uuid.rst:198 ../../library/uuid.rst:235 msgid "" "When *node* is not specified, :func:`getnode` is used to obtain the hardware " "address as a 48-bit positive integer. When a sequence number *clock_seq* is " "not specified, a pseudo-random 14-bit positive integer is generated." msgstr "" -#: ../../library/uuid.rst:201 ../../library/uuid.rst:238 +#: ../../library/uuid.rst:202 ../../library/uuid.rst:239 msgid "" "If *node* or *clock_seq* exceed their expected bit count, only their least " "significant bits are kept." msgstr "" -#: ../../library/uuid.rst:207 +#: ../../library/uuid.rst:208 msgid "" "Generate a UUID based on the MD5 hash of a namespace identifier (which is a " "UUID) and a name (which is a :class:`bytes` object or a string that will be " "encoded using UTF-8) according to :rfc:`RFC 9562, §5.3 <9562#section-5.3>`." msgstr "" -#: ../../library/uuid.rst:215 +#: ../../library/uuid.rst:216 msgid "" "Generate a random UUID in a cryptographically-secure method according to :" "rfc:`RFC 9562, §5.4 <9562#section-5.4>`." msgstr "" -#: ../../library/uuid.rst:221 +#: ../../library/uuid.rst:222 msgid "" "Generate a UUID based on the SHA-1 hash of a namespace identifier (which is " "a UUID) and a name (which is a :class:`bytes` object or a string that will " @@ -268,36 +269,36 @@ msgid "" "<9562#section-5.5>`." msgstr "" -#: ../../library/uuid.rst:229 +#: ../../library/uuid.rst:230 msgid "" "Generate a UUID from a sequence number and the current time according to :" "rfc:`RFC 9562, §5.6 <9562#section-5.6>`." msgstr "" -#: ../../library/uuid.rst:232 +#: ../../library/uuid.rst:233 msgid "This is an alternative to :func:`uuid1` to improve database locality." msgstr "" -#: ../../library/uuid.rst:246 +#: ../../library/uuid.rst:247 msgid "" "Generate a time-based UUID according to :rfc:`RFC 9562, §5.7 " "<9562#section-5.7>`." msgstr "" -#: ../../library/uuid.rst:249 +#: ../../library/uuid.rst:250 msgid "" "For portability across platforms lacking sub-millisecond precision, UUIDs " "produced by this function embed a 48-bit timestamp and use a 42-bit counter " "to guarantee monotonicity within a millisecond." msgstr "" -#: ../../library/uuid.rst:258 +#: ../../library/uuid.rst:259 msgid "" "Generate a pseudo-random UUID according to :rfc:`RFC 9562, §5.8 " "<9562#section-5.8>`." msgstr "" -#: ../../library/uuid.rst:261 +#: ../../library/uuid.rst:262 msgid "" "When specified, the parameters *a*, *b* and *c* are expected to be positive " "integers of 48, 12 and 62 bits respectively. If they exceed their expected " @@ -305,124 +306,124 @@ msgid "" "arguments are substituted for a pseudo-random integer of appropriate size." msgstr "" -#: ../../library/uuid.rst:267 +#: ../../library/uuid.rst:268 msgid "" "By default, *a*, *b* and *c* are not generated by a cryptographically secure " "pseudo-random number generator (CSPRNG). Use :func:`uuid4` when a UUID needs " "to be used in a security-sensitive context." msgstr "" -#: ../../library/uuid.rst:274 +#: ../../library/uuid.rst:275 msgid "" "The :mod:`!uuid` module defines the following namespace identifiers for use " "with :func:`uuid3` or :func:`uuid5`." msgstr "" -#: ../../library/uuid.rst:280 +#: ../../library/uuid.rst:281 msgid "" "When this namespace is specified, the *name* string is a fully qualified " "domain name." msgstr "" -#: ../../library/uuid.rst:286 +#: ../../library/uuid.rst:287 msgid "When this namespace is specified, the *name* string is a URL." msgstr "" -#: ../../library/uuid.rst:291 +#: ../../library/uuid.rst:292 msgid "When this namespace is specified, the *name* string is an ISO OID." msgstr "" -#: ../../library/uuid.rst:296 +#: ../../library/uuid.rst:297 msgid "" "When this namespace is specified, the *name* string is an X.500 DN in DER or " "a text output format." msgstr "" -#: ../../library/uuid.rst:299 +#: ../../library/uuid.rst:300 msgid "" "The :mod:`!uuid` module defines the following constants for the possible " "values of the :attr:`~UUID.variant` attribute:" msgstr "" -#: ../../library/uuid.rst:305 +#: ../../library/uuid.rst:306 msgid "Reserved for NCS compatibility." msgstr "" -#: ../../library/uuid.rst:310 +#: ../../library/uuid.rst:311 msgid "" "Specifies the UUID layout given in :rfc:`4122`. This constant is kept for " "backward compatibility even though :rfc:`4122` has been superseded by :rfc:" "`9562`." msgstr "" -#: ../../library/uuid.rst:317 +#: ../../library/uuid.rst:318 msgid "Reserved for Microsoft compatibility." msgstr "" -#: ../../library/uuid.rst:322 +#: ../../library/uuid.rst:323 msgid "Reserved for future definition." msgstr "" -#: ../../library/uuid.rst:325 +#: ../../library/uuid.rst:326 msgid "The :mod:`!uuid` module defines the special Nil and Max UUID values:" msgstr "" -#: ../../library/uuid.rst:330 +#: ../../library/uuid.rst:331 msgid "" "A special form of UUID that is specified to have all 128 bits set to zero " "according to :rfc:`RFC 9562, §5.9 <9562#section-5.9>`." msgstr "" -#: ../../library/uuid.rst:338 +#: ../../library/uuid.rst:339 msgid "" "A special form of UUID that is specified to have all 128 bits set to one " "according to :rfc:`RFC 9562, §5.10 <9562#section-5.10>`." msgstr "" -#: ../../library/uuid.rst:346 +#: ../../library/uuid.rst:347 msgid ":rfc:`9562` - A Universally Unique IDentifier (UUID) URN Namespace" msgstr "" -#: ../../library/uuid.rst:347 +#: ../../library/uuid.rst:348 msgid "" "This specification defines a Uniform Resource Name namespace for UUIDs, the " "internal format of UUIDs, and methods of generating UUIDs." msgstr "" -#: ../../library/uuid.rst:354 +#: ../../library/uuid.rst:355 msgid "Command-Line Usage" msgstr "" -#: ../../library/uuid.rst:358 +#: ../../library/uuid.rst:359 msgid "" "The :mod:`!uuid` module can be executed as a script from the command line." msgstr "" -#: ../../library/uuid.rst:360 +#: ../../library/uuid.rst:361 msgid "" "python -m uuid [-h] [-u {uuid1,uuid3,uuid4,uuid5,uuid6,uuid7,uuid8}] [-n " "NAMESPACE] [-N NAME]" msgstr "" -#: ../../library/uuid.rst:364 +#: ../../library/uuid.rst:365 msgid "The following options are accepted:" msgstr "" -#: ../../library/uuid.rst:370 +#: ../../library/uuid.rst:371 msgid "Show the help message and exit." msgstr "" -#: ../../library/uuid.rst:375 +#: ../../library/uuid.rst:376 msgid "" "Specify the function name to use to generate the uuid. By default :func:" "`uuid4` is used." msgstr "" -#: ../../library/uuid.rst:378 +#: ../../library/uuid.rst:379 msgid "Allow generating UUID versions 6, 7 and 8." msgstr "" -#: ../../library/uuid.rst:384 +#: ../../library/uuid.rst:385 msgid "" "The namespace is a ``UUID``, or ``@ns`` where ``ns`` is a well-known " "predefined UUID addressed by namespace name. Such as ``@dns``, ``@url``, " @@ -430,25 +431,25 @@ msgid "" "functions." msgstr "" -#: ../../library/uuid.rst:391 +#: ../../library/uuid.rst:392 msgid "" "The name used as part of generating the uuid. Only required for :func:" "`uuid3` / :func:`uuid5` functions." msgstr "" -#: ../../library/uuid.rst:397 +#: ../../library/uuid.rst:398 msgid "Generate *num* fresh UUIDs." msgstr "" -#: ../../library/uuid.rst:405 +#: ../../library/uuid.rst:406 msgid "Example" msgstr "" -#: ../../library/uuid.rst:407 +#: ../../library/uuid.rst:408 msgid "Here are some examples of typical usage of the :mod:`!uuid` module::" msgstr "" -#: ../../library/uuid.rst:409 +#: ../../library/uuid.rst:410 msgid "" ">>> import uuid\n" "\n" @@ -479,7 +480,7 @@ msgid "" ">>> x.bytes\n" "b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f'\n" "\n" -">>> # make a UUID from a 16-byte string\n" +">>> # make a UUID from a 16-byte bytes object\n" ">>> uuid.UUID(bytes=x.bytes)\n" "UUID('00010203-0405-0607-0809-0a0b0c0d0e0f')\n" "\n" @@ -510,17 +511,17 @@ msgid "" "UUID('00001234-5678-8ef0-8000-000011223344')" msgstr "" -#: ../../library/uuid.rst:472 +#: ../../library/uuid.rst:473 msgid "Command-Line Example" msgstr "" -#: ../../library/uuid.rst:474 +#: ../../library/uuid.rst:475 msgid "" "Here are some examples of typical usage of the :mod:`!uuid` command-line " "interface:" msgstr "" -#: ../../library/uuid.rst:476 +#: ../../library/uuid.rst:477 msgid "" "# generate a random UUID - by default uuid4() is used\n" "$ python -m uuid\n" diff --git a/library/xml.etree.elementtree.po b/library/xml.etree.elementtree.po index e06f3696..339ab55f 100644 --- a/library/xml.etree.elementtree.po +++ b/library/xml.etree.elementtree.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -574,7 +574,7 @@ msgid "" msgstr "" #: ../../library/xml.etree.elementtree.rst:409 -#: ../../library/xml.etree.elementtree.rst:822 +#: ../../library/xml.etree.elementtree.rst:821 msgid "Example" msgstr "" @@ -788,12 +788,12 @@ msgid "" msgstr "" #: ../../library/xml.etree.elementtree.rst:525 -#: ../../library/xml.etree.elementtree.rst:874 +#: ../../library/xml.etree.elementtree.rst:873 msgid "Reference" msgstr "" #: ../../library/xml.etree.elementtree.rst:530 -#: ../../library/xml.etree.elementtree.rst:879 +#: ../../library/xml.etree.elementtree.rst:878 msgid "Functions" msgstr "Funktionen" @@ -890,13 +890,12 @@ msgstr "" #: ../../library/xml.etree.elementtree.rst:582 msgid "" "Comment element factory. This factory function creates a special element " -"that will be serialized as an XML comment by the standard serializer. The " -"comment string can be either a bytestring or a Unicode string. *text* is a " -"string containing the comment string. Returns an element instance " +"that will be serialized as an XML comment by the standard serializer. *text* " +"is a string containing the comment string. Returns an element instance " "representing a comment." msgstr "" -#: ../../library/xml.etree.elementtree.rst:588 +#: ../../library/xml.etree.elementtree.rst:587 msgid "" "Note that :class:`XMLParser` skips over comments in the input instead of " "creating comment objects for them. An :class:`ElementTree` will only contain " @@ -904,29 +903,29 @@ msgid "" "class:`Element` methods." msgstr "" -#: ../../library/xml.etree.elementtree.rst:595 +#: ../../library/xml.etree.elementtree.rst:594 msgid "" "Writes an element tree or element structure to sys.stdout. This function " "should be used for debugging only." msgstr "" -#: ../../library/xml.etree.elementtree.rst:598 +#: ../../library/xml.etree.elementtree.rst:597 msgid "" "The exact output format is implementation dependent. In this version, it's " "written as an ordinary XML file." msgstr "" -#: ../../library/xml.etree.elementtree.rst:601 +#: ../../library/xml.etree.elementtree.rst:600 msgid "*elem* is an element tree or an individual element." msgstr "" -#: ../../library/xml.etree.elementtree.rst:603 +#: ../../library/xml.etree.elementtree.rst:602 msgid "" "The :func:`dump` function now preserves the attribute order specified by the " "user." msgstr "" -#: ../../library/xml.etree.elementtree.rst:610 +#: ../../library/xml.etree.elementtree.rst:609 msgid "" "Parses an XML section from a string constant. Same as :func:`XML`. *text* " "is a string containing XML data. *parser* is an optional parser instance. " @@ -934,7 +933,7 @@ msgid "" "class:`Element` instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:618 +#: ../../library/xml.etree.elementtree.rst:617 msgid "" "Parses an XML document from a sequence of string fragments. *sequence* is a " "list or other sequence containing XML data fragments. *parser* is an " @@ -942,7 +941,7 @@ msgid "" "parser is used. Returns an :class:`Element` instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:628 +#: ../../library/xml.etree.elementtree.rst:627 msgid "" "Appends whitespace to the subtree to indent the tree visually. This can be " "used to generate pretty-printed XML output. *tree* can be an Element or " @@ -952,13 +951,13 @@ msgid "" "indentation level as *level*." msgstr "" -#: ../../library/xml.etree.elementtree.rst:640 +#: ../../library/xml.etree.elementtree.rst:639 msgid "" "Check if an object appears to be a valid element object. *element* is an " "element instance. Return ``True`` if this is an element object." msgstr "" -#: ../../library/xml.etree.elementtree.rst:646 +#: ../../library/xml.etree.elementtree.rst:645 msgid "" "Parses an XML section into an element tree incrementally, and reports what's " "going on to the user. *source* is a filename or :term:`file object` " @@ -967,13 +966,13 @@ msgid "" "``\"comment\"``, ``\"pi\"``, ``\"start-ns\"`` and ``\"end-ns\"`` (the \"ns\" " "events are used to get detailed namespace information). If *events* is " "omitted, only ``\"end\"`` events are reported. *parser* is an optional " -"parser instance. If not given, the standard :class:`XMLParser` parser is " -"used. *parser* must be a subclass of :class:`XMLParser` and can only use " -"the default :class:`TreeBuilder` as a target. Returns an :term:`iterator` " -"providing ``(event, elem)`` pairs; it has a ``root`` attribute that " -"references the root element of the resulting XML tree once *source* is fully " -"read. The iterator has the :meth:`!close` method that closes the internal " -"file object if *source* is a filename." +"parser instance. If not given, the standard :class:`XMLParser` parser is " +"used. *parser* must be an instance of :class:`XMLParser` or its subclass and " +"can only use the default :class:`TreeBuilder` as a target. Returns an :term:" +"`iterator` providing ``(event, elem)`` pairs; it has a ``root`` attribute " +"that references the root element of the resulting XML tree once *source* is " +"fully read. The iterator has the :meth:`!close` method that closes the " +"internal file object if *source* is a filename." msgstr "" #: ../../library/xml.etree.elementtree.rst:662 @@ -1001,7 +1000,7 @@ msgid "" msgstr "" #: ../../library/xml.etree.elementtree.rst:679 -#: ../../library/xml.etree.elementtree.rst:1568 +#: ../../library/xml.etree.elementtree.rst:1577 msgid "If you need a fully populated element, look for \"end\" events instead." msgstr "" @@ -1010,7 +1009,7 @@ msgid "The *parser* argument." msgstr "" #: ../../library/xml.etree.elementtree.rst:684 -#: ../../library/xml.etree.elementtree.rst:1572 +#: ../../library/xml.etree.elementtree.rst:1581 msgid "The ``comment`` and ``pi`` events were added." msgstr "" @@ -1065,23 +1064,22 @@ msgstr "" #: ../../library/xml.etree.elementtree.rst:732 msgid "" -"The element name, attribute names, and attribute values can be either " -"bytestrings or Unicode strings. *parent* is the parent element. *tag* is " -"the subelement name. *attrib* is an optional dictionary, containing element " -"attributes. *extra* contains additional attributes, given as keyword " -"arguments. Returns an element instance." +"*parent* is the parent element. *tag* is the subelement name. *attrib* is " +"an optional dictionary, containing element attributes. *extra* contains " +"additional attributes, given as keyword arguments. Returns an element " +"instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:738 -#: ../../library/xml.etree.elementtree.rst:929 +#: ../../library/xml.etree.elementtree.rst:737 +#: ../../library/xml.etree.elementtree.rst:939 msgid "*attrib* can now be a :class:`frozendict`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:741 +#: ../../library/xml.etree.elementtree.rst:740 msgid "*parent* and *tag* are now positional-only parameters." msgstr "" -#: ../../library/xml.etree.elementtree.rst:749 +#: ../../library/xml.etree.elementtree.rst:748 msgid "" "Generates a string representation of an XML element, including all " "subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is " @@ -1093,24 +1091,24 @@ msgid "" "Returns an (optionally) encoded string containing the XML data." msgstr "" -#: ../../library/xml.etree.elementtree.rst:758 -#: ../../library/xml.etree.elementtree.rst:785 -#: ../../library/xml.etree.elementtree.rst:1245 +#: ../../library/xml.etree.elementtree.rst:757 +#: ../../library/xml.etree.elementtree.rst:784 +#: ../../library/xml.etree.elementtree.rst:1253 msgid "Added the *short_empty_elements* parameter." msgstr "" -#: ../../library/xml.etree.elementtree.rst:761 -#: ../../library/xml.etree.elementtree.rst:788 +#: ../../library/xml.etree.elementtree.rst:760 +#: ../../library/xml.etree.elementtree.rst:787 msgid "Added the *xml_declaration* and *default_namespace* parameters." msgstr "" -#: ../../library/xml.etree.elementtree.rst:764 +#: ../../library/xml.etree.elementtree.rst:763 msgid "" "The :func:`tostring` function now preserves the attribute order specified by " "the user." msgstr "" -#: ../../library/xml.etree.elementtree.rst:773 +#: ../../library/xml.etree.elementtree.rst:772 msgid "" "Generates a string representation of an XML element, including all " "subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is " @@ -1124,13 +1122,13 @@ msgid "" "join(tostringlist(element)) == tostring(element)``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:791 +#: ../../library/xml.etree.elementtree.rst:790 msgid "" "The :func:`tostringlist` function now preserves the attribute order " "specified by the user." msgstr "" -#: ../../library/xml.etree.elementtree.rst:798 +#: ../../library/xml.etree.elementtree.rst:797 msgid "" "Parses an XML section from a string constant. This function can be used to " "embed \"XML literals\" in Python code. *text* is a string containing XML " @@ -1138,7 +1136,7 @@ msgid "" "class:`XMLParser` parser is used. Returns an :class:`Element` instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:806 +#: ../../library/xml.etree.elementtree.rst:805 msgid "" "Parses an XML section from a string constant, and also returns a dictionary " "which maps from element id:s to elements. *text* is a string containing XML " @@ -1147,11 +1145,11 @@ msgid "" "`Element` instance and a dictionary." msgstr "" -#: ../../library/xml.etree.elementtree.rst:816 +#: ../../library/xml.etree.elementtree.rst:815 msgid "XInclude support" msgstr "" -#: ../../library/xml.etree.elementtree.rst:818 +#: ../../library/xml.etree.elementtree.rst:817 msgid "" "This module provides limited support for `XInclude directives `_, via the :mod:`xml.etree.ElementInclude` helper " @@ -1159,7 +1157,7 @@ msgid "" "element trees, based on information in the tree." msgstr "" -#: ../../library/xml.etree.elementtree.rst:824 +#: ../../library/xml.etree.elementtree.rst:823 msgid "" "Here's an example that demonstrates use of the XInclude module. To include " "an XML document in the current document, use the ``{http://www.w3.org/2001/" @@ -1167,7 +1165,7 @@ msgid "" "and use the **href** attribute to specify the document to include." msgstr "" -#: ../../library/xml.etree.elementtree.rst:826 +#: ../../library/xml.etree.elementtree.rst:825 msgid "" "\n" "\n" @@ -1175,20 +1173,20 @@ msgid "" "" msgstr "" -#: ../../library/xml.etree.elementtree.rst:833 +#: ../../library/xml.etree.elementtree.rst:832 msgid "" "By default, the **href** attribute is treated as a file name. You can use " "custom loaders to override this behaviour. Also note that the standard " "helper does not support XPointer syntax." msgstr "" -#: ../../library/xml.etree.elementtree.rst:835 +#: ../../library/xml.etree.elementtree.rst:834 msgid "" "To process this file, load it as usual, and pass the root element to the :" "mod:`!xml.etree.ElementTree` module:" msgstr "" -#: ../../library/xml.etree.elementtree.rst:837 +#: ../../library/xml.etree.elementtree.rst:836 msgid "" "from xml.etree import ElementTree, ElementInclude\n" "\n" @@ -1198,33 +1196,33 @@ msgid "" "ElementInclude.include(root)" msgstr "" -#: ../../library/xml.etree.elementtree.rst:846 +#: ../../library/xml.etree.elementtree.rst:845 msgid "" "The ElementInclude module replaces the ``{http://www.w3.org/2001/XInclude}" "include`` element with the root element from the **source.xml** document. " "The result might look something like this:" msgstr "" -#: ../../library/xml.etree.elementtree.rst:848 +#: ../../library/xml.etree.elementtree.rst:847 msgid "" "\n" " This is a paragraph.\n" "" msgstr "" -#: ../../library/xml.etree.elementtree.rst:854 +#: ../../library/xml.etree.elementtree.rst:853 msgid "" "If the **parse** attribute is omitted, it defaults to \"xml\". The href " "attribute is required." msgstr "" -#: ../../library/xml.etree.elementtree.rst:856 +#: ../../library/xml.etree.elementtree.rst:855 msgid "" "To include a text document, use the ``{http://www.w3.org/2001/XInclude}" "include`` element, and set the **parse** attribute to \"text\":" msgstr "" -#: ../../library/xml.etree.elementtree.rst:858 +#: ../../library/xml.etree.elementtree.rst:857 msgid "" "\n" "\n" @@ -1232,18 +1230,18 @@ msgid "" "" msgstr "" -#: ../../library/xml.etree.elementtree.rst:865 +#: ../../library/xml.etree.elementtree.rst:864 msgid "The result might look something like:" msgstr "" -#: ../../library/xml.etree.elementtree.rst:867 +#: ../../library/xml.etree.elementtree.rst:866 msgid "" "\n" " Copyright (c) 2003.\n" "" msgstr "" -#: ../../library/xml.etree.elementtree.rst:885 +#: ../../library/xml.etree.elementtree.rst:884 msgid "" "Default loader. This default loader reads an included resource from disk. " "*href* is a URL. *parse* is for parse mode either \"xml\" or \"text\". " @@ -1254,7 +1252,7 @@ msgid "" "``None`` or raise an exception." msgstr "" -#: ../../library/xml.etree.elementtree.rst:896 +#: ../../library/xml.etree.elementtree.rst:895 msgid "" "This function expands XInclude directives in-place in tree pointed by " "*elem*. *elem* is either the root :class:`~xml.etree.ElementTree.Element` or " @@ -1267,39 +1265,51 @@ msgid "" "malicious content explosion. Pass ``None`` to disable the limitation." msgstr "" -#: ../../library/xml.etree.elementtree.rst:906 +#: ../../library/xml.etree.elementtree.rst:905 msgid "Added the *base_url* and *max_depth* parameters." msgstr "" -#: ../../library/xml.etree.elementtree.rst:913 +#: ../../library/xml.etree.elementtree.rst:912 msgid "Element Objects" msgstr "" -#: ../../library/xml.etree.elementtree.rst:921 +#: ../../library/xml.etree.elementtree.rst:920 msgid "" "Element class. This class defines the Element interface, and provides a " "reference implementation of this interface." msgstr "" -#: ../../library/xml.etree.elementtree.rst:924 +#: ../../library/xml.etree.elementtree.rst:923 msgid "" -"The element name, attribute names, and attribute values can be either " -"bytestrings or Unicode strings. *tag* is the element name. *attrib* is an " -"optional dictionary, containing element attributes. *extra* contains " -"additional attributes, given as keyword arguments." +"*tag* is the element name. *attrib* is an optional dictionary, containing " +"element attributes. *extra* contains additional attributes, given as " +"keyword arguments." msgstr "" -#: ../../library/xml.etree.elementtree.rst:932 +#: ../../library/xml.etree.elementtree.rst:927 +msgid "" +"The element name and the attribute names and values are strings or :class:" +"`QName` instances, and the text and the tail are strings or ``None``. The " +"element name can also be :func:`Comment` or :func:`ProcessingInstruction`, " +"which are used for special elements. If it is ``None``, the element itself " +"is not serialized: only its text and its children are written, and its " +"attributes are ignored. This can be used for a fragment which contains " +"several elements. With ``method=\"html\"`` the attribute value can also be " +"``None``, which produces an empty attribute (such as ``checked``). Other " +"objects can be stored in the tree, but they cannot be serialized." +msgstr "" + +#: ../../library/xml.etree.elementtree.rst:942 msgid "*tag* is now a positional-only parameter." msgstr "" -#: ../../library/xml.etree.elementtree.rst:938 +#: ../../library/xml.etree.elementtree.rst:948 msgid "" "A string identifying what kind of data this element represents (the element " "type, in other words)." msgstr "" -#: ../../library/xml.etree.elementtree.rst:945 +#: ../../library/xml.etree.elementtree.rst:955 msgid "" "These attributes can be used to hold additional data associated with the " "element. Their values are usually strings but may be any application-" @@ -1310,11 +1320,11 @@ msgid "" "the XML data" msgstr "" -#: ../../library/xml.etree.elementtree.rst:953 +#: ../../library/xml.etree.elementtree.rst:963 msgid "1234" msgstr "" -#: ../../library/xml.etree.elementtree.rst:957 +#: ../../library/xml.etree.elementtree.rst:967 msgid "" "the *a* element has ``None`` for both *text* and *tail* attributes, the *b* " "element has *text* ``\"1\"`` and *tail* ``\"4\"``, the *c* element has " @@ -1322,17 +1332,17 @@ msgid "" "``None`` and *tail* ``\"3\"``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:962 +#: ../../library/xml.etree.elementtree.rst:972 msgid "" "To collect the inner text of an element, see :meth:`itertext`, for example " "``\"\".join(element.itertext())``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:965 +#: ../../library/xml.etree.elementtree.rst:975 msgid "Applications may store arbitrary objects in these attributes." msgstr "" -#: ../../library/xml.etree.elementtree.rst:970 +#: ../../library/xml.etree.elementtree.rst:980 msgid "" "A dictionary containing the element's attributes. Note that while the " "*attrib* value is always a real mutable Python dictionary, an ElementTree " @@ -1341,59 +1351,55 @@ msgid "" "implementations, use the dictionary methods below whenever possible." msgstr "" -#: ../../library/xml.etree.elementtree.rst:976 +#: ../../library/xml.etree.elementtree.rst:986 msgid "The following dictionary-like methods work on the element attributes." msgstr "" -#: ../../library/xml.etree.elementtree.rst:981 +#: ../../library/xml.etree.elementtree.rst:991 msgid "" "Resets an element. This function removes all subelements, clears all " "attributes, and sets the text and tail attributes to ``None``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:987 +#: ../../library/xml.etree.elementtree.rst:997 msgid "Gets the element attribute named *key*." msgstr "" -#: ../../library/xml.etree.elementtree.rst:989 +#: ../../library/xml.etree.elementtree.rst:999 msgid "" "Returns the attribute value, or *default* if the attribute was not found." msgstr "" -#: ../../library/xml.etree.elementtree.rst:994 -msgid "" -"Returns the element attributes as a sequence of (name, value) pairs. The " -"attributes are returned in an arbitrary order." +#: ../../library/xml.etree.elementtree.rst:1004 +msgid "Returns the element attributes as (name, value) pairs." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1000 -msgid "" -"Returns the elements attribute names as a list. The names are returned in " -"an arbitrary order." +#: ../../library/xml.etree.elementtree.rst:1009 +msgid "Returns the element attribute names." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1006 +#: ../../library/xml.etree.elementtree.rst:1014 msgid "Set the attribute *key* on the element to *value*." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1008 +#: ../../library/xml.etree.elementtree.rst:1016 msgid "The following methods work on the element's children (subelements)." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1013 +#: ../../library/xml.etree.elementtree.rst:1021 msgid "" "Adds the element *subelement* to the end of this element's internal list of " "subelements. Raises :exc:`TypeError` if *subelement* is not an :class:" "`Element`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1020 +#: ../../library/xml.etree.elementtree.rst:1028 msgid "" "Appends *subelements* from an iterable of elements. Raises :exc:`TypeError` " "if a subelement is not an :class:`Element`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1028 +#: ../../library/xml.etree.elementtree.rst:1036 msgid "" "Finds the first subelement matching *match*. *match* may be a tag name or " "a :ref:`path `. Returns an element instance or " @@ -1402,7 +1408,7 @@ msgid "" "expression into the given namespace." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1037 +#: ../../library/xml.etree.elementtree.rst:1045 msgid "" "Finds all matching subelements, by tag name or :ref:`path `. Returns a list containing all matching elements in document " @@ -1411,7 +1417,7 @@ msgid "" "expression into the given namespace." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1046 +#: ../../library/xml.etree.elementtree.rst:1054 msgid "" "Finds text for the first subelement matching *match*. *match* may be a tag " "name or a :ref:`path `. Returns the text content of the " @@ -1422,13 +1428,13 @@ msgid "" "into the given namespace." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1057 +#: ../../library/xml.etree.elementtree.rst:1065 msgid "" "Inserts *subelement* at the given position in this element. Raises :exc:" "`TypeError` if *subelement* is not an :class:`Element`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1063 +#: ../../library/xml.etree.elementtree.rst:1071 msgid "" "Creates a tree :term:`iterator` with the current element as the root. The " "iterator iterates over this element and all elements below it, in document " @@ -1437,7 +1443,7 @@ msgid "" "structure is modified during iteration, the result is undefined." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1074 +#: ../../library/xml.etree.elementtree.rst:1082 msgid "" "Finds all matching subelements, by tag name or :ref:`path `. Returns an iterable yielding all matching elements in document " @@ -1445,33 +1451,33 @@ msgid "" "name." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1085 +#: ../../library/xml.etree.elementtree.rst:1093 msgid "" "Creates a text iterator. The iterator loops over this element and all " "subelements, in document order, and returns all inner text." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1093 +#: ../../library/xml.etree.elementtree.rst:1101 msgid "" "Creates a new element object of the same type as this element. Do not call " "this method, use the :func:`SubElement` factory function instead." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1099 +#: ../../library/xml.etree.elementtree.rst:1107 msgid "" "Removes *subelement* from the element. Unlike the find\\* methods this " "method compares elements based on the instance identity, not on tag value or " "contents." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1103 +#: ../../library/xml.etree.elementtree.rst:1111 msgid "" ":class:`Element` objects also support the following sequence type methods " "for working with subelements: :meth:`~object.__delitem__`, :meth:`~object." "__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__len__`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1108 +#: ../../library/xml.etree.elementtree.rst:1116 msgid "" "Caution: Elements with no subelements will test as ``False``. In a future " "release of Python, all elements will test as ``True`` regardless of whether " @@ -1479,7 +1485,7 @@ msgid "" "None`` tests.::" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1113 +#: ../../library/xml.etree.elementtree.rst:1121 msgid "" "element = root.find('foo')\n" "\n" @@ -1490,11 +1496,11 @@ msgid "" " print(\"element not found\")" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1121 +#: ../../library/xml.etree.elementtree.rst:1129 msgid "Testing the truth value of an Element emits :exc:`DeprecationWarning`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1124 +#: ../../library/xml.etree.elementtree.rst:1132 msgid "" "Prior to Python 3.8, the serialisation order of the XML attributes of " "elements was artificially made predictable by sorting the attributes by " @@ -1503,7 +1509,7 @@ msgid "" "attributes were originally parsed or created by user code." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1130 +#: ../../library/xml.etree.elementtree.rst:1138 msgid "" "In general, user code should try not to depend on a specific ordering of " "attributes, given that the `XML Information Set \n" " \n" @@ -1643,13 +1649,13 @@ msgid "" "" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1265 +#: ../../library/xml.etree.elementtree.rst:1273 msgid "" "Example of changing the attribute \"target\" of every link in first " "paragraph::" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1267 +#: ../../library/xml.etree.elementtree.rst:1275 msgid "" ">>> from xml.etree.ElementTree import ElementTree\n" ">>> tree = ElementTree()\n" @@ -1667,11 +1673,11 @@ msgid "" ">>> tree.write(\"output.xhtml\")" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1285 +#: ../../library/xml.etree.elementtree.rst:1293 msgid "QName Objects" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1290 +#: ../../library/xml.etree.elementtree.rst:1298 msgid "" "QName wrapper. This can be used to wrap a QName attribute value, in order " "to get proper namespace handling on output. *text_or_uri* is a string " @@ -1681,11 +1687,11 @@ msgid "" "class:`QName` instances are opaque." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1302 +#: ../../library/xml.etree.elementtree.rst:1310 msgid "TreeBuilder Objects" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1308 +#: ../../library/xml.etree.elementtree.rst:1316 msgid "" "Generic element structure builder. This builder converts a sequence of " "start, data, end, comment and pi method calls to a well-formed element " @@ -1693,14 +1699,14 @@ msgid "" "custom XML parser, or a parser for some other XML-like format." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1313 +#: ../../library/xml.etree.elementtree.rst:1321 msgid "" "*element_factory*, when given, must be a callable accepting two positional " "arguments: a tag and a dict of attributes. It is expected to return a new " "element instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1317 +#: ../../library/xml.etree.elementtree.rst:1325 msgid "" "The *comment_factory* and *pi_factory* functions, when given, should behave " "like the :func:`Comment` and :func:`ProcessingInstruction` functions to " @@ -1710,56 +1716,54 @@ msgid "" "element (but not outside of it)." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1326 +#: ../../library/xml.etree.elementtree.rst:1334 msgid "" "Flushes the builder buffers, and returns the toplevel document element. " "Returns an :class:`Element` instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1332 -msgid "" -"Adds text to the current element. *data* is a string. This should be " -"either a bytestring, or a Unicode string." +#: ../../library/xml.etree.elementtree.rst:1340 +msgid "Adds text to the current element. *data* is a string." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1338 +#: ../../library/xml.etree.elementtree.rst:1345 msgid "" "Closes the current element. *tag* is the element name. Returns the closed " "element." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1344 +#: ../../library/xml.etree.elementtree.rst:1351 msgid "" "Opens a new element. *tag* is the element name. *attrs* is a dictionary " "containing element attributes. Returns the opened element." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1350 +#: ../../library/xml.etree.elementtree.rst:1357 msgid "" "Creates a comment with the given *text*. If ``insert_comments`` is true, " "this will also add it to the tree." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1358 +#: ../../library/xml.etree.elementtree.rst:1365 msgid "" "Creates a process instruction with the given *target* name and *text*. If " "``insert_pis`` is true, this will also add it to the tree." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1364 +#: ../../library/xml.etree.elementtree.rst:1371 msgid "" "In addition, a custom :class:`TreeBuilder` object can provide the following " "methods:" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1369 +#: ../../library/xml.etree.elementtree.rst:1376 msgid "" "Handles a doctype declaration. *name* is the doctype name. *pubid* is the " "public identifier. *system* is the system identifier. This method does not " "exist on the default :class:`TreeBuilder` class." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1377 +#: ../../library/xml.etree.elementtree.rst:1384 msgid "" "Is called whenever the parser encounters a new namespace declaration, before " "the ``start()`` callback for the opening element that defines it. *prefix* " @@ -1767,14 +1771,14 @@ msgid "" "otherwise. *uri* is the namespace URI." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1386 +#: ../../library/xml.etree.elementtree.rst:1393 msgid "" "Is called after the ``end()`` callback of an element that declared a " "namespace prefix mapping, with the name of the *prefix* that went out of " "scope." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1398 +#: ../../library/xml.etree.elementtree.rst:1405 msgid "" "A `C14N 2.0 `_ writer. Arguments are the " "same as for the :func:`canonicalize` function. This class does not build a " @@ -1782,11 +1786,11 @@ msgid "" "using the *write* function." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1409 +#: ../../library/xml.etree.elementtree.rst:1416 msgid "XMLParser Objects" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1414 +#: ../../library/xml.etree.elementtree.rst:1421 msgid "" "This class is the low-level building block of the module. It uses :mod:`xml." "parsers.expat` for efficient, event-based parsing of XML. It can be fed XML " @@ -1797,25 +1801,27 @@ msgid "" "XML file." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1422 +#: ../../library/xml.etree.elementtree.rst:1429 msgid "" "Parameters are now :ref:`keyword-only `. The *html* " "argument is no longer supported." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1429 +#: ../../library/xml.etree.elementtree.rst:1436 msgid "" "Finishes feeding data to the parser. Returns the result of calling the " "``close()`` method of the *target* passed during construction; by default, " "this is the toplevel document element." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1436 -msgid "Feeds data to the parser. *data* is encoded data." +#: ../../library/xml.etree.elementtree.rst:1443 +msgid "" +"Feeds data to the parser. *data* is a string or encoded data (:class:" +"`bytes` or a :term:`bytes-like object`)." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1441 -#: ../../library/xml.etree.elementtree.rst:1519 +#: ../../library/xml.etree.elementtree.rst:1449 +#: ../../library/xml.etree.elementtree.rst:1528 msgid "" "Triggers parsing of any previously fed unparsed data, which can be used to " "ensure more immediate feedback, in particular with Expat >=2.6.0. The " @@ -1825,15 +1831,15 @@ msgid "" "xmlparser.SetReparseDeferralEnabled` for details." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1448 -#: ../../library/xml.etree.elementtree.rst:1526 +#: ../../library/xml.etree.elementtree.rst:1456 +#: ../../library/xml.etree.elementtree.rst:1535 msgid "" ":meth:`!flush` has been backported to some prior releases of CPython as a " "security fix. Check for availability using :func:`hasattr` if used in code " "running across a variety of Python versions." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1456 +#: ../../library/xml.etree.elementtree.rst:1464 msgid "" ":meth:`XMLParser.feed` calls *target*\\'s ``start(tag, attrs_dict)`` method " "for each opening tag, its ``end(tag)`` method for each closing tag, and data " @@ -1844,7 +1850,7 @@ msgid "" "of an XML file::" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1464 +#: ../../library/xml.etree.elementtree.rst:1472 msgid "" ">>> from xml.etree.ElementTree import XMLParser\n" ">>> class MaxDepth: # The target object of the parser\n" @@ -1879,11 +1885,11 @@ msgid "" "4" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1500 +#: ../../library/xml.etree.elementtree.rst:1508 msgid "XMLPullParser Objects" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1504 +#: ../../library/xml.etree.elementtree.rst:1512 msgid "" "A pull parser suitable for non-blocking applications. Its input-side API is " "similar to that of :class:`XMLParser`, but instead of pushing calls to a " @@ -1895,11 +1901,13 @@ msgid "" "If *events* is omitted, only ``\"end\"`` events are reported." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1515 -msgid "Feed the given bytes data to the parser." +#: ../../library/xml.etree.elementtree.rst:1523 +msgid "" +"Feed the given data to the parser. *data* is a string or encoded data (:" +"class:`bytes` or a :term:`bytes-like object`)." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1535 +#: ../../library/xml.etree.elementtree.rst:1544 msgid "" "Signal the parser that the data stream is terminated. Unlike :meth:" "`XMLParser.close`, this method always returns :const:`None`. Any events not " @@ -1907,7 +1915,7 @@ msgid "" "`read_events`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1542 +#: ../../library/xml.etree.elementtree.rst:1551 msgid "" "Return an iterator over the events which have been encountered in the data " "fed to the parser. The iterator yields ``(event, elem)`` pairs, where " @@ -1916,25 +1924,25 @@ msgid "" "follows." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1548 +#: ../../library/xml.etree.elementtree.rst:1557 msgid "``start``, ``end``: the current Element." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1549 +#: ../../library/xml.etree.elementtree.rst:1558 msgid "``comment``, ``pi``: the current comment / processing instruction" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1550 +#: ../../library/xml.etree.elementtree.rst:1559 msgid "" "``start-ns``: a tuple ``(prefix, uri)`` naming the declared namespace " "mapping." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1552 +#: ../../library/xml.etree.elementtree.rst:1561 msgid "``end-ns``: :const:`None` (this may change in a future version)" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1554 +#: ../../library/xml.etree.elementtree.rst:1563 msgid "" "Events provided in a previous call to :meth:`read_events` will not be " "yielded again. Events are consumed from the internal queue only when they " @@ -1943,7 +1951,7 @@ msgid "" "results." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1562 +#: ../../library/xml.etree.elementtree.rst:1571 msgid "" ":class:`XMLPullParser` only guarantees that it has seen the \">\" character " "of a starting tag when it emits a \"start\" event, so the attributes are " @@ -1952,11 +1960,11 @@ msgid "" "be present." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1577 +#: ../../library/xml.etree.elementtree.rst:1586 msgid "Exceptions" msgstr "Ausnahmen" -#: ../../library/xml.etree.elementtree.rst:1581 +#: ../../library/xml.etree.elementtree.rst:1590 msgid "" "XML parse error, raised by the various parsing methods in this module when " "parsing fails. The string representation of an instance of this exception " @@ -1964,22 +1972,22 @@ msgid "" "following attributes available:" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1588 +#: ../../library/xml.etree.elementtree.rst:1597 msgid "" "A numeric error code from the expat parser. See the documentation of :mod:" "`xml.parsers.expat` for the list of error codes and their meanings." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1593 +#: ../../library/xml.etree.elementtree.rst:1602 msgid "" "A tuple of *line*, *column* numbers, specifying where the error occurred." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1596 +#: ../../library/xml.etree.elementtree.rst:1605 msgid "Footnotes" msgstr "Fußnoten" -#: ../../library/xml.etree.elementtree.rst:1597 +#: ../../library/xml.etree.elementtree.rst:1606 msgid "" "The encoding string included in XML output should conform to the appropriate " "standards. For example, \"UTF-8\" is valid, but \"UTF8\" is not. See " diff --git a/library/xml.sax.handler.po b/library/xml.sax.handler.po index 8fc2f5ce..9a8f943b 100644 --- a/library/xml.sax.handler.po +++ b/library/xml.sax.handler.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-14 20:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -94,9 +94,9 @@ msgid "" msgstr "" #: ../../library/xml.sax.handler.rst:63 ../../library/xml.sax.handler.rst:73 -#: ../../library/xml.sax.handler.rst:82 ../../library/xml.sax.handler.rst:91 -#: ../../library/xml.sax.handler.rst:107 ../../library/xml.sax.handler.rst:117 -#: ../../library/xml.sax.handler.rst:149 +#: ../../library/xml.sax.handler.rst:85 ../../library/xml.sax.handler.rst:94 +#: ../../library/xml.sax.handler.rst:113 ../../library/xml.sax.handler.rst:123 +#: ../../library/xml.sax.handler.rst:160 msgid "access: (parsing) read-only; (not parsing) read/write" msgstr "" @@ -116,36 +116,48 @@ msgid "" "optionally do not report original prefixed names (default)." msgstr "" -#: ../../library/xml.sax.handler.rst:78 +#: ../../library/xml.sax.handler.rst:75 ../../library/xml.sax.handler.rst:125 +msgid "" +"The parser based on :mod:`xml.parsers.expat` does not support this feature." +msgstr "" + +#: ../../library/xml.sax.handler.rst:80 msgid "value: ``\"http://xml.org/sax/features/string-interning\"``" msgstr "" -#: ../../library/xml.sax.handler.rst:79 +#: ../../library/xml.sax.handler.rst:81 msgid "" "true: All element names, prefixes, attribute names, Namespace URIs, and " -"local names are interned using the built-in intern function." +"local names are interned in a dictionary (see :data:" +"`property_interning_dict`)." msgstr "" -#: ../../library/xml.sax.handler.rst:81 +#: ../../library/xml.sax.handler.rst:84 msgid "" "false: Names are not necessarily interned, although they may be (default)." msgstr "" -#: ../../library/xml.sax.handler.rst:87 +#: ../../library/xml.sax.handler.rst:90 msgid "value: ``\"http://xml.org/sax/features/validation\"``" msgstr "" -#: ../../library/xml.sax.handler.rst:88 +#: ../../library/xml.sax.handler.rst:91 msgid "" "true: Report all validation errors (implies external-general-entities and " "external-parameter-entities)." msgstr "" -#: ../../library/xml.sax.handler.rst:90 +#: ../../library/xml.sax.handler.rst:93 msgid "false: Do not report validation errors." msgstr "" -#: ../../library/xml.sax.handler.rst:98 +#: ../../library/xml.sax.handler.rst:96 +msgid "" +"The parser based on :mod:`xml.parsers.expat` does not support this feature, " +"because Expat is a non-validating parser." +msgstr "" + +#: ../../library/xml.sax.handler.rst:104 msgid "" "Enabling opens a vulnerability to `external entity attacks `_ if the parser is used with " @@ -153,123 +165,161 @@ msgid "" "wikipedia.org/wiki/Threat_model>`_ before enabling this feature." msgstr "" -#: ../../library/xml.sax.handler.rst:104 +#: ../../library/xml.sax.handler.rst:110 msgid "value: ``\"http://xml.org/sax/features/external-general-entities\"``" msgstr "" -#: ../../library/xml.sax.handler.rst:105 +#: ../../library/xml.sax.handler.rst:111 msgid "true: Include all external general (text) entities." msgstr "" -#: ../../library/xml.sax.handler.rst:106 +#: ../../library/xml.sax.handler.rst:112 msgid "false: Do not include external general entities." msgstr "" -#: ../../library/xml.sax.handler.rst:112 +#: ../../library/xml.sax.handler.rst:118 msgid "value: ``\"http://xml.org/sax/features/external-parameter-entities\"``" msgstr "" -#: ../../library/xml.sax.handler.rst:113 +#: ../../library/xml.sax.handler.rst:119 msgid "" "true: Include all external parameter entities, including the external DTD " "subset." msgstr "" -#: ../../library/xml.sax.handler.rst:115 +#: ../../library/xml.sax.handler.rst:121 msgid "" "false: Do not include any external parameter entities, even the external DTD " "subset." msgstr "" -#: ../../library/xml.sax.handler.rst:122 +#: ../../library/xml.sax.handler.rst:130 msgid "List of all features." msgstr "" -#: ../../library/xml.sax.handler.rst:127 +#: ../../library/xml.sax.handler.rst:135 msgid "value: ``\"http://xml.org/sax/properties/lexical-handler\"``" msgstr "" -#: ../../library/xml.sax.handler.rst:128 -msgid "data type: xml.sax.handler.LexicalHandler (not supported in Python 2)" +#: ../../library/xml.sax.handler.rst:136 +msgid "data type: :class:`~xml.sax.handler.LexicalHandler`" msgstr "" -#: ../../library/xml.sax.handler.rst:129 +#: ../../library/xml.sax.handler.rst:137 msgid "" "description: An optional extension handler for lexical events like comments." msgstr "" -#: ../../library/xml.sax.handler.rst:131 ../../library/xml.sax.handler.rst:140 +#: ../../library/xml.sax.handler.rst:139 ../../library/xml.sax.handler.rst:148 +#: ../../library/xml.sax.handler.rst:179 ../../library/xml.sax.handler.rst:192 msgid "access: read/write" msgstr "" -#: ../../library/xml.sax.handler.rst:136 +#: ../../library/xml.sax.handler.rst:144 msgid "value: ``\"http://xml.org/sax/properties/declaration-handler\"``" msgstr "" -#: ../../library/xml.sax.handler.rst:137 -msgid "data type: xml.sax.sax2lib.DeclHandler (not supported in Python 2)" +#: ../../library/xml.sax.handler.rst:145 +msgid "data type: an object implementing the SAX2 ``DeclHandler`` interface" msgstr "" -#: ../../library/xml.sax.handler.rst:138 +#: ../../library/xml.sax.handler.rst:146 msgid "" "description: An optional extension handler for DTD-related events other than " "notations and unparsed entities." msgstr "" -#: ../../library/xml.sax.handler.rst:145 +#: ../../library/xml.sax.handler.rst:150 +msgid "" +"No parser in the standard library supports this property, and the standard " +"library provides no such handler." +msgstr "" + +#: ../../library/xml.sax.handler.rst:156 msgid "value: ``\"http://xml.org/sax/properties/dom-node\"``" msgstr "" -#: ../../library/xml.sax.handler.rst:146 -msgid "data type: org.w3c.dom.Node (not supported in Python 2)" +#: ../../library/xml.sax.handler.rst:157 +msgid "data type: :class:`xml.dom.Node`" msgstr "" -#: ../../library/xml.sax.handler.rst:147 +#: ../../library/xml.sax.handler.rst:158 msgid "" "description: When parsing, the current DOM node being visited if this is a " "DOM iterator; when not parsing, the root DOM node for iteration." msgstr "" -#: ../../library/xml.sax.handler.rst:154 +#: ../../library/xml.sax.handler.rst:162 ../../library/xml.sax.handler.rst:181 +msgid "No parser in the standard library supports this property." +msgstr "" + +#: ../../library/xml.sax.handler.rst:167 msgid "value: ``\"http://xml.org/sax/properties/xml-string\"``" msgstr "" -#: ../../library/xml.sax.handler.rst:155 +#: ../../library/xml.sax.handler.rst:168 msgid "data type: Bytes" msgstr "" -#: ../../library/xml.sax.handler.rst:156 +#: ../../library/xml.sax.handler.rst:169 msgid "" "description: The literal string of characters that was the source for the " "current event." msgstr "" -#: ../../library/xml.sax.handler.rst:158 -msgid "access: read-only" +#: ../../library/xml.sax.handler.rst:171 +msgid "access: read-only, and only during a handler callback" +msgstr "" + +#: ../../library/xml.sax.handler.rst:176 +msgid "value: ``\"http://www.python.org/sax/properties/encoding\"``" +msgstr "" + +#: ../../library/xml.sax.handler.rst:177 +msgid "data type: String" msgstr "" -#: ../../library/xml.sax.handler.rst:163 +#: ../../library/xml.sax.handler.rst:178 +msgid "description: The name of the encoding to assume for input data." +msgstr "" + +#: ../../library/xml.sax.handler.rst:186 +msgid "value: ``\"http://www.python.org/sax/properties/interning-dict\"``" +msgstr "" + +#: ../../library/xml.sax.handler.rst:187 +msgid "data type: Dictionary" +msgstr "" + +#: ../../library/xml.sax.handler.rst:188 +msgid "" +"description: The dictionary used to intern names, or ``None`` if names are " +"not interned. Setting it enables interning, as does the :data:" +"`feature_string_interning` feature." +msgstr "" + +#: ../../library/xml.sax.handler.rst:197 msgid "List of all known property names." msgstr "" -#: ../../library/xml.sax.handler.rst:169 +#: ../../library/xml.sax.handler.rst:203 msgid "ContentHandler Objects" msgstr "" -#: ../../library/xml.sax.handler.rst:171 +#: ../../library/xml.sax.handler.rst:205 msgid "" "Users are expected to subclass :class:`ContentHandler` to support their " "application. The following methods are called by the parser on the " "appropriate events in the input document:" msgstr "" -#: ../../library/xml.sax.handler.rst:178 +#: ../../library/xml.sax.handler.rst:212 msgid "" "Called by the parser to give the application a locator for locating the " "origin of document events." msgstr "" -#: ../../library/xml.sax.handler.rst:181 +#: ../../library/xml.sax.handler.rst:215 msgid "" "SAX parsers are strongly encouraged (though not absolutely required) to " "supply a locator: if it does so, it must supply the locator to the " @@ -277,7 +327,7 @@ msgid "" "in the DocumentHandler interface." msgstr "" -#: ../../library/xml.sax.handler.rst:186 +#: ../../library/xml.sax.handler.rst:220 msgid "" "The locator allows the application to determine the end position of any " "document-related event, even if the parser is not reporting an error. " @@ -287,28 +337,28 @@ msgid "" "sufficient for use with a search engine." msgstr "" -#: ../../library/xml.sax.handler.rst:193 +#: ../../library/xml.sax.handler.rst:227 msgid "" "Note that the locator will return correct information only during the " "invocation of the events in this interface. The application should not " "attempt to use it at any other time." msgstr "" -#: ../../library/xml.sax.handler.rst:200 +#: ../../library/xml.sax.handler.rst:234 msgid "Receive notification of the beginning of a document." msgstr "" -#: ../../library/xml.sax.handler.rst:202 +#: ../../library/xml.sax.handler.rst:236 msgid "" "The SAX parser will invoke this method only once, before any other methods " "in this interface or in DTDHandler (except for :meth:`setDocumentLocator`)." msgstr "" -#: ../../library/xml.sax.handler.rst:208 +#: ../../library/xml.sax.handler.rst:242 msgid "Receive notification of the end of a document." msgstr "" -#: ../../library/xml.sax.handler.rst:210 +#: ../../library/xml.sax.handler.rst:244 msgid "" "The SAX parser will invoke this method only once, and it will be the last " "method invoked during the parse. The parser shall not invoke this method " @@ -316,11 +366,11 @@ msgid "" "reached the end of input." msgstr "" -#: ../../library/xml.sax.handler.rst:218 +#: ../../library/xml.sax.handler.rst:252 msgid "Begin the scope of a prefix-URI Namespace mapping." msgstr "" -#: ../../library/xml.sax.handler.rst:220 +#: ../../library/xml.sax.handler.rst:254 msgid "" "The information from this event is not necessary for normal Namespace " "processing: the SAX XML reader will automatically replace prefixes for " @@ -328,7 +378,7 @@ msgid "" "enabled (the default)." msgstr "" -#: ../../library/xml.sax.handler.rst:225 +#: ../../library/xml.sax.handler.rst:259 msgid "" "There are cases, however, when applications need to use prefixes in " "character data or in attribute values, where they cannot safely be expanded " @@ -337,7 +387,7 @@ msgid "" "contexts itself, if necessary." msgstr "" -#: ../../library/xml.sax.handler.rst:233 +#: ../../library/xml.sax.handler.rst:267 msgid "" "Note that :meth:`startPrefixMapping` and :meth:`endPrefixMapping` events are " "not guaranteed to be properly nested relative to each-other: all :meth:" @@ -347,22 +397,22 @@ msgid "" "guaranteed." msgstr "" -#: ../../library/xml.sax.handler.rst:243 +#: ../../library/xml.sax.handler.rst:277 msgid "End the scope of a prefix-URI mapping." msgstr "" -#: ../../library/xml.sax.handler.rst:245 +#: ../../library/xml.sax.handler.rst:279 msgid "" "See :meth:`startPrefixMapping` for details. This event will always occur " "after the corresponding :meth:`endElement` event, but the order of :meth:" "`endPrefixMapping` events is not otherwise guaranteed." msgstr "" -#: ../../library/xml.sax.handler.rst:252 +#: ../../library/xml.sax.handler.rst:286 msgid "Signals the start of an element in non-namespace mode." msgstr "" -#: ../../library/xml.sax.handler.rst:254 +#: ../../library/xml.sax.handler.rst:288 msgid "" "The *name* parameter contains the raw XML 1.0 name of the element type as a " "string and the *attrs* parameter holds an object of the :ref:`Attributes " @@ -373,21 +423,21 @@ msgid "" "object." msgstr "" -#: ../../library/xml.sax.handler.rst:265 +#: ../../library/xml.sax.handler.rst:299 msgid "Signals the end of an element in non-namespace mode." msgstr "" -#: ../../library/xml.sax.handler.rst:267 +#: ../../library/xml.sax.handler.rst:301 msgid "" "The *name* parameter contains the name of the element type, just as with " "the :meth:`startElement` event." msgstr "" -#: ../../library/xml.sax.handler.rst:273 +#: ../../library/xml.sax.handler.rst:307 msgid "Signals the start of an element in namespace mode." msgstr "" -#: ../../library/xml.sax.handler.rst:275 +#: ../../library/xml.sax.handler.rst:309 msgid "" "The *name* parameter contains the name of the element type as a ``(uri, " "localname)`` tuple, the *qname* parameter contains the raw XML 1.0 name used " @@ -400,27 +450,27 @@ msgid "" "attributes, use the :meth:`copy` method of the *attrs* object." msgstr "" -#: ../../library/xml.sax.handler.rst:285 +#: ../../library/xml.sax.handler.rst:319 msgid "" "Parsers may set the *qname* parameter to ``None``, unless the " "``feature_namespace_prefixes`` feature is activated." msgstr "" -#: ../../library/xml.sax.handler.rst:291 +#: ../../library/xml.sax.handler.rst:325 msgid "Signals the end of an element in namespace mode." msgstr "" -#: ../../library/xml.sax.handler.rst:293 +#: ../../library/xml.sax.handler.rst:327 msgid "" "The *name* parameter contains the name of the element type, just as with " "the :meth:`startElementNS` method, likewise the *qname* parameter." msgstr "" -#: ../../library/xml.sax.handler.rst:299 +#: ../../library/xml.sax.handler.rst:333 msgid "Receive notification of character data." msgstr "" -#: ../../library/xml.sax.handler.rst:301 +#: ../../library/xml.sax.handler.rst:335 msgid "" "The Parser will call this method to report each chunk of character data. SAX " "parsers may return all contiguous character data in a single chunk, or they " @@ -429,13 +479,13 @@ msgid "" "provides useful information." msgstr "" -#: ../../library/xml.sax.handler.rst:307 +#: ../../library/xml.sax.handler.rst:341 msgid "" "*content* may be a string or bytes instance; the ``expat`` reader module " "always produces strings." msgstr "" -#: ../../library/xml.sax.handler.rst:312 +#: ../../library/xml.sax.handler.rst:346 msgid "" "The earlier SAX 1 interface provided by the Python XML Special Interest " "Group used a more Java-like interface for this method. Since most parsers " @@ -445,11 +495,11 @@ msgid "" "and *length* parameters." msgstr "" -#: ../../library/xml.sax.handler.rst:321 +#: ../../library/xml.sax.handler.rst:355 msgid "Receive notification of ignorable whitespace in element content." msgstr "" -#: ../../library/xml.sax.handler.rst:323 +#: ../../library/xml.sax.handler.rst:357 msgid "" "Validating Parsers must use this method to report each chunk of ignorable " "whitespace (see the W3C XML 1.0 recommendation, section 2.10): non-" @@ -457,7 +507,7 @@ msgid "" "and using content models." msgstr "" -#: ../../library/xml.sax.handler.rst:328 +#: ../../library/xml.sax.handler.rst:362 msgid "" "SAX parsers may return all contiguous whitespace in a single chunk, or they " "may split it into several chunks; however, all of the characters in any " @@ -465,28 +515,28 @@ msgid "" "provides useful information." msgstr "" -#: ../../library/xml.sax.handler.rst:336 +#: ../../library/xml.sax.handler.rst:370 msgid "Receive notification of a processing instruction." msgstr "" -#: ../../library/xml.sax.handler.rst:338 +#: ../../library/xml.sax.handler.rst:372 msgid "" "The Parser will invoke this method once for each processing instruction " "found: note that processing instructions may occur before or after the main " "document element." msgstr "" -#: ../../library/xml.sax.handler.rst:342 +#: ../../library/xml.sax.handler.rst:376 msgid "" "A SAX parser should never report an XML declaration (XML 1.0, section 2.8) " "or a text declaration (XML 1.0, section 4.3.1) using this method." msgstr "" -#: ../../library/xml.sax.handler.rst:348 +#: ../../library/xml.sax.handler.rst:382 msgid "Receive notification of a skipped entity." msgstr "" -#: ../../library/xml.sax.handler.rst:350 +#: ../../library/xml.sax.handler.rst:384 msgid "" "The Parser will invoke this method once for each entity skipped. Non-" "validating processors may skip entities if they have not seen the " @@ -496,38 +546,38 @@ msgid "" "properties." msgstr "" -#: ../../library/xml.sax.handler.rst:360 +#: ../../library/xml.sax.handler.rst:394 msgid "DTDHandler Objects" msgstr "" -#: ../../library/xml.sax.handler.rst:362 +#: ../../library/xml.sax.handler.rst:396 msgid ":class:`DTDHandler` instances provide the following methods:" msgstr "" -#: ../../library/xml.sax.handler.rst:367 +#: ../../library/xml.sax.handler.rst:401 msgid "Handle a notation declaration event." msgstr "" -#: ../../library/xml.sax.handler.rst:372 +#: ../../library/xml.sax.handler.rst:406 msgid "Handle an unparsed entity declaration event." msgstr "" -#: ../../library/xml.sax.handler.rst:378 +#: ../../library/xml.sax.handler.rst:412 msgid "EntityResolver Objects" msgstr "" -#: ../../library/xml.sax.handler.rst:383 +#: ../../library/xml.sax.handler.rst:417 msgid "" "Resolve the system identifier of an entity and return either the system " "identifier to read from as a string, or an InputSource to read from. The " "default implementation returns *systemId*." msgstr "" -#: ../../library/xml.sax.handler.rst:391 +#: ../../library/xml.sax.handler.rst:425 msgid "ErrorHandler Objects" msgstr "" -#: ../../library/xml.sax.handler.rst:393 +#: ../../library/xml.sax.handler.rst:427 msgid "" "Objects with this interface are used to receive error and warning " "information from the :class:`~xml.sax.xmlreader.XMLReader`. If you create " @@ -540,7 +590,7 @@ msgid "" "the passed-in exception object." msgstr "" -#: ../../library/xml.sax.handler.rst:406 +#: ../../library/xml.sax.handler.rst:440 msgid "" "Called when the parser encounters a recoverable error. If this method does " "not raise an exception, parsing may continue, but further document " @@ -549,13 +599,13 @@ msgid "" "document." msgstr "" -#: ../../library/xml.sax.handler.rst:414 +#: ../../library/xml.sax.handler.rst:448 msgid "" "Called when the parser encounters an error it cannot recover from; parsing " "is expected to terminate when this method returns." msgstr "" -#: ../../library/xml.sax.handler.rst:420 +#: ../../library/xml.sax.handler.rst:454 msgid "" "Called when the parser presents minor warning information to the " "application. Parsing is expected to continue when this method returns, and " @@ -563,15 +613,15 @@ msgid "" "an exception in this method will cause parsing to end." msgstr "" -#: ../../library/xml.sax.handler.rst:429 +#: ../../library/xml.sax.handler.rst:463 msgid "LexicalHandler Objects" msgstr "" -#: ../../library/xml.sax.handler.rst:430 +#: ../../library/xml.sax.handler.rst:464 msgid "Optional SAX2 handler for lexical events." msgstr "" -#: ../../library/xml.sax.handler.rst:432 +#: ../../library/xml.sax.handler.rst:466 msgid "" "This handler is used to obtain lexical information about an XML document. " "Lexical information includes information describing the document encoding " @@ -580,38 +630,38 @@ msgid "" "used in the same manner as content handlers." msgstr "" -#: ../../library/xml.sax.handler.rst:438 +#: ../../library/xml.sax.handler.rst:472 msgid "" "Set the LexicalHandler of an XMLReader by using the setProperty method with " "the property identifier ``'http://xml.org/sax/properties/lexical-handler'``." msgstr "" -#: ../../library/xml.sax.handler.rst:445 +#: ../../library/xml.sax.handler.rst:479 msgid "" "Reports a comment anywhere in the document (including the DTD and outside " "the document element)." msgstr "" -#: ../../library/xml.sax.handler.rst:450 +#: ../../library/xml.sax.handler.rst:484 msgid "" "Reports the start of the DTD declarations if the document has an associated " "DTD." msgstr "" -#: ../../library/xml.sax.handler.rst:455 +#: ../../library/xml.sax.handler.rst:489 msgid "Reports the end of DTD declaration." msgstr "" -#: ../../library/xml.sax.handler.rst:459 +#: ../../library/xml.sax.handler.rst:493 msgid "Reports the start of a CDATA marked section." msgstr "" -#: ../../library/xml.sax.handler.rst:461 +#: ../../library/xml.sax.handler.rst:495 msgid "" "The contents of the CDATA marked section will be reported through the " "characters handler." msgstr "" -#: ../../library/xml.sax.handler.rst:466 +#: ../../library/xml.sax.handler.rst:500 msgid "Reports the end of a CDATA marked section." msgstr "" diff --git a/library/xml.sax.po b/library/xml.sax.po index 93d5a53f..a4c90eca 100644 --- a/library/xml.sax.po +++ b/library/xml.sax.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -50,7 +50,7 @@ msgid "" msgstr "" #: ../../library/xml.sax.rst:31 -msgid "The convenience functions are:" +msgid "The convenience functions and data are:" msgstr "" #: ../../library/xml.sax.rst:36 @@ -69,26 +69,38 @@ msgstr "" #: ../../library/xml.sax.rst:48 msgid "" "Create a SAX parser and use it to parse a document. The document, passed in " -"as *filename_or_stream*, can be a filename or a file object. The *handler* " -"parameter needs to be a SAX :class:`~handler.ContentHandler` instance. If " -"*error_handler* is given, it must be a SAX :class:`~handler.ErrorHandler` " -"instance; if omitted, :exc:`SAXParseException` will be raised on all " -"errors. There is no return value; all work must be done by the *handler* " -"passed in." +"as *filename_or_stream*, can be a system identifier (a string identifying " +"the input source -- typically a file name or a URL), a :term:`path-like " +"` object, or a file object. A system identifier which does " +"not refer to an existing file is opened with :func:`urllib.request.urlopen`. " +"The *handler* parameter needs to be a SAX :class:`~handler.ContentHandler` " +"instance. If *errorHandler* is given, it must be a SAX :class:`~handler." +"ErrorHandler` instance; if omitted, :exc:`SAXParseException` will be raised " +"on all errors. There is no return value; all work must be done by the " +"*handler* passed in." msgstr "" -#: ../../library/xml.sax.rst:59 +#: ../../library/xml.sax.rst:64 msgid "" "Similar to :func:`parse`, but parses from a buffer *string* received as a " "parameter. *string* must be a :class:`str` instance or a :term:`bytes-like " "object`." msgstr "" -#: ../../library/xml.sax.rst:63 +#: ../../library/xml.sax.rst:68 msgid "Added support of :class:`str` instances." msgstr "" -#: ../../library/xml.sax.rst:66 +#: ../../library/xml.sax.rst:74 +msgid "" +"The list of the names of modules which are tried by :func:`make_parser` " +"after the modules named in its *parser_list* argument. It contains ``'xml." +"sax.expatreader'``, or, if the :envvar:`!PY_SAX_PARSER` environment variable " +"is set and the environment is not ignored, the comma-separated list of " +"module names taken from it." +msgstr "" + +#: ../../library/xml.sax.rst:80 msgid "" "A typical SAX application uses three kinds of objects: readers, handlers and " "input sources. \"Reader\" in this context is another term for parser, i.e. " @@ -102,7 +114,7 @@ msgid "" "structural and syntactic events from the input data." msgstr "" -#: ../../library/xml.sax.rst:77 +#: ../../library/xml.sax.rst:91 msgid "" "For these objects, only the interfaces are relevant; they are normally not " "instantiated by the application itself. Since Python does not have an " @@ -118,13 +130,13 @@ msgid "" "interfaces are described below." msgstr "" -#: ../../library/xml.sax.rst:90 +#: ../../library/xml.sax.rst:104 msgid "" "In addition to these classes, :mod:`!xml.sax` provides the following " "exception classes." msgstr "" -#: ../../library/xml.sax.rst:96 +#: ../../library/xml.sax.rst:110 msgid "" "Encapsulate an XML error or warning. This class can contain basic error or " "warning information from either the XML parser or the application: it can be " @@ -135,7 +147,7 @@ msgid "" "container for information." msgstr "" -#: ../../library/xml.sax.rst:104 +#: ../../library/xml.sax.rst:118 msgid "" "When instantiated, *msg* should be a human-readable description of the " "error. The optional *exception* parameter, if given, should be ``None`` or " @@ -143,11 +155,11 @@ msgid "" "as information." msgstr "" -#: ../../library/xml.sax.rst:108 +#: ../../library/xml.sax.rst:122 msgid "This is the base class for the other SAX exception classes." msgstr "" -#: ../../library/xml.sax.rst:113 +#: ../../library/xml.sax.rst:127 msgid "" "Subclass of :exc:`SAXException` raised on parse errors. Instances of this " "class are passed to the methods of the SAX :class:`~xml.sax.handler." @@ -156,14 +168,14 @@ msgid "" "as the :class:`SAXException` interface." msgstr "" -#: ../../library/xml.sax.rst:123 +#: ../../library/xml.sax.rst:137 msgid "" "Subclass of :exc:`SAXException` raised when a SAX :class:`~xml.sax.xmlreader." "XMLReader` is confronted with an unrecognized feature or property. SAX " "applications and extensions may use this class for similar purposes." msgstr "" -#: ../../library/xml.sax.rst:131 +#: ../../library/xml.sax.rst:145 msgid "" "Subclass of :exc:`SAXException` raised when a SAX :class:`~xml.sax.xmlreader." "XMLReader` is asked to enable a feature that is not supported, or to set a " @@ -171,54 +183,62 @@ msgid "" "applications and extensions may use this class for similar purposes." msgstr "" -#: ../../library/xml.sax.rst:140 +#: ../../library/xml.sax.rst:154 +msgid "" +"Subclass of :exc:`SAXNotSupportedException` raised when no parser is " +"available. A parser module raises it when it is imported or during parsing " +"if the parser it provides cannot be used, and :func:`make_parser` raises it " +"if no module from the tried ones provides a usable parser." +msgstr "" + +#: ../../library/xml.sax.rst:162 msgid "`SAX: The Simple API for XML `_" msgstr "" -#: ../../library/xml.sax.rst:141 +#: ../../library/xml.sax.rst:163 msgid "" "This site is the focal point for the definition of the SAX API. It provides " "a Java implementation and online documentation. Links to implementations " "and historical information are also available." msgstr "" -#: ../../library/xml.sax.rst:145 +#: ../../library/xml.sax.rst:167 msgid "Module :mod:`xml.sax.handler`" msgstr "" -#: ../../library/xml.sax.rst:146 +#: ../../library/xml.sax.rst:168 msgid "Definitions of the interfaces for application-provided objects." msgstr "" -#: ../../library/xml.sax.rst:148 +#: ../../library/xml.sax.rst:170 msgid "Module :mod:`xml.sax.saxutils`" msgstr "" -#: ../../library/xml.sax.rst:149 +#: ../../library/xml.sax.rst:171 msgid "Convenience functions for use in SAX applications." msgstr "" -#: ../../library/xml.sax.rst:151 +#: ../../library/xml.sax.rst:173 msgid "Module :mod:`xml.sax.xmlreader`" msgstr "" -#: ../../library/xml.sax.rst:152 +#: ../../library/xml.sax.rst:174 msgid "Definitions of the interfaces for parser-provided objects." msgstr "" -#: ../../library/xml.sax.rst:158 +#: ../../library/xml.sax.rst:180 msgid "SAXException Objects" msgstr "" -#: ../../library/xml.sax.rst:160 +#: ../../library/xml.sax.rst:182 msgid "" "The :class:`SAXException` exception class supports the following methods:" msgstr "" -#: ../../library/xml.sax.rst:165 +#: ../../library/xml.sax.rst:187 msgid "Return a human-readable message describing the error condition." msgstr "" -#: ../../library/xml.sax.rst:170 +#: ../../library/xml.sax.rst:192 msgid "Return an encapsulated exception object, or ``None``." msgstr "" diff --git a/library/xml.sax.reader.po b/library/xml.sax.reader.po index 797222c8..0bfb1da9 100644 --- a/library/xml.sax.reader.po +++ b/library/xml.sax.reader.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -254,122 +254,130 @@ msgstr "" #: ../../library/xml.sax.reader.rst:221 msgid "" +"Prepare the parser for parsing *source*, an :class:`InputSource` instance. " +"It is called by :meth:`~XMLReader.parse` before feeding the data. The parser " +"implementation must override this method; the default implementation raises :" +"exc:`NotImplementedError`." +msgstr "" + +#: ../../library/xml.sax.reader.rst:230 +msgid "" "This method is called after close has been called to reset the parser so " "that it is ready to parse new documents. The results of calling parse or " "feed after close without calling reset are undefined." msgstr "" -#: ../../library/xml.sax.reader.rst:229 +#: ../../library/xml.sax.reader.rst:238 msgid "Locator Objects" msgstr "" -#: ../../library/xml.sax.reader.rst:231 +#: ../../library/xml.sax.reader.rst:240 msgid "Instances of :class:`Locator` provide these methods:" msgstr "" -#: ../../library/xml.sax.reader.rst:236 +#: ../../library/xml.sax.reader.rst:245 msgid "Return the column number where the current event begins." msgstr "" -#: ../../library/xml.sax.reader.rst:241 +#: ../../library/xml.sax.reader.rst:250 msgid "Return the line number where the current event begins." msgstr "" -#: ../../library/xml.sax.reader.rst:246 +#: ../../library/xml.sax.reader.rst:255 msgid "Return the public identifier for the current event." msgstr "" -#: ../../library/xml.sax.reader.rst:251 +#: ../../library/xml.sax.reader.rst:260 msgid "Return the system identifier for the current event." msgstr "" -#: ../../library/xml.sax.reader.rst:257 +#: ../../library/xml.sax.reader.rst:266 msgid "InputSource Objects" msgstr "" -#: ../../library/xml.sax.reader.rst:262 +#: ../../library/xml.sax.reader.rst:271 msgid "Sets the public identifier of this :class:`InputSource`." msgstr "" -#: ../../library/xml.sax.reader.rst:267 +#: ../../library/xml.sax.reader.rst:276 msgid "Returns the public identifier of this :class:`InputSource`." msgstr "" -#: ../../library/xml.sax.reader.rst:272 +#: ../../library/xml.sax.reader.rst:281 msgid "Sets the system identifier of this :class:`InputSource`." msgstr "" -#: ../../library/xml.sax.reader.rst:277 +#: ../../library/xml.sax.reader.rst:286 msgid "Returns the system identifier of this :class:`InputSource`." msgstr "" -#: ../../library/xml.sax.reader.rst:282 +#: ../../library/xml.sax.reader.rst:291 msgid "Sets the character encoding of this :class:`InputSource`." msgstr "" -#: ../../library/xml.sax.reader.rst:284 +#: ../../library/xml.sax.reader.rst:293 msgid "" "The encoding must be a string acceptable for an XML encoding declaration " "(see section 4.3.3 of the XML recommendation)." msgstr "" -#: ../../library/xml.sax.reader.rst:287 +#: ../../library/xml.sax.reader.rst:296 msgid "" "The encoding attribute of the :class:`InputSource` is ignored if the :class:" "`InputSource` also contains a character stream." msgstr "" -#: ../../library/xml.sax.reader.rst:293 +#: ../../library/xml.sax.reader.rst:302 msgid "Get the character encoding of this InputSource." msgstr "" -#: ../../library/xml.sax.reader.rst:298 +#: ../../library/xml.sax.reader.rst:307 msgid "Set the byte stream (a :term:`binary file`) for this input source." msgstr "" -#: ../../library/xml.sax.reader.rst:300 +#: ../../library/xml.sax.reader.rst:309 msgid "" "The SAX parser will ignore this if there is also a character stream " "specified, but it will use a byte stream in preference to opening a URI " "connection itself." msgstr "" -#: ../../library/xml.sax.reader.rst:303 +#: ../../library/xml.sax.reader.rst:312 msgid "" "If the application knows the character encoding of the byte stream, it " "should set it with the setEncoding method." msgstr "" -#: ../../library/xml.sax.reader.rst:309 +#: ../../library/xml.sax.reader.rst:318 msgid "Get the byte stream for this input source." msgstr "" -#: ../../library/xml.sax.reader.rst:311 +#: ../../library/xml.sax.reader.rst:320 msgid "" "The getEncoding method will return the character encoding for this byte " "stream, or ``None`` if unknown." msgstr "" -#: ../../library/xml.sax.reader.rst:317 +#: ../../library/xml.sax.reader.rst:326 msgid "Set the character stream (a :term:`text file`) for this input source." msgstr "" -#: ../../library/xml.sax.reader.rst:319 +#: ../../library/xml.sax.reader.rst:328 msgid "" "If there is a character stream specified, the SAX parser will ignore any " "byte stream and will not attempt to open a URI connection to the system " "identifier." msgstr "" -#: ../../library/xml.sax.reader.rst:325 +#: ../../library/xml.sax.reader.rst:334 msgid "Get the character stream for this input source." msgstr "" -#: ../../library/xml.sax.reader.rst:331 +#: ../../library/xml.sax.reader.rst:340 msgid "The :class:`Attributes` Interface" msgstr "" -#: ../../library/xml.sax.reader.rst:333 +#: ../../library/xml.sax.reader.rst:342 msgid "" ":class:`Attributes` objects implement a portion of the :term:`mapping " "protocol `, including the methods :meth:`~collections.abc.Mapping." @@ -379,50 +387,50 @@ msgid "" "are also provided:" msgstr "" -#: ../../library/xml.sax.reader.rst:343 +#: ../../library/xml.sax.reader.rst:352 msgid "Return the number of attributes." msgstr "" -#: ../../library/xml.sax.reader.rst:348 +#: ../../library/xml.sax.reader.rst:357 msgid "Return the names of the attributes." msgstr "" -#: ../../library/xml.sax.reader.rst:353 +#: ../../library/xml.sax.reader.rst:362 msgid "" "Returns the type of the attribute *name*, which is normally ``'CDATA'``." msgstr "" -#: ../../library/xml.sax.reader.rst:358 +#: ../../library/xml.sax.reader.rst:367 msgid "Return the value of attribute *name*." msgstr "" -#: ../../library/xml.sax.reader.rst:367 +#: ../../library/xml.sax.reader.rst:376 msgid "The :class:`AttributesNS` Interface" msgstr "" -#: ../../library/xml.sax.reader.rst:369 +#: ../../library/xml.sax.reader.rst:378 msgid "" "This interface is a subtype of the :class:`Attributes` interface (see " "section :ref:`attributes-objects`). All methods supported by that interface " "are also available on :class:`AttributesNS` objects." msgstr "" -#: ../../library/xml.sax.reader.rst:373 +#: ../../library/xml.sax.reader.rst:382 msgid "The following methods are also available:" msgstr "" -#: ../../library/xml.sax.reader.rst:378 +#: ../../library/xml.sax.reader.rst:387 msgid "Return the value for a qualified name." msgstr "" -#: ../../library/xml.sax.reader.rst:383 +#: ../../library/xml.sax.reader.rst:392 msgid "Return the ``(namespace, localname)`` pair for a qualified *name*." msgstr "" -#: ../../library/xml.sax.reader.rst:388 +#: ../../library/xml.sax.reader.rst:397 msgid "Return the qualified name for a ``(namespace, localname)`` pair." msgstr "" -#: ../../library/xml.sax.reader.rst:393 +#: ../../library/xml.sax.reader.rst:402 msgid "Return the qualified names of all attributes." msgstr "" diff --git a/library/xml.sax.utils.po b/library/xml.sax.utils.po index 42bab12a..b8cc52bd 100644 --- a/library/xml.sax.utils.po +++ b/library/xml.sax.utils.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-22 12:07+0200\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -114,7 +114,15 @@ msgid "" "stream or the configuration requests as they pass through." msgstr "" -#: ../../library/xml.sax.utils.rst:87 +#: ../../library/xml.sax.utils.rst:86 +msgid "Return the parent reader, or ``None`` if it is not set." +msgstr "" + +#: ../../library/xml.sax.utils.rst:91 +msgid "Set the parent reader, which the events are read from." +msgstr "" + +#: ../../library/xml.sax.utils.rst:96 msgid "" "This function takes an input source and an optional base URL and returns a " "fully resolved :class:`~xml.sax.xmlreader.InputSource` object ready for " diff --git a/reference/datamodel.po b/reference/datamodel.po index 67abd00a..d9b52ff9 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-14 20:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -947,7 +947,7 @@ msgstr "" "wie die formale Parameterliste der Funktion." #: ../../reference/datamodel.rst:581 ../../reference/datamodel.rst:1498 -#: ../../reference/datamodel.rst:1691 +#: ../../reference/datamodel.rst:1701 msgid "Special read-only attributes" msgstr "Besondere schreibgeschützte Attribute" @@ -997,7 +997,7 @@ msgstr "" "Ein Zellenobjekt verfügt über das Attribut „ ``cell_contents`` “. Damit " "lässt sich sowohl der Wert der Zelle abrufen als auch der Wert festlegen." -#: ../../reference/datamodel.rst:615 ../../reference/datamodel.rst:1739 +#: ../../reference/datamodel.rst:615 ../../reference/datamodel.rst:1749 msgid "Special writable attributes" msgstr "Besondere beschreibbare Attribute" @@ -1151,7 +1151,7 @@ msgstr "" "beliebiges aufrufbares Objekt (in der Regel eine benutzerdefinierte " "Funktion)." -#: ../../reference/datamodel.rst:730 ../../reference/datamodel.rst:1835 +#: ../../reference/datamodel.rst:730 ../../reference/datamodel.rst:1845 msgid "Special read-only attributes:" msgstr "Besondere schreibgeschützte Attribute:" @@ -2463,17 +2463,26 @@ msgid "The line number of the first line of the function" msgstr "Die Zeilennummer der ersten Zeile der Funktion" #: ../../reference/datamodel.rst:1561 +msgid "" +"A :class:`bytes` object containing encoded source location information. The " +"exact format is an implementation detail and may change between Python " +"versions. Use :meth:`~codeobject.co_lines` and :meth:`~codeobject." +"co_positions` for supported access to line and position information. To " +"create a modified copy of a code object, use :meth:`~codeobject.replace`." +msgstr "" + +#: ../../reference/datamodel.rst:1571 msgid "The required stack size of the code object" msgstr "Die erforderliche Stackgröße des Code-Objekts" -#: ../../reference/datamodel.rst:1564 +#: ../../reference/datamodel.rst:1574 msgid "" "An :class:`integer ` encoding a number of flags for the interpreter." msgstr "" "Eine :class:`integer- `, die eine Reihe von Flags für den Interpreter " "kodiert." -#: ../../reference/datamodel.rst:1569 +#: ../../reference/datamodel.rst:1579 msgid "" "The following flag bits are defined for :attr:`~codeobject.co_flags`: bit " "``0x04`` is set if the function uses the ``*arguments`` syntax to accept an " @@ -2492,7 +2501,7 @@ msgstr "" "Informationen zur Semantik der einzelnen möglicherweise vorhandenen Flags " "findest du unter :ref:`inspect-module-co-flags`." -#: ../../reference/datamodel.rst:1577 +#: ../../reference/datamodel.rst:1587 msgid "" "Future feature declarations (for example, ``from __future__ import " "division``) also use bits in :attr:`~codeobject.co_flags` to indicate " @@ -2504,14 +2513,14 @@ msgstr "" "anzugeben, ob ein Codeobjekt mit einer bestimmten Funktion kompiliert wurde. " "Siehe :attr:`~__future__._Feature.compiler_flag`." -#: ../../reference/datamodel.rst:1581 +#: ../../reference/datamodel.rst:1591 msgid "" "Other bits in :attr:`~codeobject.co_flags` are reserved for internal use." msgstr "" "Die übrigen Bits in „ :attr:`~codeobject.co_flags` “ sind für den internen " "Gebrauch reserviert." -#: ../../reference/datamodel.rst:1585 +#: ../../reference/datamodel.rst:1595 msgid "" "If a code object represents a function and has a docstring, the :data:" "`~inspect.CO_HAS_DOCSTRING` bit is set in :attr:`~codeobject.co_flags` and " @@ -2523,11 +2532,11 @@ msgstr "" "`~codeobject.co_flags` “ gesetzt, und der erste Eintrag in „ :attr:" "`~codeobject.co_consts` “ ist der Docstring der Funktion." -#: ../../reference/datamodel.rst:1591 +#: ../../reference/datamodel.rst:1601 msgid "Methods on code objects" msgstr "Methoden für Code-Objekte" -#: ../../reference/datamodel.rst:1595 +#: ../../reference/datamodel.rst:1605 msgid "" "Returns an iterable over the source code positions of each :term:`bytecode` " "instruction in the code object." @@ -2535,7 +2544,7 @@ msgstr "" "Gibt eine iterierbare Struktur zurück, die die Positionen der einzelnen :" "term:`bytecode`-Anweisungen im Code-Objekt enthält." -#: ../../reference/datamodel.rst:1598 +#: ../../reference/datamodel.rst:1608 msgid "" "The iterator returns :class:`tuple`\\s containing the ``(start_line, " "end_line, start_column, end_column)``. The *i-th* tuple corresponds to the " @@ -2548,7 +2557,7 @@ msgstr "" "Die Spaltenangaben sind 0-indizierte UTF-8-Byte-Offsets in der angegebenen " "Quellcodezeile." -#: ../../reference/datamodel.rst:1604 +#: ../../reference/datamodel.rst:1614 msgid "" "This positional information can be missing. A non-exhaustive lists of cases " "where this may happen:" @@ -2556,22 +2565,22 @@ msgstr "" "Diese Positionsangaben können fehlen. Hier eine nicht erschöpfende Liste von " "Fällen, in denen dies vorkommen kann:" -#: ../../reference/datamodel.rst:1607 +#: ../../reference/datamodel.rst:1617 msgid "Running the interpreter with :option:`-X` ``no_debug_ranges``." msgstr "Den Interpreter mit „ :option:`-X` “ ausführen ``no_debug_ranges``." -#: ../../reference/datamodel.rst:1608 +#: ../../reference/datamodel.rst:1618 msgid "" "Loading a pyc file compiled while using :option:`-X` ``no_debug_ranges``." msgstr "" "Laden einer PYC-Datei, die mit :option:`-X` ``no_debug_ranges`` kompiliert " "wurde." -#: ../../reference/datamodel.rst:1609 +#: ../../reference/datamodel.rst:1619 msgid "Position tuples corresponding to artificial instructions." msgstr "Ordne die Tupel den künstlichen Befehlen zu." -#: ../../reference/datamodel.rst:1610 +#: ../../reference/datamodel.rst:1620 msgid "" "Line and column numbers that can't be represented due to implementation " "specific limitations." @@ -2579,14 +2588,14 @@ msgstr "" "Zeilen- und Spaltennummern, die aufgrund implementierungsspezifischer " "Einschränkungen nicht dargestellt werden können." -#: ../../reference/datamodel.rst:1613 +#: ../../reference/datamodel.rst:1623 msgid "" "When this occurs, some or all of the tuple elements can be :const:`None`." msgstr "" "In diesem Fall können einige oder alle Elemente des Tupels „ :const:`None` “ " "sein." -#: ../../reference/datamodel.rst:1619 +#: ../../reference/datamodel.rst:1629 msgid "" "This feature requires storing column positions in code objects which may " "result in a small increase of disk usage of compiled Python files or " @@ -2604,7 +2613,7 @@ msgstr "" "“ ( ``no_debug_ranges`` ) oder die Umgebungsvariable „ :envvar:" "`PYTHONNODEBUGRANGES` “ verwendet werden." -#: ../../reference/datamodel.rst:1628 +#: ../../reference/datamodel.rst:1638 msgid "" "Returns an iterator that yields information about successive ranges of :term:" "`bytecode`\\s. Each item yielded is a ``(start, end, lineno)`` :class:" @@ -2614,7 +2623,7 @@ msgstr "" "Bereiche von :term:`bytecode` liefert. Jedes zurückgegebene Element ist ein " "``(start, end, lineno)`` :class:`tuple` :" -#: ../../reference/datamodel.rst:1632 +#: ../../reference/datamodel.rst:1642 msgid "" "``start`` (an :class:`int`) represents the offset (inclusive) of the start " "of the :term:`bytecode` range" @@ -2622,7 +2631,7 @@ msgstr "" "``start`` (ein :class:`int`) stellt den Offset (einschließlich) des Anfangs " "des :term:`Bytecode `-Bereichs dar" -#: ../../reference/datamodel.rst:1634 +#: ../../reference/datamodel.rst:1644 msgid "" "``end`` (an :class:`int`) represents the offset (exclusive) of the end of " "the :term:`bytecode` range" @@ -2630,7 +2639,7 @@ msgstr "" "``end`` (ein :class:`int`) stellt den Offset (exklusiv) vom Ende des :term:" "`Bytecode `-Bereichs dar" -#: ../../reference/datamodel.rst:1636 +#: ../../reference/datamodel.rst:1646 msgid "" "``lineno`` is an :class:`int` representing the line number of the :term:" "`bytecode` range, or ``None`` if the bytecodes in the given range have no " @@ -2640,15 +2649,15 @@ msgstr "" "Bereichs angibt, oder ein ``None``, wenn die Bytecodes im angegebenen " "Bereich keine Zeilennummer haben" -#: ../../reference/datamodel.rst:1640 +#: ../../reference/datamodel.rst:1650 msgid "The items yielded will have the following properties:" msgstr "Die erzeugten Elemente weisen folgende Eigenschaften auf:" -#: ../../reference/datamodel.rst:1642 +#: ../../reference/datamodel.rst:1652 msgid "The first range yielded will have a ``start`` of 0." msgstr "Der erste ermittelte Wertebereich weist einen „ ``start`` “ von 0 auf." -#: ../../reference/datamodel.rst:1643 +#: ../../reference/datamodel.rst:1653 msgid "" "The ``(start, end)`` ranges will be non-decreasing and consecutive. That is, " "for any pair of :class:`tuple`\\s, the ``start`` of the second will be equal " @@ -2658,12 +2667,12 @@ msgstr "" "Das heißt, für jedes Paar :class:`tuple`\\s gilt: Die ``start`` des zweiten " "ist gleich der ``end`` des ersten." -#: ../../reference/datamodel.rst:1646 +#: ../../reference/datamodel.rst:1656 msgid "No range will be backwards: ``end >= start`` for all triples." msgstr "" "Kein Bereich wird rückwärts verlaufen: ``end >= start`` für alle Tripel." -#: ../../reference/datamodel.rst:1647 +#: ../../reference/datamodel.rst:1657 msgid "" "The last :class:`tuple` yielded will have ``end`` equal to the size of the :" "term:`bytecode`." @@ -2671,7 +2680,7 @@ msgstr "" "Der zuletzt zurückgegebene Wert von :class:`tuple` hat einen Wert für " "``end``, der der Größe des :term:`Bytecodes ` entspricht." -#: ../../reference/datamodel.rst:1650 +#: ../../reference/datamodel.rst:1660 msgid "" "Zero-width ranges, where ``start == end``, are allowed. Zero-width ranges " "are used for lines that are present in the source code, but have been " @@ -2681,34 +2690,34 @@ msgstr "" "mit der Breite Null werden für Zeilen verwendet, die im Quellcode vorhanden " "sind, aber vom :term:`Bytecode `-Compiler entfernt wurden." -#: ../../reference/datamodel.rst:1658 +#: ../../reference/datamodel.rst:1668 msgid ":pep:`626` - Precise line numbers for debugging and other tools." msgstr "" ":pep:`626` - Genaue Zeilennummern für die Fehlersuche und andere Tools." -#: ../../reference/datamodel.rst:1659 +#: ../../reference/datamodel.rst:1669 msgid "The PEP that introduced the :meth:`!co_lines` method." msgstr "Der PEP, mit dem die Methode „ :meth:`!co_lines` “ eingeführt wurde." -#: ../../reference/datamodel.rst:1663 +#: ../../reference/datamodel.rst:1673 msgid "" "Return a copy of the code object with new values for the specified fields." msgstr "" "Gibt eine Kopie des Code-Objekts mit neuen Werten für die angegebenen Felder " "zurück." -#: ../../reference/datamodel.rst:1665 +#: ../../reference/datamodel.rst:1675 msgid "" "Code objects are also supported by the generic function :func:`copy.replace`." msgstr "" "Code-Objekte werden auch von der generischen Funktion „ :func:`copy.replace` " "“ unterstützt." -#: ../../reference/datamodel.rst:1673 +#: ../../reference/datamodel.rst:1683 msgid "Frame objects" msgstr "Rahmenobjekte" -#: ../../reference/datamodel.rst:1677 +#: ../../reference/datamodel.rst:1687 msgid "" "Frame objects represent execution frames. They may occur in :ref:`traceback " "objects `, and are also passed to registered trace " @@ -2718,7 +2727,7 @@ msgstr "" "Objekten ` vorkommen und werden zudem an registrierte " "Trace-Funktionen übergeben." -#: ../../reference/datamodel.rst:1696 +#: ../../reference/datamodel.rst:1706 msgid "" "Points to the previous stack frame (towards the caller), or ``None`` if this " "is the bottom stack frame" @@ -2726,7 +2735,7 @@ msgstr "" "Verweist auf den vorherigen Stack-Frame (in Richtung des Aufrufers) oder auf " "``None``, wenn dies der unterste Stack-Frame ist" -#: ../../reference/datamodel.rst:1700 +#: ../../reference/datamodel.rst:1710 msgid "" "The :ref:`code object ` being executed in this frame. " "Accessing this attribute raises an :ref:`auditing event ` ``object." @@ -2736,7 +2745,7 @@ msgstr "" "Der Zugriff auf dieses Attribut löst ein :ref:`Auditing-Ereignis ` " "``object.__getattr__`` mit den Argumenten ``obj`` und ``\"f_code\"`` aus." -#: ../../reference/datamodel.rst:1705 +#: ../../reference/datamodel.rst:1715 msgid "" "The mapping used by the frame to look up :ref:`local variables `. If " "the frame refers to an :term:`optimized scope`, this may return a write-" @@ -2747,18 +2756,18 @@ msgstr "" "Gültigkeitsbereich ` bezieht, kann dies ein Write-Through-" "Proxy-Objekt zurückgeben." -#: ../../reference/datamodel.rst:1710 +#: ../../reference/datamodel.rst:1720 msgid "Return a proxy for optimized scopes." msgstr "Gibt einen Proxy für optimierte Bereiche zurück." -#: ../../reference/datamodel.rst:1714 +#: ../../reference/datamodel.rst:1724 msgid "" "The dictionary used by the frame to look up :ref:`global variables `" msgstr "" "Das Wörterbuch, das vom Frame zum Nachschlagen von :ref:`globalen Variablen " "`" -#: ../../reference/datamodel.rst:1718 +#: ../../reference/datamodel.rst:1728 msgid "" "The dictionary used by the frame to look up :ref:`built-in (intrinsic) names " "`" @@ -2766,7 +2775,7 @@ msgstr "" "Das vom Frame zum Nachschlagen verwendete Wörterbuch: :ref:`integrierte " "(intrinsische) Namen `" -#: ../../reference/datamodel.rst:1722 +#: ../../reference/datamodel.rst:1732 msgid "" "The \"precise instruction\" of the frame object (this is an index into the :" "term:`bytecode` string of the :ref:`code object `)" @@ -2774,7 +2783,7 @@ msgstr "" "Die „genaue Anweisung“ des Frame-Objekts (dies ist ein Index in die :term:" "`Bytecode `-Zeichenkette des :ref:`Code-Objekts `)" -#: ../../reference/datamodel.rst:1727 +#: ../../reference/datamodel.rst:1737 msgid "" "The :term:`generator` or :term:`coroutine` object that owns this frame, or " "``None`` if the frame is a normal function." @@ -2783,7 +2792,7 @@ msgstr "" "gehört, oder ``None``, wenn es sich bei dem Frame um eine normale Funktion " "handelt." -#: ../../reference/datamodel.rst:1744 +#: ../../reference/datamodel.rst:1754 msgid "" "If not ``None``, this is a function called for various events during code " "execution (this is used by debuggers). Normally an event is triggered for " @@ -2794,7 +2803,7 @@ msgstr "" "wird von Debuggern genutzt). Normalerweise wird für jede neue Quellcodezeile " "ein Ereignis ausgelöst (siehe :attr:`~frame.f_trace_lines`)." -#: ../../reference/datamodel.rst:1749 +#: ../../reference/datamodel.rst:1759 msgid "" "Set this attribute to :const:`False` to disable triggering a tracing event " "for each source line." @@ -2802,7 +2811,7 @@ msgstr "" "Setze dieses Attribut auf „ :const:`False` “, um die Auslösung eines Trace-" "Ereignisses für jede Quellcodezeile zu deaktivieren." -#: ../../reference/datamodel.rst:1753 +#: ../../reference/datamodel.rst:1763 msgid "" "Set this attribute to :const:`True` to allow per-opcode events to be " "requested. Note that this may lead to undefined interpreter behaviour if " @@ -2813,7 +2822,7 @@ msgstr "" "undefinierten Verhalten des Interpreters führen kann, wenn von der Trace-" "Funktion ausgelöste Ausnahmen in die zu verfolgende Funktion gelangen." -#: ../../reference/datamodel.rst:1759 +#: ../../reference/datamodel.rst:1769 msgid "" "The current line number of the frame -- writing to this from within a trace " "function jumps to the given line (only for the bottom-most frame). A " @@ -2826,15 +2835,15 @@ msgstr "" "„Nächste Anweisung festlegen“) implementieren, indem er in dieses Attribut " "schreibt." -#: ../../reference/datamodel.rst:1765 +#: ../../reference/datamodel.rst:1775 msgid "Frame object methods" msgstr "Methoden von Frame-Objekten" -#: ../../reference/datamodel.rst:1767 +#: ../../reference/datamodel.rst:1777 msgid "Frame objects support one method:" msgstr "Frame-Objekte unterstützen eine Methode:" -#: ../../reference/datamodel.rst:1771 +#: ../../reference/datamodel.rst:1781 msgid "" "This method clears all references to :ref:`local variables ` held by " "the frame. Also, if the frame belonged to a :term:`generator`, the " @@ -2850,7 +2859,7 @@ msgstr "" "dem Speichern ihres :ref:`Tracebacks ` für die spätere " "Verwendung)." -#: ../../reference/datamodel.rst:1777 +#: ../../reference/datamodel.rst:1787 msgid "" ":exc:`RuntimeError` is raised if the frame is currently executing or " "suspended." @@ -2858,7 +2867,7 @@ msgstr "" ":exc:`RuntimeError` wird ausgelöst, wenn der Frame gerade ausgeführt wird " "oder angehalten ist." -#: ../../reference/datamodel.rst:1782 +#: ../../reference/datamodel.rst:1792 msgid "" "Attempting to clear a suspended frame raises :exc:`RuntimeError` (as has " "always been the case for executing frames)." @@ -2867,11 +2876,11 @@ msgstr "" "`RuntimeError` “-Ausnahme aus (wie dies bei der Ausführung von Frames schon " "immer der Fall war)." -#: ../../reference/datamodel.rst:1790 +#: ../../reference/datamodel.rst:1800 msgid "Traceback objects" msgstr "Traceback-Objekte" -#: ../../reference/datamodel.rst:1803 +#: ../../reference/datamodel.rst:1813 msgid "" "Traceback objects represent the stack trace of an :ref:`exception `. A traceback object is implicitly created when an exception occurs, " @@ -2882,12 +2891,12 @@ msgstr "" "auftritt, und kann auch explizit durch den Aufruf von :class:`types." "TracebackType` erstellt werden." -#: ../../reference/datamodel.rst:1808 +#: ../../reference/datamodel.rst:1818 msgid "Traceback objects can now be explicitly instantiated from Python code." msgstr "" "Traceback-Objekte können nun explizit aus Python-Code instanziiert werden." -#: ../../reference/datamodel.rst:1811 +#: ../../reference/datamodel.rst:1821 msgid "" "For implicitly created tracebacks, when the search for an exception handler " "unwinds the execution stack, at each unwound level a traceback object is " @@ -2906,7 +2915,7 @@ msgstr "" "sowie als Attribut :attr:`~BaseException.__traceback__` der abgefangenen " "Ausnahme zugänglich." -#: ../../reference/datamodel.rst:1820 +#: ../../reference/datamodel.rst:1830 msgid "" "When the program contains no suitable handler, the stack trace is written " "(nicely formatted) to the standard error stream; if the interpreter is " @@ -2918,7 +2927,7 @@ msgstr "" "Interpreter interaktiv, wird er dem Benutzer zudem unter :data:`sys." "last_traceback` zur Verfügung gestellt." -#: ../../reference/datamodel.rst:1825 +#: ../../reference/datamodel.rst:1835 msgid "" "For explicitly created tracebacks, it is up to the creator of the traceback " "to determine how the :attr:`~traceback.tb_next` attributes should be linked " @@ -2928,14 +2937,14 @@ msgstr "" "entscheiden, wie die Attribute „ :attr:`~traceback.tb_next` “ miteinander " "verknüpft werden sollen, um einen vollständigen Stack-Trace zu bilden." -#: ../../reference/datamodel.rst:1840 +#: ../../reference/datamodel.rst:1850 msgid "" "Points to the execution :ref:`frame ` of the current level." msgstr "" "Verweist auf den Ausführungs-:ref:`Frame ` des aktuellen " "Levels." -#: ../../reference/datamodel.rst:1843 +#: ../../reference/datamodel.rst:1853 msgid "" "Accessing this attribute raises an :ref:`auditing event ` ``object." "__getattr__`` with arguments ``obj`` and ``\"tb_frame\"``." @@ -2944,15 +2953,15 @@ msgstr "" "“ ``object.__getattr__`` mit den Argumenten „ ``obj`` “ und " "„ ``\"tb_frame\"`` “ aus." -#: ../../reference/datamodel.rst:1848 +#: ../../reference/datamodel.rst:1858 msgid "Gives the line number where the exception occurred" msgstr "Gibt die Zeilennummer an, an der die Ausnahme aufgetreten ist" -#: ../../reference/datamodel.rst:1851 +#: ../../reference/datamodel.rst:1861 msgid "Indicates the \"precise instruction\"." msgstr "Bezeichnet die „genaue Anweisung“." -#: ../../reference/datamodel.rst:1853 +#: ../../reference/datamodel.rst:1863 msgid "" "The line number and last instruction in the traceback may differ from the " "line number of its :ref:`frame object ` if the exception " @@ -2964,7 +2973,7 @@ msgstr "" "wenn die Ausnahme in einer :keyword:`try`-Anweisung ohne entsprechende " "except-Klausel oder mit einer :keyword:`finally`-Klausel aufgetreten ist." -#: ../../reference/datamodel.rst:1864 +#: ../../reference/datamodel.rst:1874 msgid "" "The special writable attribute :attr:`!tb_next` is the next level in the " "stack trace (towards the frame where the exception occurred), or ``None`` if " @@ -2974,15 +2983,15 @@ msgstr "" "nächste Ebene im Stack-Trace (in Richtung des Frames, in dem die Ausnahme " "aufgetreten ist) oder „ ``None`` “, falls es keine nächste Ebene gibt." -#: ../../reference/datamodel.rst:1868 +#: ../../reference/datamodel.rst:1878 msgid "This attribute is now writable" msgstr "Dieses Attribut ist nun beschreibbar." -#: ../../reference/datamodel.rst:1873 +#: ../../reference/datamodel.rst:1883 msgid "Slice objects" msgstr "Objekte zerschneiden" -#: ../../reference/datamodel.rst:1877 +#: ../../reference/datamodel.rst:1887 msgid "" "Slice objects are used to represent slices for :meth:`~object.__getitem__` " "methods. They are also created by the built-in :func:`slice` function." @@ -2991,7 +3000,7 @@ msgstr "" "meth:`~object.__getitem__` “. Sie werden außerdem durch die integrierte " "Funktion „ :func:`slice` “ erstellt." -#: ../../reference/datamodel.rst:1883 +#: ../../reference/datamodel.rst:1893 msgid "" "The :func:`slice` type now supports :ref:`subscription `. For " "example, ``slice[float]`` may be used in type annotations to indicate a " @@ -3001,7 +3010,7 @@ msgstr "" "lässt sich zum Beispiel ``slice[float]`` in Typannotationen verwenden, um " "ein Slice zu bezeichnen, das :type:`float`-Objekte enthält." -#: ../../reference/datamodel.rst:1892 +#: ../../reference/datamodel.rst:1902 msgid "" "Special read-only attributes: :attr:`~slice.start` is the lower bound; :attr:" "`~slice.stop` is the upper bound; :attr:`~slice.step` is the step value; " @@ -3012,11 +3021,11 @@ msgstr "" "step` “ ist der Schrittwert; bei Auslassung gilt jeweils „ ``None`` “. Diese " "Attribute können einen beliebigen Typ haben." -#: ../../reference/datamodel.rst:1896 +#: ../../reference/datamodel.rst:1906 msgid "Slice objects support one method:" msgstr "Slice-Objekte unterstützen eine Methode:" -#: ../../reference/datamodel.rst:1900 +#: ../../reference/datamodel.rst:1910 msgid "" "This method takes a single integer argument *length* and computes " "information about the slice that the slice object would describe if applied " @@ -3034,11 +3043,11 @@ msgstr "" "Bereichs liegende Indizes werden auf dieselbe Weise behandelt wie bei " "regulären Slices." -#: ../../reference/datamodel.rst:1909 +#: ../../reference/datamodel.rst:1919 msgid "Static method objects" msgstr "Statische Methodenobjekte" -#: ../../reference/datamodel.rst:1911 +#: ../../reference/datamodel.rst:1921 msgid "" "Static method objects provide a way of defeating the transformation of " "function objects to method objects described above. A static method object " @@ -3058,11 +3067,11 @@ msgstr "" "Statische Methodenobjekte werden mit dem integrierten Konstruktor :func:" "`staticmethod` erstellt." -#: ../../reference/datamodel.rst:1921 +#: ../../reference/datamodel.rst:1931 msgid "Class method objects" msgstr "Klassenmethodenobjekte" -#: ../../reference/datamodel.rst:1923 +#: ../../reference/datamodel.rst:1933 msgid "" "A class method object, like a static method object, is a wrapper around " "another object that alters the way in which that object is retrieved from " @@ -3078,11 +3087,11 @@ msgstr "" "`„Instanzmethoden“ ` beschrieben. Klassenmethodenobjekte " "werden mit dem integrierten Konstruktor :func:`classmethod` erstellt." -#: ../../reference/datamodel.rst:1933 +#: ../../reference/datamodel.rst:1943 msgid "Special method names" msgstr "Spezielle Methodennamen" -#: ../../reference/datamodel.rst:1939 +#: ../../reference/datamodel.rst:1949 msgid "" "A class can implement certain operations that are invoked by special syntax " "(such as arithmetic operations or subscripting and slicing) by defining " @@ -3107,7 +3116,7 @@ msgstr "" "Ausnahme aus, wenn keine entsprechende Methode definiert ist " "(typischerweise :exc:`AttributeError` oder :exc:`TypeError`)." -#: ../../reference/datamodel.rst:1950 +#: ../../reference/datamodel.rst:1960 msgid "" "Setting a special method to ``None`` indicates that the corresponding " "operation is not available. For example, if a class sets :meth:`~object." @@ -3122,7 +3131,7 @@ msgstr "" "`iter` “ für ihre Instanzen eine Ausnahme vom Typ „ :exc:`TypeError` “ " "auslöst (ohne auf „ :meth:`~object.__getitem__` “ zurückzugreifen). [#]_" -#: ../../reference/datamodel.rst:1956 +#: ../../reference/datamodel.rst:1966 msgid "" "When implementing a class that emulates any built-in type, it is important " "that the emulation only be implemented to the degree that it makes sense for " @@ -3139,11 +3148,11 @@ msgstr "" "die :ref:`NodeList- `-Schnittstelle im Document Object " "Model des W3C.)" -#: ../../reference/datamodel.rst:1967 +#: ../../reference/datamodel.rst:1977 msgid "Basic customization" msgstr "Grundlegende Anpassungen" -#: ../../reference/datamodel.rst:1973 +#: ../../reference/datamodel.rst:1983 msgid "" "Called to create a new instance of class *cls*. :meth:`__new__` is a static " "method (special-cased so you need not declare it as such) that takes the " @@ -3160,7 +3169,7 @@ msgstr "" "dem Aufruf der Klasse. Der Rückgabewert von :meth:`__new__` sollte die neue " "Objektinstanz sein, üblicherweise eine Instanz von *cls*." -#: ../../reference/datamodel.rst:1980 +#: ../../reference/datamodel.rst:1990 msgid "" "Typical implementations create a new instance of the class by invoking the " "superclass's :meth:`__new__` method using ``super().__new__(cls[, ...])`` " @@ -3173,7 +3182,7 @@ msgstr "" "anschließend wird die neu erstellte Instanz nach Bedarf angepasst, bevor sie " "zurückgegeben wird." -#: ../../reference/datamodel.rst:1985 +#: ../../reference/datamodel.rst:1995 msgid "" "If :meth:`__new__` is invoked during object construction and it returns an " "instance of *cls*, then the new instance’s :meth:`__init__` method will be " @@ -3187,7 +3196,7 @@ msgstr "" "*self* die neue Instanz ist und die übrigen Argumente mit denen " "übereinstimmen, die an den Objektkonstruktor übergeben wurden." -#: ../../reference/datamodel.rst:1990 +#: ../../reference/datamodel.rst:2000 msgid "" "If :meth:`__new__` does not return an instance of *cls*, then the new " "instance's :meth:`__init__` method will not be invoked." @@ -3195,7 +3204,7 @@ msgstr "" "Wenn „ :meth:`__new__` “ keine Instanz von *cls* zurückgibt, wird die " "Methode „ :meth:`__init__` “ der neuen Instanz nicht aufgerufen." -#: ../../reference/datamodel.rst:1993 +#: ../../reference/datamodel.rst:2003 msgid "" ":meth:`__new__` is intended mainly to allow subclasses of immutable types " "(like int, str, or tuple) to customize instance creation. It is also " @@ -3208,7 +3217,7 @@ msgstr "" "benutzerdefinierten Metaklassen überschrieben, um die Klassenerstellung " "anzupassen." -#: ../../reference/datamodel.rst:2002 +#: ../../reference/datamodel.rst:2012 msgid "" "Called after the instance has been created (by :meth:`__new__`), but before " "it is returned to the caller. The arguments are those passed to the class " @@ -3226,7 +3235,7 @@ msgstr "" "Teils der Instanz sicherzustellen; zum Beispiel: ``super()." "__init__([args...])``." -#: ../../reference/datamodel.rst:2009 +#: ../../reference/datamodel.rst:2019 msgid "" "Because :meth:`__new__` and :meth:`__init__` work together in constructing " "objects (:meth:`__new__` to create it, and :meth:`__init__` to customize " @@ -3239,7 +3248,7 @@ msgstr "" "zurückgeben, der nicht „``None`` “ ist; andernfalls wird zur Laufzeit eine " "„ :exc:`TypeError` “ ausgelöst." -#: ../../reference/datamodel.rst:2022 +#: ../../reference/datamodel.rst:2032 msgid "" "Called when the instance is about to be destroyed. This is also called a " "finalizer or (improperly) a destructor. If a base class has a :meth:" @@ -3254,7 +3263,7 @@ msgstr "" "explizit aufrufen, um die ordnungsgemäße Löschung des Teils der Instanz zu " "gewährleisten, der zur Basisklasse gehört." -#: ../../reference/datamodel.rst:2028 +#: ../../reference/datamodel.rst:2038 msgid "" "It is possible (though not recommended!) for the :meth:`__del__` method to " "postpone destruction of the instance by creating a new reference to it. " @@ -3271,7 +3280,7 @@ msgstr "" "steht; die aktuelle :term:`CPython`-Implementierung ruft die Funktion nur " "einmal auf." -#: ../../reference/datamodel.rst:2035 +#: ../../reference/datamodel.rst:2045 msgid "" "It is not guaranteed that :meth:`__del__` methods are called for objects " "that still exist when the interpreter exits. :class:`weakref.finalize` " @@ -3284,7 +3293,7 @@ msgstr "" "Aufräumfunktion zu registrieren, die aufgerufen wird, wenn ein Objekt von " "der Garbage Collection entfernt wird." -#: ../../reference/datamodel.rst:2042 +#: ../../reference/datamodel.rst:2052 msgid "" "``del x`` doesn't directly call ``x.__del__()`` --- the former decrements " "the reference count for ``x`` by one, and the latter is only called when " @@ -3294,7 +3303,7 @@ msgstr "" "die Referenzanzahl für „ ``x`` “ um eins, und Letzteres wird erst " "aufgerufen, wenn die Referenzanzahl von „ ``x`` “ den Wert Null erreicht." -#: ../../reference/datamodel.rst:2047 +#: ../../reference/datamodel.rst:2057 msgid "" "It is possible for a reference cycle to prevent the reference count of an " "object from going to zero. In this case, the cycle will be later detected " @@ -3313,11 +3322,11 @@ msgstr "" "wiederum auf die lokalen Variablen aller im Traceback erfassten Frames " "verweist." -#: ../../reference/datamodel.rst:2057 +#: ../../reference/datamodel.rst:2067 msgid "Documentation for the :mod:`gc` module." msgstr "Dokumentation zum Modul „ :mod:`gc` “." -#: ../../reference/datamodel.rst:2061 +#: ../../reference/datamodel.rst:2071 msgid "" "Due to the precarious circumstances under which :meth:`__del__` methods are " "invoked, exceptions that occur during their execution are ignored, and a " @@ -3328,7 +3337,7 @@ msgstr "" "Ausführung auftreten, ignoriert, und stattdessen wird eine Warnung an " "„ ``sys.stderr`` “ ausgegeben. Insbesondere gilt Folgendes:" -#: ../../reference/datamodel.rst:2065 +#: ../../reference/datamodel.rst:2075 msgid "" ":meth:`__del__` can be invoked when arbitrary code is being executed, " "including from any arbitrary thread. If :meth:`__del__` needs to take a " @@ -3342,7 +3351,7 @@ msgstr "" "einem Deadlock kommen, da die Ressource möglicherweise bereits von dem Code " "belegt ist, der unterbrochen wird, um „ :meth:`__del__` “ auszuführen." -#: ../../reference/datamodel.rst:2071 +#: ../../reference/datamodel.rst:2081 msgid "" ":meth:`__del__` can be executed during interpreter shutdown. As a " "consequence, the global variables it needs to access (including other " @@ -3362,7 +3371,7 @@ msgstr "" "dazu beitragen, sicherzustellen, dass importierte Module zum Zeitpunkt des " "Aufrufs der Methode :meth:`__del__` noch verfügbar sind." -#: ../../reference/datamodel.rst:2086 +#: ../../reference/datamodel.rst:2096 msgid "" "Called by the :func:`repr` built-in function to compute the \"official\" " "string representation of an object. If at all possible, this should look " @@ -3384,7 +3393,7 @@ msgstr "" "verwendet, wenn eine „informelle“ String-Darstellung von Instanzen dieser " "Klasse erforderlich ist." -#: ../../reference/datamodel.rst:2095 +#: ../../reference/datamodel.rst:2105 msgid "" "This is typically used for debugging, so it is important that the " "representation is information-rich and unambiguous. A default implementation " @@ -3395,7 +3404,7 @@ msgstr "" "Standardimplementierung wird von der Klasse „ :class:`object` “ selbst " "bereitgestellt." -#: ../../reference/datamodel.rst:2107 +#: ../../reference/datamodel.rst:2117 msgid "" "Called by :func:`str(object) `, the default :meth:`__format__` " "implementation, and the built-in function :func:`print`, to compute the " @@ -3407,7 +3416,7 @@ msgstr "" "„informelle“ oder gut darstellbare Zeichenfolgendarstellung eines Objekts zu " "berechnen. Der Rückgabewert muss ein :ref:`str `-Objekt sein." -#: ../../reference/datamodel.rst:2112 +#: ../../reference/datamodel.rst:2122 msgid "" "This method differs from :meth:`object.__repr__` in that there is no " "expectation that :meth:`__str__` return a valid Python expression: a more " @@ -3418,7 +3427,7 @@ msgstr "" "Ausdruck zurückgibt: Es kann eine bequemere oder prägnantere Darstellung " "verwendet werden." -#: ../../reference/datamodel.rst:2116 +#: ../../reference/datamodel.rst:2126 msgid "" "The default implementation defined by the built-in type :class:`object` " "calls :meth:`object.__repr__`." @@ -3426,7 +3435,7 @@ msgstr "" "Die durch den integrierten Typ „ :class:`object` “ definierte " "Standardimplementierung ruft „ :meth:`object.__repr__` “ auf." -#: ../../reference/datamodel.rst:2126 +#: ../../reference/datamodel.rst:2136 msgid "" "Called by :ref:`bytes ` to compute a byte-string representation " "of an object. This should return a :class:`bytes` object. The :class:" @@ -3437,7 +3446,7 @@ msgstr "" "`bytes`-Objekt zurückgeben. Die Klasse :class:`object` selbst stellt diese " "Methode nicht bereit." -#: ../../reference/datamodel.rst:2138 +#: ../../reference/datamodel.rst:2148 msgid "" "Called by the :func:`format` built-in function, and by extension, evaluation " "of :ref:`formatted string literals ` and the :meth:`str.format` " @@ -3458,18 +3467,18 @@ msgstr "" "Formatierung jedoch entweder an einen der integrierten Typen oder verwenden " "eine ähnliche Syntax für Formatierungsoptionen." -#: ../../reference/datamodel.rst:2148 +#: ../../reference/datamodel.rst:2158 msgid "" "See :ref:`formatspec` for a description of the standard formatting syntax." msgstr "" "Eine Beschreibung der Standard-Formatierungssyntax findest du unter :ref:" "`formatspec`." -#: ../../reference/datamodel.rst:2150 +#: ../../reference/datamodel.rst:2160 msgid "The return value must be a string object." msgstr "Der Rückgabewert muss ein String-Objekt sein." -#: ../../reference/datamodel.rst:2152 +#: ../../reference/datamodel.rst:2162 msgid "" "The default implementation by the :class:`object` class should be given an " "empty *format_spec* string. It delegates to :meth:`__str__`." @@ -3478,7 +3487,7 @@ msgstr "" "leere *format_spec*-Zeichenkette übergeben werden. Sie delegiert an „ :meth:" "`__str__` “." -#: ../../reference/datamodel.rst:2155 +#: ../../reference/datamodel.rst:2165 msgid "" "The __format__ method of ``object`` itself raises a :exc:`TypeError` if " "passed any non-empty string." @@ -3486,7 +3495,7 @@ msgstr "" "Die Methode __format__ von ``object`` löst selbst eine :exc:`TypeError` aus, " "wenn ihr eine nicht leere Zeichenkette übergeben wird." -#: ../../reference/datamodel.rst:2159 +#: ../../reference/datamodel.rst:2169 msgid "" "``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than " "``format(str(x), '')``." @@ -3494,7 +3503,7 @@ msgstr "" "``object.__format__(x, '')`` entspricht nun „ ``str(x)`` “ statt " "„ ``format(str(x), '')`` “." -#: ../../reference/datamodel.rst:2175 +#: ../../reference/datamodel.rst:2185 msgid "" "These are the so-called \"rich comparison\" methods. The correspondence " "between operator symbols and method names is as follows: ``xy`` “ ruft „ ``x.__gt__(y)`` “ auf und „ ``x>=y`` “ " "ruft „ ``x.__ge__(y)`` “ auf." -#: ../../reference/datamodel.rst:2181 +#: ../../reference/datamodel.rst:2191 msgid "" "A rich comparison method may return the singleton :data:`NotImplemented` if " "it does not implement the operation for a given pair of arguments. By " @@ -3528,7 +3537,7 @@ msgstr "" "func:`bool` für den Wert auf, um zu bestimmen, ob das Ergebnis wahr oder " "falsch ist." -#: ../../reference/datamodel.rst:2188 +#: ../../reference/datamodel.rst:2198 msgid "" "By default, ``object`` implements :meth:`__eq__` by using ``is``, returning :" "data:`NotImplemented` in the case of a false comparison: ``True if x is y " @@ -3551,7 +3560,7 @@ msgstr "" "aus einer einzigen Stammoperation findest du unter „ :deco:`functools." "total_ordering` “." -#: ../../reference/datamodel.rst:2197 +#: ../../reference/datamodel.rst:2207 msgid "" "By default, the :class:`object` class provides implementations consistent " "with :ref:`expressions-value-comparisons`: equality compares according to " @@ -3566,7 +3575,7 @@ msgstr "" "kann diese Ergebnisse direkt generieren, kann aber auch „ :data:" "`NotImplemented` “ zurückgeben." -#: ../../reference/datamodel.rst:2203 +#: ../../reference/datamodel.rst:2213 msgid "" "See the paragraph on :meth:`__hash__` for some important notes on creating :" "term:`hashable` objects which support custom comparison operations and are " @@ -3577,7 +3586,7 @@ msgstr "" "Vergleichsoperationen unterstützen und als Schlüssel in Wörterbüchern " "verwendet werden können." -#: ../../reference/datamodel.rst:2207 +#: ../../reference/datamodel.rst:2217 msgid "" "There are no swapped-argument versions of these methods (to be used when the " "left argument does not support the operation but the right argument does); " @@ -3601,7 +3610,7 @@ msgstr "" "Methode des linken Operanden Vorrang. Virtuelle Unterklassen werden nicht " "berücksichtigt." -#: ../../reference/datamodel.rst:2218 +#: ../../reference/datamodel.rst:2228 msgid "" "When no appropriate method returns any value other than :data:" "`NotImplemented`, the ``==`` and ``!=`` operators will fall back to ``is`` " @@ -3611,7 +3620,7 @@ msgstr "" "“ zurückgibt, greifen die Operatoren „ ``==`` “ und „ ``!=`` “ jeweils auf " "„ ``is`` “ bzw. „ ``is not`` “ zurück." -#: ../../reference/datamodel.rst:2227 +#: ../../reference/datamodel.rst:2237 msgid "" "Called by built-in function :func:`hash` and for operations on members of " "hashed collections including :class:`set`, :class:`frozenset`, :class:" @@ -3630,7 +3639,7 @@ msgstr "" "zu vermischen, die auch beim Vergleich von Objekten eine Rolle spielen, " "indem man sie in ein Tupel packt und dieses Tupel hasht. Beispiel::" -#: ../../reference/datamodel.rst:2235 +#: ../../reference/datamodel.rst:2245 msgid "" "def __hash__(self):\n" " return hash((self.name, self.nick, self.color))" @@ -3638,7 +3647,7 @@ msgstr "" "def __hash__(self):\n" " return hash((self.name, self.nick, self.color))" -#: ../../reference/datamodel.rst:2240 +#: ../../reference/datamodel.rst:2250 msgid "" ":func:`hash` truncates the value returned from an object's custom :meth:" "`__hash__` method to the size of a :c:type:`Py_ssize_t`. This is typically " @@ -3655,7 +3664,7 @@ msgstr "" "allen unterstützten Builds überprüfen. Eine einfache Möglichkeit hierfür ist " "die Verwendung von ``python -c \"import sys; print(sys.hash_info.width)\"``." -#: ../../reference/datamodel.rst:2248 +#: ../../reference/datamodel.rst:2258 msgid "" "If a class does not define an :meth:`__eq__` method it should not define a :" "meth:`__hash__` operation either; if it defines :meth:`__eq__` but not :meth:" @@ -3676,7 +3685,7 @@ msgstr "" "ist – ändert sich der Hashwert eines Objekts, landet es im falschen Hash-" "Bucket." -#: ../../reference/datamodel.rst:2257 +#: ../../reference/datamodel.rst:2267 msgid "" "User-defined classes have :meth:`__eq__` and :meth:`__hash__` methods by " "default (inherited from the :class:`object` class); with them, all objects " @@ -3690,7 +3699,7 @@ msgstr "" "und „ ``x.__hash__()`` “ gibt einen geeigneten Wert zurück, sodass „ ``x == " "y`` “ sowohl „ ``x is y`` “ als auch „ ``hash(x) == hash(y)`` “ impliziert." -#: ../../reference/datamodel.rst:2262 +#: ../../reference/datamodel.rst:2272 msgid "" "A class that overrides :meth:`__eq__` and does not define :meth:`__hash__` " "will have its :meth:`__hash__` implicitly set to ``None``. When the :meth:" @@ -3707,7 +3716,7 @@ msgstr "" "``isinstance(obj, collections.abc.Hashable)`` korrekt als „unhashable“ " "identifiziert." -#: ../../reference/datamodel.rst:2269 +#: ../../reference/datamodel.rst:2279 msgid "" "If a class that overrides :meth:`__eq__` needs to retain the implementation " "of :meth:`__hash__` from a parent class, the interpreter must be told this " @@ -3718,7 +3727,7 @@ msgstr "" "dem Interpreter explizit mitgeteilt werden, indem ``__hash__ = ." "__hash__`` gesetzt wird." -#: ../../reference/datamodel.rst:2273 +#: ../../reference/datamodel.rst:2283 msgid "" "If a class that does not override :meth:`__eq__` wishes to suppress hash " "support, it should include ``__hash__ = None`` in the class definition. A " @@ -3733,7 +3742,7 @@ msgstr "" "durch einen Aufruf von ``isinstance(obj, collections.abc.Hashable)`` " "fälschlicherweise als „hashable“ identifiziert werden." -#: ../../reference/datamodel.rst:2282 +#: ../../reference/datamodel.rst:2292 msgid "" "By default, the :meth:`__hash__` values of str and bytes objects are " "\"salted\" with an unpredictable random value. Although they remain " @@ -3745,7 +3754,7 @@ msgstr "" "innerhalb eines einzelnen Python-Prozesses konstant bleiben, sind sie bei " "wiederholten Aufrufen von Python nicht vorhersehbar." -#: ../../reference/datamodel.rst:2287 +#: ../../reference/datamodel.rst:2297 msgid "" "This is intended to provide protection against a denial-of-service caused by " "carefully chosen inputs that exploit the worst case performance of a dict " @@ -3758,7 +3767,7 @@ msgstr "" "Komplexität von *O*\\ (*n*\\ :sup:`2`). Weitere Informationen findest du " "unter https://ocert.org/advisories/ocert-2011-003.html." -#: ../../reference/datamodel.rst:2292 +#: ../../reference/datamodel.rst:2302 msgid "" "Changing hash values affects the iteration order of sets. Python has never " "made guarantees about this ordering (and it typically varies between 32-bit " @@ -3768,15 +3777,15 @@ msgstr "" "Mengen aus. Python hat hinsichtlich dieser Reihenfolge niemals Garantien " "gegeben (und sie variiert in der Regel zwischen 32-Bit- und 64-Bit-Builds)." -#: ../../reference/datamodel.rst:2296 +#: ../../reference/datamodel.rst:2306 msgid "See also :envvar:`PYTHONHASHSEED`." msgstr "Siehe auch :envvar:`PYTHONHASHSEED`." -#: ../../reference/datamodel.rst:2298 +#: ../../reference/datamodel.rst:2308 msgid "Hash randomization is enabled by default." msgstr "Die Hash-Randomisierung ist standardmäßig aktiviert." -#: ../../reference/datamodel.rst:2306 +#: ../../reference/datamodel.rst:2316 msgid "" "Called to implement truth value testing and the built-in operation " "``bool()``; should return ``False`` or ``True``. When this method is not " @@ -3793,11 +3802,11 @@ msgstr "" "weder „ :meth:`!__len__` “ noch „ :meth:`!__bool__` “ (was auf die Klasse „ :" "class:`object` “ selbst zutrifft), gelten alle ihre Instanzen als wahr." -#: ../../reference/datamodel.rst:2317 +#: ../../reference/datamodel.rst:2327 msgid "Customizing attribute access" msgstr "Anpassung des Zugriffs auf Attribute" -#: ../../reference/datamodel.rst:2319 +#: ../../reference/datamodel.rst:2329 msgid "" "The following methods can be defined to customize the meaning of attribute " "access (use of, assignment to, or deletion of ``x.name``) for class " @@ -3807,7 +3816,7 @@ msgstr "" "Attributzugriffs (Verwendung, Zuweisung oder Löschung von ``x.name``) für " "Klasseninstanzen anzupassen." -#: ../../reference/datamodel.rst:2327 +#: ../../reference/datamodel.rst:2337 msgid "" "Called when the default attribute access fails with an :exc:`AttributeError` " "(either :meth:`__getattribute__` raises an :exc:`AttributeError` because " @@ -3827,7 +3836,7 @@ msgstr "" "Ausnahme auslösen. Die Klasse „ :class:`object` “ selbst stellt diese " "Methode nicht bereit." -#: ../../reference/datamodel.rst:2335 +#: ../../reference/datamodel.rst:2345 msgid "" "Note that if the attribute is found through the normal mechanism, :meth:" "`__getattr__` is not called. (This is an intentional asymmetry between :" @@ -3850,7 +3859,7 @@ msgstr "" "vollständige Kontrolle über den Attributzugriff erhältst, zeigt die Methode :" "meth:`__getattribute__` weiter unten." -#: ../../reference/datamodel.rst:2348 +#: ../../reference/datamodel.rst:2358 msgid "" "Called unconditionally to implement attribute accesses for instances of the " "class. If the class also defines :meth:`__getattr__`, the latter will not be " @@ -3871,7 +3880,7 @@ msgstr "" "Methode der Basisklasse aufrufen, um auf benötigte Attribute zuzugreifen, " "zum Beispiel ``object.__getattribute__(self, name)``." -#: ../../reference/datamodel.rst:2359 +#: ../../reference/datamodel.rst:2369 msgid "" "This method may still be bypassed when looking up special methods as the " "result of implicit invocation via language syntax or :ref:`built-in " @@ -3882,7 +3891,7 @@ msgstr "" "`integrierte Funktionen ` aufgerufen werden. Siehe :ref:" "`special-lookup`." -#: ../../reference/datamodel.rst:2364 ../../reference/datamodel.rst:2366 +#: ../../reference/datamodel.rst:2374 ../../reference/datamodel.rst:2376 msgid "" "For certain sensitive attribute accesses, raises an :ref:`auditing event " "` ``object.__getattr__`` with arguments ``obj`` and ``name``." @@ -3891,7 +3900,7 @@ msgstr "" "Ereignis „ ` “ ``object.__getattr__`` mit den Argumenten ``obj`` " "und ``name`` ausgelöst." -#: ../../reference/datamodel.rst:2373 +#: ../../reference/datamodel.rst:2383 msgid "" "Called when an attribute assignment is attempted. This is called instead of " "the normal mechanism (i.e. store the value in the instance dictionary). " @@ -3902,7 +3911,7 @@ msgstr "" "im Instanz-Wörterbuch). *name* ist der Name des Attributs, *value* ist der " "Wert, der ihm zugewiesen werden soll." -#: ../../reference/datamodel.rst:2377 +#: ../../reference/datamodel.rst:2387 msgid "" "If :meth:`__setattr__` wants to assign to an instance attribute, it should " "call the base class method with the same name, for example, ``object." @@ -3912,7 +3921,7 @@ msgstr "" "möchte, sollte es die gleichnamige Methode der Basisklasse aufrufen, zum " "Beispiel „ ``object.__setattr__(self, name, value)`` “." -#: ../../reference/datamodel.rst:2381 ../../reference/datamodel.rst:2383 +#: ../../reference/datamodel.rst:2391 ../../reference/datamodel.rst:2393 msgid "" "For certain sensitive attribute assignments, raises an :ref:`auditing event " "` ``object.__setattr__`` with arguments ``obj``, ``name``, " @@ -3922,7 +3931,7 @@ msgstr "" "` ``object.__setattr__`` mit den Argumenten ``obj``, ``name`` und " "``value`` ausgelöst." -#: ../../reference/datamodel.rst:2390 +#: ../../reference/datamodel.rst:2400 msgid "" "Like :meth:`__setattr__` but for attribute deletion instead of assignment. " "This should only be implemented if ``del obj.name`` is meaningful for the " @@ -3932,7 +3941,7 @@ msgstr "" "von Attributen. Dies sollte nur implementiert werden, wenn „ ``del obj." "name`` “ für das Objekt sinnvoll ist." -#: ../../reference/datamodel.rst:2393 ../../reference/datamodel.rst:2395 +#: ../../reference/datamodel.rst:2403 ../../reference/datamodel.rst:2405 msgid "" "For certain sensitive attribute deletions, raises an :ref:`auditing event " "` ``object.__delattr__`` with arguments ``obj`` and ``name``." @@ -3941,7 +3950,7 @@ msgstr "" "Ereignis „ ` “ ``object.__delattr__`` mit den Argumenten „ ``obj`` " "“ und „ ``name`` “ ausgelöst." -#: ../../reference/datamodel.rst:2402 +#: ../../reference/datamodel.rst:2412 msgid "" "Called when :func:`dir` is called on the object. An iterable must be " "returned. :func:`dir` converts the returned iterable to a list and sorts it." @@ -3951,11 +3960,11 @@ msgstr "" "wandelt das zurückgegebene iterierbare Objekt in eine Liste um und sortiert " "diese." -#: ../../reference/datamodel.rst:2407 +#: ../../reference/datamodel.rst:2417 msgid "Customizing module attribute access" msgstr "Anpassung des Zugriffs auf Modulattribute" -#: ../../reference/datamodel.rst:2417 +#: ../../reference/datamodel.rst:2427 msgid "" "Special names ``__getattr__`` and ``__dir__`` can be also used to customize " "access to module attributes. The ``__getattr__`` function at the module " @@ -3976,7 +3985,7 @@ msgstr "" "ausgelöst wird. Wird es gefunden, wird es mit dem Attributnamen aufgerufen " "und das Ergebnis zurückgegeben." -#: ../../reference/datamodel.rst:2426 +#: ../../reference/datamodel.rst:2436 msgid "" "The ``__dir__`` function should accept no arguments, and return an iterable " "of strings that represents the names accessible on module. If present, this " @@ -3987,7 +3996,7 @@ msgstr "" "verfügbaren Namen darstellt. Sofern vorhanden, überschreibt diese Funktion " "die Standard-Suche nach Modulen über :func:`dir`." -#: ../../reference/datamodel.rst:2432 +#: ../../reference/datamodel.rst:2442 msgid "" "For a more fine grained customization of the module behavior (setting " "attributes, properties, etc.), one can set the ``__class__`` attribute of a " @@ -3998,7 +4007,7 @@ msgstr "" "eines Modulobjekts auf eine Unterklasse von „ :class:`types.ModuleType` “ " "setzen. Zum Beispiel::" -#: ../../reference/datamodel.rst:2436 +#: ../../reference/datamodel.rst:2446 msgid "" "import sys\n" "from types import ModuleType\n" @@ -4026,7 +4035,7 @@ msgstr "" "\n" "sys.modules[__name__].__class__ = VerboseModule" -#: ../../reference/datamodel.rst:2450 +#: ../../reference/datamodel.rst:2460 msgid "" "Defining module ``__getattr__`` and setting module ``__class__`` only affect " "lookups made using the attribute access syntax -- directly accessing the " @@ -4039,28 +4048,28 @@ msgstr "" "durch Code innerhalb des Moduls oder über einen Verweis auf das globale " "Wörterbuch des Moduls) bleibt davon unberührt." -#: ../../reference/datamodel.rst:2455 +#: ../../reference/datamodel.rst:2465 msgid "``__class__`` module attribute is now writable." msgstr "``__class__`` Das Modul-Attribut ist nun beschreibbar." -#: ../../reference/datamodel.rst:2458 +#: ../../reference/datamodel.rst:2468 msgid "``__getattr__`` and ``__dir__`` module attributes." msgstr "``__getattr__`` sowie die Modulattribute „ ``__dir__`` “." -#: ../../reference/datamodel.rst:2463 +#: ../../reference/datamodel.rst:2473 msgid ":pep:`562` - Module __getattr__ and __dir__" msgstr ":pep:`562` - Die Module __getattr__ und __dir__" -#: ../../reference/datamodel.rst:2464 +#: ../../reference/datamodel.rst:2474 msgid "Describes the ``__getattr__`` and ``__dir__`` functions on modules." msgstr "" "Beschreibt die Funktionen „ ``__getattr__`` “ und „ ``__dir__`` “ für Module." -#: ../../reference/datamodel.rst:2470 +#: ../../reference/datamodel.rst:2480 msgid "Implementing Descriptors" msgstr "Implementierung von Deskriptoren" -#: ../../reference/datamodel.rst:2472 +#: ../../reference/datamodel.rst:2482 msgid "" "The following methods only apply when an instance of the class containing " "the method (a so-called *descriptor* class) appears in an *owner* class (the " @@ -4079,7 +4088,7 @@ msgstr "" "__dict__` der *owner*-Klasse ist. Die Klasse :class:`object` selbst " "implementiert keines dieser Protokolle." -#: ../../reference/datamodel.rst:2482 +#: ../../reference/datamodel.rst:2492 msgid "" "Called to get the attribute of the owner class (class attribute access) or " "of an instance of that class (instance attribute access). The optional " @@ -4094,7 +4103,7 @@ msgstr "" "Attribut zugegriffen wurde, oder ``None``, wenn über *owner* auf das " "Attribut zugegriffen wird." -#: ../../reference/datamodel.rst:2488 +#: ../../reference/datamodel.rst:2498 msgid "" "This method should return the computed attribute value or raise an :exc:" "`AttributeError` exception." @@ -4102,7 +4111,7 @@ msgstr "" "Diese Methode sollte den berechneten Attributwert zurückgeben oder eine " "Ausnahme vom Typ „ :exc:`AttributeError` “ auslösen." -#: ../../reference/datamodel.rst:2491 +#: ../../reference/datamodel.rst:2501 msgid "" ":PEP:`252` specifies that :meth:`__get__` is callable with one or two " "arguments. Python's own built-in descriptors support this specification; " @@ -4118,7 +4127,7 @@ msgstr "" "Python-eigene Implementierung von :meth:`__getattribute__` übergibt immer " "beide Argumente, unabhängig davon, ob sie erforderlich sind oder nicht." -#: ../../reference/datamodel.rst:2500 +#: ../../reference/datamodel.rst:2510 msgid "" "Called to set the attribute on an instance *instance* of the owner class to " "a new value, *value*." @@ -4126,7 +4135,7 @@ msgstr "" "Wird aufgerufen, um das Attribut einer Instanz *instance* der " "Eigentümerklasse auf einen neuen Wert, *value*, zu setzen." -#: ../../reference/datamodel.rst:2503 +#: ../../reference/datamodel.rst:2513 msgid "" "Note, adding :meth:`__set__` or :meth:`__delete__` changes the kind of " "descriptor to a \"data descriptor\". See :ref:`descriptor-invocation` for " @@ -4136,14 +4145,14 @@ msgstr "" "`__delete__` “ wird der Deskriptortyp in einen „Datendeskriptor“ geändert. " "Weitere Informationen findest du unter :ref:`descriptor-invocation`." -#: ../../reference/datamodel.rst:2509 +#: ../../reference/datamodel.rst:2519 msgid "" "Called to delete the attribute on an instance *instance* of the owner class." msgstr "" "Wird aufgerufen, um das Attribut einer Instanz *instance* der " "Eigentümerklasse zu löschen." -#: ../../reference/datamodel.rst:2511 +#: ../../reference/datamodel.rst:2521 msgid "" "Instances of descriptors may also have the :attr:`!__objclass__` attribute " "present:" @@ -4151,7 +4160,7 @@ msgstr "" "Instanzen von Deskriptoren können auch das Attribut „ :attr:`!__objclass__` " "“ aufweisen:" -#: ../../reference/datamodel.rst:2516 +#: ../../reference/datamodel.rst:2526 msgid "" "The attribute :attr:`!__objclass__` is interpreted by the :mod:`inspect` " "module as specifying the class where this object was defined (setting this " @@ -4170,11 +4179,11 @@ msgstr "" "dieses Attribut beispielsweise für ungebundene Methoden, die in C " "implementiert sind)." -#: ../../reference/datamodel.rst:2527 +#: ../../reference/datamodel.rst:2537 msgid "Invoking Descriptors" msgstr "Deskriptoren aufrufen" -#: ../../reference/datamodel.rst:2529 +#: ../../reference/datamodel.rst:2539 msgid "" "In general, a descriptor is an object attribute with \"binding behavior\", " "one whose attribute access has been overridden by methods in the descriptor " @@ -4188,7 +4197,7 @@ msgstr "" "`~object.__set__` und :meth:`~object.__delete__`. Ist eine dieser Methoden " "für ein Objekt definiert, wird dieses als Deskriptor bezeichnet." -#: ../../reference/datamodel.rst:2535 +#: ../../reference/datamodel.rst:2545 msgid "" "The default behavior for attribute access is to get, set, or delete the " "attribute from an object's dictionary. For instance, ``a.x`` has a lookup " @@ -4202,7 +4211,7 @@ msgstr "" "und sich über die Basisklassen von „ ``type(a)`` “ fortsetzt, wobei " "Metaklassen ausgeschlossen sind." -#: ../../reference/datamodel.rst:2540 +#: ../../reference/datamodel.rst:2550 msgid "" "However, if the looked-up value is an object defining one of the descriptor " "methods, then Python may override the default behavior and invoke the " @@ -4215,7 +4224,7 @@ msgstr "" "der Prioritätskette dies geschieht, hängt davon ab, welche " "Deskriptormethoden definiert wurden und wie sie aufgerufen wurden." -#: ../../reference/datamodel.rst:2545 +#: ../../reference/datamodel.rst:2555 msgid "" "The starting point for descriptor invocation is a binding, ``a.x``. How the " "arguments are assembled depends on ``a``:" @@ -4223,11 +4232,11 @@ msgstr "" "Ausgangspunkt für den Aufruf eines Deskriptors ist eine Bindung, ``a.x``. " "Wie die Argumente zusammengestellt werden, hängt von ``a`` ab:" -#: ../../reference/datamodel.rst:2548 +#: ../../reference/datamodel.rst:2558 msgid "Direct Call" msgstr "Direktanruf" -#: ../../reference/datamodel.rst:2549 +#: ../../reference/datamodel.rst:2559 msgid "" "The simplest and least common call is when user code directly invokes a " "descriptor method: ``x.__get__(a)``." @@ -4235,11 +4244,11 @@ msgstr "" "Der einfachste und seltenste Aufruf ist der Fall, bei dem der Benutzercode " "eine Deskriptormethode direkt aufruft: ``x.__get__(a)`` ." -#: ../../reference/datamodel.rst:2552 +#: ../../reference/datamodel.rst:2562 msgid "Instance Binding" msgstr "Instanzbindung" -#: ../../reference/datamodel.rst:2553 +#: ../../reference/datamodel.rst:2563 msgid "" "If binding to an object instance, ``a.x`` is transformed into the call: " "``type(a).__dict__['x'].__get__(a, type(a))``." @@ -4247,11 +4256,11 @@ msgstr "" "Bei der Bindung an eine Objektinstanz wird „ ``a.x`` “ in den Aufruf " "„ ``type(a).__dict__['x'].__get__(a, type(a))`` “ umgewandelt." -#: ../../reference/datamodel.rst:2556 +#: ../../reference/datamodel.rst:2566 msgid "Class Binding" msgstr "Klassenbindung" -#: ../../reference/datamodel.rst:2557 +#: ../../reference/datamodel.rst:2567 msgid "" "If binding to a class, ``A.x`` is transformed into the call: ``A." "__dict__['x'].__get__(None, A)``." @@ -4259,11 +4268,11 @@ msgstr "" "Bei der Bindung an eine Klasse wird „ ``A.x`` “ in den Aufruf „ ``A." "__dict__['x'].__get__(None, A)`` “ umgewandelt." -#: ../../reference/datamodel.rst:2560 +#: ../../reference/datamodel.rst:2570 msgid "Super Binding" msgstr "Super-Bindung" -#: ../../reference/datamodel.rst:2561 +#: ../../reference/datamodel.rst:2571 msgid "" "A dotted lookup such as ``super(A, a).x`` searches ``a.__class__.__mro__`` " "for a base class ``B`` following ``A`` and then returns ``B.__dict__['x']." @@ -4275,7 +4284,7 @@ msgstr "" "__get__(a, A)`` “ zurückgegeben. Handelt es sich nicht um einen Deskriptor, " "wird „ ``x`` “ unverändert zurückgegeben." -#: ../../reference/datamodel.rst:2598 +#: ../../reference/datamodel.rst:2608 msgid "" "For instance bindings, the precedence of descriptor invocation depends on " "which descriptor methods are defined. A descriptor can define any " @@ -4307,7 +4316,7 @@ msgstr "" "einer Neudefinition in einem Instanz-Dictionary. Nicht-Daten-Deskriptoren " "können dagegen von Instanzen überschrieben werden." -#: ../../reference/datamodel.rst:2613 +#: ../../reference/datamodel.rst:2623 msgid "" "Python methods (including those decorated with :deco:`staticmethod` and :" "deco:`classmethod`) are implemented as non-data descriptors. Accordingly, " @@ -4322,7 +4331,7 @@ msgstr "" "Verhaltensweisen annehmen, die sich von denen anderer Instanzen derselben " "Klasse unterscheiden." -#: ../../reference/datamodel.rst:2619 +#: ../../reference/datamodel.rst:2629 msgid "" "The :deco:`property` decorator is implemented as a data descriptor. " "Accordingly, instances cannot override the behavior of a property." @@ -4330,11 +4339,11 @@ msgstr "" "Der Dekorator „ :deco:`property` “ ist als Datenbeschreiber implementiert. " "Daher können Instanzen das Verhalten einer Eigenschaft nicht überschreiben." -#: ../../reference/datamodel.rst:2626 +#: ../../reference/datamodel.rst:2636 msgid "__slots__" msgstr "__slots__" -#: ../../reference/datamodel.rst:2628 +#: ../../reference/datamodel.rst:2638 msgid "" "*__slots__* allow us to explicitly declare data members (like properties) " "and deny the creation of :attr:`~object.__dict__` and *__weakref__* (unless " @@ -4345,7 +4354,7 @@ msgstr "" "*__weakref__* verhindern (es sei denn, sie wurden explizit in *__slots__* " "deklariert oder sind in einer übergeordneten Klasse verfügbar)." -#: ../../reference/datamodel.rst:2632 +#: ../../reference/datamodel.rst:2642 msgid "" "The space saved over using :attr:`~object.__dict__` can be significant. " "Attribute lookup speed can be significantly improved as well." @@ -4354,7 +4363,7 @@ msgstr "" "kann beträchtlich sein. Auch die Geschwindigkeit der Attributsuche lässt " "sich deutlich verbessern." -#: ../../reference/datamodel.rst:2637 +#: ../../reference/datamodel.rst:2647 msgid "" "This class variable can be assigned a string, iterable, or sequence of " "strings with variable names used by instances. *__slots__* reserves space " @@ -4367,11 +4376,11 @@ msgstr "" "deklarierten Variablen und verhindert die automatische Erstellung von :attr:" "`~object.__dict__` und *__weakref__* für jede Instanz." -#: ../../reference/datamodel.rst:2646 +#: ../../reference/datamodel.rst:2656 msgid "Notes on using *__slots__*:" msgstr "Hinweise zur Verwendung von *__slots__*:" -#: ../../reference/datamodel.rst:2648 +#: ../../reference/datamodel.rst:2658 msgid "" "When inheriting from a class without *__slots__*, the :attr:`~object." "__dict__` and *__weakref__* attribute of the instances will always be " @@ -4380,7 +4389,7 @@ msgstr "" "Bei der Vererbung von einer Klasse ohne *__slots__* sind die Attribute :attr:" "`~object.__dict__` und *__weakref__* der Instanzen immer zugänglich." -#: ../../reference/datamodel.rst:2652 +#: ../../reference/datamodel.rst:2662 msgid "" "Without a :attr:`~object.__dict__` variable, instances cannot be assigned " "new variables not listed in the *__slots__* definition. Attempts to assign " @@ -4395,7 +4404,7 @@ msgstr "" "Variablen gewünscht ist, fügst du ``'__dict__'`` zur Zeichenfolgenfolge in " "der *__slots__*-Deklaration hinzu." -#: ../../reference/datamodel.rst:2659 +#: ../../reference/datamodel.rst:2669 msgid "" "Without a *__weakref__* variable for each instance, classes defining " "*__slots__* do not support :mod:`weak references ` to its " @@ -4408,7 +4417,7 @@ msgstr "" "fügest du ``'__weakref__'`` zur Zeichenfolgenfolge in der *__slots__*-" "Deklaration hinzu." -#: ../../reference/datamodel.rst:2665 +#: ../../reference/datamodel.rst:2675 msgid "" "*__slots__* are implemented at the class level by creating :ref:`descriptors " "` for each variable name. As a result, class attributes cannot " @@ -4422,7 +4431,7 @@ msgstr "" "andernfalls würde das Klassenattribut die Zuweisung des Deskriptors " "überschreiben." -#: ../../reference/datamodel.rst:2671 +#: ../../reference/datamodel.rst:2681 msgid "" "The action of a *__slots__* declaration is not limited to the class where it " "is defined. *__slots__* declared in parents are available in child classes. " @@ -4438,7 +4447,7 @@ msgstr "" "ebenfalls `*__slots__*` (das nur Namen von *zusätzlichen* Slots enthalten " "sollte)." -#: ../../reference/datamodel.rst:2677 +#: ../../reference/datamodel.rst:2687 msgid "" "If a class defines a slot also defined in a base class, the instance " "variable defined by the base class slot is inaccessible (except by " @@ -4453,7 +4462,7 @@ msgstr "" "Programms undefiniert ist. Möglicherweise wird in Zukunft eine Prüfung " "hinzugefügt, um dies zu verhindern." -#: ../../reference/datamodel.rst:2682 +#: ../../reference/datamodel.rst:2692 msgid "" ":exc:`TypeError` will be raised if *__slots__* other than *__dict__* and " "*__weakref__* are defined for a class derived from a :c:member:`\"variable-" @@ -4466,13 +4475,13 @@ msgstr "" "*__slots__* als *__dict__* und *__weakref__* definiert werden – ausgenommen :" "class:`tuple`." -#: ../../reference/datamodel.rst:2687 +#: ../../reference/datamodel.rst:2697 msgid "Any non-string :term:`iterable` may be assigned to *__slots__*." msgstr "" "Jedes nicht-zeichenfolgenartige :term:`iterable` kann *__slots__* zugewiesen " "werden." -#: ../../reference/datamodel.rst:2689 +#: ../../reference/datamodel.rst:2699 msgid "" "If a :class:`dictionary ` is used to assign *__slots__*, the " "dictionary keys will be used as the slot names. The values of the dictionary " @@ -4485,7 +4494,7 @@ msgstr "" "Docstrings bereitzustellen, die von :func:`inspect.getdoc` erkannt und in " "der Ausgabe von :func:`help` angezeigt werden." -#: ../../reference/datamodel.rst:2694 +#: ../../reference/datamodel.rst:2704 msgid "" ":attr:`~object.__class__` assignment works only if both classes have the " "same *__slots__*." @@ -4493,7 +4502,7 @@ msgstr "" ":attr:`~object.__class__` Die Zuweisung funktioniert nur, wenn beide Klassen " "dieselben *__slots__* haben." -#: ../../reference/datamodel.rst:2697 +#: ../../reference/datamodel.rst:2707 msgid "" ":ref:`Multiple inheritance ` with multiple slotted " "parent classes can be used, but only one parent is allowed to have " @@ -4505,7 +4514,7 @@ msgstr "" "besitzen, die durch Slots angelegt wurden (die übrigen Basisklassen müssen " "leere Slot-Layouts haben). Verstöße lösen :exc:`TypeError` aus." -#: ../../reference/datamodel.rst:2703 +#: ../../reference/datamodel.rst:2713 msgid "" "If an :term:`iterator` is used for *__slots__* then a :term:`descriptor` is " "created for each of the iterator's values. However, the *__slots__* " @@ -4515,7 +4524,7 @@ msgstr "" "jeden Wert des Iterators ein :term:`Deskriptor ` erstellt. Das " "Attribut *__slots__* ist jedoch ein leerer Iterator." -#: ../../reference/datamodel.rst:2708 +#: ../../reference/datamodel.rst:2718 msgid "" "Allowed defining the *__dict__* and *__weakref__* *__slots__* for any class. " "Allowed defining any *__slots__* for a class derived from :class:`tuple`." @@ -4524,11 +4533,11 @@ msgstr "" "*__weakref__* zu definieren. Für eine von :class:`tuple` abgeleitete Klasse " "ist es erlaubt, beliebige *__slots__* zu definieren." -#: ../../reference/datamodel.rst:2716 +#: ../../reference/datamodel.rst:2726 msgid "Customizing class creation" msgstr "Anpassung der Klassenerstellung" -#: ../../reference/datamodel.rst:2718 +#: ../../reference/datamodel.rst:2728 msgid "" "Whenever a class inherits from another class, :meth:`~object." "__init_subclass__` is called on the parent class. This way, it is possible " @@ -4546,7 +4555,7 @@ msgstr "" "„ ``__init_subclass__`` “ ausschließlich für zukünftige Unterklassen der " "Klasse, die diese Methode definiert." -#: ../../reference/datamodel.rst:2727 +#: ../../reference/datamodel.rst:2737 msgid "" "This method is called whenever the containing class is subclassed. *cls* is " "then the new subclass. If defined as a normal instance method, this method " @@ -4557,7 +4566,7 @@ msgstr "" "Wenn diese Methode als normale Instanzmethode definiert ist, wird sie " "implizit in eine Klassenmethode umgewandelt." -#: ../../reference/datamodel.rst:2731 +#: ../../reference/datamodel.rst:2741 msgid "" "Keyword arguments which are given to a new class are passed to the parent " "class's ``__init_subclass__``. For compatibility with other classes using " @@ -4571,7 +4580,7 @@ msgstr "" "Schlüsselwortargumente herausnehmen und die übrigen an die Basisklasse " "weitergeben, wie im folgenden Beispiel::" -#: ../../reference/datamodel.rst:2737 +#: ../../reference/datamodel.rst:2747 msgid "" "class Philosopher:\n" " def __init_subclass__(cls, /, default_name, **kwargs):\n" @@ -4589,7 +4598,7 @@ msgstr "" "class AustralianPhilosopher(Philosopher, default_name=\"Bruce\"):\n" " pass" -#: ../../reference/datamodel.rst:2745 +#: ../../reference/datamodel.rst:2755 msgid "" "The default implementation ``object.__init_subclass__`` does nothing, but " "raises an error if it is called with any arguments." @@ -4598,7 +4607,7 @@ msgstr "" "aus, löst jedoch einen Fehler aus, wenn sie mit beliebigen Argumenten " "aufgerufen wird." -#: ../../reference/datamodel.rst:2750 +#: ../../reference/datamodel.rst:2760 msgid "" "The metaclass hint ``metaclass`` is consumed by the rest of the type " "machinery, and is never passed to ``__init_subclass__`` implementations. The " @@ -4610,7 +4619,7 @@ msgstr "" "weitergegeben. Auf die eigentliche Metaklasse (und nicht auf den expliziten " "Hinweis) kann über „ ``type(cls)`` “ zugegriffen werden." -#: ../../reference/datamodel.rst:2758 +#: ../../reference/datamodel.rst:2768 msgid "" "When a class is created, :meth:`!type.__new__` scans the class variables and " "makes callbacks to those with a :meth:`~object.__set_name__` hook." @@ -4619,7 +4628,7 @@ msgstr "" "Klassenvariablen und ruft diejenigen auf, die mit dem Hook „ :meth:`~object." "__set_name__` “ versehen sind." -#: ../../reference/datamodel.rst:2763 +#: ../../reference/datamodel.rst:2773 msgid "" "Automatically called at the time the owning class *owner* is created. The " "object has been assigned to *name* in that class::" @@ -4627,7 +4636,7 @@ msgstr "" "Wird automatisch aufgerufen, wenn die Klasse *owner* erstellt wird. Das " "Objekt wurde in dieser Klasse der Variablen *name* zugewiesen::" -#: ../../reference/datamodel.rst:2766 +#: ../../reference/datamodel.rst:2776 msgid "" "class A:\n" " x = C() # Automatically calls: x.__set_name__(A, 'x')" @@ -4635,7 +4644,7 @@ msgstr "" "class A:\n" " x = C() # ruft automatisch auf: x.__set_name__(A, 'x')" -#: ../../reference/datamodel.rst:2769 +#: ../../reference/datamodel.rst:2779 msgid "" "If the class variable is assigned after the class is created, :meth:" "`__set_name__` will not be called automatically. If needed, :meth:" @@ -4645,7 +4654,7 @@ msgstr "" "wird „ :meth:`__set_name__` “ nicht automatisch aufgerufen. Bei Bedarf kann " "„ :meth:`__set_name__` “ direkt aufgerufen werden::" -#: ../../reference/datamodel.rst:2773 +#: ../../reference/datamodel.rst:2783 msgid "" "class A:\n" " pass\n" @@ -4661,15 +4670,15 @@ msgstr "" "A.x = c # der Hook wird nicht aufgerufen\n" "c.__set_name__(A, 'x') # den Hook von Hand aufrufen" -#: ../../reference/datamodel.rst:2780 +#: ../../reference/datamodel.rst:2790 msgid "See :ref:`class-object-creation` for more details." msgstr "Weitere Informationen findest du unter :ref:`class-object-creation`." -#: ../../reference/datamodel.rst:2788 +#: ../../reference/datamodel.rst:2798 msgid "Metaclasses" msgstr "Metaklassen" -#: ../../reference/datamodel.rst:2795 +#: ../../reference/datamodel.rst:2805 msgid "" "By default, classes are constructed using :func:`type`. The class body is " "executed in a new namespace and the class name is bound locally to the " @@ -4679,7 +4688,7 @@ msgstr "" "Klassenkörper wird in einem neuen Namensraum ausgeführt, und der Klassenname " "wird lokal an das Ergebnis von ``type(name, bases, namespace)`` gebunden." -#: ../../reference/datamodel.rst:2799 +#: ../../reference/datamodel.rst:2809 msgid "" "The class creation process can be customized by passing the ``metaclass`` " "keyword argument in the class definition line, or by inheriting from an " @@ -4692,7 +4701,7 @@ msgstr "" "folgenden Beispiel sind sowohl „ ``MyClass`` “ als auch „ ``MySubclass`` “ " "Instanzen von „ ``Meta`` “ ::" -#: ../../reference/datamodel.rst:2804 +#: ../../reference/datamodel.rst:2814 msgid "" "class Meta(type):\n" " pass\n" @@ -4712,7 +4721,7 @@ msgstr "" "class MySubclass(MyClass):\n" " pass" -#: ../../reference/datamodel.rst:2813 +#: ../../reference/datamodel.rst:2823 msgid "" "Any other keyword arguments that are specified in the class definition are " "passed through to all metaclass operations described below." @@ -4721,36 +4730,36 @@ msgstr "" "sind, werden an alle im Folgenden beschriebenen Metaklassenoperationen " "weitergeleitet." -#: ../../reference/datamodel.rst:2816 +#: ../../reference/datamodel.rst:2826 msgid "When a class definition is executed, the following steps occur:" msgstr "" "Wenn eine Klassendefinition ausgeführt wird, finden folgende Schritte statt:" -#: ../../reference/datamodel.rst:2818 +#: ../../reference/datamodel.rst:2828 msgid "MRO entries are resolved;" msgstr "Die MRO-Einträge wurden geklärt;" -#: ../../reference/datamodel.rst:2819 +#: ../../reference/datamodel.rst:2829 msgid "the appropriate metaclass is determined;" msgstr "die entsprechende Metaklasse wird ermittelt;" -#: ../../reference/datamodel.rst:2820 +#: ../../reference/datamodel.rst:2830 msgid "the class namespace is prepared;" msgstr "Der Klassen-Namespace wird vorbereitet;" -#: ../../reference/datamodel.rst:2821 +#: ../../reference/datamodel.rst:2831 msgid "the class body is executed;" msgstr "der Klassenkörper wird ausgeführt;" -#: ../../reference/datamodel.rst:2822 +#: ../../reference/datamodel.rst:2832 msgid "the class object is created." msgstr "Das Klassenobjekt wird erstellt." -#: ../../reference/datamodel.rst:2826 +#: ../../reference/datamodel.rst:2836 msgid "Resolving MRO entries" msgstr "MRO-Einträge auflösen" -#: ../../reference/datamodel.rst:2830 +#: ../../reference/datamodel.rst:2840 msgid "" "If a base that appears in a class definition is not an instance of :class:" "`type`, then an :meth:`!__mro_entries__` method is searched on the base. If " @@ -4771,20 +4780,20 @@ msgstr "" "der Basis verwendet werden. Das zurückgegebene Tupel darf leer sein; in " "diesem Fall wird die ursprüngliche Basis ignoriert." -#: ../../reference/datamodel.rst:2841 +#: ../../reference/datamodel.rst:2851 msgid ":func:`types.resolve_bases`" msgstr ":func:`types.resolve_bases`" -#: ../../reference/datamodel.rst:2842 +#: ../../reference/datamodel.rst:2852 msgid "Dynamically resolve bases that are not instances of :class:`type`." msgstr "" "Basisklassen, die keine Instanzen von :class:`type` sind, dynamisch auflösen." -#: ../../reference/datamodel.rst:2844 +#: ../../reference/datamodel.rst:2854 msgid ":func:`types.get_original_bases`" msgstr ":func:`types.get_original_bases`" -#: ../../reference/datamodel.rst:2845 +#: ../../reference/datamodel.rst:2855 msgid "" "Retrieve a class's \"original bases\" prior to modifications by :meth:" "`~object.__mro_entries__`." @@ -4792,32 +4801,32 @@ msgstr "" "Die „ursprünglichen Basen“ einer Klasse vor den Änderungen durch :meth:" "`~object.__mro_entries__` abrufen." -#: ../../reference/datamodel.rst:2848 +#: ../../reference/datamodel.rst:2858 msgid ":pep:`560`" msgstr ":pep:`560`" -#: ../../reference/datamodel.rst:2849 +#: ../../reference/datamodel.rst:2859 msgid "Core support for typing module and generic types." msgstr "Grundlegende Unterstützung für das Typmodul und generische Typen." -#: ../../reference/datamodel.rst:2855 +#: ../../reference/datamodel.rst:2865 msgid "Determining the appropriate metaclass" msgstr "Ermittlung der geeigneten Metaklasse" -#: ../../reference/datamodel.rst:2859 +#: ../../reference/datamodel.rst:2869 msgid "" "The appropriate metaclass for a class definition is determined as follows:" msgstr "" "Die passende Metaklasse für eine Klassendefinition wird wie folgt ermittelt:" -#: ../../reference/datamodel.rst:2861 +#: ../../reference/datamodel.rst:2871 msgid "" "if no bases and no explicit metaclass are given, then :func:`type` is used;" msgstr "" "Wenn keine Basisklassen und keine explizite Metaklasse angegeben sind, wird " "„ :func:`type` “ verwendet;" -#: ../../reference/datamodel.rst:2862 +#: ../../reference/datamodel.rst:2872 msgid "" "if an explicit metaclass is given and it is *not* an instance of :func:" "`type`, then it is used directly as the metaclass;" @@ -4825,7 +4834,7 @@ msgstr "" "Wenn eine explizite Metaklasse angegeben wird und diese *keine* Instanz von :" "func:`type` ist, wird sie direkt als Metaklasse verwendet;" -#: ../../reference/datamodel.rst:2864 +#: ../../reference/datamodel.rst:2874 msgid "" "if an instance of :func:`type` is given as the explicit metaclass, or bases " "are defined, then the most derived metaclass is used." @@ -4834,7 +4843,7 @@ msgstr "" "sind Basisklassen definiert, wird die am weitesten abgeleitete Metaklasse " "verwendet." -#: ../../reference/datamodel.rst:2867 +#: ../../reference/datamodel.rst:2877 msgid "" "The most derived metaclass is selected from the explicitly specified " "metaclass (if any) and the metaclasses (i.e. ``type(cls)``) of all specified " @@ -4849,11 +4858,11 @@ msgstr "" "ist. Erfüllt keine der in Frage kommenden Metaklassen dieses Kriterium, " "schlägt die Klassendefinition mit der Fehlermeldung „ ``TypeError`` “ fehl." -#: ../../reference/datamodel.rst:2877 +#: ../../reference/datamodel.rst:2887 msgid "Preparing the class namespace" msgstr "Vorbereiten des Klassen-Namespace" -#: ../../reference/datamodel.rst:2882 +#: ../../reference/datamodel.rst:2892 msgid "" "Once the appropriate metaclass has been identified, then the class namespace " "is prepared. If the metaclass has a ``__prepare__`` attribute, it is called " @@ -4874,7 +4883,7 @@ msgstr "" "``__new__`` übergeben, doch beim Erstellen des endgültigen Klassenobjekts " "wird der Namensraum in ein neues ``dict`` kopiert." -#: ../../reference/datamodel.rst:2891 +#: ../../reference/datamodel.rst:2901 msgid "" "If the metaclass has no ``__prepare__`` attribute, then the class namespace " "is initialised as an empty ordered mapping." @@ -4882,19 +4891,19 @@ msgstr "" "Verfügt die Metaklasse nicht über das Attribut „ ``__prepare__`` “, wird der " "Klassennamensraum als leere geordnete Zuordnung initialisiert." -#: ../../reference/datamodel.rst:2896 +#: ../../reference/datamodel.rst:2906 msgid ":pep:`3115` - Metaclasses in Python 3000" msgstr ":pep:`3115` - Metaklassen in Python 3000" -#: ../../reference/datamodel.rst:2897 +#: ../../reference/datamodel.rst:2907 msgid "Introduced the ``__prepare__`` namespace hook" msgstr "Einführung des Namespace-Hooks „ ``__prepare__`` “" -#: ../../reference/datamodel.rst:2901 +#: ../../reference/datamodel.rst:2911 msgid "Executing the class body" msgstr "Ausführen des Klassenkörpers" -#: ../../reference/datamodel.rst:2906 +#: ../../reference/datamodel.rst:2916 msgid "" "The class body is executed (approximately) as ``exec(body, globals(), " "namespace)``. The key difference from a normal call to :func:`exec` is that " @@ -4910,7 +4919,7 @@ msgstr "" "Gültigkeitsbereichen verweisen kann, wenn die Klassendefinition innerhalb " "einer Funktion steht." -#: ../../reference/datamodel.rst:2912 +#: ../../reference/datamodel.rst:2922 msgid "" "However, even when the class definition occurs inside the function, methods " "defined inside the class still cannot see names defined at the class scope. " @@ -4925,11 +4934,11 @@ msgstr "" "Klassenmethoden erfolgen oder über die implizite, lexikalisch begrenzte " "Referenz „ ``__class__`` “, die im nächsten Abschnitt beschrieben wird." -#: ../../reference/datamodel.rst:2921 +#: ../../reference/datamodel.rst:2931 msgid "Creating the class object" msgstr "Erstellen des Klassenobjekts" -#: ../../reference/datamodel.rst:2928 +#: ../../reference/datamodel.rst:2938 msgid "" "Once the class namespace has been populated by executing the class body, the " "class object is created by calling ``metaclass(name, bases, namespace, " @@ -4942,7 +4951,7 @@ msgstr "" "Schlüsselwörter sind dieselben wie die, die an „ ``__prepare__`` “ übergeben " "werden)." -#: ../../reference/datamodel.rst:2933 +#: ../../reference/datamodel.rst:2943 msgid "" "This class object is the one that will be referenced by the zero-argument " "form of :func:`super`. ``__class__`` is an implicit closure reference " @@ -4961,7 +4970,7 @@ msgstr "" "die der aktuelle Aufruf erfolgt ist, anhand des ersten an die Methode " "übergebenen Arguments ermittelt wird." -#: ../../reference/datamodel.rst:2943 +#: ../../reference/datamodel.rst:2953 msgid "" "In CPython 3.6 and later, the ``__class__`` cell is passed to the metaclass " "as a ``__classcell__`` entry in the class namespace. If present, this must " @@ -4975,7 +4984,7 @@ msgstr "" "“ weitergegeben werden, damit die Klasse korrekt initialisiert wird. " "Andernfalls kommt es in Python 3.8 zu einem „ :exc:`RuntimeError` “." -#: ../../reference/datamodel.rst:2949 +#: ../../reference/datamodel.rst:2959 msgid "" "When using the default metaclass :class:`type`, or any metaclass that " "ultimately calls ``type.__new__``, the following additional customization " @@ -4986,7 +4995,7 @@ msgstr "" "nach der Erstellung des Klassenobjekts die folgenden zusätzlichen " "Anpassungsschritte ausgeführt:" -#: ../../reference/datamodel.rst:2953 +#: ../../reference/datamodel.rst:2963 msgid "" "The ``type.__new__`` method collects all of the attributes in the class " "namespace that define a :meth:`~object.__set_name__` method;" @@ -4994,7 +5003,7 @@ msgstr "" "Die Methode „ ``type.__new__`` “ sammelt alle Attribute im Klassen-" "Namespace, die eine „ :meth:`~object.__set_name__` “-Methode definieren;" -#: ../../reference/datamodel.rst:2955 +#: ../../reference/datamodel.rst:2965 msgid "" "Those ``__set_name__`` methods are called with the class being defined and " "the assigned name of that particular attribute;" @@ -5002,7 +5011,7 @@ msgstr "" "Diese Methoden „ ``__set_name__`` “ werden mit der zu definierenden Klasse " "und dem zugewiesenen Namen des jeweiligen Attributs aufgerufen;" -#: ../../reference/datamodel.rst:2957 +#: ../../reference/datamodel.rst:2967 msgid "" "The :meth:`~object.__init_subclass__` hook is called on the immediate parent " "of the new class in its method resolution order." @@ -5011,7 +5020,7 @@ msgstr "" "übergeordneten Elternteil der neuen Klasse gemäß dessen " "Methodenauflösungsreihenfolge aufgerufen." -#: ../../reference/datamodel.rst:2960 +#: ../../reference/datamodel.rst:2970 msgid "" "After the class object is created, it is passed to the class decorators " "included in the class definition (if any) and the resulting object is bound " @@ -5022,7 +5031,7 @@ msgstr "" "übergeben, und das resultierende Objekt wird im lokalen Namensraum als die " "definierte Klasse gebunden." -#: ../../reference/datamodel.rst:2964 +#: ../../reference/datamodel.rst:2974 msgid "" "When a new class is created by ``type.__new__``, the object provided as the " "namespace parameter is copied to a new ordered mapping and the original " @@ -5035,19 +5044,19 @@ msgstr "" "schreibgeschützten Proxy verpackt, der zum Attribut :attr:`~type.__dict__` " "des Klassenobjekts wird." -#: ../../reference/datamodel.rst:2971 +#: ../../reference/datamodel.rst:2981 msgid ":pep:`3135` - New super" msgstr ":pep:`3135` - Neuer Super" -#: ../../reference/datamodel.rst:2972 +#: ../../reference/datamodel.rst:2982 msgid "Describes the implicit ``__class__`` closure reference" msgstr "Beschreibt die implizite Referenz auf die Closure „ ``__class__`` “" -#: ../../reference/datamodel.rst:2976 +#: ../../reference/datamodel.rst:2986 msgid "Uses for metaclasses" msgstr "Anwendungsbereiche von Metaklassen" -#: ../../reference/datamodel.rst:2978 +#: ../../reference/datamodel.rst:2988 msgid "" "The potential uses for metaclasses are boundless. Some ideas that have been " "explored include enum, logging, interface checking, automatic delegation, " @@ -5059,11 +5068,11 @@ msgstr "" "automatische Delegierung, automatische Eigenschaftserstellung, Proxys, " "Frameworks sowie automatische Ressourcensperrung und -synchronisation." -#: ../../reference/datamodel.rst:2985 +#: ../../reference/datamodel.rst:2995 msgid "Customizing instance and subclass checks" msgstr "Anpassung der Instanz- und Unterklassenprüfungen" -#: ../../reference/datamodel.rst:2987 +#: ../../reference/datamodel.rst:2997 msgid "" "The following methods are used to override the default behavior of the :func:" "`isinstance` and :func:`issubclass` built-in functions." @@ -5072,7 +5081,7 @@ msgstr "" "Funktionen „ :func:`isinstance` “ und „ :func:`issubclass` “ zu " "überschreiben." -#: ../../reference/datamodel.rst:2990 +#: ../../reference/datamodel.rst:3000 msgid "" "In particular, the metaclass :class:`abc.ABCMeta` implements these methods " "in order to allow the addition of Abstract Base Classes (ABCs) as \"virtual " @@ -5084,7 +5093,7 @@ msgstr "" "„virtuelle Basisklassen“ zu beliebigen Klassen oder Typen (einschließlich " "integrierter Typen) zu ermöglichen, darunter auch andere ABCs." -#: ../../reference/datamodel.rst:2997 +#: ../../reference/datamodel.rst:3007 msgid "" "Return true if *instance* should be considered a (direct or indirect) " "instance of *class*. If defined, called to implement ``isinstance(instance, " @@ -5094,7 +5103,7 @@ msgstr "" "*class* betrachtet werden soll. Falls definiert, wird diese Funktion zur " "Implementierung von ``isinstance(instance, class)`` aufgerufen." -#: ../../reference/datamodel.rst:3004 +#: ../../reference/datamodel.rst:3014 msgid "" "Return true if *subclass* should be considered a (direct or indirect) " "subclass of *class*. If defined, called to implement ``issubclass(subclass, " @@ -5104,7 +5113,7 @@ msgstr "" "von *class* betrachtet werden soll. Falls definiert, wird diese Funktion zur " "Implementierung von ``issubclass(subclass, class)`` aufgerufen." -#: ../../reference/datamodel.rst:3009 +#: ../../reference/datamodel.rst:3019 msgid "" "Note that these methods are looked up on the type (metaclass) of a class. " "They cannot be defined as class methods in the actual class. This is " @@ -5117,11 +5126,11 @@ msgstr "" "spezieller Methoden, die auf Instanzen aufgerufen werden, nur dass in diesem " "Fall die Instanz selbst eine Klasse ist." -#: ../../reference/datamodel.rst:3016 +#: ../../reference/datamodel.rst:3026 msgid ":pep:`3119` - Introducing Abstract Base Classes" msgstr ":pep:`3119` - Einführung in abstrakte Basisklassen" -#: ../../reference/datamodel.rst:3017 +#: ../../reference/datamodel.rst:3027 msgid "" "Includes the specification for customizing :func:`isinstance` and :func:" "`issubclass` behavior through :meth:`~type.__instancecheck__` and :meth:" @@ -5135,11 +5144,11 @@ msgstr "" "Möglichkeit im Zusammenhang mit der Aufnahme abstrakter Basisklassen (siehe " "das Modul :mod:`abc`) in die Sprache." -#: ../../reference/datamodel.rst:3025 +#: ../../reference/datamodel.rst:3035 msgid "Emulating generic types" msgstr "Emulation generischer Typen" -#: ../../reference/datamodel.rst:3027 +#: ../../reference/datamodel.rst:3037 msgid "" "When using :term:`type annotations`, it is often useful to " "*parameterize* a :term:`generic type` using Python's square-brackets " @@ -5152,24 +5161,24 @@ msgstr "" "die Annotation ``list[int]`` verwendet werden, um eine :class:`list` zu " "bezeichnen, in der alle Elemente vom Typ :class:`int` sind." -#: ../../reference/datamodel.rst:3034 +#: ../../reference/datamodel.rst:3044 msgid ":pep:`484` - Type Hints" msgstr ":pep:`484` - Typ-Hinweise" -#: ../../reference/datamodel.rst:3035 +#: ../../reference/datamodel.rst:3045 msgid "Introducing Python's framework for type annotations" msgstr "Einführung in das Python-Framework für Typangaben" -#: ../../reference/datamodel.rst:3037 +#: ../../reference/datamodel.rst:3047 msgid ":ref:`Generic Alias Types`" msgstr ":ref:`Generische Alias-Typen`" -#: ../../reference/datamodel.rst:3038 +#: ../../reference/datamodel.rst:3048 msgid "Documentation for objects representing parameterized generic classes" msgstr "" "Dokumentation zu Objekten, die parametrisierte generische Klassen darstellen" -#: ../../reference/datamodel.rst:3040 +#: ../../reference/datamodel.rst:3050 msgid "" ":ref:`Generics`, :ref:`user-defined generics` and :" "class:`typing.Generic`" @@ -5177,7 +5186,7 @@ msgstr "" ":ref:`Generics`, :ref:`benutzerdefinierte Generika` " "und :class:`typing.Generic`" -#: ../../reference/datamodel.rst:3041 +#: ../../reference/datamodel.rst:3051 msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." @@ -5185,7 +5194,7 @@ msgstr "" "Dokumentation zur Implementierung generischer Klassen, die zur Laufzeit " "parametrisiert werden können und von statischen Typprüfern erkannt werden." -#: ../../reference/datamodel.rst:3044 +#: ../../reference/datamodel.rst:3054 msgid "" "A class can *generally* only be parameterized if it defines the special " "class method ``__class_getitem__()``." @@ -5193,7 +5202,7 @@ msgstr "" "Eine Klasse kann *im Allgemeinen* nur dann parametrisiert werden, wenn sie " "die spezielle Klassenmethode „ ``__class_getitem__()`` “ definiert." -#: ../../reference/datamodel.rst:3049 +#: ../../reference/datamodel.rst:3059 msgid "" "Return an object representing the specialization of a generic class by type " "arguments found in *key*." @@ -5201,7 +5210,7 @@ msgstr "" "Gibt ein Objekt zurück, das die Spezialisierung einer generischen Klasse " "anhand der in *key* enthaltenen Typargumente darstellt." -#: ../../reference/datamodel.rst:3052 +#: ../../reference/datamodel.rst:3062 msgid "" "When defined on a class, ``__class_getitem__()`` is automatically a class " "method. As such, there is no need for it to be decorated with :deco:" @@ -5211,11 +5220,11 @@ msgstr "" "automatisch eine Klassenmethode. Daher muss es bei der Definition nicht mit " "„ :deco:`classmethod` “ versehen werden." -#: ../../reference/datamodel.rst:3058 +#: ../../reference/datamodel.rst:3068 msgid "The purpose of *__class_getitem__*" msgstr "Der Zweck von *__class_getitem__*" -#: ../../reference/datamodel.rst:3060 +#: ../../reference/datamodel.rst:3070 msgid "" "The purpose of :meth:`~object.__class_getitem__` is to allow runtime " "parameterization of standard-library generic classes in order to more easily " @@ -5226,7 +5235,7 @@ msgstr "" "ermöglichen, um :term:`Typangaben ` einfacher auf diese Klassen " "anwenden zu können." -#: ../../reference/datamodel.rst:3064 +#: ../../reference/datamodel.rst:3074 msgid "" "To implement custom generic classes that can be parameterized at runtime and " "understood by static type-checkers, users should either inherit from a " @@ -5241,7 +5250,7 @@ msgstr "" "class:`typing.Generic` “ erben, das über eine eigene Implementierung von " "„ ``__class_getitem__()`` “ verfügt." -#: ../../reference/datamodel.rst:3070 +#: ../../reference/datamodel.rst:3080 msgid "" "Custom implementations of :meth:`~object.__class_getitem__` on classes " "defined outside of the standard library may not be understood by third-party " @@ -5254,11 +5263,11 @@ msgstr "" "Von der Verwendung von ``__class_getitem__()`` für beliebige Klassen zu " "anderen Zwecken als der Typangabe wird abgeraten." -#: ../../reference/datamodel.rst:3080 +#: ../../reference/datamodel.rst:3090 msgid "*__class_getitem__* versus *__getitem__*" msgstr "*__class_getitem__* im Vergleich zu *__getitem__*" -#: ../../reference/datamodel.rst:3082 +#: ../../reference/datamodel.rst:3092 msgid "" "Usually, the :ref:`subscription` of an object using square " "brackets will call the :meth:`~object.__getitem__` instance method defined " @@ -5276,7 +5285,7 @@ msgstr "" "`GenericAlias` “-Objekt zurückgeben, sofern es " "ordnungsgemäß definiert ist." -#: ../../reference/datamodel.rst:3089 +#: ../../reference/datamodel.rst:3099 msgid "" "Presented with the :term:`expression` ``obj[x]``, the Python interpreter " "follows something like the following process to decide whether :meth:" @@ -5287,7 +5296,7 @@ msgstr "" "entscheiden, ob :meth:`~object.__getitem__` oder :meth:`~object." "__class_getitem__` aufgerufen werden soll::" -#: ../../reference/datamodel.rst:3094 +#: ../../reference/datamodel.rst:3104 msgid "" "from inspect import isclass\n" "\n" @@ -5336,7 +5345,7 @@ msgstr "" " f\"'{class_of_obj.__name__}' object is not subscriptable\"\n" " )" -#: ../../reference/datamodel.rst:3117 +#: ../../reference/datamodel.rst:3127 msgid "" "In Python, all classes are themselves instances of other classes. The class " "of a class is known as that class's :term:`metaclass`, and most classes have " @@ -5353,7 +5362,7 @@ msgstr "" "„ ``tuple[str, bytes]`` “ alle dazu führen, dass „ :meth:`~object." "__class_getitem__` “ aufgerufen wird::" -#: ../../reference/datamodel.rst:3124 +#: ../../reference/datamodel.rst:3134 msgid "" ">>> # list has class \"type\" as its metaclass, like most classes:\n" ">>> type(list)\n" @@ -5379,7 +5388,7 @@ msgstr "" ">>> type(list[int])\n" "" -#: ../../reference/datamodel.rst:3136 +#: ../../reference/datamodel.rst:3146 msgid "" "However, if a class has a custom metaclass that defines :meth:`~object." "__getitem__`, subscribing the class may result in different behaviour. An " @@ -5390,7 +5399,7 @@ msgstr "" "einem abweichenden Verhalten führen. Ein Beispiel hierfür findet sich im " "Modul „ :mod:`enum` “:" -#: ../../reference/datamodel.rst:3140 +#: ../../reference/datamodel.rst:3150 msgid "" ">>> from enum import Enum\n" ">>> class Menu(Enum):\n" @@ -5426,12 +5435,12 @@ msgstr "" ">>> type(Menu['SPAM'])\n" "" -#: ../../reference/datamodel.rst:3159 +#: ../../reference/datamodel.rst:3169 msgid ":pep:`560` - Core Support for typing module and generic types" msgstr "" ":pep:`560` - Kernunterstützung für das Typisierungsmodul und generische Typen" -#: ../../reference/datamodel.rst:3160 +#: ../../reference/datamodel.rst:3170 msgid "" "Introducing :meth:`~object.__class_getitem__`, and outlining when a :ref:" "`subscription` results in ``__class_getitem__()`` being " @@ -5442,11 +5451,11 @@ msgstr "" "„ ``__class_getitem__()`` “ aufgerufen wird, anstatt :meth:`~object." "__getitem__`" -#: ../../reference/datamodel.rst:3168 +#: ../../reference/datamodel.rst:3178 msgid "Emulating callable objects" msgstr "Aufrufbare Objekte emulieren" -#: ../../reference/datamodel.rst:3175 +#: ../../reference/datamodel.rst:3185 msgid "" "Called when the instance is \"called\" as a function; if this method is " "defined, ``x(arg1, arg2, ...)`` roughly translates to ``type(x).__call__(x, " @@ -5457,11 +5466,11 @@ msgstr "" "__call__(x, arg1, ...)`` “. Die Klasse „ :class:`object` “ selbst stellt " "diese Methode nicht zur Verfügung." -#: ../../reference/datamodel.rst:3183 +#: ../../reference/datamodel.rst:3193 msgid "Emulating container types" msgstr "Containertypen emulieren" -#: ../../reference/datamodel.rst:3185 +#: ../../reference/datamodel.rst:3195 msgid "" "The following methods can be defined to implement container objects. None of " "them are provided by the :class:`object` class itself. Containers usually " @@ -5502,7 +5511,7 @@ msgstr "" "meth:`~object.__getitem__`, :meth:`~object.__setitem__`, :meth:`~object." "__delitem__` und :meth:`!keys` zu erleichtern." -#: ../../reference/datamodel.rst:3204 +#: ../../reference/datamodel.rst:3214 msgid "" "Mutable sequences should provide methods :meth:`~sequence.append`, :meth:" "`~sequence.clear`, :meth:`~sequence.count`, :meth:`~sequence.extend`, :meth:" @@ -5527,7 +5536,7 @@ msgstr "" "`~object.__rmul__` und :meth:`~object.__imul__` definieren; andere " "numerische Operatoren sollten sie nicht definieren." -#: ../../reference/datamodel.rst:3216 +#: ../../reference/datamodel.rst:3226 msgid "" "It is recommended that both mappings and sequences implement the :meth:" "`~object.__contains__` method to allow efficient use of the ``in`` operator; " @@ -5548,7 +5557,7 @@ msgstr "" "Schlüssel des Objekts durchlaufen; bei Sequenzen sollte sie die Werte " "durchlaufen." -#: ../../reference/datamodel.rst:3231 +#: ../../reference/datamodel.rst:3241 msgid "" "Called to implement the built-in function :func:`len`. Should return the " "length of the object, an integer ``>=`` 0. Also, an object that doesn't " @@ -5561,7 +5570,7 @@ msgstr "" "Methode :meth:`!__len__` null zurückgibt, in einem booleschen Kontext als " "falsch." -#: ../../reference/datamodel.rst:3238 +#: ../../reference/datamodel.rst:3248 msgid "" "In CPython, the length is required to be at most :data:`sys.maxsize`. If the " "length is larger than :data:`!sys.maxsize` some features (such as :func:" @@ -5576,7 +5585,7 @@ msgstr "" "ausgelöst wird, muss ein Objekt eine :meth:`~object.__bool__`-Methode " "definieren." -#: ../../reference/datamodel.rst:3247 +#: ../../reference/datamodel.rst:3257 msgid "" "Called to implement :func:`operator.length_hint`. Should return an estimated " "length for the object (which may be greater or less than the actual length). " @@ -5593,7 +5602,7 @@ msgstr "" "Diese Methode dient ausschließlich der Optimierung und ist für die " "Korrektheit nie erforderlich." -#: ../../reference/datamodel.rst:3259 +#: ../../reference/datamodel.rst:3269 msgid "" "Called to implement *subscription*, that is, ``self[subscript]``. See :ref:" "`subscriptions` for details on the syntax." @@ -5602,7 +5611,7 @@ msgstr "" "``self[subscript]``. Weitere Informationen zur Syntax findest du unter :ref:" "`subscriptions`." -#: ../../reference/datamodel.rst:3262 +#: ../../reference/datamodel.rst:3272 msgid "" "There are two types of built-in objects that support subscription via :meth:" "`!__getitem__`:" @@ -5610,7 +5619,7 @@ msgstr "" "Es gibt zwei Arten von integrierten Objekten, die das Abonnieren über :meth:" "`!__getitem__` unterstützen:" -#: ../../reference/datamodel.rst:3265 +#: ../../reference/datamodel.rst:3275 msgid "" "**sequences**, where *subscript* (also called :term:`index`) should be an " "integer or a :class:`slice` object. See the :ref:`sequence documentation " @@ -5623,7 +5632,7 @@ msgstr "" "class:`slice` und negativen Indizes, findest du in der :ref:`Sequenz-" "Dokumentation `." -#: ../../reference/datamodel.rst:3269 +#: ../../reference/datamodel.rst:3279 msgid "" "**mappings**, where *subscript* is also called the :term:`key`. See :ref:" "`mapping documentation ` for the expected behavior." @@ -5632,7 +5641,7 @@ msgstr "" "wird. Das erwartete Verhalten findest du in der :ref:`Dokumentation zu " "Zuordnungen `." -#: ../../reference/datamodel.rst:3273 +#: ../../reference/datamodel.rst:3283 msgid "" "If *subscript* is of an inappropriate type, :meth:`!__getitem__` should " "raise :exc:`TypeError`. If *subscript* has an inappropriate value, :meth:`!" @@ -5645,7 +5654,7 @@ msgstr "" "„ :exc:`LookupError` “ oder eine ihrer Unterklassen auslösen (:exc:" "`IndexError` für Sequenzen; :exc:`KeyError` für Zuordnungen)." -#: ../../reference/datamodel.rst:3283 +#: ../../reference/datamodel.rst:3293 msgid "" "Slicing is handled by :meth:`!__getitem__`, :meth:`~object.__setitem__`, " "and :meth:`~object.__delitem__`. A call like ::" @@ -5653,23 +5662,23 @@ msgstr "" "Das Slicing wird von :meth:`!__getitem__`, :meth:`~object.__setitem__` und :" "meth:`~object.__delitem__` übernommen. Ein Aufruf wie ::" -#: ../../reference/datamodel.rst:3287 +#: ../../reference/datamodel.rst:3297 msgid "a[1:2] = b" msgstr "a[1:2] = b" -#: ../../reference/datamodel.rst:3289 +#: ../../reference/datamodel.rst:3299 msgid "is translated to ::" msgstr "wird übersetzt zu ::" -#: ../../reference/datamodel.rst:3291 +#: ../../reference/datamodel.rst:3301 msgid "a[slice(1, 2, None)] = b" msgstr "a[slice(1, 2, None)] = b" -#: ../../reference/datamodel.rst:3293 +#: ../../reference/datamodel.rst:3303 msgid "and so forth. Missing slice items are always filled in with ``None``." msgstr "usw. Fehlende Slice-Elemente werden stets mit „ ``None`` “ ergänzt." -#: ../../reference/datamodel.rst:3297 +#: ../../reference/datamodel.rst:3307 msgid "" "The sequence iteration protocol (used, for example, in :keyword:`for` " "loops), expects that an :exc:`IndexError` will be raised for illegal indexes " @@ -5680,7 +5689,7 @@ msgstr "" "Indizes ein „ :exc:`IndexError` “ ausgelöst wird, um das Ende einer Sequenz " "korrekt erkennen zu können." -#: ../../reference/datamodel.rst:3303 +#: ../../reference/datamodel.rst:3313 msgid "" "When :ref:`subscripting ` a *class*, the special class " "method :meth:`~object.__class_getitem__` may be called instead of :meth:`!" @@ -5691,7 +5700,7 @@ msgstr "" "__class_getitem__` aufgerufen werden. Weitere Informationen findest du " "unter :ref:`classgetitem-versus-getitem`." -#: ../../reference/datamodel.rst:3311 +#: ../../reference/datamodel.rst:3321 msgid "" "Called to implement assignment to ``self[key]``. Same note as for :meth:" "`__getitem__`. This should only be implemented for mappings if the objects " @@ -5707,7 +5716,7 @@ msgstr "" "unzulässigen Werten für *key* sollten dieselben Ausnahmen ausgelöst werden " "wie bei der Methode :meth:`__getitem__`." -#: ../../reference/datamodel.rst:3320 +#: ../../reference/datamodel.rst:3330 msgid "" "Called to implement deletion of ``self[key]``. Same note as for :meth:" "`__getitem__`. This should only be implemented for mappings if the objects " @@ -5722,7 +5731,7 @@ msgstr "" "Sequenz entfernt werden können. Bei unzulässigen Werten für *key* sollten " "dieselben Ausnahmen ausgelöst werden wie bei der Methode :meth:`__getitem__`." -#: ../../reference/datamodel.rst:3329 +#: ../../reference/datamodel.rst:3339 msgid "" "Called by :class:`dict`\\ .\\ :meth:`__getitem__` to implement ``self[key]`` " "for dict subclasses when key is not in the dictionary." @@ -5731,7 +5740,7 @@ msgstr "" "``self[key]`` für Unterklassen von dict zu implementieren, wenn der " "Schlüssel nicht im Wörterbuch enthalten ist." -#: ../../reference/datamodel.rst:3335 +#: ../../reference/datamodel.rst:3345 msgid "" "This method is called when an :term:`iterator` is required for a container. " "This method should return a new iterator object that can iterate over all " @@ -5743,7 +5752,7 @@ msgstr "" "zurückgeben, mit dem alle Objekte im Container durchlaufen werden können. " "Bei Mappings sollte sie die Schlüssel des Containers durchlaufen." -#: ../../reference/datamodel.rst:3343 +#: ../../reference/datamodel.rst:3353 msgid "" "Called (if present) by the :func:`reversed` built-in to implement reverse " "iteration. It should return a new iterator object that iterates over all " @@ -5754,7 +5763,7 @@ msgstr "" "sollte ein neues Iterator-Objekt zurückgeben, das alle Objekte im Container " "in umgekehrter Reihenfolge durchläuft." -#: ../../reference/datamodel.rst:3347 +#: ../../reference/datamodel.rst:3357 msgid "" "If the :meth:`__reversed__` method is not provided, the :func:`reversed` " "built-in will fall back to using the sequence protocol (:meth:`__len__` and :" @@ -5769,7 +5778,7 @@ msgstr "" "bereitstellen, wenn sie eine Implementierung bieten können, die effizienter " "ist als die von :func:`reversed` bereitgestellte." -#: ../../reference/datamodel.rst:3354 +#: ../../reference/datamodel.rst:3364 msgid "" "The membership test operators (:keyword:`in` and :keyword:`not in`) are " "normally implemented as an iteration through a container. However, container " @@ -5782,7 +5791,7 @@ msgstr "" "Methode mit einer effizienteren Implementierung bereitstellen, für die das " "Objekt zudem nicht iterierbar sein muss." -#: ../../reference/datamodel.rst:3361 +#: ../../reference/datamodel.rst:3371 msgid "" "Called to implement membership test operators. Should return true if *item* " "is in *self*, false otherwise. For mapping objects, this should consider " @@ -5794,7 +5803,7 @@ msgstr "" "des Mappings berücksichtigt werden und nicht die Werte oder die Schlüssel-" "Wert-Paare." -#: ../../reference/datamodel.rst:3365 +#: ../../reference/datamodel.rst:3375 msgid "" "For objects that don't define :meth:`__contains__`, the membership test " "first tries iteration via :meth:`__iter__`, then the old sequence iteration " @@ -5806,11 +5815,11 @@ msgstr "" "alte Sequenz-Iterationsprotokoll über :meth:`__getitem__`; siehe :ref:" "`diesen Abschnitt der Sprachreferenz `." -#: ../../reference/datamodel.rst:3374 +#: ../../reference/datamodel.rst:3384 msgid "Emulating numeric types" msgstr "Emulation numerischer Datentypen" -#: ../../reference/datamodel.rst:3376 +#: ../../reference/datamodel.rst:3386 msgid "" "The following methods can be defined to emulate numeric objects. Methods " "corresponding to operations that are not supported by the particular kind of " @@ -5822,7 +5831,7 @@ msgstr "" "implementierten Zahlentyp nicht unterstützt werden (z. B. bitweise " "Operationen für nicht-ganzzahlige Zahlen), sollten undefiniert bleiben." -#: ../../reference/datamodel.rst:3402 +#: ../../reference/datamodel.rst:3412 msgid "" "These methods are called to implement the binary arithmetic operations " "(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" @@ -5848,7 +5857,7 @@ msgstr "" "Version der integrierten Funktion „ :func:`pow` “ mit drei Argumenten " "unterstützt werden soll." -#: ../../reference/datamodel.rst:3413 +#: ../../reference/datamodel.rst:3423 msgid "" "If one of those methods does not support the operation with the supplied " "arguments, it should return :data:`NotImplemented`." @@ -5856,7 +5865,7 @@ msgstr "" "Wenn eine dieser Methoden die Operation mit den übergebenen Argumenten nicht " "unterstützt, sollte sie :data:`NotImplemented` zurückgeben." -#: ../../reference/datamodel.rst:3436 +#: ../../reference/datamodel.rst:3446 msgid "" "These methods are called to implement the binary arithmetic operations " "(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" @@ -5882,7 +5891,7 @@ msgstr "" "__sub__(x, y)`` “ „ :data:`NotImplemented` “ zurückgibt oder „ ``type(y)`` “ " "eine Unterklasse von „ ``type(x)`` “ ist. [#]_" -#: ../../reference/datamodel.rst:3447 +#: ../../reference/datamodel.rst:3457 msgid "" "Note that :meth:`__rpow__` should be defined to accept an optional third " "argument if the three-argument version of the built-in :func:`pow` function " @@ -5893,7 +5902,7 @@ msgstr "" "integrierten Funktion „ :func:`pow` “ mit drei Argumenten unterstützt werden " "soll." -#: ../../reference/datamodel.rst:3453 +#: ../../reference/datamodel.rst:3463 msgid "" "Three-argument :func:`pow` now try calling :meth:`~object.__rpow__` if " "necessary. Previously it was only called in two-argument :func:`!pow` and " @@ -5904,7 +5913,7 @@ msgstr "" "Funktion „ :func:`!pow` “ mit zwei Argumenten und im binären Potenzoperator " "aufgerufen." -#: ../../reference/datamodel.rst:3459 +#: ../../reference/datamodel.rst:3469 msgid "" "If the right operand's type is a subclass of the left operand's type and " "that subclass provides a different implementation of the reflected method " @@ -5919,7 +5928,7 @@ msgstr "" "Verhalten ermöglicht es Unterklassen, die Operationen ihrer Vorfahren zu " "überschreiben." -#: ../../reference/datamodel.rst:3479 +#: ../../reference/datamodel.rst:3489 msgid "" "These methods are called to implement the augmented arithmetic assignments " "(``+=``, ``-=``, ``*=``, ``@=``, ``/=``, ``//=``, ``%=``, ``**=``, ``<<=``, " @@ -5953,7 +5962,7 @@ msgstr "" "(siehe :ref:`faq-augmented-assignment-tuple-error`), doch dieses Verhalten " "ist tatsächlich Teil des Datenmodells." -#: ../../reference/datamodel.rst:3502 +#: ../../reference/datamodel.rst:3512 msgid "" "Called to implement the unary arithmetic operations (``-``, ``+``, :func:" "`abs` and ``~``)." @@ -5961,7 +5970,7 @@ msgstr "" "Wird aufgerufen, um die unären arithmetischen Operationen zu implementieren " "(``-``, ``+``, :func:`abs` und ``~``)." -#: ../../reference/datamodel.rst:3515 +#: ../../reference/datamodel.rst:3525 msgid "" "Called to implement the built-in functions :func:`complex`, :func:`int` and :" "func:`float`. Should return a value of the appropriate type." @@ -5970,7 +5979,7 @@ msgstr "" "`int` “ und „ :func:`float` “ zu implementieren. Sollte einen Wert des " "entsprechenden Typs zurückgeben." -#: ../../reference/datamodel.rst:3522 +#: ../../reference/datamodel.rst:3532 msgid "" "Called to implement :func:`operator.index`, and whenever Python needs to " "losslessly convert the numeric object to an integer object (such as in " @@ -5985,7 +5994,7 @@ msgstr "" "weist darauf hin, dass das numerische Objekt vom Typ Ganzzahl ist. Muss eine " "Ganzzahl zurückgeben." -#: ../../reference/datamodel.rst:3528 +#: ../../reference/datamodel.rst:3538 msgid "" "If :meth:`__int__`, :meth:`__float__` and :meth:`__complex__` are not " "defined then corresponding built-in functions :func:`int`, :func:`float` " @@ -5995,7 +6004,7 @@ msgstr "" "definiert sind, greifen die entsprechenden integrierten Funktionen :func:" "`int`, :func:`float` und :func:`complex` auf :meth:`__index__` zurück." -#: ../../reference/datamodel.rst:3540 +#: ../../reference/datamodel.rst:3550 msgid "" "Called to implement the built-in function :func:`round` and :mod:`math` " "functions :func:`~math.trunc`, :func:`~math.floor` and :func:`~math.ceil`. " @@ -6010,18 +6019,18 @@ msgstr "" "zurückgeben, gekürzt auf ein :class:`~numbers.Integral` (in der Regel ein :" "class:`int`)." -#: ../../reference/datamodel.rst:3546 +#: ../../reference/datamodel.rst:3556 msgid "" ":func:`int` no longer delegates to the :meth:`~object.__trunc__` method." msgstr "" ":func:`int` delegiert nicht mehr an die Methode „ :meth:`~object.__trunc__` " "“." -#: ../../reference/datamodel.rst:3553 +#: ../../reference/datamodel.rst:3563 msgid "With Statement Context Managers" msgstr "Mit Statement-Kontextmanagern" -#: ../../reference/datamodel.rst:3555 +#: ../../reference/datamodel.rst:3565 msgid "" "A :dfn:`context manager` is an object that defines the runtime context to be " "established when executing a :keyword:`with` statement. The context manager " @@ -6038,7 +6047,7 @@ msgstr "" "`!with` “ aufgerufen (beschrieben im Abschnitt :ref:`with`), können aber " "auch durch direkten Aufruf ihrer Methoden verwendet werden." -#: ../../reference/datamodel.rst:3566 +#: ../../reference/datamodel.rst:3576 msgid "" "Typical uses of context managers include saving and restoring various kinds " "of global state, locking and unlocking resources, closing opened files, etc." @@ -6047,7 +6056,7 @@ msgstr "" "Speichern und Wiederherstellen verschiedener Arten von globalem Status, das " "Sperren und Entsperren von Ressourcen, das Schließen geöffneter Dateien usw." -#: ../../reference/datamodel.rst:3569 +#: ../../reference/datamodel.rst:3579 msgid "" "For more information on context managers, see :ref:`typecontextmanager`. " "The :class:`object` class itself does not provide the context manager " @@ -6057,7 +6066,7 @@ msgstr "" "`typecontextmanager`. Die Klasse „ :class:`object` “ selbst stellt keine " "Kontextmanager-Methoden bereit." -#: ../../reference/datamodel.rst:3575 +#: ../../reference/datamodel.rst:3585 msgid "" "Enter the runtime context related to this object. The :keyword:`with` " "statement will bind this method's return value to the target(s) specified in " @@ -6068,7 +6077,7 @@ msgstr "" "in der Klausel „ :keyword:`!as` “ der Anweisung angegebenen Ziele, sofern " "vorhanden." -#: ../../reference/datamodel.rst:3582 +#: ../../reference/datamodel.rst:3592 msgid "" "Exit the runtime context related to this object. The parameters describe the " "exception that caused the context to be exited. If the context was exited " @@ -6078,7 +6087,7 @@ msgstr "" "beschreiben die Ausnahme, die zum Verlassen des Kontexts geführt hat. Wurde " "der Kontext ohne Ausnahme verlassen, sind alle drei Argumente :const:`None`." -#: ../../reference/datamodel.rst:3586 +#: ../../reference/datamodel.rst:3596 msgid "" "If an exception is supplied, and the method wishes to suppress the exception " "(i.e., prevent it from being propagated), it should return a true value. " @@ -6090,7 +6099,7 @@ msgstr "" "sollte sie einen wahren Wert zurückgeben. Andernfalls wird die Ausnahme beim " "Verlassen dieser Methode wie gewohnt verarbeitet." -#: ../../reference/datamodel.rst:3590 +#: ../../reference/datamodel.rst:3600 msgid "" "Note that :meth:`~object.__exit__` methods should not reraise the passed-in " "exception; this is the caller's responsibility." @@ -6099,11 +6108,11 @@ msgstr "" "Ausnahme nicht erneut auslösen sollten; dies liegt in der Verantwortung des " "Aufrufers." -#: ../../reference/datamodel.rst:3596 +#: ../../reference/datamodel.rst:3606 msgid ":pep:`343` - The \"with\" statement" msgstr ":pep:`343` - Die „with“-Anweisung" -#: ../../reference/datamodel.rst:3597 +#: ../../reference/datamodel.rst:3607 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." @@ -6111,11 +6120,11 @@ msgstr "" "Die Spezifikation, Hintergründe und Beispiele zur Python-Anweisung „ :" "keyword:`with` “." -#: ../../reference/datamodel.rst:3604 +#: ../../reference/datamodel.rst:3614 msgid "Customizing positional arguments in class pattern matching" msgstr "Anpassen von Positionsargumenten beim Klassenmusterabgleich" -#: ../../reference/datamodel.rst:3606 +#: ../../reference/datamodel.rst:3616 msgid "" "When using a class name in a pattern, positional arguments in the pattern " "are not allowed by default, i.e. ``case MyClass(x, y)`` is typically invalid " @@ -6128,7 +6137,7 @@ msgstr "" "Unterstützung in ``MyClass`` vorhanden ist. Um ein solches Muster verwenden " "zu können, muss die Klasse ein Attribut `*__match_args__*` definieren." -#: ../../reference/datamodel.rst:3613 +#: ../../reference/datamodel.rst:3623 msgid "" "This class variable can be assigned a tuple of strings. When this class is " "used in a class pattern with positional arguments, each positional argument " @@ -6142,7 +6151,7 @@ msgstr "" "wobei der entsprechende Wert in *__match_args__* als Schlüsselwort verwendet " "wird. Das Fehlen dieses Attributs entspricht der Einstellung „ ``()`` “." -#: ../../reference/datamodel.rst:3619 +#: ../../reference/datamodel.rst:3629 msgid "" "For example, if ``MyClass.__match_args__`` is ``(\"left\", \"center\", " "\"right\")`` that means that ``case MyClass(x, y)`` is equivalent to ``case " @@ -6158,19 +6167,19 @@ msgstr "" "Elemente in *__match_args__* sein muss; ist sie größer, löst der Versuch der " "Musterabgleichung einen :exc:`TypeError` aus." -#: ../../reference/datamodel.rst:3629 +#: ../../reference/datamodel.rst:3639 msgid ":pep:`634` - Structural Pattern Matching" msgstr ":pep:`634` - Struktureller Musterabgleich" -#: ../../reference/datamodel.rst:3630 +#: ../../reference/datamodel.rst:3640 msgid "The specification for the Python ``match`` statement." msgstr "Die Spezifikation für die Python-Anweisung „ ``match`` “." -#: ../../reference/datamodel.rst:3636 +#: ../../reference/datamodel.rst:3646 msgid "Emulating buffer types" msgstr "Puffertypen emulieren" -#: ../../reference/datamodel.rst:3638 +#: ../../reference/datamodel.rst:3648 msgid "" "The :ref:`buffer protocol ` provides a way for Python objects " "to expose efficient access to a low-level memory array. This protocol is " @@ -6183,7 +6192,7 @@ msgstr "" "und :class:`memoryview` implementiert, und Bibliotheken von Drittanbietern " "können zusätzliche Buffer-Typen definieren." -#: ../../reference/datamodel.rst:3643 +#: ../../reference/datamodel.rst:3653 msgid "" "While buffer types are usually implemented in C, it is also possible to " "implement the protocol in Python." @@ -6191,7 +6200,7 @@ msgstr "" "Zwar werden Puffertypen in der Regel in C implementiert, doch ist es auch " "möglich, das Protokoll in Python zu implementieren." -#: ../../reference/datamodel.rst:3648 +#: ../../reference/datamodel.rst:3658 msgid "" "Called when a buffer is requested from *self* (for example, by the :class:" "`memoryview` constructor). The *flags* argument is an integer representing " @@ -6208,7 +6217,7 @@ msgstr "" "eine bequeme Möglichkeit, die Flags zu interpretieren. Die Methode muss ein " "„ :class:`memoryview` “-Objekt zurückgeben." -#: ../../reference/datamodel.rst:3655 +#: ../../reference/datamodel.rst:3665 msgid "" "**Thread safety:** In :term:`free-threaded ` Python, " "implementations must manage any internal export counter using atomic " @@ -6225,7 +6234,7 @@ msgstr "" "entsprechende Aufruf von :meth:`~object.__release_buffer__` abgeschlossen " "ist. Weitere Informationen findest du unter :ref:`thread-safety-memoryview`." -#: ../../reference/datamodel.rst:3664 +#: ../../reference/datamodel.rst:3674 msgid "" "Called when a buffer is no longer needed. The *buffer* argument is a :class:" "`memoryview` object that was previously returned by :meth:`~object." @@ -6238,7 +6247,7 @@ msgstr "" "Puffer verbundenen Ressourcen freigeben. Diese Methode sollte „ ``None`` “ " "zurückgeben." -#: ../../reference/datamodel.rst:3669 +#: ../../reference/datamodel.rst:3679 msgid "" "**Thread safety:** In :term:`free-threaded ` Python, any " "export counter decrement must use atomic operations. Resource cleanup must " @@ -6251,7 +6260,7 @@ msgstr "" "endgültige Freigabe zu einem Wettlauf mit gleichzeitigen Freigaben durch " "andere Threads führen kann." -#: ../../reference/datamodel.rst:3674 +#: ../../reference/datamodel.rst:3684 msgid "" "Buffer objects that do not need to perform any cleanup are not required to " "implement this method." @@ -6259,30 +6268,30 @@ msgstr "" "Pufferobjekte, die keine Bereinigung durchführen müssen, müssen diese " "Methode nicht implementieren." -#: ../../reference/datamodel.rst:3681 +#: ../../reference/datamodel.rst:3691 msgid ":pep:`688` - Making the buffer protocol accessible in Python" msgstr ":pep:`688` - Das Pufferprotokoll in Python verfügbar machen" -#: ../../reference/datamodel.rst:3682 +#: ../../reference/datamodel.rst:3692 msgid "" "Introduces the Python ``__buffer__`` and ``__release_buffer__`` methods." msgstr "" "Stellt die Python-Methoden „ ``__buffer__`` “ und „ ``__release_buffer__`` “ " "vor." -#: ../../reference/datamodel.rst:3684 +#: ../../reference/datamodel.rst:3694 msgid ":class:`collections.abc.Buffer`" msgstr ":class:`collections.abc.Buffer`" -#: ../../reference/datamodel.rst:3685 +#: ../../reference/datamodel.rst:3695 msgid "ABC for buffer types." msgstr "Das ABC der Puffertypen." -#: ../../reference/datamodel.rst:3688 +#: ../../reference/datamodel.rst:3698 msgid "Annotations" msgstr "Anmerkungen" -#: ../../reference/datamodel.rst:3690 +#: ../../reference/datamodel.rst:3700 msgid "" "Functions, classes, and modules may contain :term:`annotations " "`, which are a way to associate information (usually :term:`type " @@ -6292,7 +6301,7 @@ msgstr "" "enthalten, mit denen Informationen (in der Regel :term:`Typ-Hinweise `) einem Symbol zugeordnet werden können." -#: ../../reference/datamodel.rst:3696 +#: ../../reference/datamodel.rst:3706 msgid "" "This attribute contains the annotations for an object. It is :ref:`lazily " "evaluated `, so accessing the attribute may execute " @@ -6305,11 +6314,11 @@ msgstr "" "führen. Bei erfolgreicher Auswertung wird das Attribut auf ein Wörterbuch " "gesetzt, das Variablennamen Anmerkungen zuordnet." -#: ../../reference/datamodel.rst:3701 +#: ../../reference/datamodel.rst:3711 msgid "Annotations are now lazily evaluated." msgstr "Annotationen werden nun verzögert ausgewertet." -#: ../../reference/datamodel.rst:3706 +#: ../../reference/datamodel.rst:3716 msgid "" "An :term:`annotate function`. Returns a new dictionary object mapping " "attribute/parameter names to their annotation values." @@ -6318,7 +6327,7 @@ msgstr "" "Dictionary-Objekt zurück, das Attribut-/Parameternamen ihren " "Annotationswerten zuordnet." -#: ../../reference/datamodel.rst:3709 +#: ../../reference/datamodel.rst:3719 msgid "" "Takes a format parameter specifying the format in which annotations values " "should be provided. It must be a member of the :class:`annotationlib.Format` " @@ -6329,7 +6338,7 @@ msgstr "" "Aufzählung „ :class:`annotationlib.Format` “ sein oder eine Ganzzahl, deren " "Wert einem Element dieser Aufzählung entspricht." -#: ../../reference/datamodel.rst:3713 +#: ../../reference/datamodel.rst:3723 msgid "" "If an annotate function doesn't support the requested format, it must raise :" "exc:`NotImplementedError`. Annotate functions must always support :attr:" @@ -6342,7 +6351,7 @@ msgstr "" "unterstützen; sie dürfen die Ausnahme „ :exc:`NotImplementedError()` “ nicht " "auslösen, wenn sie mit diesem Format aufgerufen werden." -#: ../../reference/datamodel.rst:3718 +#: ../../reference/datamodel.rst:3728 msgid "" "When called with :attr:`~annotationlib.Format.VALUE` format, an annotate " "function may raise :exc:`NameError`; it must not raise :exc:`!NameError` " @@ -6353,7 +6362,7 @@ msgstr "" "Aufruf mit einem anderen Format darf sie jedoch nicht die Ausnahme „ :exc:`!" "NameError` “ auslösen." -#: ../../reference/datamodel.rst:3721 +#: ../../reference/datamodel.rst:3731 msgid "" "If an object does not have any annotations, :attr:`~object.__annotate__` " "should preferably be set to ``None`` (it can’t be deleted), rather than set " @@ -6363,24 +6372,24 @@ msgstr "" "__annotate__` “ vorzugsweise auf „ ``None`` “ gesetzt werden (es kann nicht " "gelöscht werden), anstatt auf eine Funktion, die ein leeres Dict zurückgibt." -#: ../../reference/datamodel.rst:3728 +#: ../../reference/datamodel.rst:3738 msgid ":pep:`649` --- Deferred evaluation of annotation using descriptors" msgstr "" ":pep:`649` --- Aufgeschobene Auswertung von Annotationen unter Verwendung " "von Deskriptoren" -#: ../../reference/datamodel.rst:3729 +#: ../../reference/datamodel.rst:3739 msgid "" "Introduces lazy evaluation of annotations and the ``__annotate__`` function." msgstr "" "Führt die verzögerte Auswertung von Annotationen und die Funktion " "„ ``__annotate__`` “ ein." -#: ../../reference/datamodel.rst:3735 +#: ../../reference/datamodel.rst:3745 msgid "Special method lookup" msgstr "Suche nach speziellen Methoden" -#: ../../reference/datamodel.rst:3737 +#: ../../reference/datamodel.rst:3747 msgid "" "For custom classes, implicit invocations of special methods are only " "guaranteed to work correctly if defined on an object's type, not in the " @@ -6392,7 +6401,7 @@ msgstr "" "definiert sind, nicht jedoch im Instanz-Wörterbuch des Objekts. Dieses " "Verhalten ist der Grund dafür, dass der folgende Code eine Ausnahme auslöst::" -#: ../../reference/datamodel.rst:3742 +#: ../../reference/datamodel.rst:3752 msgid "" ">>> class C:\n" "... pass\n" @@ -6414,7 +6423,7 @@ msgstr "" " File \"\", line 1, in \n" "TypeError: object of type 'C' has no len()" -#: ../../reference/datamodel.rst:3752 +#: ../../reference/datamodel.rst:3762 msgid "" "The rationale behind this behaviour lies with a number of special methods " "such as :meth:`~object.__hash__` and :meth:`~object.__repr__` that are " @@ -6429,7 +6438,7 @@ msgstr "" "verwendet, würden sie fehlschlagen, wenn sie auf das Typobjekt selbst " "aufgerufen würden::" -#: ../../reference/datamodel.rst:3759 +#: ../../reference/datamodel.rst:3769 msgid "" ">>> 1 .__hash__() == hash(1)\n" "True\n" @@ -6445,7 +6454,7 @@ msgstr "" " File \"\", line 1, in \n" "TypeError: descriptor '__hash__' of 'int' object needs an argument" -#: ../../reference/datamodel.rst:3766 +#: ../../reference/datamodel.rst:3776 msgid "" "Incorrectly attempting to invoke an unbound method of a class in this way is " "sometimes referred to as 'metaclass confusion', and is avoided by bypassing " @@ -6456,7 +6465,7 @@ msgstr "" "lässt sich vermeiden, indem man bei der Suche nach speziellen Methoden die " "Instanz umgeht::" -#: ../../reference/datamodel.rst:3770 +#: ../../reference/datamodel.rst:3780 msgid "" ">>> type(1).__hash__(1) == hash(1)\n" "True\n" @@ -6468,7 +6477,7 @@ msgstr "" ">>> type(int).__hash__(int) == hash(int)\n" "True" -#: ../../reference/datamodel.rst:3775 +#: ../../reference/datamodel.rst:3785 msgid "" "In addition to bypassing any instance attributes in the interest of " "correctness, implicit special method lookup generally also bypasses the :" @@ -6479,7 +6488,7 @@ msgstr "" "Allgemeinen auch die Methode :meth:`~object.__getattribute__`, selbst wenn " "es sich bei der Metaklasse des Objekts um `metaclass:` handelt:" -#: ../../reference/datamodel.rst:3779 +#: ../../reference/datamodel.rst:3789 msgid "" ">>> class Meta(type):\n" "... def __getattribute__(*args):\n" @@ -6525,7 +6534,7 @@ msgstr "" ">>> len(c) # implizite Suche\n" "10" -#: ../../reference/datamodel.rst:3801 +#: ../../reference/datamodel.rst:3811 msgid "" "Bypassing the :meth:`~object.__getattribute__` machinery in this fashion " "provides significant scope for speed optimisations within the interpreter, " @@ -6540,15 +6549,15 @@ msgstr "" "*muss* am Klassenobjekt selbst festgelegt werden, damit sie vom Interpreter " "konsistent aufgerufen wird)." -#: ../../reference/datamodel.rst:3812 +#: ../../reference/datamodel.rst:3822 msgid "Coroutines" msgstr "Coroutinen" -#: ../../reference/datamodel.rst:3816 +#: ../../reference/datamodel.rst:3826 msgid "Awaitable Objects" msgstr "Objekte, auf die man warten kann" -#: ../../reference/datamodel.rst:3818 +#: ../../reference/datamodel.rst:3828 msgid "" "An :term:`awaitable` object generally implements an :meth:`~object." "__await__` method. :term:`Coroutine objects ` returned from :" @@ -6558,7 +6567,7 @@ msgstr "" "__await__`-Methode. :term:`Coroutine-Objekte `, die von :keyword:" "`async def`-Funktionen zurückgegeben werden, sind awaitable." -#: ../../reference/datamodel.rst:3824 +#: ../../reference/datamodel.rst:3834 msgid "" "The :term:`generator iterator` objects returned from generators decorated " "with :func:`types.coroutine` are also awaitable, but they do not implement :" @@ -6569,7 +6578,7 @@ msgstr "" "sind, sind ebenfalls abwartbar, implementieren jedoch nicht :meth:`~object." "__await__`." -#: ../../reference/datamodel.rst:3830 +#: ../../reference/datamodel.rst:3840 msgid "" "Must return an :term:`iterator`. Should be used to implement :term:" "`awaitable` objects. For instance, :class:`asyncio.Future` implements this " @@ -6582,7 +6591,7 @@ msgstr "" "dem Ausdruck :keyword:`await` kompatibel zu sein. Die Klasse :class:`object` " "selbst ist nicht „awaitable“ und stellt diese Methode nicht bereit." -#: ../../reference/datamodel.rst:3838 +#: ../../reference/datamodel.rst:3848 msgid "" "The language doesn't place any restriction on the type or value of the " "objects yielded by the iterator returned by ``__await__``, as this is " @@ -6595,16 +6604,16 @@ msgstr "" "des Frameworks für die asynchrone Ausführung (z. B. :mod:`asyncio`) ist, das " "das :term:`awaitable`-Objekt verwaltet." -#: ../../reference/datamodel.rst:3846 +#: ../../reference/datamodel.rst:3856 msgid ":pep:`492` for additional information about awaitable objects." msgstr "" ":pep:`492` Weitere Informationen zu Objekten, auf die gewartet werden kann." -#: ../../reference/datamodel.rst:3852 +#: ../../reference/datamodel.rst:3862 msgid "Coroutine Objects" msgstr "Coroutinen-Objekte" -#: ../../reference/datamodel.rst:3854 +#: ../../reference/datamodel.rst:3864 msgid "" ":term:`Coroutine objects ` are :term:`awaitable` objects. A " "coroutine's execution can be controlled by calling :meth:`~object.__await__` " @@ -6623,7 +6632,7 @@ msgstr "" "auslöst, wird diese vom Iterator weitergeleitet. Coroutinen sollten keine " "unbehandelten „ :exc:`StopIteration` “-Ausnahmen direkt auslösen." -#: ../../reference/datamodel.rst:3862 +#: ../../reference/datamodel.rst:3872 msgid "" "Coroutines also have the methods listed below, which are analogous to those " "of generators (see :ref:`generator-methods`). However, unlike generators, " @@ -6633,7 +6642,7 @@ msgstr "" "von Generatoren entsprechen (siehe :ref:`generator-methods`). Im Gegensatz " "zu Generatoren unterstützen Coroutinen jedoch keine direkte Iteration." -#: ../../reference/datamodel.rst:3866 +#: ../../reference/datamodel.rst:3876 msgid "" "Coroutines are :ref:`generic ` over the types of their yield, " "send, and return values, respectively." @@ -6641,13 +6650,13 @@ msgstr "" "Coroutinen sind :ref:`generische ` über die Typen ihrer `yield`-, " "`send`- bzw. `return`-Werte." -#: ../../reference/datamodel.rst:3869 +#: ../../reference/datamodel.rst:3879 msgid "It is a :exc:`RuntimeError` to await on a coroutine more than once." msgstr "" "Es ist ein „ :exc:`RuntimeError` “, mehr als einmal auf eine Coroutine zu " "warten." -#: ../../reference/datamodel.rst:3875 +#: ../../reference/datamodel.rst:3885 msgid "" "Starts or resumes execution of the coroutine. If *value* is ``None``, this " "is equivalent to advancing the iterator returned by :meth:`~object." @@ -6666,7 +6675,7 @@ msgstr "" "entspricht dem oben beschriebenen Fall, in dem der Rückgabewert von „ :meth:" "`!__await__` “ durchlaufen wird." -#: ../../reference/datamodel.rst:3886 +#: ../../reference/datamodel.rst:3896 msgid "" "Raises the specified exception in the coroutine. This method delegates to " "the :meth:`~generator.throw` method of the iterator that caused the " @@ -6685,7 +6694,7 @@ msgstr "" "`~object.__await__` durchlaufen wird. Wird die Ausnahme in der Koroutine " "nicht abgefangen, wird sie an den Aufrufer weitergeleitet." -#: ../../reference/datamodel.rst:3897 +#: ../../reference/datamodel.rst:3907 msgid "" "The second signature \\(type\\[, value\\[, traceback\\]\\]\\) is deprecated " "and may be removed in a future version of Python." @@ -6693,7 +6702,7 @@ msgstr "" "Die zweite Signatur \\(type\\[, value\\[, traceback\\]\\]\\) ist veraltet " "und wird möglicherweise in einer zukünftigen Version von Python entfernt." -#: ../../reference/datamodel.rst:3902 +#: ../../reference/datamodel.rst:3912 msgid "" "Causes the coroutine to clean itself up and exit. If the coroutine is " "suspended, this method first delegates to the :meth:`~generator.close` " @@ -6710,7 +6719,7 @@ msgstr "" "die Coroutine ihre Ressourcen sofort freigibt. Schließlich wird die " "Coroutine als ausgeführt markiert, auch wenn sie nie gestartet wurde." -#: ../../reference/datamodel.rst:3910 +#: ../../reference/datamodel.rst:3920 msgid "" "Coroutine objects are automatically closed using the above process when they " "are about to be destroyed." @@ -6718,11 +6727,11 @@ msgstr "" "Coroutine-Objekte werden automatisch nach dem oben beschriebenen Verfahren " "geschlossen, wenn sie kurz vor der Löschung stehen." -#: ../../reference/datamodel.rst:3916 +#: ../../reference/datamodel.rst:3926 msgid "Asynchronous Iterators" msgstr "Asynchrone Iteratoren" -#: ../../reference/datamodel.rst:3918 +#: ../../reference/datamodel.rst:3928 msgid "" "An *asynchronous iterator* can call asynchronous code in its ``__anext__`` " "method." @@ -6730,24 +6739,24 @@ msgstr "" "Ein *asynchroner Iterator* kann in seiner Methode „ ``__anext__`` “ " "asynchronen Code aufrufen." -#: ../../reference/datamodel.rst:3921 +#: ../../reference/datamodel.rst:3931 msgid "" "Asynchronous iterators can be used in an :keyword:`async for` statement." msgstr "" "Asynchrone Iteratoren können in einer :keyword:`async for`-Anweisung " "verwendet werden." -#: ../../reference/datamodel.rst:3923 ../../reference/datamodel.rst:3972 +#: ../../reference/datamodel.rst:3933 ../../reference/datamodel.rst:3982 msgid "The :class:`object` class itself does not provide these methods." msgstr "" "Die Klasse „ :class:`object` “ selbst stellt diese Methoden nicht zur " "Verfügung." -#: ../../reference/datamodel.rst:3928 +#: ../../reference/datamodel.rst:3938 msgid "Must return an *asynchronous iterator* object." msgstr "Muss ein *asynchrones Iterator*-Objekt zurückgeben." -#: ../../reference/datamodel.rst:3932 +#: ../../reference/datamodel.rst:3942 msgid "" "Must return an *awaitable* resulting in a next value of the iterator. " "Should raise a :exc:`StopAsyncIteration` error when the iteration is over." @@ -6756,11 +6765,11 @@ msgstr "" "liefert. Sollte einen Fehler vom Typ „ :exc:`StopAsyncIteration` “ auslösen, " "wenn die Iteration beendet ist." -#: ../../reference/datamodel.rst:3935 +#: ../../reference/datamodel.rst:3945 msgid "An example of an asynchronous iterable object::" msgstr "Ein Beispiel für ein asynchrones iterierbares Objekt::" -#: ../../reference/datamodel.rst:3937 +#: ../../reference/datamodel.rst:3947 msgid "" "class Reader:\n" " async def readline(self):\n" @@ -6788,7 +6797,7 @@ msgstr "" " raise StopAsyncIteration\n" " return val" -#: ../../reference/datamodel.rst:3952 +#: ../../reference/datamodel.rst:3962 msgid "" "Prior to Python 3.7, :meth:`~object.__aiter__` could return an *awaitable* " "that would resolve to an :term:`asynchronous iterator ` aufgelöst " "wurde." -#: ../../reference/datamodel.rst:3957 +#: ../../reference/datamodel.rst:3967 msgid "" "Starting with Python 3.7, :meth:`~object.__aiter__` must return an " "asynchronous iterator object. Returning anything else will result in a :exc:" @@ -6808,11 +6817,11 @@ msgstr "" "zurückgeben. Wird etwas anderes zurückgegeben, führt dies zu einem Fehler " "vom Typ „ :exc:`TypeError` “." -#: ../../reference/datamodel.rst:3965 +#: ../../reference/datamodel.rst:3975 msgid "Asynchronous Context Managers" msgstr "Asynchrone Kontextmanager" -#: ../../reference/datamodel.rst:3967 +#: ../../reference/datamodel.rst:3977 msgid "" "An *asynchronous context manager* is a *context manager* that is able to " "suspend execution in its ``__aenter__`` and ``__aexit__`` methods." @@ -6821,7 +6830,7 @@ msgstr "" "Ausführung in seinen Methoden „ ``__aenter__`` “ und „ ``__aexit__`` “ " "unterbrechen kann." -#: ../../reference/datamodel.rst:3970 +#: ../../reference/datamodel.rst:3980 msgid "" "Asynchronous context managers can be used in an :keyword:`async with` " "statement." @@ -6829,7 +6838,7 @@ msgstr "" "Asynchrone Kontextmanager können in einer :keyword:`async with`-Anweisung " "verwendet werden." -#: ../../reference/datamodel.rst:3976 +#: ../../reference/datamodel.rst:3986 msgid "" "Semantically similar to :meth:`~object.__enter__`, the only difference being " "that it must return an *awaitable*." @@ -6837,7 +6846,7 @@ msgstr "" "Semantisch ähnlich wie „ :meth:`~object.__enter__` “, mit dem einzigen " "Unterschied, dass es ein *awaitable* zurückgeben muss." -#: ../../reference/datamodel.rst:3981 +#: ../../reference/datamodel.rst:3991 msgid "" "Semantically similar to :meth:`~object.__exit__`, the only difference being " "that it must return an *awaitable*." @@ -6845,11 +6854,11 @@ msgstr "" "Semantisch ähnlich wie „ :meth:`~object.__exit__` “, mit dem einzigen " "Unterschied, dass hier ein *awaitable* zurückgegeben werden muss." -#: ../../reference/datamodel.rst:3984 +#: ../../reference/datamodel.rst:3994 msgid "An example of an asynchronous context manager class::" msgstr "Ein Beispiel für eine asynchrone Kontextmanager-Klasse::" -#: ../../reference/datamodel.rst:3986 +#: ../../reference/datamodel.rst:3996 msgid "" "class AsyncContextManager:\n" " async def __aenter__(self):\n" @@ -6865,11 +6874,11 @@ msgstr "" " async def __aexit__(self, exc_type, exc, tb):\n" " await log('exiting context')" -#: ../../reference/datamodel.rst:3997 +#: ../../reference/datamodel.rst:4007 msgid "Footnotes" msgstr "Fußnoten" -#: ../../reference/datamodel.rst:3998 +#: ../../reference/datamodel.rst:4008 msgid "" "It *is* possible in some cases to change an object's type, under certain " "controlled conditions. It generally isn't a good idea though, since it can " @@ -6880,7 +6889,7 @@ msgstr "" "keine gute Idee, da es bei unsachgemäßer Handhabung zu sehr seltsamen " "Verhaltensweisen führen kann." -#: ../../reference/datamodel.rst:4002 +#: ../../reference/datamodel.rst:4012 msgid "" "The :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:`~object." "__reversed__`, :meth:`~object.__contains__`, :meth:`~object." @@ -6895,7 +6904,7 @@ msgstr "" "weiterhin einen „ :exc:`TypeError` “ aus, stützen sich dabei jedoch " "möglicherweise auf das Verhalten, dass „ ``None`` “ nicht aufrufbar ist." -#: ../../reference/datamodel.rst:4009 +#: ../../reference/datamodel.rst:4019 msgid "" "\"Does not support\" here means that the class has no such method, or the " "method returns :data:`NotImplemented`. Do not set the method to ``None`` if " @@ -6908,7 +6917,7 @@ msgstr "" "Methode des rechten Operanden erzwingen willst – das bewirkt genau das " "Gegenteil und *verhindert* diesen Rückgriff ausdrücklich." -#: ../../reference/datamodel.rst:4015 +#: ../../reference/datamodel.rst:4025 msgid "" "For operands of the same type, it is assumed that if the non-reflected " "method (such as :meth:`~object.__add__`) fails then the operation is not " @@ -6919,7 +6928,7 @@ msgstr "" "`~object.__add__`) fehlschlägt; aus diesem Grund wird die reflektierte " "Methode nicht aufgerufen." -#: ../../reference/datamodel.rst:4019 +#: ../../reference/datamodel.rst:4029 msgid "" "If the right operand's type is a subclass of the left operand's type, the " "reflected method having precedence allows subclasses to override their " @@ -6944,9 +6953,9 @@ msgstr "" #: ../../reference/datamodel.rst:877 ../../reference/datamodel.rst:913 #: ../../reference/datamodel.rst:1185 ../../reference/datamodel.rst:1353 #: ../../reference/datamodel.rst:1380 ../../reference/datamodel.rst:1468 -#: ../../reference/datamodel.rst:1567 ../../reference/datamodel.rst:1675 -#: ../../reference/datamodel.rst:1792 ../../reference/datamodel.rst:2223 -#: ../../reference/datamodel.rst:3279 +#: ../../reference/datamodel.rst:1577 ../../reference/datamodel.rst:1685 +#: ../../reference/datamodel.rst:1802 ../../reference/datamodel.rst:2233 +#: ../../reference/datamodel.rst:3289 msgid "object" msgstr "Objekt" @@ -6957,12 +6966,12 @@ msgstr "Daten" #: ../../reference/datamodel.rst:22 ../../reference/datamodel.rst:298 #: ../../reference/datamodel.rst:358 ../../reference/datamodel.rst:447 #: ../../reference/datamodel.rst:488 ../../reference/datamodel.rst:853 -#: ../../reference/datamodel.rst:1409 ../../reference/datamodel.rst:1875 -#: ../../reference/datamodel.rst:2124 ../../reference/datamodel.rst:2130 -#: ../../reference/datamodel.rst:2223 ../../reference/datamodel.rst:2790 -#: ../../reference/datamodel.rst:3227 ../../reference/datamodel.rst:3397 -#: ../../reference/datamodel.rst:3432 ../../reference/datamodel.rst:3500 -#: ../../reference/datamodel.rst:3510 ../../reference/datamodel.rst:3538 +#: ../../reference/datamodel.rst:1409 ../../reference/datamodel.rst:1885 +#: ../../reference/datamodel.rst:2134 ../../reference/datamodel.rst:2140 +#: ../../reference/datamodel.rst:2233 ../../reference/datamodel.rst:2800 +#: ../../reference/datamodel.rst:3237 ../../reference/datamodel.rst:3407 +#: ../../reference/datamodel.rst:3442 ../../reference/datamodel.rst:3510 +#: ../../reference/datamodel.rst:3520 ../../reference/datamodel.rst:3548 msgid "built-in function" msgstr "integrierte Funktion" @@ -6971,7 +6980,7 @@ msgid "id" msgstr "id" #: ../../reference/datamodel.rst:22 ../../reference/datamodel.rst:122 -#: ../../reference/datamodel.rst:2790 +#: ../../reference/datamodel.rst:2800 msgid "type" msgstr "Typ" @@ -7094,12 +7103,12 @@ msgstr "Zahl" msgid "Java" msgstr "Java" -#: ../../reference/datamodel.rst:284 ../../reference/datamodel.rst:3510 +#: ../../reference/datamodel.rst:284 ../../reference/datamodel.rst:3520 msgid "complex" msgstr "komplex" #: ../../reference/datamodel.rst:298 ../../reference/datamodel.rst:447 -#: ../../reference/datamodel.rst:488 ../../reference/datamodel.rst:3227 +#: ../../reference/datamodel.rst:488 ../../reference/datamodel.rst:3237 msgid "len" msgstr "len" @@ -7124,15 +7133,15 @@ msgstr "Abonnement" msgid "slicing" msgstr "Schneiden" -#: ../../reference/datamodel.rst:316 ../../reference/datamodel.rst:1887 +#: ../../reference/datamodel.rst:316 ../../reference/datamodel.rst:1897 msgid "start (slice object attribute)" msgstr "start (Attribut eines Slice-Objekts)" -#: ../../reference/datamodel.rst:316 ../../reference/datamodel.rst:1887 +#: ../../reference/datamodel.rst:316 ../../reference/datamodel.rst:1897 msgid "stop (slice object attribute)" msgstr "stop (Attribut eines Slice-Objekts)" -#: ../../reference/datamodel.rst:316 ../../reference/datamodel.rst:1887 +#: ../../reference/datamodel.rst:316 ../../reference/datamodel.rst:1897 msgid "step (slice object attribute)" msgstr "Schritt (Objektattribut „Slice“)" @@ -7145,7 +7154,7 @@ msgid "immutable" msgstr "unveränderlich" #: ../../reference/datamodel.rst:354 ../../reference/datamodel.rst:358 -#: ../../reference/datamodel.rst:2099 ../../reference/datamodel.rst:2130 +#: ../../reference/datamodel.rst:2109 ../../reference/datamodel.rst:2140 msgid "string" msgstr "Zeichenkette" @@ -7185,7 +7194,7 @@ msgstr "Singleton" msgid "empty" msgstr "leer" -#: ../../reference/datamodel.rst:396 ../../reference/datamodel.rst:2124 +#: ../../reference/datamodel.rst:396 ../../reference/datamodel.rst:2134 msgid "bytes" msgstr "Bytes" @@ -7207,8 +7216,8 @@ msgid "assignment" msgstr "Aufgabe" #: ../../reference/datamodel.rst:408 ../../reference/datamodel.rst:913 -#: ../../reference/datamodel.rst:1829 ../../reference/datamodel.rst:2017 -#: ../../reference/datamodel.rst:3562 +#: ../../reference/datamodel.rst:1839 ../../reference/datamodel.rst:2027 +#: ../../reference/datamodel.rst:3572 msgid "statement" msgstr "Erklärung" @@ -7245,7 +7254,7 @@ msgid "mapping" msgstr "Kartierung" #: ../../reference/datamodel.rst:505 ../../reference/datamodel.rst:1185 -#: ../../reference/datamodel.rst:2223 +#: ../../reference/datamodel.rst:2233 msgid "dictionary" msgstr "Wörterbuch" @@ -7272,7 +7281,7 @@ msgid "function" msgstr "Funktion" #: ../../reference/datamodel.rst:555 ../../reference/datamodel.rst:1185 -#: ../../reference/datamodel.rst:1208 ../../reference/datamodel.rst:3173 +#: ../../reference/datamodel.rst:1208 ../../reference/datamodel.rst:3183 msgid "call" msgstr "Anruf" @@ -7380,7 +7389,7 @@ msgstr "__name__ (Methodenattribut)" msgid "__module__ (method attribute)" msgstr "__module__ (Methode „attribute“)" -#: ../../reference/datamodel.rst:797 ../../reference/datamodel.rst:1567 +#: ../../reference/datamodel.rst:797 ../../reference/datamodel.rst:1577 msgid "generator" msgstr "Generator" @@ -7388,7 +7397,7 @@ msgstr "Generator" msgid "iterator" msgstr "Iterator" -#: ../../reference/datamodel.rst:815 ../../reference/datamodel.rst:3808 +#: ../../reference/datamodel.rst:815 ../../reference/datamodel.rst:3818 msgid "coroutine" msgstr "Koroutine" @@ -7457,8 +7466,8 @@ msgid "__dict__ (module attribute)" msgstr "__dict__ (Modulattribut)" #: ../../reference/datamodel.rst:1185 ../../reference/datamodel.rst:1203 -#: ../../reference/datamodel.rst:1353 ../../reference/datamodel.rst:2000 -#: ../../reference/datamodel.rst:2903 +#: ../../reference/datamodel.rst:1353 ../../reference/datamodel.rst:2010 +#: ../../reference/datamodel.rst:2913 msgid "class" msgstr "Klasse" @@ -7468,7 +7477,7 @@ msgid "class instance" msgstr "Klasseninstanz" #: ../../reference/datamodel.rst:1185 ../../reference/datamodel.rst:1353 -#: ../../reference/datamodel.rst:3173 +#: ../../reference/datamodel.rst:3183 msgid "instance" msgstr "Beispiel" @@ -7656,282 +7665,282 @@ msgstr "co_freevars (Codeobjekt-Attribut)" msgid "co_qualname (code object attribute)" msgstr "co_qualname (Attribut eines Code-Objekts)" -#: ../../reference/datamodel.rst:1583 +#: ../../reference/datamodel.rst:1593 msgid "documentation string" msgstr "Dokumentationszeichenfolge" -#: ../../reference/datamodel.rst:1675 +#: ../../reference/datamodel.rst:1685 msgid "frame" msgstr "Rahmen" -#: ../../reference/datamodel.rst:1681 +#: ../../reference/datamodel.rst:1691 msgid "f_back (frame attribute)" msgstr "f_back (Frame-Attribut)" -#: ../../reference/datamodel.rst:1681 +#: ../../reference/datamodel.rst:1691 msgid "f_code (frame attribute)" msgstr "f_code (Frame-Attribut)" -#: ../../reference/datamodel.rst:1681 +#: ../../reference/datamodel.rst:1691 msgid "f_globals (frame attribute)" msgstr "f_globals (Frame-Attribut)" -#: ../../reference/datamodel.rst:1681 +#: ../../reference/datamodel.rst:1691 msgid "f_locals (frame attribute)" msgstr "f_locals (Frame-Attribut)" -#: ../../reference/datamodel.rst:1681 +#: ../../reference/datamodel.rst:1691 msgid "f_lasti (frame attribute)" msgstr "f_lasti (Frame-Attribut)" -#: ../../reference/datamodel.rst:1681 +#: ../../reference/datamodel.rst:1691 msgid "f_builtins (frame attribute)" msgstr "f_builtins (Frame-Attribut)" -#: ../../reference/datamodel.rst:1681 +#: ../../reference/datamodel.rst:1691 msgid "f_generator (frame attribute)" msgstr "f_generator (Frame-Attribut)" -#: ../../reference/datamodel.rst:1732 +#: ../../reference/datamodel.rst:1742 msgid "f_trace (frame attribute)" msgstr "f_trace (Frame-Attribut)" -#: ../../reference/datamodel.rst:1732 +#: ../../reference/datamodel.rst:1742 msgid "f_trace_lines (frame attribute)" msgstr "f_trace_lines (Frame-Attribut)" -#: ../../reference/datamodel.rst:1732 +#: ../../reference/datamodel.rst:1742 msgid "f_trace_opcodes (frame attribute)" msgstr "f_trace_opcodes (Frame-Attribut)" -#: ../../reference/datamodel.rst:1732 +#: ../../reference/datamodel.rst:1742 msgid "f_lineno (frame attribute)" msgstr "f_lineno (Frame-Attribut)" -#: ../../reference/datamodel.rst:1792 +#: ../../reference/datamodel.rst:1802 msgid "traceback" msgstr "Traceback" -#: ../../reference/datamodel.rst:1792 +#: ../../reference/datamodel.rst:1802 msgid "stack" msgstr "Stapel" -#: ../../reference/datamodel.rst:1792 +#: ../../reference/datamodel.rst:1802 msgid "trace" msgstr "Spur" -#: ../../reference/datamodel.rst:1792 +#: ../../reference/datamodel.rst:1802 msgid "exception" msgstr "Ausnahme" -#: ../../reference/datamodel.rst:1792 +#: ../../reference/datamodel.rst:1802 msgid "handler" msgstr "Handler" -#: ../../reference/datamodel.rst:1792 +#: ../../reference/datamodel.rst:1802 msgid "execution" msgstr "Ausführung" -#: ../../reference/datamodel.rst:1792 +#: ../../reference/datamodel.rst:1802 msgid "exc_info (in module sys)" msgstr "exc_info (im Modul sys)" -#: ../../reference/datamodel.rst:1792 +#: ../../reference/datamodel.rst:1802 msgid "last_traceback (in module sys)" msgstr "last_traceback (im Modul sys)" -#: ../../reference/datamodel.rst:1792 +#: ../../reference/datamodel.rst:1802 msgid "sys.exc_info" msgstr "sys.exc_info" -#: ../../reference/datamodel.rst:1792 +#: ../../reference/datamodel.rst:1802 msgid "sys.exception" msgstr "sys.exception" -#: ../../reference/datamodel.rst:1792 +#: ../../reference/datamodel.rst:1802 msgid "sys.last_traceback" msgstr "sys.last_traceback" -#: ../../reference/datamodel.rst:1829 +#: ../../reference/datamodel.rst:1839 msgid "tb_frame (traceback attribute)" msgstr "tb_frame (Traceback-Attribut)" -#: ../../reference/datamodel.rst:1829 +#: ../../reference/datamodel.rst:1839 msgid "tb_lineno (traceback attribute)" msgstr "tb_lineno (Traceback-Attribut)" -#: ../../reference/datamodel.rst:1829 +#: ../../reference/datamodel.rst:1839 msgid "tb_lasti (traceback attribute)" msgstr "tb_lasti (Traceback-Attribut)" -#: ../../reference/datamodel.rst:1829 +#: ../../reference/datamodel.rst:1839 msgid "try" msgstr "versuchen" -#: ../../reference/datamodel.rst:1859 +#: ../../reference/datamodel.rst:1869 msgid "tb_next (traceback attribute)" msgstr "tb_next (Traceback-Attribut)" -#: ../../reference/datamodel.rst:1875 ../../reference/datamodel.rst:3279 +#: ../../reference/datamodel.rst:1885 ../../reference/datamodel.rst:3289 msgid "slice" msgstr "Scheibe" -#: ../../reference/datamodel.rst:1935 +#: ../../reference/datamodel.rst:1945 msgid "operator" msgstr "Operator" -#: ../../reference/datamodel.rst:1935 +#: ../../reference/datamodel.rst:1945 msgid "overloading" msgstr "Überlastung" -#: ../../reference/datamodel.rst:1935 +#: ../../reference/datamodel.rst:1945 msgid "__getitem__() (mapping object method)" msgstr "__getitem__() (Methode eines Mapping-Objekts)" -#: ../../reference/datamodel.rst:1971 +#: ../../reference/datamodel.rst:1981 msgid "subclassing" msgstr "Unterklassenbildung" -#: ../../reference/datamodel.rst:1971 +#: ../../reference/datamodel.rst:1981 msgid "immutable types" msgstr "unveränderliche Typen" -#: ../../reference/datamodel.rst:2000 +#: ../../reference/datamodel.rst:2010 msgid "constructor" msgstr "Konstruktor" -#: ../../reference/datamodel.rst:2017 +#: ../../reference/datamodel.rst:2027 msgid "destructor" msgstr "Destruktor" -#: ../../reference/datamodel.rst:2017 +#: ../../reference/datamodel.rst:2027 msgid "finalizer" msgstr "Finalizer" -#: ../../reference/datamodel.rst:2017 +#: ../../reference/datamodel.rst:2027 msgid "del" msgstr "del" -#: ../../reference/datamodel.rst:2081 +#: ../../reference/datamodel.rst:2091 msgid "repr() (built-in function)" msgstr "repr() (integrierte Funktion)" -#: ../../reference/datamodel.rst:2081 +#: ../../reference/datamodel.rst:2091 msgid "__repr__() (object method)" msgstr "__repr__() (Objektmethode)" -#: ../../reference/datamodel.rst:2099 +#: ../../reference/datamodel.rst:2109 msgid "__str__() (object method)" msgstr "__str__() (Objektmethode)" -#: ../../reference/datamodel.rst:2099 +#: ../../reference/datamodel.rst:2109 msgid "format() (built-in function)" msgstr "format() (integrierte Funktion)" -#: ../../reference/datamodel.rst:2099 +#: ../../reference/datamodel.rst:2109 msgid "print() (built-in function)" msgstr "print() (integrierte Funktion)" -#: ../../reference/datamodel.rst:2130 +#: ../../reference/datamodel.rst:2140 msgid "__format__() (object method)" msgstr "__format__() (Objektmethode)" -#: ../../reference/datamodel.rst:2130 +#: ../../reference/datamodel.rst:2140 msgid "conversion" msgstr "Umrechnung" -#: ../../reference/datamodel.rst:2130 +#: ../../reference/datamodel.rst:2140 msgid "print" msgstr "Drucken" -#: ../../reference/datamodel.rst:2172 +#: ../../reference/datamodel.rst:2182 msgid "comparisons" msgstr "Vergleiche" -#: ../../reference/datamodel.rst:2223 +#: ../../reference/datamodel.rst:2233 msgid "hash" msgstr "Hash" -#: ../../reference/datamodel.rst:2304 +#: ../../reference/datamodel.rst:2314 msgid "__len__() (mapping object method)" msgstr "__len__() (Methode eines Mapping-Objekts)" -#: ../../reference/datamodel.rst:2409 +#: ../../reference/datamodel.rst:2419 msgid "__getattr__ (module attribute)" msgstr "__getattr__ (Modul-Attribut)" -#: ../../reference/datamodel.rst:2409 +#: ../../reference/datamodel.rst:2419 msgid "__dir__ (module attribute)" msgstr "__dir__ (Modulattribut)" -#: ../../reference/datamodel.rst:2409 +#: ../../reference/datamodel.rst:2419 msgid "__class__ (module attribute)" msgstr "__class__ (Modulattribut)" -#: ../../reference/datamodel.rst:2790 +#: ../../reference/datamodel.rst:2800 msgid "metaclass" msgstr "Metaklasse" -#: ../../reference/datamodel.rst:2790 +#: ../../reference/datamodel.rst:2800 msgid "= (equals)" msgstr "= (gleich)" -#: ../../reference/datamodel.rst:2790 +#: ../../reference/datamodel.rst:2800 msgid "class definition" msgstr "Klassendefinition" -#: ../../reference/datamodel.rst:2856 +#: ../../reference/datamodel.rst:2866 msgid "metaclass hint" msgstr "Metaklassen-Hinweis" -#: ../../reference/datamodel.rst:2879 +#: ../../reference/datamodel.rst:2889 msgid "__prepare__ (metaclass method)" msgstr "__prepare__ (Metaklassenmethode)" -#: ../../reference/datamodel.rst:2903 +#: ../../reference/datamodel.rst:2913 msgid "body" msgstr "Körper" -#: ../../reference/datamodel.rst:2923 +#: ../../reference/datamodel.rst:2933 msgid "__class__ (method cell)" msgstr "__class__ (Methodenzelle)" -#: ../../reference/datamodel.rst:2923 +#: ../../reference/datamodel.rst:2933 msgid "__classcell__ (class namespace entry)" msgstr "__classcell__ (Eintrag im Klassen-Namensraum)" -#: ../../reference/datamodel.rst:3227 +#: ../../reference/datamodel.rst:3237 msgid "__bool__() (object method)" msgstr "__bool__() (Objektmethode)" -#: ../../reference/datamodel.rst:3397 ../../reference/datamodel.rst:3432 +#: ../../reference/datamodel.rst:3407 ../../reference/datamodel.rst:3442 msgid "divmod" msgstr "divmod" -#: ../../reference/datamodel.rst:3397 ../../reference/datamodel.rst:3432 +#: ../../reference/datamodel.rst:3407 ../../reference/datamodel.rst:3442 msgid "pow" msgstr "pow" -#: ../../reference/datamodel.rst:3500 +#: ../../reference/datamodel.rst:3510 msgid "abs" msgstr "abs" -#: ../../reference/datamodel.rst:3510 +#: ../../reference/datamodel.rst:3520 msgid "int" msgstr "int" -#: ../../reference/datamodel.rst:3510 +#: ../../reference/datamodel.rst:3520 msgid "float" msgstr "float" -#: ../../reference/datamodel.rst:3538 +#: ../../reference/datamodel.rst:3548 msgid "round" msgstr "rund" -#: ../../reference/datamodel.rst:3562 +#: ../../reference/datamodel.rst:3572 msgid "with" msgstr "mit" -#: ../../reference/datamodel.rst:3562 +#: ../../reference/datamodel.rst:3572 msgid "context manager" msgstr "Kontextmanager" diff --git a/using/android.po b/using/android.po index 87828d26..b6eb9820 100644 --- a/using/android.po +++ b/using/android.po @@ -53,10 +53,10 @@ msgstr "" msgid "" "As a result, the only way you can use Python on Android is in embedded mode " "– that is, by writing a native Android application, embedding a Python " -"interpreter using ``libpython``, and invoking Python code using " -"the :ref:`Python embedding API `. The full Python interpreter, " -"the standard library, and all your Python code is then packaged into your " -"app for its own private use." +"interpreter using ``libpython``, and invoking Python code using the :ref:" +"`Python embedding API `. The full Python interpreter, the " +"standard library, and all your Python code is then packaged into your app " +"for its own private use." msgstr "" "Infolgedessen ist die einzige Möglichkeit, Python unter Android zu " "verwenden, der eingebettete Modus — das heißt, du schreibst eine native " @@ -136,19 +136,19 @@ msgstr "" #: ../../using/android.rst:49 msgid "" -"Or if you want to build it yourself, follow the instructions " -"in :source:`Platforms/Android/README.md`. The ``prefix`` directory will be " -"created under :samp:`cross-build/{HOST}`." +"Or if you want to build it yourself, follow the instructions in :source:" +"`Platforms/Android/README.md`. The ``prefix`` directory will be created " +"under :samp:`cross-build/{HOST}`." msgstr "" -"Oder, wenn du ihn selbst bauen möchtest, folge der Anleitung " -"unter :source:`Platforms/Android/README.md`. Das Verzeichnis ``prefix`` wird " -"dann unter :samp:`cross-build/{HOST}` angelegt." +"Oder, wenn du ihn selbst bauen möchtest, folge der Anleitung unter :source:" +"`Platforms/Android/README.md`. Das Verzeichnis ``prefix`` wird dann unter :" +"samp:`cross-build/{HOST}` angelegt." #: ../../using/android.rst:53 msgid "" -"Add code to your :source:`build.gradle ` file to copy the following items into your project. All " -"except your own Python code can be copied from ``prefix/lib``:" +"Add code to your :source:`build.gradle ` file to copy the following items into your project. All except " +"your own Python code can be copied from ``prefix/lib``:" msgstr "" "Füge Code in deine Datei :source:`build.gradle ` ein, der die folgenden Dinge in dein Projekt kopiert. " @@ -182,12 +182,12 @@ msgstr "``python*.*/site-packages`` (dein eigener Python-Code)" #: ../../using/android.rst:67 msgid "" "Add code to your app to :source:`extract the assets to the filesystem " -"`." +"`." msgstr "" "Füge Code in deine App ein, der :source:`die Assets ins Dateisystem entpackt " -"`." +"`." #: ../../using/android.rst:70 msgid "" @@ -206,10 +206,10 @@ msgstr "Ein Python-Paket für Android bauen" #: ../../using/android.rst:77 msgid "" "Python packages can be built for Android as wheels and released on PyPI. The " -"recommended tool for doing this is `cibuildwheel `__, which automates all " -"the details of setting up a cross-compilation environment, building the " -"wheel, and testing it on an emulator." +"recommended tool for doing this is `cibuildwheel `__, which automates all the details of " +"setting up a cross-compilation environment, building the wheel, and testing " +"it on an emulator." msgstr "" "Python-Pakete lassen sich für Android als Wheels bauen und auf PyPI " "veröffentlichen. Das empfohlene Werkzeug dafür ist `cibuildwheel `) um ``.opt-1`` vor der Endung ``.pyc`` " -"(siehe :pep:`488`). Siehe auch :envvar:`PYTHONOPTIMIZE`." +"Entfernt assert-Anweisungen und jeden Code, der vom Wert von :const:" +"`__debug__` abhängt. Ergänzt den Dateinamen kompilierter Dateien (:term:" +"`Bytecode `) um ``.opt-1`` vor der Endung ``.pyc`` (siehe :pep:" +"`488`). Siehe auch :envvar:`PYTHONOPTIMIZE`." #: ../../using/cmdline.rst:340 ../../using/cmdline.rst:350 msgid "Modify ``.pyc`` filenames according to :pep:`488`." @@ -652,8 +649,8 @@ msgstr "" #: ../../using/cmdline.rst:356 msgid "Don't prepend a potentially unsafe path to :data:`sys.path`:" msgstr "" -"Stellt keinen möglicherweise unsicheren Pfad an den Anfang " -"von :data:`sys.path`:" +"Stellt keinen möglicherweise unsicheren Pfad an den Anfang von :data:`sys." +"path`:" #: ../../using/cmdline.rst:358 msgid "" @@ -697,9 +694,9 @@ msgstr "" #: ../../using/cmdline.rst:380 msgid "" -"Turn on hash randomization. This option only has an effect if " -"the :envvar:`PYTHONHASHSEED` environment variable is set to anything other " -"than ``random``, since hash randomization is enabled by default." +"Turn on hash randomization. This option only has an effect if the :envvar:" +"`PYTHONHASHSEED` environment variable is set to anything other than " +"``random``, since hash randomization is enabled by default." msgstr "" "Schaltet die Hash-Randomisierung ein. Diese Option wirkt nur, wenn die " "Umgebungsvariable :envvar:`PYTHONHASHSEED` auf etwas anderes als ``random`` " @@ -728,9 +725,9 @@ msgid "" msgstr "" "Die Hash-Randomisierung soll vor einem Denial-of-Service schützen, der durch " "sorgfältig gewählte Eingaben entsteht, die das Verhalten im schlechtesten " -"Fall beim Aufbau eines dict ausnutzen – eine Komplexität von *O*\\ " -"(*n*\\ :sup:`2`). Einzelheiten unter https://ocert.org/advisories/" -"ocert-2011-003.html." +"Fall beim Aufbau eines dict ausnutzen – eine Komplexität von *O*\\ (*n*\\ :" +"sup:`2`). Einzelheiten unter https://ocert.org/advisories/ocert-2011-003." +"html." #: ../../using/cmdline.rst:395 msgid "" @@ -746,8 +743,8 @@ msgstr "Die Option wird nicht mehr ignoriert." #: ../../using/cmdline.rst:406 msgid "" -"Don't add the :data:`user site-packages directory ` " -"to :data:`sys.path`." +"Don't add the :data:`user site-packages directory ` to :data:" +"`sys.path`." msgstr "" "Fügt das :data:`site-packages-Verzeichnis des Benutzers ` " "nicht zu :data:`sys.path` hinzu." @@ -765,8 +762,8 @@ msgstr ":pep:`370` -- site-packages-Verzeichnis pro Benutzer" msgid "" "Disable the import of the module :mod:`site` and the site-dependent " "manipulations of :data:`sys.path` that it entails. Also disable these " -"manipulations if :mod:`site` is explicitly imported later " -"(call :func:`site.main` if you want them to be triggered)." +"manipulations if :mod:`site` is explicitly imported later (call :func:`site." +"main` if you want them to be triggered)." msgstr "" "Schaltet den Import des Moduls :mod:`site` und die damit verbundenen site-" "abhängigen Änderungen an :data:`sys.path` ab. Diese Änderungen bleiben auch " @@ -792,8 +789,8 @@ msgstr "Die Textschicht der Ströme stdout und stderr ist jetzt ungepuffert." #: ../../using/cmdline.rst:437 msgid "" "Print a message each time a module is initialized, showing the place " -"(filename or built-in module) from which it is loaded. When given twice " -"(:option:`!-vv`), print a message for each file that is checked for when " +"(filename or built-in module) from which it is loaded. When given twice (:" +"option:`!-vv`), print a message for each file that is checked for when " "searching for a module. Also provides information on module cleanup at exit." msgstr "" "Gibt bei jeder Initialisierung eines Moduls eine Meldung aus, die den Ort " @@ -934,9 +931,9 @@ msgstr "" #: ../../using/cmdline.rst:502 msgid "" "Multiple :option:`-W` options can be given; when a warning matches more than " -"one option, the action for the last matching option is performed. " -"Invalid :option:`-W` options are ignored (though, a warning message is " -"printed about invalid options when the first warning is issued)." +"one option, the action for the last matching option is performed. Invalid :" +"option:`-W` options are ignored (though, a warning message is printed about " +"invalid options when the first warning is issued)." msgstr "" "Es können mehrere Optionen :option:`-W` angegeben werden. Passt eine Warnung " "auf mehr als eine Option, wird die Aktion der letzten passenden Option " @@ -947,15 +944,14 @@ msgstr "" #: ../../using/cmdline.rst:507 msgid "" "Warnings can also be controlled using the :envvar:`PYTHONWARNINGS` " -"environment variable and from within a Python program using " -"the :mod:`warnings` module. For example, the :func:`warnings.filterwarnings` " -"function can be used to use a regular expression on the warning message." +"environment variable and from within a Python program using the :mod:" +"`warnings` module. For example, the :func:`warnings.filterwarnings` function " +"can be used to use a regular expression on the warning message." msgstr "" -"Warnungen lassen sich auch über die " -"Umgebungsvariable :envvar:`PYTHONWARNINGS` und innerhalb eines Python-" -"Programms über das Modul :mod:`warnings` steuern. Mit der " -"Funktion :func:`warnings.filterwarnings` kannst du zum Beispiel einen " -"regulären Ausdruck auf die Warnmeldung anwenden." +"Warnungen lassen sich auch über die Umgebungsvariable :envvar:" +"`PYTHONWARNINGS` und innerhalb eines Python-Programms über das Modul :mod:" +"`warnings` steuern. Mit der Funktion :func:`warnings.filterwarnings` kannst " +"du zum Beispiel einen regulären Ausdruck auf die Warnmeldung anwenden." #: ../../using/cmdline.rst:512 ../../using/cmdline.rst:1029 msgid "" @@ -987,8 +983,8 @@ msgid "" msgstr "" "Damit lässt sich ein Python-Skript in eine Windows-Batchdatei verwandeln. " "Ähnlich wie beim Hinzufügen einer Shebang-Zeile und dem Setzen des " -"Ausführungsbits unter Unix kannst du die Endung des Python-Skripts in " -"``.bat`` ändern und folgende Zeile am Anfang des Skripts einfügen:" +"Ausführungsbits unter Unix kannst du die Endung des Python-Skripts in ``." +"bat`` ändern und folgende Zeile am Anfang des Skripts einfügen:" #: ../../using/cmdline.rst:529 msgid "@py -x \"%~f0\" %* & exit /b" @@ -1021,11 +1017,11 @@ msgstr "" #: ../../using/cmdline.rst:548 msgid "" -"``-X faulthandler`` to enable :mod:`faulthandler`. See " -"also :envvar:`PYTHONFAULTHANDLER`." +"``-X faulthandler`` to enable :mod:`faulthandler`. See also :envvar:" +"`PYTHONFAULTHANDLER`." msgstr "" -"``-X faulthandler`` schaltet :mod:`faulthandler` ein. Siehe " -"auch :envvar:`PYTHONFAULTHANDLER`." +"``-X faulthandler`` schaltet :mod:`faulthandler` ein. Siehe auch :envvar:" +"`PYTHONFAULTHANDLER`." #: ../../using/cmdline.rst:553 msgid "" @@ -1041,25 +1037,24 @@ msgstr "" #: ../../using/cmdline.rst:560 msgid "" -"``-X tracemalloc`` to start tracing Python memory allocations using " -"the :mod:`tracemalloc` module. By default, only the most recent frame is " -"stored in a traceback of a trace. Use ``-X tracemalloc=NFRAME`` to start " -"tracing with a traceback limit of *NFRAME* frames. " -"See :func:`tracemalloc.start` and :envvar:`PYTHONTRACEMALLOC` for more " -"information." +"``-X tracemalloc`` to start tracing Python memory allocations using the :mod:" +"`tracemalloc` module. By default, only the most recent frame is stored in a " +"traceback of a trace. Use ``-X tracemalloc=NFRAME`` to start tracing with a " +"traceback limit of *NFRAME* frames. See :func:`tracemalloc.start` and :" +"envvar:`PYTHONTRACEMALLOC` for more information." msgstr "" "``-X tracemalloc`` beginnt damit, Python-Speicheranforderungen über das " "Modul :mod:`tracemalloc` mitzuschreiben. Standardmäßig wird im Traceback " "einer Aufzeichnung nur der jüngste Frame gespeichert. Mit ``-X " "tracemalloc=NFRAME`` beginnt das Mitschreiben mit einer Traceback-Grenze von " -"*NFRAME* Frames. Mehr dazu unter :func:`tracemalloc.start` " -"und :envvar:`PYTHONTRACEMALLOC`." +"*NFRAME* Frames. Mehr dazu unter :func:`tracemalloc.start` und :envvar:" +"`PYTHONTRACEMALLOC`." #: ../../using/cmdline.rst:569 msgid "" "``-X int_max_str_digits`` configures the :ref:`integer string conversion " -"length limitation `. See " -"also :envvar:`PYTHONINTMAXSTRDIGITS`." +"length limitation `. See also :envvar:" +"`PYTHONINTMAXSTRDIGITS`." msgstr "" "``-X int_max_str_digits`` stellt die :ref:`Längenbegrenzung bei der " "Umwandlung zwischen Ganzzahl und Zeichenkette ` ein. " @@ -1119,14 +1114,14 @@ msgid "" msgstr "" "``-X utf8`` schaltet den :ref:`Python-UTF-8-Modus ` ein. ``-X " "utf8=0`` schaltet den :ref:`Python-UTF-8-Modus ` ausdrücklich ab " -"(auch wenn er sich sonst automatisch einschalten würde). Siehe " -"auch :envvar:`PYTHONUTF8`." +"(auch wenn er sich sonst automatisch einschalten würde). Siehe auch :envvar:" +"`PYTHONUTF8`." #: ../../using/cmdline.rst:606 msgid "" "``-X pycache_prefix=PATH`` enables writing ``.pyc`` files to a parallel tree " -"rooted at the given directory instead of to the code tree. See " -"also :envvar:`PYTHONPYCACHEPREFIX`." +"rooted at the given directory instead of to the code tree. See also :envvar:" +"`PYTHONPYCACHEPREFIX`." msgstr "" "``-X pycache_prefix=PATH`` schreibt ``.pyc``-Dateien in einen parallelen " "Baum unterhalb des angegebenen Verzeichnisses anstatt in den Codebaum. Siehe " @@ -1135,8 +1130,8 @@ msgstr "" #: ../../using/cmdline.rst:612 msgid "" "``-X warn_default_encoding`` issues a :class:`EncodingWarning` when the " -"locale-specific default encoding is used for opening files. See " -"also :envvar:`PYTHONWARNDEFAULTENCODING`." +"locale-specific default encoding is used for opening files. See also :envvar:" +"`PYTHONWARNDEFAULTENCODING`." msgstr "" "``-X warn_default_encoding`` löst eine :class:`EncodingWarning` aus, wenn " "beim Öffnen von Dateien die vom Gebietsschema abhängige Standardkodierung " @@ -1148,8 +1143,8 @@ msgid "" "location information (end line, start column offset and end column offset) " "to every instruction in code objects. This is useful when smaller code " "objects and pyc files are desired as well as suppressing the extra visual " -"location indicators when the interpreter displays tracebacks. See " -"also :envvar:`PYTHONNODEBUGRANGES`." +"location indicators when the interpreter displays tracebacks. See also :" +"envvar:`PYTHONNODEBUGRANGES`." msgstr "" "``-X no_debug_ranges`` schaltet das Mitführen der Tabellen ab, die jedem " "Befehl in Codeobjekten zusätzliche Ortsangaben zuordnen (Endzeile, " @@ -1166,18 +1161,17 @@ msgid "" "installed Python (the normal case). If it's under development (running from " "the source tree) then the default is ``off``. Note that the :mod:`!" "importlib_bootstrap` and :mod:`!importlib_bootstrap_external` frozen modules " -"are always used, even if this flag is set to ``off``. See " -"also :envvar:`PYTHON_FROZEN_MODULES`." +"are always used, even if this flag is set to ``off``. See also :envvar:" +"`PYTHON_FROZEN_MODULES`." msgstr "" "``-X frozen_modules`` legt fest, ob eingefrorene Module vom " "Importmechanismus ignoriert werden. Der Wert ``on`` bedeutet, dass sie " "importiert werden, ``off``, dass sie ignoriert werden. Standard ist ``on`` " "bei einem installierten Python (der Normalfall). Befindet es sich in " "Entwicklung (Ausführung aus dem Quellbaum), ist der Standard ``off``. " -"Beachte, dass die eingefrorenen Module :mod:`!importlib_bootstrap` " -"und :mod:`!importlib_bootstrap_external` immer verwendet werden, auch wenn " -"dieser Schalter auf ``off`` steht. Siehe " -"auch :envvar:`PYTHON_FROZEN_MODULES`." +"Beachte, dass die eingefrorenen Module :mod:`!importlib_bootstrap` und :mod:" +"`!importlib_bootstrap_external` immer verwendet werden, auch wenn dieser " +"Schalter auf ``off`` steht. Siehe auch :envvar:`PYTHON_FROZEN_MODULES`." #: ../../using/cmdline.rst:638 msgid "" @@ -1199,8 +1193,8 @@ msgid "" "support. When this option is provided, the ``perf`` profiler will be able to " "report Python calls using DWARF information. This option is only available " "on some platforms and will do nothing if is not supported on the current " -"system. The default value is \"off\". See " -"also :envvar:`PYTHON_PERF_JIT_SUPPORT` and :ref:`perf_profiling`." +"system. The default value is \"off\". See also :envvar:" +"`PYTHON_PERF_JIT_SUPPORT` and :ref:`perf_profiling`." msgstr "" "``-X perf_jit`` schaltet die Unterstützung für den Linux-Profiler ``perf`` " "mit DWARF-Unterstützung ein. Ist diese Option angegeben, kann der Profiler " @@ -1224,28 +1218,26 @@ msgstr "" #: ../../using/cmdline.rst:660 msgid "" "This option is only available on some platforms and will do nothing if is " -"not supported on the current system. See " -"also :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` and :pep:`768`." +"not supported on the current system. See also :envvar:" +"`PYTHON_DISABLE_REMOTE_DEBUG` and :pep:`768`." msgstr "" "Diese Option gibt es nur auf einigen Plattformen und sie tut nichts, wenn " -"sie auf dem aktuellen System nicht unterstützt wird. Siehe " -"auch :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` und :pep:`768`." +"sie auf dem aktuellen System nicht unterstützt wird. Siehe auch :envvar:" +"`PYTHON_DISABLE_REMOTE_DEBUG` und :pep:`768`." #: ../../using/cmdline.rst:666 msgid "" -":samp:`-X cpu_count={n}` " -"overrides :func:`os.cpu_count`, :func:`os.process_cpu_count`, " -"and :func:`multiprocessing.cpu_count`. *n* must be greater than or equal to " -"1. This option may be useful for users who need to limit CPU resources of a " -"container system. See also :envvar:`PYTHON_CPU_COUNT`. If *n* is " -"``default``, nothing is overridden." +":samp:`-X cpu_count={n}` overrides :func:`os.cpu_count`, :func:`os." +"process_cpu_count`, and :func:`multiprocessing.cpu_count`. *n* must be " +"greater than or equal to 1. This option may be useful for users who need to " +"limit CPU resources of a container system. See also :envvar:" +"`PYTHON_CPU_COUNT`. If *n* is ``default``, nothing is overridden." msgstr "" -":samp:`-X cpu_count={n}` " -"überschreibt :func:`os.cpu_count`, :func:`os.process_cpu_count` " -"und :func:`multiprocessing.cpu_count`. *n* muss größer oder gleich 1 sein. " -"Diese Option kann nützlich sein, wenn die CPU-Ressourcen eines Container-" -"Systems begrenzt werden müssen. Siehe auch :envvar:`PYTHON_CPU_COUNT`. Ist " -"*n* gleich ``default``, wird nichts überschrieben." +":samp:`-X cpu_count={n}` überschreibt :func:`os.cpu_count`, :func:`os." +"process_cpu_count` und :func:`multiprocessing.cpu_count`. *n* muss größer " +"oder gleich 1 sein. Diese Option kann nützlich sein, wenn die CPU-Ressourcen " +"eines Container-Systems begrenzt werden müssen. Siehe auch :envvar:" +"`PYTHON_CPU_COUNT`. Ist *n* gleich ``default``, wird nichts überschrieben." #: ../../using/cmdline.rst:675 msgid "" @@ -1254,8 +1246,8 @@ msgid "" "executed and before the :mod:`__main__` module exists. Therefore, the " "imported module isn't :mod:`__main__`. This can be used to execute code " "early during Python initialization. Python needs to be :ref:`built in debug " -"mode ` for this option to exist. See " -"also :envvar:`PYTHON_PRESITE`." +"mode ` for this option to exist. See also :envvar:" +"`PYTHON_PRESITE`." msgstr "" ":samp:`-X presite={module}` oder :samp:`-X presite={module:func}` gibt einen " "Einstiegspunkt an, der ausgeführt werden soll, bevor das Modul :mod:`site` " @@ -1277,9 +1269,9 @@ msgid "" "threaded-cpython`." msgstr "" ":samp:`-X gil={0,1}` erzwingt, dass der GIL abgeschaltet beziehungsweise " -"eingeschaltet wird. Der Wert ``0`` ist nur in Builds verfügbar, die " -"mit :option:`--disable-gil` konfiguriert sind. Siehe " -"auch :envvar:`PYTHON_GIL` und :ref:`whatsnew313-free-threaded-cpython`." +"eingeschaltet wird. Der Wert ``0`` ist nur in Builds verfügbar, die mit :" +"option:`--disable-gil` konfiguriert sind. Siehe auch :envvar:`PYTHON_GIL` " +"und :ref:`whatsnew313-free-threaded-cpython`." #: ../../using/cmdline.rst:695 msgid "" @@ -1290,45 +1282,44 @@ msgid "" "and to ``0`` otherwise. See also :envvar:`PYTHON_THREAD_INHERIT_CONTEXT`." msgstr "" ":samp:`-X thread_inherit_context={0,1}` lässt :class:`~threading.Thread` " -"beim Start standardmäßig eine Kopie des Kontexts des Aufrufers von " -"``Thread.start()`` verwenden. Andernfalls starten Threads mit einem leeren " -"Kontext. Ist sie nicht gesetzt, ist der Standardwert dieser Option ``1`` bei " -"Free-Threaded-Builds und sonst ``0``. Siehe " -"auch :envvar:`PYTHON_THREAD_INHERIT_CONTEXT`." +"beim Start standardmäßig eine Kopie des Kontexts des Aufrufers von ``Thread." +"start()`` verwenden. Andernfalls starten Threads mit einem leeren Kontext. " +"Ist sie nicht gesetzt, ist der Standardwert dieser Option ``1`` bei Free-" +"Threaded-Builds und sonst ``0``. Siehe auch :envvar:" +"`PYTHON_THREAD_INHERIT_CONTEXT`." #: ../../using/cmdline.rst:704 msgid "" -":samp:`-X context_aware_warnings={0,1}` causes " -"the :class:`warnings.catch_warnings` context manager to use " -"a :class:`~contextvars.ContextVar` to store warnings filter state. If " -"unset, the value of this option defaults to ``1`` on free-threaded builds " -"and to ``0`` otherwise. See also :envvar:`PYTHON_CONTEXT_AWARE_WARNINGS`." +":samp:`-X context_aware_warnings={0,1}` causes the :class:`warnings." +"catch_warnings` context manager to use a :class:`~contextvars.ContextVar` to " +"store warnings filter state. If unset, the value of this option defaults to " +"``1`` on free-threaded builds and to ``0`` otherwise. See also :envvar:" +"`PYTHON_CONTEXT_AWARE_WARNINGS`." msgstr "" -":samp:`-X context_aware_warnings={0,1}` lässt den " -"Kontextmanager :class:`warnings.catch_warnings` " -"eine :class:`~contextvars.ContextVar` verwenden, um den Zustand des " -"Warnfilters zu speichern. Ist sie nicht gesetzt, ist der Standardwert dieser " -"Option ``1`` bei Free-Threaded-Builds und sonst ``0``. Siehe " -"auch :envvar:`PYTHON_CONTEXT_AWARE_WARNINGS`." +":samp:`-X context_aware_warnings={0,1}` lässt den Kontextmanager :class:" +"`warnings.catch_warnings` eine :class:`~contextvars.ContextVar` verwenden, " +"um den Zustand des Warnfilters zu speichern. Ist sie nicht gesetzt, ist der " +"Standardwert dieser Option ``1`` bei Free-Threaded-Builds und sonst ``0``. " +"Siehe auch :envvar:`PYTHON_CONTEXT_AWARE_WARNINGS`." #: ../../using/cmdline.rst:712 msgid "" ":samp:`-X pathconfig_warnings={0,1}` if true (``1``) then :ref:`sys-path-" "init` is allowed to log warnings into stderr. If false (``0``) suppress " -"these warnings. Set to true by default. See " -"also :envvar:`PYTHON_PATHCONFIG_WARNINGS`." +"these warnings. Set to true by default. See also :envvar:" +"`PYTHON_PATHCONFIG_WARNINGS`." msgstr "" ":samp:`-X pathconfig_warnings={0,1}`: Ist sie wahr (``1``), darf :ref:`sys-" "path-init` Warnungen auf stderr schreiben. Ist sie falsch (``0``), werden " -"diese Warnungen unterdrückt. Standardmäßig ist sie wahr. Siehe " -"auch :envvar:`PYTHON_PATHCONFIG_WARNINGS`." +"diese Warnungen unterdrückt. Standardmäßig ist sie wahr. Siehe auch :envvar:" +"`PYTHON_PATHCONFIG_WARNINGS`." #: ../../using/cmdline.rst:719 msgid "" ":samp:`-X tlbc={0,1}` enables (1, the default) or disables (0) thread-local " "bytecode in builds configured with :option:`--disable-gil`. When disabled, " -"this also disables the specializing interpreter. See " -"also :envvar:`PYTHON_TLBC`." +"this also disables the specializing interpreter. See also :envvar:" +"`PYTHON_TLBC`." msgstr "" ":samp:`-X tlbc={0,1}` schaltet threadlokalen Bytecode in Builds ein (1, der " "Standard) oder ab (0), die mit :option:`--disable-gil` konfiguriert sind. " @@ -1343,13 +1334,13 @@ msgid "" msgstr "" ":samp:`-X lazy_imports={all,normal}` steuert das Verhalten beim verzögerten " "Import. ``all`` macht standardmäßig alle Importe verzögert, ``normal`` (der " -"Standard) beachtet das Schlüsselwort ``lazy`` im Quelltext. Siehe " -"auch :envvar:`PYTHON_LAZY_IMPORTS`." +"Standard) beachtet das Schlüsselwort ``lazy`` im Quelltext. Siehe auch :" +"envvar:`PYTHON_LAZY_IMPORTS`." #: ../../using/cmdline.rst:733 msgid "" -"It also allows passing arbitrary values and retrieving them through " -"the :data:`sys._xoptions` dictionary." +"It also allows passing arbitrary values and retrieving them through the :" +"data:`sys._xoptions` dictionary." msgstr "" "Außerdem lassen sich damit beliebige Werte übergeben und über das " "Wörterbuch :data:`sys._xoptions` abrufen." @@ -1420,9 +1411,9 @@ msgid "" msgstr "" "Alle diese Umgebungsvariablen werden auch von anderen Werkzeugen zur " "Steuerung der Farbausgabe verwendet. Um die Farbausgabe nur im Python-" -"Interpreter zu steuern, lässt sich die " -"Umgebungsvariable :envvar:`PYTHON_COLORS` verwenden. Diese Variable hat " -"Vorrang vor ``NO_COLOR``, das wiederum Vorrang vor ``FORCE_COLOR`` hat." +"Interpreter zu steuern, lässt sich die Umgebungsvariable :envvar:" +"`PYTHON_COLORS` verwenden. Diese Variable hat Vorrang vor ``NO_COLOR``, das " +"wiederum Vorrang vor ``FORCE_COLOR`` hat." #: ../../using/cmdline.rst:779 msgid "Environment variables" @@ -1443,16 +1434,16 @@ msgstr "" #: ../../using/cmdline.rst:788 msgid "" "Change the location of the standard Python libraries. By default, the " -"libraries are searched in :file:`{prefix}/lib/python{version}` " -"and :file:`{exec_prefix}/lib/python{version}`, where :file:`{prefix}` " -"and :file:`{exec_prefix}` are installation-dependent directories, both " -"defaulting to :file:`/usr/local`." +"libraries are searched in :file:`{prefix}/lib/python{version}` and :file:" +"`{exec_prefix}/lib/python{version}`, where :file:`{prefix}` and :file:" +"`{exec_prefix}` are installation-dependent directories, both defaulting to :" +"file:`/usr/local`." msgstr "" "Ändert den Ort der Standard-Python-Bibliotheken. Standardmäßig werden die " -"Bibliotheken in :file:`{prefix}/lib/python{version}` " -"und :file:`{exec_prefix}/lib/python{version}` gesucht, wobei :file:`{prefix}" -"` und :file:`{exec_prefix}` installationsabhängige Verzeichnisse sind, die " -"beide standardmäßig :file:`/usr/local` lauten." +"Bibliotheken in :file:`{prefix}/lib/python{version}` und :file:" +"`{exec_prefix}/lib/python{version}` gesucht, wobei :file:`{prefix}` und :" +"file:`{exec_prefix}` installationsabhängige Verzeichnisse sind, die beide " +"standardmäßig :file:`/usr/local` lauten." #: ../../using/cmdline.rst:794 msgid "" @@ -1462,14 +1453,14 @@ msgid "" msgstr "" "Ist :envvar:`PYTHONHOME` auf ein einzelnes Verzeichnis gesetzt, ersetzt " "dieser Wert sowohl :file:`{prefix}` als auch :file:`{exec_prefix}`. Um dafür " -"unterschiedliche Werte anzugeben, setze :envvar:`PYTHONHOME` " -"auf :file:`{prefix}:{exec_prefix}`." +"unterschiedliche Werte anzugeben, setze :envvar:`PYTHONHOME` auf :file:" +"`{prefix}:{exec_prefix}`." #: ../../using/cmdline.rst:801 msgid "" "Augment the default search path for module files. The format is the same as " -"the shell's :envvar:`PATH`: one or more directory pathnames separated " -"by :data:`os.pathsep` (e.g. colons on Unix or semicolons on Windows). Non-" +"the shell's :envvar:`PATH`: one or more directory pathnames separated by :" +"data:`os.pathsep` (e.g. colons on Unix or semicolons on Windows). Non-" "existent directories are silently ignored." msgstr "" "Erweitert den Standardsuchpfad für Moduldateien. Das Format entspricht dem " @@ -1483,10 +1474,10 @@ msgid "" "may refer to zipfiles containing pure Python modules (in either source or " "compiled form). Extension modules cannot be imported from zipfiles." msgstr "" -"Neben gewöhnlichen Verzeichnissen dürfen einzelne Einträge " -"in :envvar:`PYTHONPATH` auch auf ZIP-Dateien verweisen, die reine Python-" -"Module enthalten (im Quelltext oder kompiliert). Erweiterungsmodule lassen " -"sich nicht aus ZIP-Dateien importieren." +"Neben gewöhnlichen Verzeichnissen dürfen einzelne Einträge in :envvar:" +"`PYTHONPATH` auch auf ZIP-Dateien verweisen, die reine Python-Module " +"enthalten (im Quelltext oder kompiliert). Erweiterungsmodule lassen sich " +"nicht aus ZIP-Dateien importieren." #: ../../using/cmdline.rst:810 msgid "" @@ -1500,15 +1491,15 @@ msgstr "" #: ../../using/cmdline.rst:814 msgid "" -"An additional directory will be inserted in the search path in front " -"of :envvar:`PYTHONPATH` as described above under :ref:`using-on-interface-" +"An additional directory will be inserted in the search path in front of :" +"envvar:`PYTHONPATH` as described above under :ref:`using-on-interface-" "options`. The search path can be manipulated from within a Python program as " "the variable :data:`sys.path`." msgstr "" "Ein zusätzliches Verzeichnis wird, wie oben unter :ref:`using-on-interface-" "options` beschrieben, im Suchpfad vor :envvar:`PYTHONPATH` eingefügt. Der " -"Suchpfad lässt sich innerhalb eines Python-Programms über die " -"Variable :data:`sys.path` verändern." +"Suchpfad lässt sich innerhalb eines Python-Programms über die Variable :data:" +"`sys.path` verändern." #: ../../using/cmdline.rst:822 msgid "" @@ -1521,8 +1512,8 @@ msgstr "" #: ../../using/cmdline.rst:830 msgid "" -"If this is set to a non-empty string, it overrides " -"the :data:`sys.platlibdir` value." +"If this is set to a non-empty string, it overrides the :data:`sys." +"platlibdir` value." msgstr "" "Ist sie auf eine nicht leere Zeichenkette gesetzt, überschreibt sie den Wert " "von :data:`sys.platlibdir`." @@ -1543,8 +1534,8 @@ msgstr "" "interaktiven Befehle ausgeführt werden, sodass darin definierte oder " "importierte Objekte in der interaktiven Sitzung ohne Qualifizierung " "verwendet werden können. Du kannst in dieser Datei auch die " -"Eingabeaufforderungen :data:`sys.ps1` und :data:`sys.ps2` sowie den " -"Hook :data:`sys.__interactivehook__` ändern." +"Eingabeaufforderungen :data:`sys.ps1` und :data:`sys.ps2` sowie den Hook :" +"data:`sys.__interactivehook__` ändern." #: ../../using/cmdline.rst:845 ../../using/cmdline.rst:847 msgid "" @@ -1556,9 +1547,9 @@ msgstr "" #: ../../using/cmdline.rst:853 msgid "" -"If this is set to a non-empty string it is equivalent to specifying " -"the :option:`-O` option. If set to an integer, it is equivalent to " -"specifying :option:`-O` multiple times." +"If this is set to a non-empty string it is equivalent to specifying the :" +"option:`-O` option. If set to an integer, it is equivalent to specifying :" +"option:`-O` multiple times." msgstr "" "Ist sie auf eine nicht leere Zeichenkette gesetzt, entspricht das der Angabe " "der Option :option:`-O`. Ist sie auf eine Ganzzahl gesetzt, entspricht das " @@ -1571,8 +1562,8 @@ msgid "" "by the default implementation of :func:`sys.breakpointhook` which itself is " "called by built-in :func:`breakpoint`. If not set, or set to the empty " "string, it is equivalent to the value \"pdb.set_trace\". Setting this to " -"the string \"0\" causes the default implementation " -"of :func:`sys.breakpointhook` to do nothing but return immediately." +"the string \"0\" causes the default implementation of :func:`sys." +"breakpointhook` to do nothing but return immediately." msgstr "" "Ist sie gesetzt, benennt sie ein aufrufbares Objekt in Punktschreibweise. " "Das Modul, das dieses Objekt enthält, wird importiert, und anschließend wird " @@ -1585,9 +1576,9 @@ msgstr "" #: ../../using/cmdline.rst:872 msgid "" -"If this is set to a non-empty string it is equivalent to specifying " -"the :option:`-d` option. If set to an integer, it is equivalent to " -"specifying :option:`-d` multiple times." +"If this is set to a non-empty string it is equivalent to specifying the :" +"option:`-d` option. If set to an integer, it is equivalent to specifying :" +"option:`-d` multiple times." msgstr "" "Ist sie auf eine nicht leere Zeichenkette gesetzt, entspricht das der Angabe " "der Option :option:`-d`. Ist sie auf eine Ganzzahl gesetzt, entspricht das " @@ -1603,8 +1594,8 @@ msgstr "" #: ../../using/cmdline.rst:882 msgid "" -"If this is set to a non-empty string it is equivalent to specifying " -"the :option:`-i` option." +"If this is set to a non-empty string it is equivalent to specifying the :" +"option:`-i` option." msgstr "" "Ist sie auf eine nicht leere Zeichenkette gesetzt, entspricht das der Angabe " "der Option :option:`-i`." @@ -1627,22 +1618,22 @@ msgid "" "Uses PyREPL if possible, in which case :envvar:`PYTHONSTARTUP` is also " "executed. Emits audit events." msgstr "" -"Verwendet, wenn möglich, PyREPL. In diesem Fall wird " -"auch :envvar:`PYTHONSTARTUP` ausgeführt. Löst Auditing-Ereignisse aus." +"Verwendet, wenn möglich, PyREPL. In diesem Fall wird auch :envvar:" +"`PYTHONSTARTUP` ausgeführt. Löst Auditing-Ereignisse aus." #: ../../using/cmdline.rst:900 msgid "" -"If this is set to a non-empty string it is equivalent to specifying " -"the :option:`-u` option." +"If this is set to a non-empty string it is equivalent to specifying the :" +"option:`-u` option." msgstr "" "Ist sie auf eine nicht leere Zeichenkette gesetzt, entspricht das der Angabe " "der Option :option:`-u`." #: ../../using/cmdline.rst:906 msgid "" -"If this is set to a non-empty string it is equivalent to specifying " -"the :option:`-v` option. If set to an integer, it is equivalent to " -"specifying :option:`-v` multiple times." +"If this is set to a non-empty string it is equivalent to specifying the :" +"option:`-v` option. If set to an integer, it is equivalent to specifying :" +"option:`-v` multiple times." msgstr "" "Ist sie auf eine nicht leere Zeichenkette gesetzt, entspricht das der Angabe " "der Option :option:`-v`. Ist sie auf eine Ganzzahl gesetzt, entspricht das " @@ -1721,9 +1712,9 @@ msgid "" "interpreter's global :ref:`integer string conversion length limitation " "`." msgstr "" -"Ist diese Variable auf eine Ganzzahl gesetzt, stellt sie die " -"globale :ref:`Längenbegrenzung bei der Umwandlung zwischen Ganzzahl und " -"Zeichenkette ` des Interpreters ein." +"Ist diese Variable auf eine Ganzzahl gesetzt, stellt sie die globale :ref:" +"`Längenbegrenzung bei der Umwandlung zwischen Ganzzahl und Zeichenkette " +"` des Interpreters ein." #: ../../using/cmdline.rst:962 msgid "" @@ -1733,10 +1724,10 @@ msgid "" "have the same meaning as in :func:`str.encode`." msgstr "" "Ist sie vor dem Start des Interpreters gesetzt, überschreibt sie die für " -"stdin/stdout/stderr verwendete Kodierung, in der Form " -"``encodingname:errorhandler``. Sowohl der Teil ``encodingname`` als auch der " -"Teil ``:errorhandler`` ist optional und hat dieselbe Bedeutung wie " -"in :func:`str.encode`." +"stdin/stdout/stderr verwendete Kodierung, in der Form ``encodingname:" +"errorhandler``. Sowohl der Teil ``encodingname`` als auch der Teil ``:" +"errorhandler`` ist optional und hat dieselbe Bedeutung wie in :func:`str." +"encode`." #: ../../using/cmdline.rst:967 msgid "" @@ -1758,39 +1749,39 @@ msgid "" "not affected." msgstr "" "Unter Windows wird die von dieser Variable angegebene Kodierung bei " -"interaktiven Konsolenpuffern ignoriert, sofern nicht " -"zusätzlich :envvar:`PYTHONLEGACYWINDOWSSTDIO` angegeben ist. Dateien und " -"Pipes, die über die Standardströme umgeleitet werden, sind nicht betroffen." +"interaktiven Konsolenpuffern ignoriert, sofern nicht zusätzlich :envvar:" +"`PYTHONLEGACYWINDOWSSTDIO` angegeben ist. Dateien und Pipes, die über die " +"Standardströme umgeleitet werden, sind nicht betroffen." #: ../../using/cmdline.rst:980 msgid "" "This is equivalent to the :option:`-s` option. If this is set, Python won't " -"add the :data:`user site-packages directory ` " -"to :data:`sys.path`." +"add the :data:`user site-packages directory ` to :data:`sys." +"path`." msgstr "" -"Das entspricht der Option :option:`-s`. Ist sie gesetzt, fügt Python " -"das :data:`site-packages-Verzeichnis des Benutzers ` nicht " -"zu :data:`sys.path` hinzu." +"Das entspricht der Option :option:`-s`. Ist sie gesetzt, fügt Python das :" +"data:`site-packages-Verzeichnis des Benutzers ` nicht zu :" +"data:`sys.path` hinzu." #: ../../using/cmdline.rst:991 msgid "" "Defines the :data:`user base directory `, which is used to " -"compute the path of the :data:`user site-packages directory " -"` and :ref:`installation paths ` for " +"compute the path of the :data:`user site-packages directory ` and :ref:`installation paths ` for " "``python -m pip install --user``." msgstr "" "Legt das :data:`Basisverzeichnis des Benutzers ` fest, aus " -"dem der Pfad des :data:`site-packages-Verzeichnisses des Benutzers " -"` und die :ref:`Installationspfade ` " -"für ``python -m pip install --user`` berechnet werden." +"dem der Pfad des :data:`site-packages-Verzeichnisses des Benutzers ` und die :ref:`Installationspfade ` für " +"``python -m pip install --user`` berechnet werden." #: ../../using/cmdline.rst:996 msgid "" -"To disable the user site-packages, see :envvar:`PYTHONNOUSERSITE` or " -"the :option:`-s` option." +"To disable the user site-packages, see :envvar:`PYTHONNOUSERSITE` or the :" +"option:`-s` option." msgstr "" -"Wie du die site-packages des Benutzers abschaltest, steht " -"unter :envvar:`PYTHONNOUSERSITE` oder bei der Option :option:`-s`." +"Wie du die site-packages des Benutzers abschaltest, steht unter :envvar:" +"`PYTHONNOUSERSITE` oder bei der Option :option:`-s`." #: ../../using/cmdline.rst:1006 msgid "" @@ -1808,9 +1799,9 @@ msgid "" "filters later in the list taking precedence over those earlier in the list." msgstr "" "Das entspricht der Option :option:`-W`. Ist sie auf eine durch Kommas " -"getrennte Zeichenkette gesetzt, entspricht das der mehrfachen Angabe " -"von :option:`-W`, wobei Filter, die weiter hinten in der Liste stehen, " -"Vorrang vor früheren haben." +"getrennte Zeichenkette gesetzt, entspricht das der mehrfachen Angabe von :" +"option:`-W`, wobei Filter, die weiter hinten in der Liste stehen, Vorrang " +"vor früheren haben." #: ../../using/cmdline.rst:1021 msgid "" @@ -1832,18 +1823,18 @@ msgstr "" #: ../../using/cmdline.rst:1038 msgid "" -"If this environment variable is set to a non-empty " -"string, :func:`faulthandler.enable` is called at startup: install a handler " -"for :const:`~signal.SIGSEGV`, :const:`~signal.SIGFPE`, :const:`~signal.SIGABRT`, :const:`~signal.SIGBUS` " -"and :const:`~signal.SIGILL` signals to dump the Python traceback. This is " -"equivalent to :option:`-X` ``faulthandler`` option." +"If this environment variable is set to a non-empty string, :func:" +"`faulthandler.enable` is called at startup: install a handler for :const:" +"`~signal.SIGSEGV`, :const:`~signal.SIGFPE`, :const:`~signal.SIGABRT`, :const:" +"`~signal.SIGBUS` and :const:`~signal.SIGILL` signals to dump the Python " +"traceback. This is equivalent to :option:`-X` ``faulthandler`` option." msgstr "" "Ist diese Umgebungsvariable auf eine nicht leere Zeichenkette gesetzt, wird " "beim Start :func:`faulthandler.enable` aufgerufen: Es wird ein Handler für " -"die " -"Signale :const:`~signal.SIGSEGV`, :const:`~signal.SIGFPE`, :const:`~signal.SIGABRT`, :const:`~signal.SIGBUS` " -"und :const:`~signal.SIGILL` eingerichtet, der den Python-Traceback ausgibt. " -"Das entspricht der Option :option:`-X` ``faulthandler``." +"die Signale :const:`~signal.SIGSEGV`, :const:`~signal.SIGFPE`, :const:" +"`~signal.SIGABRT`, :const:`~signal.SIGBUS` und :const:`~signal.SIGILL` " +"eingerichtet, der den Python-Traceback ausgibt. Das entspricht der Option :" +"option:`-X` ``faulthandler``." #: ../../using/cmdline.rst:1050 msgid "" @@ -1858,16 +1849,16 @@ msgstr "" "werden Python-Speicheranforderungen über das Modul :mod:`tracemalloc` " "mitgeschrieben. Der Wert der Variable ist die größte Anzahl an Frames, die " "im Traceback einer Aufzeichnung gespeichert werden. ``PYTHONTRACEMALLOC=1`` " -"speichert zum Beispiel nur den jüngsten Frame. Mehr dazu bei der " -"Funktion :func:`tracemalloc.start`. Das entspricht dem Setzen der " -"Option :option:`-X` ``tracemalloc``." +"speichert zum Beispiel nur den jüngsten Frame. Mehr dazu bei der Funktion :" +"func:`tracemalloc.start`. Das entspricht dem Setzen der Option :option:`-X` " +"``tracemalloc``." #: ../../using/cmdline.rst:1063 msgid "" "If this environment variable is set to ``1``, Python will show how long each " "import takes. If set to ``2``, Python will include output for imported " -"modules that have already been loaded. This is equivalent to setting " -"the :option:`-X` ``importtime`` option." +"modules that have already been loaded. This is equivalent to setting the :" +"option:`-X` ``importtime`` option." msgstr "" "Ist diese Umgebungsvariable auf ``1`` gesetzt, zeigt Python, wie lange jeder " "Import dauert. Auf ``2`` gesetzt, gibt Python auch importierte Module aus, " @@ -1883,8 +1874,8 @@ msgstr "" #: ../../using/cmdline.rst:1077 msgid "" -"If this environment variable is set to a non-empty string, enable " -"the :ref:`debug mode ` of the :mod:`asyncio` module." +"If this environment variable is set to a non-empty string, enable the :ref:" +"`debug mode ` of the :mod:`asyncio` module." msgstr "" "Ist diese Umgebungsvariable auf eine nicht leere Zeichenkette gesetzt, wird " "der :ref:`Debug-Modus ` des Moduls :mod:`asyncio` " @@ -1910,18 +1901,18 @@ msgstr "" #: ../../using/cmdline.rst:1091 msgid "" "``malloc``: use the :c:func:`malloc` function of the C library for all " -"domains " -"(:c:macro:`PYMEM_DOMAIN_RAW`, :c:macro:`PYMEM_DOMAIN_MEM`, :c:macro:`PYMEM_DOMAIN_OBJ`)." +"domains (:c:macro:`PYMEM_DOMAIN_RAW`, :c:macro:`PYMEM_DOMAIN_MEM`, :c:macro:" +"`PYMEM_DOMAIN_OBJ`)." msgstr "" "``malloc``: verwendet die Funktion :c:func:`malloc` der C-Bibliothek für " -"alle Bereiche " -"(:c:macro:`PYMEM_DOMAIN_RAW`, :c:macro:`PYMEM_DOMAIN_MEM`, :c:macro:`PYMEM_DOMAIN_OBJ`)." +"alle Bereiche (:c:macro:`PYMEM_DOMAIN_RAW`, :c:macro:`PYMEM_DOMAIN_MEM`, :c:" +"macro:`PYMEM_DOMAIN_OBJ`)." #: ../../using/cmdline.rst:1094 msgid "" -"``pymalloc``: use the :ref:`pymalloc allocator ` " -"for :c:macro:`PYMEM_DOMAIN_MEM` and :c:macro:`PYMEM_DOMAIN_OBJ` domains and " -"use the :c:func:`malloc` function for the :c:macro:`PYMEM_DOMAIN_RAW` domain." +"``pymalloc``: use the :ref:`pymalloc allocator ` for :c:macro:" +"`PYMEM_DOMAIN_MEM` and :c:macro:`PYMEM_DOMAIN_OBJ` domains and use the :c:" +"func:`malloc` function for the :c:macro:`PYMEM_DOMAIN_RAW` domain." msgstr "" "``pymalloc``: verwendet den :ref:`pymalloc-Verwalter ` für die " "Bereiche :c:macro:`PYMEM_DOMAIN_MEM` und :c:macro:`PYMEM_DOMAIN_OBJ` und die " @@ -1929,9 +1920,9 @@ msgstr "" #: ../../using/cmdline.rst:1097 msgid "" -"``mimalloc``: use the :ref:`mimalloc allocator ` " -"for :c:macro:`PYMEM_DOMAIN_MEM` and :c:macro:`PYMEM_DOMAIN_OBJ` domains and " -"use the :c:func:`malloc` function for the :c:macro:`PYMEM_DOMAIN_RAW` domain." +"``mimalloc``: use the :ref:`mimalloc allocator ` for :c:macro:" +"`PYMEM_DOMAIN_MEM` and :c:macro:`PYMEM_DOMAIN_OBJ` domains and use the :c:" +"func:`malloc` function for the :c:macro:`PYMEM_DOMAIN_RAW` domain." msgstr "" "``mimalloc``: verwendet den :ref:`mimalloc-Verwalter ` für die " "Bereiche :c:macro:`PYMEM_DOMAIN_MEM` und :c:macro:`PYMEM_DOMAIN_OBJ` und die " @@ -1984,16 +1975,16 @@ msgstr "Der Verwalter ``\"default\"`` wurde hinzugefügt." #: ../../using/cmdline.rst:1124 msgid "" -"If set to a non-empty string, Python will print statistics of " -"the :ref:`pymalloc memory allocator ` or the :ref:`mimalloc memory " +"If set to a non-empty string, Python will print statistics of the :ref:" +"`pymalloc memory allocator ` or the :ref:`mimalloc memory " "allocator ` (whichever is in use) every time a new object arena is " "created, and on shutdown." msgstr "" "Ist sie auf eine nicht leere Zeichenkette gesetzt, gibt Python jedes Mal, " -"wenn eine neue Objekt-Arena erzeugt wird, und beim Beenden Statistiken " -"des :ref:`pymalloc-Speicherverwalters ` beziehungsweise " -"des :ref:`mimalloc-Speicherverwalters ` aus (je nachdem, welcher " -"in Verwendung ist)." +"wenn eine neue Objekt-Arena erzeugt wird, und beim Beenden Statistiken des :" +"ref:`pymalloc-Speicherverwalters ` beziehungsweise des :ref:" +"`mimalloc-Speicherverwalters ` aus (je nachdem, welcher in " +"Verwendung ist)." #: ../../using/cmdline.rst:1129 msgid "" @@ -2001,10 +1992,10 @@ msgid "" "is used to force the :c:func:`malloc` allocator of the C library, or if " "Python is configured without both ``pymalloc`` and ``mimalloc`` support." msgstr "" -"Diese Variable wird ignoriert, wenn über die " -"Umgebungsvariable :envvar:`PYTHONMALLOC` der Verwalter :c:func:`malloc` der " -"C-Bibliothek erzwungen wird oder wenn Python ohne Unterstützung für " -"``pymalloc`` und ``mimalloc`` konfiguriert ist." +"Diese Variable wird ignoriert, wenn über die Umgebungsvariable :envvar:" +"`PYTHONMALLOC` der Verwalter :c:func:`malloc` der C-Bibliothek erzwungen " +"wird oder wenn Python ohne Unterstützung für ``pymalloc`` und ``mimalloc`` " +"konfiguriert ist." #: ../../using/cmdline.rst:1133 msgid "" @@ -2024,9 +2015,9 @@ msgid "" msgstr "" "Ist sie auf eine Ganzzahl ungleich null gesetzt, wird die Unterstützung für " "Huge Pages bei :ref:`pymalloc `-Arenen eingeschaltet. Auf ``0`` " -"gesetzt oder nicht gesetzt, schaltet sie diese ab. Python muss " -"mit :option:`--with-pymalloc-hugepages` kompiliert sein, damit diese " -"Variable überhaupt wirkt." +"gesetzt oder nicht gesetzt, schaltet sie diese ab. Python muss mit :option:" +"`--with-pymalloc-hugepages` kompiliert sein, damit diese Variable überhaupt " +"wirkt." #: ../../using/cmdline.rst:1145 msgid "" @@ -2083,11 +2074,11 @@ msgstr "" #: ../../using/cmdline.rst:1174 msgid "" -"This may also be enabled at runtime " -"with :func:`sys._enablelegacywindowsfsencoding`." +"This may also be enabled at runtime with :func:`sys." +"_enablelegacywindowsfsencoding`." msgstr "" -"Das lässt sich zur Laufzeit auch " -"mit :func:`sys._enablelegacywindowsfsencoding` einschalten." +"Das lässt sich zur Laufzeit auch mit :func:`sys." +"_enablelegacywindowsfsencoding` einschalten." #: ../../using/cmdline.rst:1177 ../../using/cmdline.rst:1191 #: ../../using/cmdline.rst:1242 @@ -2183,20 +2174,19 @@ msgstr "" #: ../../using/cmdline.rst:1224 msgid "" "Configuring one of these locales (either explicitly or via the above " -"implicit locale coercion) automatically enables the " -"``surrogateescape`` :ref:`error handler ` " -"for :data:`sys.stdin` and :data:`sys.stdout` (:data:`sys.stderr` continues " -"to use ``backslashreplace`` as it does in any other locale). This stream " -"handling behavior can be overridden using :envvar:`PYTHONIOENCODING` as " -"usual." +"implicit locale coercion) automatically enables the ``surrogateescape`` :ref:" +"`error handler ` for :data:`sys.stdin` and :data:`sys." +"stdout` (:data:`sys.stderr` continues to use ``backslashreplace`` as it does " +"in any other locale). This stream handling behavior can be overridden using :" +"envvar:`PYTHONIOENCODING` as usual." msgstr "" "Das Einstellen eines dieser Gebietsschemata (ausdrücklich oder über das oben " -"beschriebene stillschweigende Umlenken) schaltet automatisch " -"die :ref:`Fehlerbehandlung ` ``surrogateescape`` " -"für :data:`sys.stdin` und :data:`sys.stdout` ein (:data:`sys.stderr` " -"verwendet weiterhin ``backslashreplace`` wie in jedem anderen " -"Gebietsschema). Dieses Verhalten der Ströme lässt sich wie üblich " -"über :envvar:`PYTHONIOENCODING` überschreiben." +"beschriebene stillschweigende Umlenken) schaltet automatisch die :ref:" +"`Fehlerbehandlung ` ``surrogateescape`` für :data:`sys." +"stdin` und :data:`sys.stdout` ein (:data:`sys.stderr` verwendet weiterhin " +"``backslashreplace`` wie in jedem anderen Gebietsschema). Dieses Verhalten " +"der Ströme lässt sich wie üblich über :envvar:`PYTHONIOENCODING` " +"überschreiben." #: ../../using/cmdline.rst:1231 msgid "" @@ -2230,10 +2220,10 @@ msgstr "Mehr dazu unter :pep:`538`." #: ../../using/cmdline.rst:1250 msgid "" -"If this environment variable is set to a non-empty string, " -"enable :ref:`Python Development Mode `, introducing additional " -"runtime checks that are too expensive to be enabled by default. This is " -"equivalent to setting the :option:`-X` ``dev`` option." +"If this environment variable is set to a non-empty string, enable :ref:" +"`Python Development Mode `, introducing additional runtime checks " +"that are too expensive to be enabled by default. This is equivalent to " +"setting the :option:`-X` ``dev`` option." msgstr "" "Ist diese Umgebungsvariable auf eine nicht leere Zeichenkette gesetzt, wird " "der :ref:`Python-Entwicklungsmodus ` eingeschaltet, der zusätzliche " @@ -2262,8 +2252,8 @@ msgstr "" #: ../../using/cmdline.rst:1270 msgid "" -"If this environment variable is set to a non-empty string, issue " -"a :class:`EncodingWarning` when the locale-specific default encoding is used." +"If this environment variable is set to a non-empty string, issue a :class:" +"`EncodingWarning` when the locale-specific default encoding is used." msgstr "" "Ist diese Umgebungsvariable auf eine nicht leere Zeichenkette gesetzt, wird " "eine :class:`EncodingWarning` ausgelöst, wenn die vom Gebietsschema " @@ -2305,11 +2295,11 @@ msgstr "" #: ../../using/cmdline.rst:1294 msgid "" -"See also the :option:`-X perf <-X>` command-line option " -"and :ref:`perf_profiling`." +"See also the :option:`-X perf <-X>` command-line option and :ref:" +"`perf_profiling`." msgstr "" -"Siehe auch die Befehlszeilenoption :option:`-X perf <-X>` " -"und :ref:`perf_profiling`." +"Siehe auch die Befehlszeilenoption :option:`-X perf <-X>` und :ref:" +"`perf_profiling`." #: ../../using/cmdline.rst:1301 msgid "" @@ -2323,11 +2313,11 @@ msgstr "" #: ../../using/cmdline.rst:1307 msgid "" -"See also the :option:`-X perf_jit <-X>` command-line option " -"and :ref:`perf_profiling`." +"See also the :option:`-X perf_jit <-X>` command-line option and :ref:" +"`perf_profiling`." msgstr "" -"Siehe auch die Befehlszeilenoption :option:`-X perf_jit <-X>` " -"und :ref:`perf_profiling`." +"Siehe auch die Befehlszeilenoption :option:`-X perf_jit <-X>` und :ref:" +"`perf_profiling`." #: ../../using/cmdline.rst:1314 msgid "" @@ -2383,8 +2373,8 @@ msgstr "Siehe auch die Befehlszeilenoption :option:`-X frozen_modules <-X>`." #: ../../using/cmdline.rst:1348 msgid "" "If this variable is set to ``1``, the interpreter will colorize various " -"kinds of output. Setting it to ``0`` deactivates this behavior. See " -"also :ref:`using-on-controlling-color`." +"kinds of output. Setting it to ``0`` deactivates this behavior. See also :" +"ref:`using-on-controlling-color`." msgstr "" "Ist diese Variable auf ``1`` gesetzt, färbt der Interpreter verschiedene " "Arten von Ausgaben ein. Auf ``0`` gesetzt, schaltet sie dieses Verhalten ab. " @@ -2397,8 +2387,8 @@ msgid "" "instead use the traditional parser-based :term:`REPL`." msgstr "" "Ist diese Variable auf einen beliebigen Wert gesetzt, versucht der " -"Interpreter nicht, die Python-basierte :term:`REPL` zu laden, " -"die :mod:`readline` benötigt, und verwendet stattdessen die herkömmliche " +"Interpreter nicht, die Python-basierte :term:`REPL` zu laden, die :mod:" +"`readline` benötigt, und verwendet stattdessen die herkömmliche " "parserbasierte :term:`REPL`." #: ../../using/cmdline.rst:1364 @@ -2412,12 +2402,12 @@ msgstr "" #: ../../using/cmdline.rst:1371 msgid "" -"This environment variable can be used to set the location of a " -"``.python_history`` file (by default, it is ``.python_history`` in the " -"user's home directory)." +"This environment variable can be used to set the location of a ``." +"python_history`` file (by default, it is ``.python_history`` in the user's " +"home directory)." msgstr "" -"Mit dieser Umgebungsvariable lässt sich der Ort einer Datei " -"``.python_history`` festlegen (standardmäßig ist es ``.python_history`` im " +"Mit dieser Umgebungsvariable lässt sich der Ort einer Datei ``." +"python_history`` festlegen (standardmäßig ist es ``.python_history`` im " "Benutzerverzeichnis)." #: ../../using/cmdline.rst:1379 @@ -2448,10 +2438,10 @@ msgid "" "otherwise. See also :option:`-X thread_inherit_context<-X>`." msgstr "" "Ist diese Variable auf ``1`` gesetzt, verwendet :class:`~threading.Thread` " -"beim Start standardmäßig eine Kopie des Kontexts des Aufrufers von " -"``Thread.start()``. Andernfalls starten neue Threads mit einem leeren " -"Kontext. Ist sie nicht gesetzt, ist der Standardwert dieser Variable ``1`` " -"bei Free-Threaded-Builds und sonst ``0``. Siehe auch :option:`-X " +"beim Start standardmäßig eine Kopie des Kontexts des Aufrufers von ``Thread." +"start()``. Andernfalls starten neue Threads mit einem leeren Kontext. Ist " +"sie nicht gesetzt, ist der Standardwert dieser Variable ``1`` bei Free-" +"Threaded-Builds und sonst ``0``. Siehe auch :option:`-X " "thread_inherit_context<-X>`." #: ../../using/cmdline.rst:1400 @@ -2461,11 +2451,10 @@ msgid "" "If unset, this variable defaults to ``1`` on free-threaded builds and to " "``0`` otherwise. See :option:`-X context_aware_warnings<-X>`." msgstr "" -"Auf ``1`` gesetzt, verwendet der " -"Kontextmanager :class:`warnings.catch_warnings` " -"eine :class:`~contextvars.ContextVar`, um den Zustand des Warnfilters zu " -"speichern. Ist sie nicht gesetzt, ist der Standardwert dieser Variable ``1`` " -"bei Free-Threaded-Builds und sonst ``0``. Siehe :option:`-X " +"Auf ``1`` gesetzt, verwendet der Kontextmanager :class:`warnings." +"catch_warnings` eine :class:`~contextvars.ContextVar`, um den Zustand des " +"Warnfilters zu speichern. Ist sie nicht gesetzt, ist der Standardwert dieser " +"Variable ``1`` bei Free-Threaded-Builds und sonst ``0``. Siehe :option:`-X " "context_aware_warnings<-X>`." #: ../../using/cmdline.rst:1410 diff --git a/using/configure.po b/using/configure.po index 2d022d10..dbaa44a2 100644 --- a/using/configure.po +++ b/using/configure.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-14 20:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2026-10-10 19:30+0200\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://github.com/python/python-docs-de)\n" @@ -49,8 +49,8 @@ msgstr "Unter Windows wird Microsoft Visual Studio 2017 oder neuer benötigt." #: ../../using/configure.rst:22 msgid "" "Support for `IEEE 754 `_ floating-" -"point numbers and `floating-point Not-a-Number (NaN) `_." +"point numbers and `floating-point Not-a-Number (NaN) `_." msgstr "" "Unterstützung für Gleitkommazahlen nach `IEEE 754 `_ sowie für `Not-a-Number (NaN) bei Gleitkommazahlen `_" msgstr "`OpenSSL `_" #: ../../using/configure.rst:97 -msgid "3.0.18 recommended" -msgstr "3.0.18 empfohlen" +msgid "[6]_" +msgstr "" #: ../../using/configure.rst:98 -msgid "(1.1.1 minimum)" -msgstr "(1.1.1 mindestens)" - -#: ../../using/configure.rst:99 msgid ":mod:`ssl`, :mod:`hashlib` [5]_" msgstr ":mod:`ssl`, :mod:`hashlib` [5]_" -#: ../../using/configure.rst:100 +#: ../../using/configure.rst:99 msgid "`SQLite `_" msgstr "`SQLite `_" -#: ../../using/configure.rst:101 +#: ../../using/configure.rst:100 msgid "3.15.2" msgstr "3.15.2" -#: ../../using/configure.rst:102 +#: ../../using/configure.rst:101 msgid ":mod:`sqlite3`" msgstr ":mod:`sqlite3`" -#: ../../using/configure.rst:103 +#: ../../using/configure.rst:102 msgid "`Tcl/Tk `_" msgstr "`Tcl/Tk `_" -#: ../../using/configure.rst:104 +#: ../../using/configure.rst:103 msgid "8.5.12" msgstr "8.5.12" -#: ../../using/configure.rst:105 +#: ../../using/configure.rst:104 msgid ":mod:`tkinter`, :ref:`IDLE `, :mod:`turtle`" msgstr ":mod:`tkinter`, :ref:`IDLE `, :mod:`turtle`" -#: ../../using/configure.rst:106 +#: ../../using/configure.rst:105 msgid "`zlib `_" msgstr "`zlib `_" -#: ../../using/configure.rst:107 +#: ../../using/configure.rst:106 msgid "1.2.2.1" msgstr "1.2.2.1" -#: ../../using/configure.rst:108 +#: ../../using/configure.rst:107 msgid ":mod:`zlib`, :mod:`gzip`, :mod:`ensurepip`" msgstr ":mod:`zlib`, :mod:`gzip`, :mod:`ensurepip`" -#: ../../using/configure.rst:109 +#: ../../using/configure.rst:108 msgid "`zstd `_" msgstr "`zstd `_" -#: ../../using/configure.rst:110 +#: ../../using/configure.rst:109 msgid "1.4.5" msgstr "1.4.5" -#: ../../using/configure.rst:111 +#: ../../using/configure.rst:110 msgid ":mod:`compression.zstd`" msgstr ":mod:`compression.zstd`" -#: ../../using/configure.rst:113 +#: ../../using/configure.rst:112 msgid "" "If *libmpdec* is not available, the :mod:`decimal` module will use a pure-" "Python implementation. See :option:`--with-system-libmpdec` for details." @@ -285,15 +281,15 @@ msgstr "" "Umsetzung in reinem Python. Einzelheiten unter :option:`--with-system-" "libmpdec`." -#: ../../using/configure.rst:116 +#: ../../using/configure.rst:115 msgid "" -"See :option:`--with-readline` for choosing the backend for " -"the :mod:`readline` module." +"See :option:`--with-readline` for choosing the backend for the :mod:" +"`readline` module." msgstr "" -"Unter :option:`--with-readline` steht, wie du das Backend für das " -"Modul :mod:`readline` auswählst." +"Unter :option:`--with-readline` steht, wie du das Backend für das Modul :mod:" +"`readline` auswählst." -#: ../../using/configure.rst:118 +#: ../../using/configure.rst:117 msgid "" "The :mod:`uuid` module uses ``_uuid`` to generate \"safe\" UUIDs. See the " "module documentation for details." @@ -301,7 +297,7 @@ msgstr "" "Das Modul :mod:`uuid` verwendet ``_uuid``, um „sichere“ UUIDs zu erzeugen. " "Einzelheiten stehen in der Dokumentation des Moduls." -#: ../../using/configure.rst:120 +#: ../../using/configure.rst:119 msgid "" "The :mod:`curses` module requires the ``libncurses`` or ``libncursesw`` " "library. The :mod:`curses.panel` module additionally requires the " @@ -311,7 +307,7 @@ msgstr "" "``libncursesw``. Das Modul :mod:`curses.panel` benötigt zusätzlich die " "Bibliothek ``libpanel`` oder ``libpanelw``." -#: ../../using/configure.rst:124 +#: ../../using/configure.rst:123 msgid "" "If OpenSSL is not available, the :mod:`hashlib` module will use bundled " "implementations of several hash functions. See :option:`--with-builtin-" @@ -321,7 +317,18 @@ msgstr "" "Umsetzungen mehrerer Hashfunktionen. Unter :option:`--with-builtin-hashlib-" "hashes` steht, wie du die Verwendung von OpenSSL *erzwingst*." -#: ../../using/configure.rst:128 +#: ../../using/configure.rst:126 +msgid "" +"OpenSSL 1.1.1 is the minimum possible version to build against, but the " +"series is end-of-life and no longer receives public security fixes. Use the " +"latest patch release of a currently supported LTS release series (see the " +"`OpenSSL Roadmap `__), or " +"the package provided by your operating system if available. Other libraries " +"that offer an API compatible with OpenSSL 1.1.1 or later may work, but are " +"not officially supported." +msgstr "" + +#: ../../using/configure.rst:135 msgid "" "Note that the table does not include all optional modules; in particular, " "platform-specific modules like :mod:`winreg` are not listed here." @@ -329,7 +336,7 @@ msgstr "" "Beachte, dass die Tabelle nicht alle optionalen Module enthält. Insbesondere " "plattformspezifische Module wie :mod:`winreg` sind hier nicht aufgeführt." -#: ../../using/configure.rst:133 +#: ../../using/configure.rst:140 msgid "" "The `devguide `_ includes a full list of dependencies required to " @@ -341,7 +348,7 @@ msgstr "" "die zum Bauen aller Module nötig sind, sowie Anleitungen, wie du sie auf den " "verbreiteten Plattformen installierst." -#: ../../using/configure.rst:136 +#: ../../using/configure.rst:143 msgid "" ":option:`--with-system-expat` allows building with an external `libexpat " "`_ library." @@ -349,43 +356,43 @@ msgstr "" ":option:`--with-system-expat` erlaubt das Bauen mit einer externen " "Bibliothek `libexpat `_." -#: ../../using/configure.rst:138 +#: ../../using/configure.rst:145 msgid ":ref:`configure-options-for-dependencies`" msgstr ":ref:`configure-options-for-dependencies`" -#: ../../using/configure.rst:140 +#: ../../using/configure.rst:147 msgid "Tcl/Tk version 8.3.1 is now required for :mod:`tkinter`." msgstr "Für :mod:`tkinter` wird jetzt Tcl/Tk in Version 8.3.1 benötigt." -#: ../../using/configure.rst:143 +#: ../../using/configure.rst:150 msgid "Tcl/Tk version 8.4 is now required for :mod:`tkinter`." msgstr "Für :mod:`tkinter` wird jetzt Tcl/Tk in Version 8.4 benötigt." -#: ../../using/configure.rst:146 +#: ../../using/configure.rst:153 msgid "OpenSSL 1.0.2 is now required for :mod:`hashlib` and :mod:`ssl`." msgstr "Für :mod:`hashlib` und :mod:`ssl` wird jetzt OpenSSL 1.0.2 benötigt." -#: ../../using/configure.rst:149 +#: ../../using/configure.rst:156 msgid "" "OpenSSL 1.1.1 is now required for :mod:`hashlib` and :mod:`ssl`. SQLite " "3.7.15 is now required for :mod:`sqlite3`." msgstr "" -"Für :mod:`hashlib` und :mod:`ssl` wird jetzt OpenSSL 1.1.1 benötigt. " -"Für :mod:`sqlite3` wird jetzt SQLite 3.7.15 benötigt." +"Für :mod:`hashlib` und :mod:`ssl` wird jetzt OpenSSL 1.1.1 benötigt. Für :" +"mod:`sqlite3` wird jetzt SQLite 3.7.15 benötigt." -#: ../../using/configure.rst:153 +#: ../../using/configure.rst:160 msgid "Tcl/Tk version 8.5.12 is now required for :mod:`tkinter`." msgstr "Für :mod:`tkinter` wird jetzt Tcl/Tk in Version 8.5.12 benötigt." -#: ../../using/configure.rst:156 +#: ../../using/configure.rst:163 msgid "SQLite 3.15.2 is now required for :mod:`sqlite3`." msgstr "Für :mod:`sqlite3` wird jetzt SQLite 3.15.2 benötigt." -#: ../../using/configure.rst:161 +#: ../../using/configure.rst:168 msgid "Generated files" msgstr "Erzeugte Dateien" -#: ../../using/configure.rst:163 +#: ../../using/configure.rst:170 msgid "" "To reduce build dependencies, Python source code contains multiple generated " "files. Commands to regenerate all generated files::" @@ -394,7 +401,7 @@ msgstr "" "mehrere erzeugte Dateien. Befehle, um alle erzeugten Dateien neu zu " "erzeugen::" -#: ../../using/configure.rst:166 +#: ../../using/configure.rst:173 msgid "" "make regen-all\n" "make regen-stdlib-module-names\n" @@ -406,7 +413,7 @@ msgstr "" "make regen-limited-abi\n" "make regen-configure" -#: ../../using/configure.rst:171 +#: ../../using/configure.rst:178 msgid "" "The ``Makefile.pre.in`` file documents generated files, their inputs, and " "tools used to regenerate them. Search for ``regen-*`` make targets." @@ -415,11 +422,11 @@ msgstr "" "Eingaben und die Werkzeuge, mit denen sie neu erzeugt werden. Suche dort " "nach den make-Zielen ``regen-*``." -#: ../../using/configure.rst:175 +#: ../../using/configure.rst:182 msgid "configure script" msgstr "Das Skript configure" -#: ../../using/configure.rst:177 +#: ../../using/configure.rst:184 msgid "" "The ``make regen-configure`` command regenerates the ``aclocal.m4`` file and " "the ``configure`` script using the ``Tools/build/regen-configure.sh`` shell " @@ -431,17 +438,17 @@ msgstr "" "regen-configure.sh``, das einen Ubuntu-Container nutzt, um dieselben " "Werkzeugversionen zu erhalten und eine reproduzierbare Ausgabe zu bekommen." -#: ../../using/configure.rst:182 +#: ../../using/configure.rst:189 msgid "The container is optional, the following command can be run locally::" msgstr "" "Der Container ist nicht zwingend, der folgende Befehl lässt sich auch lokal " "ausführen::" -#: ../../using/configure.rst:184 +#: ../../using/configure.rst:191 msgid "autoreconf -ivf -Werror" msgstr "autoreconf -ivf -Werror" -#: ../../using/configure.rst:186 +#: ../../using/configure.rst:193 msgid "" "The generated files can change depending on the exact versions of the tools " "used. The container that CPython uses has `Autoconf `_ 1.16.5 und `pkg-" "config `_ 1.8.1." -#: ../../using/configure.rst:193 +#: ../../using/configure.rst:200 msgid "" -"Autoconf 2.71 and aclocal 1.16.5 and are now used to " -"regenerate :file:`configure`." +"Autoconf 2.71 and aclocal 1.16.5 and are now used to regenerate :file:" +"`configure`." msgstr "" "Zum Neuerzeugen von :file:`configure` werden jetzt Autoconf 2.71 und aclocal " "1.16.5 verwendet." -#: ../../using/configure.rst:197 +#: ../../using/configure.rst:204 msgid "Autoconf 2.72 is now used to regenerate :file:`configure`." msgstr "" "Zum Neuerzeugen von :file:`configure` wird jetzt Autoconf 2.72 verwendet." -#: ../../using/configure.rst:204 +#: ../../using/configure.rst:211 msgid "Configure Options" msgstr "Optionen von configure" -#: ../../using/configure.rst:206 +#: ../../using/configure.rst:213 msgid "List all :file:`configure` script options using::" msgstr "Alle Optionen des Skripts :file:`configure` listest du so auf::" -#: ../../using/configure.rst:208 +#: ../../using/configure.rst:215 msgid "./configure --help" msgstr "./configure --help" -#: ../../using/configure.rst:210 +#: ../../using/configure.rst:217 msgid "" "See also the :file:`Misc/SpecialBuilds.txt` in the Python source " "distribution." msgstr "" "Siehe auch :file:`Misc/SpecialBuilds.txt` in der Python-Quelldistribution." -#: ../../using/configure.rst:213 +#: ../../using/configure.rst:220 msgid "General Options" msgstr "Allgemeine Optionen" -#: ../../using/configure.rst:217 +#: ../../using/configure.rst:224 msgid "" "Support loadable extensions in the :mod:`!_sqlite` extension module (default " "is no) of the :mod:`sqlite3` module." @@ -499,49 +506,49 @@ msgstr "" "Unterstützt ladbare Erweiterungen im Erweiterungsmodul :mod:`!_sqlite` des " "Moduls :mod:`sqlite3` (Vorgabe ist nein)." -#: ../../using/configure.rst:220 +#: ../../using/configure.rst:227 msgid "" -"See the :meth:`sqlite3.Connection.enable_load_extension` method of " -"the :mod:`sqlite3` module." +"See the :meth:`sqlite3.Connection.enable_load_extension` method of the :mod:" +"`sqlite3` module." msgstr "" "Siehe die Methode :meth:`sqlite3.Connection.enable_load_extension` des " "Moduls :mod:`sqlite3`." -#: ../../using/configure.rst:227 +#: ../../using/configure.rst:234 msgid "" -"Disable IPv6 support (enabled by default if supported), see " -"the :mod:`socket` module." +"Disable IPv6 support (enabled by default if supported), see the :mod:" +"`socket` module." msgstr "" "Schaltet die Unterstützung für IPv6 ab (standardmäßig eingeschaltet, sofern " "unterstützt), siehe das Modul :mod:`socket`." -#: ../../using/configure.rst:232 +#: ../../using/configure.rst:239 msgid "Define the size in bits of Python :class:`int` digits: 15 or 30 bits." msgstr "" "Legt die Größe der Ziffern von Python-:class:`int` in Bit fest: 15 oder 30 " "Bit." -#: ../../using/configure.rst:234 +#: ../../using/configure.rst:241 msgid "By default, the digit size is 30." msgstr "Standardmäßig beträgt die Zifferngröße 30." -#: ../../using/configure.rst:236 +#: ../../using/configure.rst:243 msgid "Define the ``PYLONG_BITS_IN_DIGIT`` to ``15`` or ``30``." msgstr "Setzt ``PYLONG_BITS_IN_DIGIT`` auf ``15`` oder ``30``." -#: ../../using/configure.rst:238 +#: ../../using/configure.rst:245 msgid "See :data:`sys.int_info.bits_per_digit `." msgstr "Siehe :data:`sys.int_info.bits_per_digit `." -#: ../../using/configure.rst:242 +#: ../../using/configure.rst:249 msgid "Set the Python executable suffix to *SUFFIX*." msgstr "Setzt das Suffix der ausführbaren Python-Datei auf *SUFFIX*." -#: ../../using/configure.rst:244 +#: ../../using/configure.rst:251 msgid "" "The default suffix is ``.exe`` on Windows and macOS (``python.exe`` " -"executable), ``.js`` on Emscripten node, ``.html`` on Emscripten browser, " -"``.wasm`` on WASI, and an empty string on other platforms (``python`` " +"executable), ``.js`` on Emscripten node, ``.html`` on Emscripten browser, ``." +"wasm`` on WASI, and an empty string on other platforms (``python`` " "executable)." msgstr "" "Das Standardsuffix ist ``.exe`` unter Windows und macOS (ausführbare Datei " @@ -549,15 +556,15 @@ msgstr "" "browser, ``.wasm`` bei WASI und eine leere Zeichenkette auf den übrigen " "Plattformen (ausführbare Datei ``python``)." -#: ../../using/configure.rst:249 +#: ../../using/configure.rst:256 msgid "" -"The default suffix on WASM platform is one of ``.js``, ``.html`` or " -"``.wasm``." +"The default suffix on WASM platform is one of ``.js``, ``.html`` or ``." +"wasm``." msgstr "" "Das Standardsuffix auf der WASM-Plattform ist eines von ``.js``, ``.html`` " "oder ``.wasm``." -#: ../../using/configure.rst:255 +#: ../../using/configure.rst:262 msgid "" "Select the default time zone search path for :const:`zoneinfo.TZPATH`. See " "the :ref:`Compile-time configuration ` of " @@ -567,7 +574,7 @@ msgstr "" "Siehe die :ref:`Konfiguration zur Übersetzungszeit " "` des Moduls :mod:`zoneinfo`." -#: ../../using/configure.rst:259 +#: ../../using/configure.rst:266 msgid "" "Default: ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/" "etc/zoneinfo``." @@ -575,76 +582,76 @@ msgstr "" "Vorgabe: ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/" "etc/zoneinfo``." -#: ../../using/configure.rst:261 +#: ../../using/configure.rst:268 msgid "See :data:`os.pathsep` path separator." msgstr "Siehe den Pfadtrenner :data:`os.pathsep`." -#: ../../using/configure.rst:267 +#: ../../using/configure.rst:274 msgid "" "Build the ``_decimal`` extension module using a thread-local context rather " "than a coroutine-local context (default), see the :mod:`decimal` module." msgstr "" "Baut das Erweiterungsmodul ``_decimal`` mit einem Thread-lokalen Kontext " -"anstelle eines Coroutine-lokalen Kontexts (Vorgabe), siehe das " -"Modul :mod:`decimal`." +"anstelle eines Coroutine-lokalen Kontexts (Vorgabe), siehe das Modul :mod:" +"`decimal`." -#: ../../using/configure.rst:270 +#: ../../using/configure.rst:277 msgid "See :const:`decimal.HAVE_CONTEXTVAR` and the :mod:`contextvars` module." msgstr "" "Siehe :const:`decimal.HAVE_CONTEXTVAR` und das Modul :mod:`contextvars`." -#: ../../using/configure.rst:276 +#: ../../using/configure.rst:283 msgid "Override order to check db backends for the :mod:`dbm` module" msgstr "" -"Überschreibt die Reihenfolge, in der die Datenbank-Backends für das " -"Modul :mod:`dbm` geprüft werden" +"Überschreibt die Reihenfolge, in der die Datenbank-Backends für das Modul :" +"mod:`dbm` geprüft werden" -#: ../../using/configure.rst:278 +#: ../../using/configure.rst:285 msgid "" "A valid value is a colon (``:``) separated string with the backend names:" msgstr "" "Ein gültiger Wert ist eine mit Doppelpunkt (``:``) getrennte Zeichenkette " "mit den Namen der Backends:" -#: ../../using/configure.rst:280 +#: ../../using/configure.rst:287 msgid "``ndbm``;" msgstr "``ndbm``;" -#: ../../using/configure.rst:281 +#: ../../using/configure.rst:288 msgid "``gdbm``;" msgstr "``gdbm``;" -#: ../../using/configure.rst:282 +#: ../../using/configure.rst:289 msgid "``bdb``." msgstr "``bdb``." -#: ../../using/configure.rst:286 +#: ../../using/configure.rst:293 msgid "Disable C locale coercion to a UTF-8 based locale (enabled by default)." msgstr "" "Schaltet die Angleichung der C-Locale an eine UTF-8-basierte Locale ab " "(standardmäßig eingeschaltet)." -#: ../../using/configure.rst:288 +#: ../../using/configure.rst:295 msgid "Don't define the ``PY_COERCE_C_LOCALE`` macro." msgstr "Definiert das Makro ``PY_COERCE_C_LOCALE`` nicht." -#: ../../using/configure.rst:290 +#: ../../using/configure.rst:297 msgid "See :envvar:`PYTHONCOERCECLOCALE` and the :pep:`538`." msgstr "Siehe :envvar:`PYTHONCOERCECLOCALE` und :pep:`538`." -#: ../../using/configure.rst:294 +#: ../../using/configure.rst:301 msgid "Python library directory name (default is ``lib``)." msgstr "Name des Verzeichnisses der Python-Bibliothek (Vorgabe ist ``lib``)." -#: ../../using/configure.rst:296 +#: ../../using/configure.rst:303 msgid "Fedora and SuSE use ``lib64`` on 64-bit platforms." msgstr "Fedora und SuSE verwenden auf 64-Bit-Plattformen ``lib64``." -#: ../../using/configure.rst:298 +#: ../../using/configure.rst:305 msgid "See :data:`sys.platlibdir`." msgstr "Siehe :data:`sys.platlibdir`." -#: ../../using/configure.rst:304 +#: ../../using/configure.rst:311 msgid "" "Directory of wheel packages used by the :mod:`ensurepip` module (none by " "default)." @@ -652,19 +659,19 @@ msgstr "" "Verzeichnis der Wheel-Pakete, die das Modul :mod:`ensurepip` verwendet " "(standardmäßig keines)." -#: ../../using/configure.rst:307 +#: ../../using/configure.rst:314 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 :mod:`!" -"ensurepip._bundled` package." +"share/python-wheels/`` directory and don't install the :mod:`!ensurepip." +"_bundled` package." msgstr "" "Die Paketierungsrichtlinien einiger Linux-Distributionen empfehlen, " "Abhängigkeiten nicht beizulegen. Fedora installiert Wheel-Pakete zum " "Beispiel im Verzeichnis ``/usr/share/python-wheels/`` und installiert das " "Paket :mod:`!ensurepip._bundled` nicht." -#: ../../using/configure.rst:316 +#: ../../using/configure.rst:323 msgid "" "Whether configure should use :program:`pkg-config` to detect build " "dependencies." @@ -672,31 +679,31 @@ msgstr "" "Ob configure :program:`pkg-config` verwenden soll, um die Abhängigkeiten für " "den Build zu erkennen." -#: ../../using/configure.rst:319 +#: ../../using/configure.rst:326 msgid "``check`` (default): :program:`pkg-config` is optional" msgstr "``check`` (Vorgabe): :program:`pkg-config` ist optional" -#: ../../using/configure.rst:320 +#: ../../using/configure.rst:327 msgid "``yes``: :program:`pkg-config` is mandatory" msgstr "``yes``: :program:`pkg-config` ist zwingend" -#: ../../using/configure.rst:321 +#: ../../using/configure.rst:328 msgid "``no``: configure does not use :program:`pkg-config` even when present" msgstr "" "``no``: configure verwendet :program:`pkg-config` nicht, selbst wenn es " "vorhanden ist" -#: ../../using/configure.rst:327 +#: ../../using/configure.rst:334 msgid "" "Path to a `JSON `_ configuration file " "containing custom error messages for missing :term:`standard library` " "modules." msgstr "" "Pfad zu einer `JSON `_-" -"Konfigurationsdatei mit eigenen Fehlermeldungen für fehlende Module " -"der :term:`Standardbibliothek `." +"Konfigurationsdatei mit eigenen Fehlermeldungen für fehlende Module der :" +"term:`Standardbibliothek `." -#: ../../using/configure.rst:330 +#: ../../using/configure.rst:337 msgid "" "This option is intended for Python distributors who wish to provide " "distribution-specific guidance when users encounter standard library modules " @@ -706,19 +713,19 @@ msgstr "" "distributionsspezifische Hinweise geben möchten, wenn Benutzer auf Module " "der Standardbibliothek stoßen, die fehlen oder getrennt paketiert sind." -#: ../../using/configure.rst:334 +#: ../../using/configure.rst:341 msgid "" "The JSON file should map missing module names to custom error message " -"strings. For example, if your distribution packages :mod:`tkinter` " -"and :mod:`_tkinter` separately and excludes :mod:`!_gdbm` for legal reasons, " -"the configuration could contain:" +"strings. For example, if your distribution packages :mod:`tkinter` and :mod:" +"`_tkinter` separately and excludes :mod:`!_gdbm` for legal reasons, the " +"configuration could contain:" msgstr "" "Die JSON-Datei sollte Namen fehlender Module auf eigene Fehlermeldungen " -"abbilden. Wenn deine Distribution zum Beispiel :mod:`tkinter` " -"und :mod:`_tkinter` getrennt paketiert und :mod:`!_gdbm` aus rechtlichen " -"Gründen ausschließt, könnte die Konfiguration Folgendes enthalten:" +"abbilden. Wenn deine Distribution zum Beispiel :mod:`tkinter` und :mod:" +"`_tkinter` getrennt paketiert und :mod:`!_gdbm` aus rechtlichen Gründen " +"ausschließt, könnte die Konfiguration Folgendes enthalten:" -#: ../../using/configure.rst:339 +#: ../../using/configure.rst:346 msgid "" "{\n" " \"_gdbm\": \"The '_gdbm' module is not available in this " @@ -734,11 +741,11 @@ msgstr "" " \"_tkinter\": \"Install the python-tk package to use tkinter\",\n" "}" -#: ../../using/configure.rst:351 +#: ../../using/configure.rst:358 msgid "Turn on internal Python performance statistics gathering." msgstr "Schaltet die interne Erfassung von Leistungsdaten in Python ein." -#: ../../using/configure.rst:353 +#: ../../using/configure.rst:360 msgid "" "By default, statistics gathering is off. Use ``python3 -X pystats`` command " "or set ``PYTHONSTATS=1`` environment variable to turn on statistics " @@ -748,7 +755,7 @@ msgstr "" "oder der Umgebungsvariablen ``PYTHONSTATS=1`` schaltest du die Erfassung " "beim Start von Python ein." -#: ../../using/configure.rst:357 +#: ../../using/configure.rst:364 msgid "" "At Python exit, dump statistics if statistics gathering was on and not " "cleared." @@ -756,45 +763,45 @@ msgstr "" "Beim Beenden von Python werden die Daten ausgegeben, sofern die Erfassung " "eingeschaltet war und die Daten nicht gelöscht wurden." -#: ../../using/configure.rst:360 ../../using/configure.rst:955 +#: ../../using/configure.rst:367 ../../using/configure.rst:962 msgid "Effects:" msgstr "Wirkung:" -#: ../../using/configure.rst:362 +#: ../../using/configure.rst:369 msgid "Add :option:`-X pystats <-X>` command line option." msgstr "Fügt die Befehlszeilenoption :option:`-X pystats <-X>` hinzu." -#: ../../using/configure.rst:363 +#: ../../using/configure.rst:370 msgid "Add :envvar:`!PYTHONSTATS` environment variable." msgstr "Fügt die Umgebungsvariable :envvar:`!PYTHONSTATS` hinzu." -#: ../../using/configure.rst:364 +#: ../../using/configure.rst:371 msgid "Define the ``Py_STATS`` macro." msgstr "Definiert das Makro ``Py_STATS``." -#: ../../using/configure.rst:365 +#: ../../using/configure.rst:372 msgid "Add functions to the :mod:`sys` module:" msgstr "Fügt dem Modul :mod:`sys` Funktionen hinzu:" -#: ../../using/configure.rst:367 +#: ../../using/configure.rst:374 msgid ":func:`!sys._stats_on`: Turns on statistics gathering." msgstr ":func:`!sys._stats_on`: Schaltet die Erfassung ein." -#: ../../using/configure.rst:368 +#: ../../using/configure.rst:375 msgid ":func:`!sys._stats_off`: Turns off statistics gathering." msgstr ":func:`!sys._stats_off`: Schaltet die Erfassung aus." -#: ../../using/configure.rst:369 +#: ../../using/configure.rst:376 msgid ":func:`!sys._stats_clear`: Clears the statistics." msgstr ":func:`!sys._stats_clear`: Löscht die Daten." -#: ../../using/configure.rst:370 +#: ../../using/configure.rst:377 msgid "" ":func:`!sys._stats_dump`: Dump statistics to file, and clears the statistics." msgstr "" ":func:`!sys._stats_dump`: Gibt die Daten in eine Datei aus und löscht sie." -#: ../../using/configure.rst:372 +#: ../../using/configure.rst:379 msgid "" "The statistics will be dumped to a arbitrary (probably unique) file in ``/" "tmp/py_stats/`` (Unix) or ``C:\\temp\\py_stats\\`` (Windows). If that " @@ -805,52 +812,52 @@ msgstr "" "ausgegeben. Existiert dieses Verzeichnis nicht, werden die Ergebnisse auf " "stderr ausgegeben." -#: ../../using/configure.rst:376 +#: ../../using/configure.rst:383 msgid "Use ``Tools/scripts/summarize_stats.py`` to read the stats." msgstr "Zum Lesen der Daten verwende ``Tools/scripts/summarize_stats.py``." -#: ../../using/configure.rst:378 +#: ../../using/configure.rst:385 msgid "Statistics:" msgstr "Daten:" -#: ../../using/configure.rst:380 +#: ../../using/configure.rst:387 msgid "Opcode:" msgstr "Opcode:" -#: ../../using/configure.rst:382 +#: ../../using/configure.rst:389 msgid "Specialization: success, failure, hit, deferred, miss, deopt, failures;" msgstr "" "Spezialisierung: success, failure, hit, deferred, miss, deopt, failures;" -#: ../../using/configure.rst:383 +#: ../../using/configure.rst:390 msgid "Execution count;" msgstr "Ausführungszahl;" -#: ../../using/configure.rst:384 +#: ../../using/configure.rst:391 msgid "Pair count." msgstr "Paarzahl." -#: ../../using/configure.rst:386 +#: ../../using/configure.rst:393 msgid "Call:" msgstr "Aufruf:" -#: ../../using/configure.rst:388 +#: ../../using/configure.rst:395 msgid "Inlined Python calls;" msgstr "Inline eingesetzte Python-Aufrufe;" -#: ../../using/configure.rst:389 +#: ../../using/configure.rst:396 msgid "PyEval calls;" msgstr "PyEval-Aufrufe;" -#: ../../using/configure.rst:390 +#: ../../using/configure.rst:397 msgid "Frames pushed;" msgstr "Auf den Stapel gelegte Frames;" -#: ../../using/configure.rst:391 +#: ../../using/configure.rst:398 msgid "Frame object created;" msgstr "Erzeugte Frame-Objekte;" -#: ../../using/configure.rst:392 +#: ../../using/configure.rst:399 msgid "" "Eval calls: vector, generator, legacy, function VECTORCALL, build class, " "slot, function \"ex\", API, method." @@ -858,67 +865,67 @@ msgstr "" "Eval-Aufrufe: vector, generator, legacy, function VECTORCALL, build class, " "slot, function „ex“, API, method." -#: ../../using/configure.rst:395 +#: ../../using/configure.rst:402 msgid "Object:" msgstr "Objekt:" -#: ../../using/configure.rst:397 +#: ../../using/configure.rst:404 msgid "incref and decref;" msgstr "incref und decref;" -#: ../../using/configure.rst:398 +#: ../../using/configure.rst:405 msgid "interpreter incref and decref;" msgstr "incref und decref des Interpreters;" -#: ../../using/configure.rst:399 +#: ../../using/configure.rst:406 msgid "allocations: all, 512 bytes, 4 kiB, big;" msgstr "Allokationen: alle, 512 Bytes, 4 kiB, groß;" -#: ../../using/configure.rst:400 +#: ../../using/configure.rst:407 msgid "free;" msgstr "Freigaben;" -#: ../../using/configure.rst:401 +#: ../../using/configure.rst:408 msgid "to/from free lists;" msgstr "in und aus Freelists;" -#: ../../using/configure.rst:402 +#: ../../using/configure.rst:409 msgid "dictionary materialized/dematerialized;" msgstr "Wörterbuch materialisiert/dematerialisiert;" -#: ../../using/configure.rst:403 +#: ../../using/configure.rst:410 msgid "type cache;" msgstr "Typ-Cache;" -#: ../../using/configure.rst:404 +#: ../../using/configure.rst:411 msgid "optimization attempts;" msgstr "Optimierungsversuche;" -#: ../../using/configure.rst:405 +#: ../../using/configure.rst:412 msgid "optimization traces created/executed;" msgstr "erzeugte und ausgeführte Optimierungs-Traces;" -#: ../../using/configure.rst:406 +#: ../../using/configure.rst:413 msgid "uops executed." msgstr "ausgeführte uops." -#: ../../using/configure.rst:408 +#: ../../using/configure.rst:415 msgid "Garbage collector:" msgstr "Garbage Collector:" -#: ../../using/configure.rst:410 +#: ../../using/configure.rst:417 msgid "Garbage collections;" msgstr "Durchläufe der Garbage Collection;" -#: ../../using/configure.rst:411 +#: ../../using/configure.rst:418 msgid "Objects visited;" msgstr "besuchte Objekte;" -#: ../../using/configure.rst:412 +#: ../../using/configure.rst:419 msgid "Objects collected." msgstr "eingesammelte Objekte." -#: ../../using/configure.rst:423 +#: ../../using/configure.rst:430 msgid "" "Enables support for running Python without the :term:`global interpreter " "lock` (GIL): :term:`free-threaded build`." @@ -926,19 +933,19 @@ msgstr "" "Schaltet die Unterstützung dafür ein, Python ohne den :term:`global " "interpreter lock` (GIL) zu betreiben: :term:`free-threaded build`." -#: ../../using/configure.rst:426 +#: ../../using/configure.rst:433 msgid "" -"Defines the ``Py_GIL_DISABLED`` macro and adds ``\"t\"`` " -"to :data:`sys.abiflags`." +"Defines the ``Py_GIL_DISABLED`` macro and adds ``\"t\"`` to :data:`sys." +"abiflags`." msgstr "" -"Definiert das Makro ``Py_GIL_DISABLED`` und fügt ``\"t\"`` " -"zu :data:`sys.abiflags` hinzu." +"Definiert das Makro ``Py_GIL_DISABLED`` und fügt ``\"t\"`` zu :data:`sys." +"abiflags` hinzu." -#: ../../using/configure.rst:429 +#: ../../using/configure.rst:436 msgid "See :ref:`whatsnew313-free-threaded-cpython` for more detail." msgstr "Mehr dazu steht unter :ref:`whatsnew313-free-threaded-cpython`." -#: ../../using/configure.rst:435 +#: ../../using/configure.rst:442 msgid "" "Indicate how to integrate the :ref:`experimental just-in-time compiler " "`." @@ -946,11 +953,11 @@ msgstr "" "Gibt an, wie der :ref:`experimentelle Just-in-time-Compiler ` eingebunden wird." -#: ../../using/configure.rst:437 +#: ../../using/configure.rst:444 msgid "``no``: Don't build the JIT." msgstr "``no``: Baut den JIT nicht." -#: ../../using/configure.rst:438 +#: ../../using/configure.rst:445 msgid "" "``yes``: Enable the JIT. To disable it at runtime, set the environment " "variable :envvar:`PYTHON_JIT=0 `." @@ -958,7 +965,7 @@ msgstr "" "``yes``: Schaltet den JIT ein. Um ihn zur Laufzeit abzuschalten, setze die " "Umgebungsvariable :envvar:`PYTHON_JIT=0 `." -#: ../../using/configure.rst:440 +#: ../../using/configure.rst:447 msgid "" "``yes-off``: Build the JIT, but disable it by default. To enable it at " "runtime, set the environment variable :envvar:`PYTHON_JIT=1 `." @@ -967,7 +974,7 @@ msgstr "" "Laufzeit einzuschalten, setze die Umgebungsvariable :envvar:`PYTHON_JIT=1 " "`." -#: ../../using/configure.rst:442 +#: ../../using/configure.rst:449 msgid "" "``interpreter``: Enable the \"JIT interpreter\" (only useful for those " "debugging the JIT itself). To disable it at runtime, set the environment " @@ -977,7 +984,7 @@ msgstr "" "Fehlersuche am JIT selbst). Um ihn zur Laufzeit abzuschalten, setze die " "Umgebungsvariable :envvar:`PYTHON_JIT=0 `." -#: ../../using/configure.rst:446 +#: ../../using/configure.rst:453 msgid "" "``--enable-experimental-jit=no`` is the default behavior if the option is " "not provided, and ``--enable-experimental-jit`` is shorthand for ``--enable-" @@ -990,7 +997,7 @@ msgstr "" "README.md`, auch wie du die nötigen Abhängigkeiten für die Bauzeit " "installierst." -#: ../../using/configure.rst:453 +#: ../../using/configure.rst:460 msgid "" "When building CPython with JIT enabled, ensure that your system has Python " "3.11 or later installed." @@ -998,15 +1005,15 @@ msgstr "" "Wenn du CPython mit eingeschaltetem JIT baust, stelle sicher, dass auf " "deinem System Python 3.11 oder neuer installiert ist." -#: ../../using/configure.rst:459 +#: ../../using/configure.rst:466 msgid "Path to ``pkg-config`` utility." msgstr "Pfad zum Werkzeug ``pkg-config``." -#: ../../using/configure.rst:464 +#: ../../using/configure.rst:471 msgid "``pkg-config`` options." msgstr "Optionen von ``pkg-config``." -#: ../../using/configure.rst:468 +#: ../../using/configure.rst:475 msgid "" "Build without ``epoll``, meaning that :py:func:`select.epoll` will not be " "present even if the system provides an :manpage:`epoll_create " @@ -1021,48 +1028,48 @@ msgstr "" "` verfügbar, aber mit der Linux-Semantik nicht verträglich " "ist." -#: ../../using/configure.rst:479 +#: ../../using/configure.rst:486 msgid "C compiler options" msgstr "Optionen des C-Compilers" -#: ../../using/configure.rst:483 ../../using/configure.rst:1547 +#: ../../using/configure.rst:490 ../../using/configure.rst:1558 msgid "C compiler command." msgstr "Befehl des C-Compilers." -#: ../../using/configure.rst:487 ../../using/configure.rst:1559 +#: ../../using/configure.rst:494 ../../using/configure.rst:1570 msgid "C compiler flags." msgstr "Flags des C-Compilers." -#: ../../using/configure.rst:491 +#: ../../using/configure.rst:498 msgid "C preprocessor command." msgstr "Befehl des C-Präprozessors." -#: ../../using/configure.rst:495 +#: ../../using/configure.rst:502 msgid "C preprocessor flags, e.g. :samp:`-I{include_dir}`." msgstr "Flags des C-Präprozessors, etwa :samp:`-I{include_dir}`." -#: ../../using/configure.rst:499 ../../using/configure.rst:1029 +#: ../../using/configure.rst:506 ../../using/configure.rst:1040 msgid "Linker options" msgstr "Optionen des Linkers" -#: ../../using/configure.rst:503 +#: ../../using/configure.rst:510 msgid "Linker flags, e.g. :samp:`-L{library_directory}`." msgstr "Linker-Flags, etwa :samp:`-L{library_directory}`." -#: ../../using/configure.rst:507 +#: ../../using/configure.rst:514 msgid "Libraries to pass to the linker, e.g. :samp:`-l{library}`." msgstr "" "Bibliotheken, die an den Linker übergeben werden, etwa :samp:`-l{library}`." -#: ../../using/configure.rst:511 +#: ../../using/configure.rst:518 msgid "Name for machine-dependent library files." msgstr "Name für maschinenabhängige Bibliotheksdateien." -#: ../../using/configure.rst:517 +#: ../../using/configure.rst:524 msgid "Options for third-party dependencies" msgstr "Optionen für Abhängigkeiten von Dritten" -#: ../../using/configure.rst:524 +#: ../../using/configure.rst:531 msgid "" "C compiler and linker flags to link Python to ``libbz2``, used by :mod:`bz2` " "module, overriding ``pkg-config``." @@ -1070,43 +1077,43 @@ msgstr "" "C-Compiler- und Linker-Flags, um Python gegen ``libbz2`` zu linken, " "verwendet vom Modul :mod:`bz2`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:530 +#: ../../using/configure.rst:537 msgid "" -"C compiler and linker flags for ``libncurses`` or ``libncursesw``, used " -"by :mod:`curses` module, overriding ``pkg-config``." +"C compiler and linker flags for ``libncurses`` or ``libncursesw``, used by :" +"mod:`curses` module, overriding ``pkg-config``." msgstr "" "C-Compiler- und Linker-Flags für ``libncurses`` oder ``libncursesw``, " "verwendet vom Modul :mod:`curses`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:536 +#: ../../using/configure.rst:543 msgid "C compiler and linker flags for ``gdbm``." msgstr "C-Compiler- und Linker-Flags für ``gdbm``." -#: ../../using/configure.rst:541 +#: ../../using/configure.rst:548 msgid "" "C compiler and linker flags for ``libedit``, used by :mod:`readline` module, " "overriding ``pkg-config``." msgstr "" -"C-Compiler- und Linker-Flags für ``libedit``, verwendet vom " -"Modul :mod:`readline`, überschreibt ``pkg-config``." +"C-Compiler- und Linker-Flags für ``libedit``, verwendet vom Modul :mod:" +"`readline`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:547 +#: ../../using/configure.rst:554 msgid "" "C compiler and linker flags for ``libffi``, used by :mod:`ctypes` module, " "overriding ``pkg-config``." msgstr "" -"C-Compiler- und Linker-Flags für ``libffi``, verwendet vom " -"Modul :mod:`ctypes`, überschreibt ``pkg-config``." +"C-Compiler- und Linker-Flags für ``libffi``, verwendet vom Modul :mod:" +"`ctypes`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:553 +#: ../../using/configure.rst:560 msgid "" "C compiler and linker flags for ``libmpdec``, used by :mod:`decimal` module, " "overriding ``pkg-config``." msgstr "" -"C-Compiler- und Linker-Flags für ``libmpdec``, verwendet vom " -"Modul :mod:`decimal`, überschreibt ``pkg-config``." +"C-Compiler- und Linker-Flags für ``libmpdec``, verwendet vom Modul :mod:" +"`decimal`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:558 +#: ../../using/configure.rst:565 msgid "" "These environment variables have no effect unless :option:`--with-system-" "libmpdec` is specified." @@ -1114,79 +1121,79 @@ msgstr "" "Diese Umgebungsvariablen haben keine Wirkung, sofern nicht :option:`--with-" "system-libmpdec` angegeben ist." -#: ../../using/configure.rst:564 +#: ../../using/configure.rst:571 msgid "" "C compiler and linker flags for ``liblzma``, used by :mod:`lzma` module, " "overriding ``pkg-config``." msgstr "" -"C-Compiler- und Linker-Flags für ``liblzma``, verwendet vom " -"Modul :mod:`lzma`, überschreibt ``pkg-config``." +"C-Compiler- und Linker-Flags für ``liblzma``, verwendet vom Modul :mod:" +"`lzma`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:570 +#: ../../using/configure.rst:577 msgid "" "C compiler and linker flags for ``libreadline``, used by :mod:`readline` " "module, overriding ``pkg-config``." msgstr "" -"C-Compiler- und Linker-Flags für ``libreadline``, verwendet vom " -"Modul :mod:`readline`, überschreibt ``pkg-config``." +"C-Compiler- und Linker-Flags für ``libreadline``, verwendet vom Modul :mod:" +"`readline`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:576 +#: ../../using/configure.rst:583 msgid "" "C compiler and linker flags for ``libsqlite3``, used by :mod:`sqlite3` " "module, overriding ``pkg-config``." msgstr "" -"C-Compiler- und Linker-Flags für ``libsqlite3``, verwendet vom " -"Modul :mod:`sqlite3`, überschreibt ``pkg-config``." +"C-Compiler- und Linker-Flags für ``libsqlite3``, verwendet vom Modul :mod:" +"`sqlite3`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:582 +#: ../../using/configure.rst:589 msgid "" "C compiler and linker flags for ``libuuid``, used by :mod:`uuid` module, " "overriding ``pkg-config``." msgstr "" -"C-Compiler- und Linker-Flags für ``libuuid``, verwendet vom " -"Modul :mod:`uuid`, überschreibt ``pkg-config``." +"C-Compiler- und Linker-Flags für ``libuuid``, verwendet vom Modul :mod:" +"`uuid`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:588 +#: ../../using/configure.rst:595 msgid "" "C compiler and linker flags for ``libzstd``, used by :mod:`compression.zstd` " "module, overriding ``pkg-config``." msgstr "" -"C-Compiler- und Linker-Flags für ``libzstd``, verwendet vom " -"Modul :mod:`compression.zstd`, überschreibt ``pkg-config``." +"C-Compiler- und Linker-Flags für ``libzstd``, verwendet vom Modul :mod:" +"`compression.zstd`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:596 +#: ../../using/configure.rst:603 msgid "C compiler and linker flags for PANEL, overriding ``pkg-config``." msgstr "C-Compiler- und Linker-Flags für PANEL, überschreibt ``pkg-config``." -#: ../../using/configure.rst:598 +#: ../../using/configure.rst:605 msgid "" -"C compiler and linker flags for ``libpanel`` or ``libpanelw``, used " -"by :mod:`curses.panel` module, overriding ``pkg-config``." +"C compiler and linker flags for ``libpanel`` or ``libpanelw``, used by :mod:" +"`curses.panel` module, overriding ``pkg-config``." msgstr "" "C-Compiler- und Linker-Flags für ``libpanel`` oder ``libpanelw``, verwendet " "vom Modul :mod:`curses.panel`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:604 +#: ../../using/configure.rst:611 msgid "C compiler and linker flags for TCLTK, overriding ``pkg-config``." msgstr "C-Compiler- und Linker-Flags für TCLTK, überschreibt ``pkg-config``." -#: ../../using/configure.rst:609 +#: ../../using/configure.rst:616 msgid "" "C compiler and linker flags for ``libzlib``, used by :mod:`gzip` module, " "overriding ``pkg-config``." msgstr "" -"C-Compiler- und Linker-Flags für ``libzlib``, verwendet vom " -"Modul :mod:`gzip`, überschreibt ``pkg-config``." +"C-Compiler- und Linker-Flags für ``libzlib``, verwendet vom Modul :mod:" +"`gzip`, überschreibt ``pkg-config``." -#: ../../using/configure.rst:614 +#: ../../using/configure.rst:621 msgid "WebAssembly Options" msgstr "WebAssembly-Optionen" -#: ../../using/configure.rst:618 +#: ../../using/configure.rst:625 msgid "Turn on dynamic linking support for WASM." msgstr "Schaltet die Unterstützung für dynamisches Linken bei WASM ein." -#: ../../using/configure.rst:620 +#: ../../using/configure.rst:627 msgid "" "Dynamic linking enables ``dlopen``. File size of the executable increases " "due to limited dead code elimination and additional features." @@ -1195,27 +1202,27 @@ msgstr "" "Datei wächst, weil toter Code nur begrenzt entfernt werden kann und " "zusätzliche Funktionen hinzukommen." -#: ../../using/configure.rst:627 +#: ../../using/configure.rst:634 msgid "Turn on pthreads support for WASM." msgstr "Schaltet die Unterstützung für pthreads bei WASM ein." -#: ../../using/configure.rst:633 +#: ../../using/configure.rst:640 msgid "Install Options" msgstr "Optionen für die Installation" -#: ../../using/configure.rst:637 +#: ../../using/configure.rst:644 msgid "" -"Install architecture-independent files in PREFIX. On Unix, it defaults " -"to :file:`/usr/local`." +"Install architecture-independent files in PREFIX. On Unix, it defaults to :" +"file:`/usr/local`." msgstr "" "Installiert architekturunabhängige Dateien in PREFIX. Unter Unix ist die " "Vorgabe :file:`/usr/local`." -#: ../../using/configure.rst:640 +#: ../../using/configure.rst:647 msgid "This value can be retrieved at runtime using :data:`sys.prefix`." msgstr "Dieser Wert lässt sich zur Laufzeit über :data:`sys.prefix` abrufen." -#: ../../using/configure.rst:642 +#: ../../using/configure.rst:649 msgid "" "As an example, one can use ``--prefix=\"$HOME/.local/\"`` to install a " "Python in its home directory." @@ -1223,7 +1230,7 @@ msgstr "" "Mit ``--prefix=\"$HOME/.local/\"`` lässt sich Python zum Beispiel im eigenen " "Benutzerverzeichnis installieren." -#: ../../using/configure.rst:647 +#: ../../using/configure.rst:654 msgid "" "Install architecture-dependent files in EPREFIX, defaults to :option:`--" "prefix`." @@ -1231,27 +1238,27 @@ msgstr "" "Installiert architekturabhängige Dateien in EPREFIX, Vorgabe ist :option:`--" "prefix`." -#: ../../using/configure.rst:649 +#: ../../using/configure.rst:656 msgid "This value can be retrieved at runtime using :data:`sys.exec_prefix`." msgstr "" "Dieser Wert lässt sich zur Laufzeit über :data:`sys.exec_prefix` abrufen." -#: ../../using/configure.rst:653 +#: ../../using/configure.rst:660 msgid "" -"Don't build nor install test modules, like the :mod:`test` package or " -"the :mod:`!_testcapi` extension module (built and installed by default)." +"Don't build nor install test modules, like the :mod:`test` package or the :" +"mod:`!_testcapi` extension module (built and installed by default)." msgstr "" "Baut und installiert die Testmodule nicht, etwa das Paket :mod:`test` oder " "das Erweiterungsmodul :mod:`!_testcapi` (werden standardmäßig gebaut und " "installiert)." -#: ../../using/configure.rst:660 +#: ../../using/configure.rst:667 msgid "Select the :mod:`ensurepip` command run on Python installation:" msgstr "" "Wählt den Befehl von :mod:`ensurepip`, der bei der Python-Installation " "ausgeführt wird:" -#: ../../using/configure.rst:662 +#: ../../using/configure.rst:669 msgid "" "``upgrade`` (default): run ``python -m ensurepip --altinstall --upgrade`` " "command." @@ -1259,19 +1266,19 @@ msgstr "" "``upgrade`` (Vorgabe): führt ``python -m ensurepip --altinstall --upgrade`` " "aus." -#: ../../using/configure.rst:664 +#: ../../using/configure.rst:671 msgid "``install``: run ``python -m ensurepip --altinstall`` command;" msgstr "``install``: führt ``python -m ensurepip --altinstall`` aus;" -#: ../../using/configure.rst:665 +#: ../../using/configure.rst:672 msgid "``no``: don't run ensurepip;" msgstr "``no``: führt ensurepip nicht aus;" -#: ../../using/configure.rst:671 +#: ../../using/configure.rst:678 msgid "Performance options" msgstr "Optionen für die Leistung" -#: ../../using/configure.rst:673 +#: ../../using/configure.rst:680 msgid "" "Configuring Python using ``--enable-optimizations --with-lto`` (PGO + LTO) " "is recommended for best performance. The experimental ``--enable-bolt`` flag " @@ -1281,7 +1288,7 @@ msgstr "" "with-lto`` (PGO + LTO) zu konfigurieren. Auch das experimentelle Flag ``--" "enable-bolt`` lässt sich verwenden, um die Leistung zu verbessern." -#: ../../using/configure.rst:679 +#: ../../using/configure.rst:686 msgid "" "Enable Profile Guided Optimization (PGO) using :envvar:`PROFILE_TASK` " "(disabled by default)." @@ -1289,7 +1296,7 @@ msgstr "" "Schaltet Profile Guided Optimization (PGO) über :envvar:`PROFILE_TASK` ein " "(standardmäßig abgeschaltet)." -#: ../../using/configure.rst:682 +#: ../../using/configure.rst:689 msgid "" "The C compiler Clang requires ``llvm-profdata`` program for PGO. On macOS, " "GCC also requires it: GCC is just an alias to Clang on macOS." @@ -1297,7 +1304,7 @@ msgstr "" "Der C-Compiler Clang benötigt für PGO das Programm ``llvm-profdata``. Unter " "macOS benötigt es auch GCC, denn GCC ist dort nur ein anderer Name für Clang." -#: ../../using/configure.rst:685 +#: ../../using/configure.rst:692 msgid "" "Disable also semantic interposition in libpython if ``--enable-shared`` and " "GCC is used: add ``-fno-semantic-interposition`` to the compiler and linker " @@ -1307,7 +1314,7 @@ msgstr "" "enable-shared`` und GCC verwendet werden: fügt ``-fno-semantic-" "interposition`` zu den Compiler- und Linker-Flags hinzu." -#: ../../using/configure.rst:691 +#: ../../using/configure.rst:698 msgid "" "During the build, you may encounter compiler warnings about profile data not " "being available for some source files. These warnings are harmless, as only " @@ -1321,11 +1328,11 @@ msgstr "" "Clang abzuschalten, unterdrücke sie von Hand, indem du ``-Wno-profile-instr-" "unprofiled`` zu :envvar:`CFLAGS` hinzufügst." -#: ../../using/configure.rst:700 +#: ../../using/configure.rst:707 msgid "Use ``-fno-semantic-interposition`` on GCC." msgstr "Verwendet ``-fno-semantic-interposition`` bei GCC." -#: ../../using/configure.rst:705 +#: ../../using/configure.rst:712 msgid "" "Environment variable used in the Makefile: Python command line arguments for " "the PGO generation task." @@ -1333,21 +1340,21 @@ msgstr "" "Im Makefile verwendete Umgebungsvariable: die Python-Befehlszeilenargumente " "für die Aufgabe, die das Profil erzeugt." -#: ../../using/configure.rst:708 +#: ../../using/configure.rst:715 msgid "Default: ``-m test --pgo --timeout=$(TESTTIMEOUT)``." msgstr "Vorgabe: ``-m test --pgo --timeout=$(TESTTIMEOUT)``." -#: ../../using/configure.rst:712 +#: ../../using/configure.rst:719 msgid "Task failure is no longer ignored silently." msgstr "Ein Fehlschlag der Aufgabe wird nicht mehr stillschweigend übergangen." -#: ../../using/configure.rst:717 +#: ../../using/configure.rst:724 msgid "Enable Link Time Optimization (LTO) in any build (disabled by default)." msgstr "" "Schaltet Link Time Optimization (LTO) in jedem Build ein (standardmäßig " "abgeschaltet)." -#: ../../using/configure.rst:719 +#: ../../using/configure.rst:726 msgid "" "The C compiler Clang requires ``llvm-ar`` for LTO (``ar`` on macOS), as well " "as an LTO-aware linker (``ld.gold`` or ``lld``)." @@ -1355,11 +1362,11 @@ msgstr "" "Der C-Compiler Clang benötigt für LTO ``llvm-ar`` (unter macOS ``ar``) sowie " "einen LTO-fähigen Linker (``ld.gold`` oder ``lld``)." -#: ../../using/configure.rst:724 +#: ../../using/configure.rst:731 msgid "To use ThinLTO feature, use ``--with-lto=thin`` on Clang." msgstr "Um ThinLTO zu verwenden, nimm bei Clang ``--with-lto=thin``." -#: ../../using/configure.rst:727 +#: ../../using/configure.rst:734 msgid "" "Use ThinLTO as the default optimization policy on Clang if the compiler " "accepts the flag." @@ -1367,16 +1374,15 @@ msgstr "" "Verwendet ThinLTO bei Clang als Standardvorgehen für die Optimierung, sofern " "der Compiler das Flag annimmt." -#: ../../using/configure.rst:732 +#: ../../using/configure.rst:739 msgid "" "Enable usage of the `BOLT post-link binary optimizer `_ (disabled by default)." msgstr "" -"Schaltet die Verwendung des `BOLT post-link binary optimizer `_ ein (standardmäßig " -"abgeschaltet)." +"Schaltet die Verwendung des `BOLT post-link binary optimizer `_ ein (standardmäßig abgeschaltet)." -#: ../../using/configure.rst:736 +#: ../../using/configure.rst:743 msgid "" "BOLT is part of the LLVM project but is not always included in their binary " "distributions. This flag requires that ``llvm-bolt`` and ``merge-fdata`` are " @@ -1386,7 +1392,7 @@ msgstr "" "Binärdistributionen enthalten. Dieses Flag setzt voraus, dass ``llvm-bolt`` " "und ``merge-fdata`` verfügbar sind." -#: ../../using/configure.rst:740 +#: ../../using/configure.rst:747 msgid "" "BOLT is still a fairly new project so this flag should be considered " "experimental for now. Because this tool operates on machine code its success " @@ -1404,19 +1410,19 @@ msgstr "" "bekannt, dass BOLT in manchen Fällen abstürzt. Für die Optimierung mit BOLT " "wird LLVM 16 oder neuer dringend empfohlen." -#: ../../using/configure.rst:748 +#: ../../using/configure.rst:755 msgid "" -"The :envvar:`!BOLT_INSTRUMENT_FLAGS` and :envvar:`!" -"BOLT_APPLY_FLAGS` :program:`configure` variables can be defined to override " -"the default set of arguments for :program:`llvm-bolt` to instrument and " -"apply BOLT data to binaries, respectively." +"The :envvar:`!BOLT_INSTRUMENT_FLAGS` and :envvar:`!BOLT_APPLY_FLAGS` :" +"program:`configure` variables can be defined to override the default set of " +"arguments for :program:`llvm-bolt` to instrument and apply BOLT data to " +"binaries, respectively." msgstr "" -"Mit den :program:`configure`-Variablen :envvar:`!BOLT_INSTRUMENT_FLAGS` " -"und :envvar:`!BOLT_APPLY_FLAGS` lässt sich der Standardsatz an Argumenten " -"für :program:`llvm-bolt` überschreiben, mit denen Binärdateien " -"instrumentiert beziehungsweise BOLT-Daten auf sie angewandt werden." +"Mit den :program:`configure`-Variablen :envvar:`!BOLT_INSTRUMENT_FLAGS` und :" +"envvar:`!BOLT_APPLY_FLAGS` lässt sich der Standardsatz an Argumenten für :" +"program:`llvm-bolt` überschreiben, mit denen Binärdateien instrumentiert " +"beziehungsweise BOLT-Daten auf sie angewandt werden." -#: ../../using/configure.rst:757 +#: ../../using/configure.rst:764 msgid "" "Arguments to ``llvm-bolt`` when creating a `BOLT optimized binary `_." @@ -1424,11 +1430,11 @@ msgstr "" "Argumente für ``llvm-bolt`` beim Erzeugen einer `mit BOLT optimierten " "Binärdatei `_." -#: ../../using/configure.rst:764 +#: ../../using/configure.rst:771 msgid "Arguments to ``llvm-bolt`` when instrumenting binaries." msgstr "Argumente für ``llvm-bolt`` beim Instrumentieren von Binärdateien." -#: ../../using/configure.rst:770 +#: ../../using/configure.rst:777 msgid "" "Enable computed gotos in evaluation loop (enabled by default on supported " "compilers)." @@ -1436,10 +1442,10 @@ msgstr "" "Schaltet berechnete gotos in der Auswertungsschleife ein (auf unterstützten " "Compilern standardmäßig eingeschaltet)." -#: ../../using/configure.rst:775 +#: ../../using/configure.rst:782 msgid "" -"Enable interpreters using tail calls in CPython. If enabled, enabling PGO " -"(:option:`--enable-optimizations`) is highly recommended. This option " +"Enable interpreters using tail calls in CPython. If enabled, enabling PGO (:" +"option:`--enable-optimizations`) is highly recommended. This option " "specifically requires a C compiler with proper tail call support, and the " "`preserve_none `_ calling convention. For example, Clang 19 and newer supports this " @@ -1452,13 +1458,13 @@ msgstr "" "`_ " "voraus. Clang 19 und neuer unterstützt das zum Beispiel." -#: ../../using/configure.rst:785 +#: ../../using/configure.rst:792 msgid "Disable frame pointers, which are enabled by default (see :pep:`831`)." msgstr "" -"Schaltet Frame-Pointer ab, die standardmäßig eingeschaltet sind " -"(siehe :pep:`831`)." +"Schaltet Frame-Pointer ab, die standardmäßig eingeschaltet sind (siehe :pep:" +"`831`)." -#: ../../using/configure.rst:787 +#: ../../using/configure.rst:794 msgid "" "By default, the build appends flags to generate frame or backchain pointers " "to ``BASECFLAGS``:" @@ -1466,7 +1472,7 @@ msgstr "" "Standardmäßig hängt der Build Flags zum Erzeugen von Frame- oder Backchain-" "Pointern an ``BASECFLAGS`` an:" -#: ../../using/configure.rst:790 +#: ../../using/configure.rst:797 msgid "" "``-fno-omit-frame-pointer`` and/or ``-mno-omit-leaf-frame-pointer`` are " "added when the compiler supports them." @@ -1474,13 +1480,13 @@ msgstr "" "``-fno-omit-frame-pointer`` und/oder ``-mno-omit-leaf-frame-pointer`` werden " "hinzugefügt, wenn der Compiler sie unterstützt." -#: ../../using/configure.rst:792 +#: ../../using/configure.rst:799 msgid "``-marm`` and/or ``-mno-thumb`` is added on 32-bit ARM when supported," msgstr "" "``-marm`` und/oder ``-mno-thumb`` wird auf 32-Bit-ARM hinzugefügt, sofern " "unterstützt," -#: ../../using/configure.rst:793 +#: ../../using/configure.rst:800 msgid "" "on s390x platforms, when supported, ``-mbackchain`` is added *instead*. of " "the above frame pointer flags." @@ -1488,7 +1494,7 @@ msgstr "" "auf s390x-Plattformen wird, sofern unterstützt, *stattdessen* ``-" "mbackchain`` anstelle der obigen Frame-Pointer-Flags hinzugefügt." -#: ../../using/configure.rst:795 +#: ../../using/configure.rst:802 msgid "" "on ppc64le platforms, no compiler flags is needed since the power ABI " "requires that compilers maintain a back chain by default." @@ -1496,21 +1502,21 @@ msgstr "" "auf ppc64le-Plattformen sind keine Compiler-Flags nötig, weil das Power-ABI " "verlangt, dass Compiler standardmäßig eine Backchain führen." -#: ../../using/configure.rst:798 +#: ../../using/configure.rst:805 msgid "" "Frame pointers enable profilers, debuggers, and system tracing tools " "(``perf``, ``eBPF``, ``dtrace``, ``gdb``) to walk the C call stack without " -"DWARF metadata. The flags propagate to third-party C extensions " -"through :mod:`sysconfig`. On compilers that do not understand them, the " -"build silently skips them." +"DWARF metadata. The flags propagate to third-party C extensions through :mod:" +"`sysconfig`. On compilers that do not understand them, the build silently " +"skips them." msgstr "" "Frame-Pointer erlauben es Profilern, Debuggern und Werkzeugen zur " "Systemverfolgung (``perf``, ``eBPF``, ``dtrace``, ``gdb``), den C-" -"Aufrufstapel ohne DWARF-Metadaten abzulaufen. Die Flags werden " -"über :mod:`sysconfig` an C-Erweiterungen von Dritten weitergegeben. Auf " -"Compilern, die sie nicht kennen, überspringt der Build sie stillschweigend." +"Aufrufstapel ohne DWARF-Metadaten abzulaufen. Die Flags werden über :mod:" +"`sysconfig` an C-Erweiterungen von Dritten weitergegeben. Auf Compilern, die " +"sie nicht kennen, überspringt der Build sie stillschweigend." -#: ../../using/configure.rst:804 +#: ../../using/configure.rst:811 msgid "" "Downstream packagers and authors of native libraries built with custom build " "systems should set the same flags so the unwind chain stays unbroken across " @@ -1520,14 +1526,14 @@ msgstr "" "Bausystemen gebaut werden, sollten dieselben Flags setzen, damit die Unwind-" "Kette über alle nativen Frames hinweg nicht reißt." -#: ../../using/configure.rst:812 +#: ../../using/configure.rst:819 msgid "" "Disable the fast :ref:`mimalloc ` allocator (enabled by default)." msgstr "" "Schaltet den schnellen Allokator :ref:`mimalloc ` ab " "(standardmäßig eingeschaltet)." -#: ../../using/configure.rst:815 +#: ../../using/configure.rst:822 msgid "" "This option cannot be used together with :option:`--disable-gil` because " "the :term:`free-threaded ` build requires mimalloc." @@ -1536,11 +1542,11 @@ msgstr "" "verwenden, weil der :term:`free-threaded ` Build mimalloc " "benötigt." -#: ../../using/configure.rst:818 ../../using/configure.rst:825 +#: ../../using/configure.rst:825 ../../using/configure.rst:832 msgid "See also :envvar:`PYTHONMALLOC` environment variable." msgstr "Siehe auch die Umgebungsvariable :envvar:`PYTHONMALLOC`." -#: ../../using/configure.rst:822 +#: ../../using/configure.rst:829 msgid "" "Disable the specialized Python memory allocator :ref:`pymalloc ` " "(enabled by default)." @@ -1548,43 +1554,41 @@ msgstr "" "Schaltet den spezialisierten Python-Speicherallokator :ref:`pymalloc " "` ab (standardmäßig eingeschaltet)." -#: ../../using/configure.rst:829 +#: ../../using/configure.rst:836 msgid "" "Enable huge page support for :ref:`pymalloc ` arenas (disabled by " "default). When enabled, the arena size on 64-bit platforms is increased to 2 " "MiB and arena allocation uses ``MAP_HUGETLB`` (Linux) or ``MEM_LARGE_PAGES`` " "(Windows) with automatic fallback to regular pages." msgstr "" -"Schaltet die Unterstützung großer Speicherseiten für die Arenen " -"von :ref:`pymalloc ` ein (standardmäßig abgeschaltet). Wenn " -"eingeschaltet, wächst die Arenengröße auf 64-Bit-Plattformen auf 2 MiB, und " -"die Arenen werden mit ``MAP_HUGETLB`` (Linux) beziehungsweise " -"``MEM_LARGE_PAGES`` (Windows) belegt, mit automatischem Rückfall auf " -"gewöhnliche Seiten." +"Schaltet die Unterstützung großer Speicherseiten für die Arenen von :ref:" +"`pymalloc ` ein (standardmäßig abgeschaltet). Wenn eingeschaltet, " +"wächst die Arenengröße auf 64-Bit-Plattformen auf 2 MiB, und die Arenen " +"werden mit ``MAP_HUGETLB`` (Linux) beziehungsweise ``MEM_LARGE_PAGES`` " +"(Windows) belegt, mit automatischem Rückfall auf gewöhnliche Seiten." -#: ../../using/configure.rst:834 +#: ../../using/configure.rst:841 msgid "" "Even when compiled with this option, huge pages are **not** used at runtime " "unless the :envvar:`PYTHON_PYMALLOC_HUGEPAGES` environment variable is set " "to ``1``. This opt-in is required because huge pages" msgstr "" "Selbst wenn mit dieser Option kompiliert wurde, werden große Speicherseiten " -"zur Laufzeit **nicht** verwendet, solange die " -"Umgebungsvariable :envvar:`PYTHON_PYMALLOC_HUGEPAGES` nicht auf ``1`` " -"gesetzt ist. Diese ausdrückliche Zustimmung ist nötig, weil große " -"Speicherseiten" +"zur Laufzeit **nicht** verwendet, solange die Umgebungsvariable :envvar:" +"`PYTHON_PYMALLOC_HUGEPAGES` nicht auf ``1`` gesetzt ist. Diese ausdrückliche " +"Zustimmung ist nötig, weil große Speicherseiten" -#: ../../using/configure.rst:838 +#: ../../using/configure.rst:845 msgid "" "carry risks on Linux: if the huge-page pool is exhausted, page faults " "(including copy-on-write faults after :func:`os.fork`) deliver ``SIGBUS`` " "and kill the process." msgstr "" "unter Linux Risiken tragen: Ist der Vorrat an großen Speicherseiten " -"erschöpft, liefern Seitenfehler (auch Copy-on-Write-Fehler " -"nach :func:`os.fork`) ein ``SIGBUS`` und beenden den Prozess." +"erschöpft, liefern Seitenfehler (auch Copy-on-Write-Fehler nach :func:`os." +"fork`) ein ``SIGBUS`` und beenden den Prozess." -#: ../../using/configure.rst:842 +#: ../../using/configure.rst:849 msgid "" "need a special privilege on Windows. See the `Windows documentation for " "large pages `_. Python schlägt beim Start fehl, " -"wenn der Benutzer das nötige Recht `SeLockMemoryPrivilege `_ nicht " -"besitzt." +"wenn der Benutzer das nötige Recht `SeLockMemoryPrivilege `_ nicht besitzt." -#: ../../using/configure.rst:849 +#: ../../using/configure.rst:856 msgid "" "The configure script checks that the platform supports ``MAP_HUGETLB`` and " "emits a warning if it is not available." @@ -1609,7 +1612,7 @@ msgstr "" "Das Skript configure prüft, ob die Plattform ``MAP_HUGETLB`` unterstützt, " "und gibt eine Warnung aus, wenn es nicht verfügbar ist." -#: ../../using/configure.rst:852 +#: ../../using/configure.rst:859 msgid "" "On Windows, use the ``--pymalloc-hugepages`` flag with ``build.bat`` or set " "the ``UsePymallocHugepages`` MSBuild property." @@ -1617,7 +1620,7 @@ msgstr "" "Verwende unter Windows das Flag ``--pymalloc-hugepages`` mit ``build.bat`` " "oder setze die MSBuild-Eigenschaft ``UsePymallocHugepages``." -#: ../../using/configure.rst:859 +#: ../../using/configure.rst:866 msgid "" "Disable static documentation strings to reduce the memory footprint (enabled " "by default). Documentation strings defined in Python are not affected." @@ -1626,21 +1629,21 @@ msgstr "" "verringern (standardmäßig eingeschaltet). In Python definierte " "Dokumentationszeichenketten sind davon nicht betroffen." -#: ../../using/configure.rst:862 +#: ../../using/configure.rst:869 msgid "Don't define the ``WITH_DOC_STRINGS`` macro." msgstr "Definiert das Makro ``WITH_DOC_STRINGS`` nicht." -#: ../../using/configure.rst:864 +#: ../../using/configure.rst:871 msgid "See the ``PyDoc_STRVAR()`` macro." msgstr "Siehe das Makro ``PyDoc_STRVAR()``." -#: ../../using/configure.rst:868 +#: ../../using/configure.rst:875 msgid "Enable C-level code profiling with ``gprof`` (disabled by default)." msgstr "" "Schaltet die Profilierung von Code auf C-Ebene mit ``gprof`` ein " "(standardmäßig abgeschaltet)." -#: ../../using/configure.rst:872 +#: ../../using/configure.rst:879 msgid "" "Add ``-fstrict-overflow`` to the C compiler flags (by default we add ``-fno-" "strict-overflow`` instead)." @@ -1648,7 +1651,7 @@ msgstr "" "Fügt ``-fstrict-overflow`` zu den Flags des C-Compilers hinzu (standardmäßig " "fügen wir stattdessen ``-fno-strict-overflow`` hinzu)." -#: ../../using/configure.rst:877 +#: ../../using/configure.rst:884 msgid "" "Deactivate remote debugging support described in :pep:`768` (enabled by " "default). When this flag is provided the code that allows the interpreter to " @@ -1664,15 +1667,15 @@ msgstr "" "beschrieben. Das betrifft sowohl die Möglichkeit, Code zur Ausführung " "einzuplanen, als auch die, Code zur Ausführung zu empfangen." -#: ../../using/configure.rst:885 +#: ../../using/configure.rst:892 msgid "" -"This macro is defined by default, unless Python is configured " -"with :option:`--without-remote-debug`." +"This macro is defined by default, unless Python is configured with :option:" +"`--without-remote-debug`." msgstr "" "Dieses Makro ist standardmäßig definiert, sofern Python nicht mit :option:`--" "without-remote-debug` konfiguriert wurde." -#: ../../using/configure.rst:888 +#: ../../using/configure.rst:895 msgid "" "Note that even if the macro is defined, remote debugging may not be " "available (for example, on an incompatible platform)." @@ -1680,11 +1683,11 @@ msgstr "" "Beachte, dass die Fernfehlersuche auch bei definiertem Makro möglicherweise " "nicht verfügbar ist, etwa auf einer unverträglichen Plattform." -#: ../../using/configure.rst:897 +#: ../../using/configure.rst:904 msgid "Python Debug Build" msgstr "Debug-Build von Python" -#: ../../using/configure.rst:899 +#: ../../using/configure.rst:906 msgid "" "A debug build is Python built with the :option:`--with-pydebug` configure " "option." @@ -1692,11 +1695,11 @@ msgstr "" "Ein Debug-Build ist ein Python, das mit der configure-Option :option:`--with-" "pydebug` gebaut wurde." -#: ../../using/configure.rst:902 +#: ../../using/configure.rst:909 msgid "Effects of a debug build:" msgstr "Wirkung eines Debug-Builds:" -#: ../../using/configure.rst:904 +#: ../../using/configure.rst:911 msgid "" "Display all warnings by default: the list of default warning filters is " "empty in the :mod:`warnings` module." @@ -1704,27 +1707,27 @@ msgstr "" "Zeigt standardmäßig alle Warnungen an: die Liste der Standard-Warnfilter im " "Modul :mod:`warnings` ist leer." -#: ../../using/configure.rst:906 +#: ../../using/configure.rst:913 msgid "Add ``d`` to :data:`sys.abiflags`." msgstr "Fügt ``d`` zu :data:`sys.abiflags` hinzu." -#: ../../using/configure.rst:907 +#: ../../using/configure.rst:914 msgid "Add :func:`!sys.gettotalrefcount` function." msgstr "Fügt die Funktion :func:`!sys.gettotalrefcount` hinzu." -#: ../../using/configure.rst:908 +#: ../../using/configure.rst:915 msgid "Add :option:`-X showrefcount <-X>` command line option." msgstr "Fügt die Befehlszeilenoption :option:`-X showrefcount <-X>` hinzu." -#: ../../using/configure.rst:909 +#: ../../using/configure.rst:916 msgid "" "Add :option:`-d` command line option and :envvar:`PYTHONDEBUG` environment " "variable to debug the parser." msgstr "" -"Fügt die Befehlszeilenoption :option:`-d` und die " -"Umgebungsvariable :envvar:`PYTHONDEBUG` hinzu, um den Parser zu untersuchen." +"Fügt die Befehlszeilenoption :option:`-d` und die Umgebungsvariable :envvar:" +"`PYTHONDEBUG` hinzu, um den Parser zu untersuchen." -#: ../../using/configure.rst:911 +#: ../../using/configure.rst:918 msgid "" "Add support for the ``__lltrace__`` variable: enable low-level tracing in " "the bytecode evaluation loop if the variable is defined." @@ -1733,7 +1736,7 @@ msgstr "" "Verfolgung auf niedriger Ebene in der Bytecode-Auswertungsschleife ein, wenn " "die Variable definiert ist." -#: ../../using/configure.rst:913 +#: ../../using/configure.rst:920 msgid "" "Install :ref:`debug hooks on memory allocators ` " "to detect buffer overflow and other memory errors." @@ -1741,11 +1744,11 @@ msgstr "" "Installiert :ref:`Debug-Haken an den Speicherallokatoren `, um Pufferüberläufe und andere Speicherfehler zu erkennen." -#: ../../using/configure.rst:915 +#: ../../using/configure.rst:922 msgid "Define ``Py_DEBUG`` and ``Py_REF_DEBUG`` macros." msgstr "Definiert die Makros ``Py_DEBUG`` und ``Py_REF_DEBUG``." -#: ../../using/configure.rst:916 +#: ../../using/configure.rst:923 msgid "" "Add runtime checks: code surrounded by ``#ifdef Py_DEBUG`` and ``#endif``. " "Enable ``assert(...)`` and ``_PyObject_ASSERT(...)`` assertions: don't set " @@ -1758,11 +1761,11 @@ msgstr "" "(siehe auch die configure-Option :option:`--with-assertions`). Die " "wichtigsten Laufzeitprüfungen:" -#: ../../using/configure.rst:921 +#: ../../using/configure.rst:928 msgid "Add sanity checks on the function arguments." msgstr "Fügt Plausibilitätsprüfungen der Funktionsargumente hinzu." -#: ../../using/configure.rst:922 +#: ../../using/configure.rst:929 msgid "" "Unicode and int objects are created with their memory filled with a pattern " "to detect usage of uninitialized objects." @@ -1770,7 +1773,7 @@ msgstr "" "Unicode- und int-Objekte werden mit einem Muster im Speicher erzeugt, damit " "die Verwendung nicht initialisierter Objekte auffällt." -#: ../../using/configure.rst:924 +#: ../../using/configure.rst:931 msgid "" "Ensure that functions which can clear or replace the current exception are " "not called with an exception raised." @@ -1778,11 +1781,11 @@ msgstr "" "Stellt sicher, dass Funktionen, die die aktuelle Ausnahme löschen oder " "ersetzen können, nicht bei ausgelöster Ausnahme aufgerufen werden." -#: ../../using/configure.rst:926 +#: ../../using/configure.rst:933 msgid "Check that deallocator functions don't change the current exception." msgstr "Prüft, dass Freigabefunktionen die aktuelle Ausnahme nicht verändern." -#: ../../using/configure.rst:927 +#: ../../using/configure.rst:934 msgid "" "The garbage collector (:func:`gc.collect` function) runs some basic checks " "on objects consistency." @@ -1790,7 +1793,7 @@ msgstr "" "Der Garbage Collector (Funktion :func:`gc.collect`) führt einige " "grundlegende Prüfungen der Objektkonsistenz durch." -#: ../../using/configure.rst:929 +#: ../../using/configure.rst:936 msgid "" "The :c:macro:`!Py_SAFE_DOWNCAST()` macro checks for integer underflow and " "overflow when downcasting from wide types to narrow types." @@ -1798,7 +1801,7 @@ msgstr "" "Das Makro :c:macro:`!Py_SAFE_DOWNCAST()` prüft auf Unter- und Überlauf von " "Ganzzahlen, wenn von breiten auf schmale Typen herabgecastet wird." -#: ../../using/configure.rst:932 +#: ../../using/configure.rst:939 msgid "" "See also the :ref:`Python Development Mode ` and the :option:`--" "with-trace-refs` configure option." @@ -1806,12 +1809,12 @@ msgstr "" "Siehe auch den :ref:`Entwicklungsmodus von Python ` und die " "configure-Option :option:`--with-trace-refs`." -#: ../../using/configure.rst:935 +#: ../../using/configure.rst:942 msgid "" "Release builds are now ABI compatible with debug builds: defining the " -"``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro (see " -"the :option:`--with-trace-refs` option). However, debug builds still expose " -"more symbols than release builds and code built against a debug build is not " +"``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro (see the :" +"option:`--with-trace-refs` option). However, debug builds still expose more " +"symbols than release builds and code built against a debug build is not " "necessarily compatible with a release build." msgstr "" "Release-Builds sind nun ABI-verträglich mit Debug-Builds: das Definieren des " @@ -1821,11 +1824,11 @@ msgstr "" "gegen einen Debug-Build gebaut wurde, ist nicht zwangsläufig mit einem " "Release-Build verträglich." -#: ../../using/configure.rst:944 +#: ../../using/configure.rst:951 msgid "Debug options" msgstr "Debug-Optionen" -#: ../../using/configure.rst:948 +#: ../../using/configure.rst:955 msgid "" ":ref:`Build Python in debug mode `: define the ``Py_DEBUG`` " "macro (disabled by default)." @@ -1833,25 +1836,25 @@ msgstr "" ":ref:`Baut Python im Debug-Modus `: definiert das Makro " "``Py_DEBUG`` (standardmäßig abgeschaltet)." -#: ../../using/configure.rst:953 +#: ../../using/configure.rst:960 msgid "Enable tracing references for debugging purpose (disabled by default)." msgstr "" "Schaltet die Verfolgung von Referenzen zur Fehlersuche ein (standardmäßig " "abgeschaltet)." -#: ../../using/configure.rst:957 +#: ../../using/configure.rst:964 msgid "Define the ``Py_TRACE_REFS`` macro." msgstr "Definiert das Makro ``Py_TRACE_REFS``." -#: ../../using/configure.rst:958 +#: ../../using/configure.rst:965 msgid "Add :func:`sys.getobjects` function." msgstr "Fügt die Funktion :func:`sys.getobjects` hinzu." -#: ../../using/configure.rst:959 +#: ../../using/configure.rst:966 msgid "Add :envvar:`PYTHONDUMPREFS` environment variable." msgstr "Fügt die Umgebungsvariable :envvar:`PYTHONDUMPREFS` hinzu." -#: ../../using/configure.rst:961 +#: ../../using/configure.rst:968 msgid "" "The :envvar:`PYTHONDUMPREFS` environment variable can be used to dump " "objects and reference counts still alive at Python exit." @@ -1859,35 +1862,35 @@ msgstr "" "Mit der Umgebungsvariablen :envvar:`PYTHONDUMPREFS` lassen sich Objekte und " "Referenzzähler ausgeben, die beim Beenden von Python noch leben." -#: ../../using/configure.rst:964 +#: ../../using/configure.rst:971 msgid ":ref:`Statically allocated objects ` are not traced." msgstr ":ref:`Statisch belegte Objekte ` werden nicht verfolgt." -#: ../../using/configure.rst:968 +#: ../../using/configure.rst:975 msgid "" "This build is now ABI compatible with release build and :ref:`debug build " "`." msgstr "" -"Dieser Build ist nun ABI-verträglich mit dem Release-Build und " -"dem :ref:`Debug-Build `." +"Dieser Build ist nun ABI-verträglich mit dem Release-Build und dem :ref:" +"`Debug-Build `." -#: ../../using/configure.rst:974 +#: ../../using/configure.rst:981 msgid "" "Build with C assertions enabled (default is no): ``assert(...);`` and " "``_PyObject_ASSERT(...);``." msgstr "" -"Baut mit eingeschalteten C-Zusicherungen (Vorgabe ist nein): " -"``assert(...);`` und ``_PyObject_ASSERT(...);``." +"Baut mit eingeschalteten C-Zusicherungen (Vorgabe ist nein): ``assert(...);" +"`` und ``_PyObject_ASSERT(...);``." -#: ../../using/configure.rst:977 +#: ../../using/configure.rst:984 msgid "" "If set, the ``NDEBUG`` macro is not defined in the :envvar:`OPT` compiler " "variable." msgstr "" -"Wenn gesetzt, wird das Makro ``NDEBUG`` in der Compiler-" -"Variablen :envvar:`OPT` nicht definiert." +"Wenn gesetzt, wird das Makro ``NDEBUG`` in der Compiler-Variablen :envvar:" +"`OPT` nicht definiert." -#: ../../using/configure.rst:980 +#: ../../using/configure.rst:987 msgid "" "See also the :option:`--with-pydebug` option (:ref:`debug build `) which also enables assertions." @@ -1895,26 +1898,26 @@ msgstr "" "Siehe auch die Option :option:`--with-pydebug` (:ref:`Debug-Build `), die Zusicherungen ebenfalls einschaltet." -#: ../../using/configure.rst:987 +#: ../../using/configure.rst:994 msgid "Enable Valgrind support (default is no)." msgstr "Schaltet die Unterstützung für Valgrind ein (Vorgabe ist nein)." -#: ../../using/configure.rst:991 +#: ../../using/configure.rst:998 msgid "Enable DTrace support (default is no)." msgstr "Schaltet die Unterstützung für DTrace ein (Vorgabe ist nein)." -#: ../../using/configure.rst:993 +#: ../../using/configure.rst:1000 msgid "" "See :ref:`Instrumenting CPython with DTrace and SystemTap `." msgstr "" "Siehe :ref:`CPython mit DTrace und SystemTap instrumentieren " "`." -#: ../../using/configure.rst:1000 +#: ../../using/configure.rst:1007 msgid "" "Enable AddressSanitizer memory error detector, ``asan`` (default is no). To " -"improve ASan detection capabilities you may also want to combine this " -"with :option:`--without-pymalloc` to disable the specialized small-object " +"improve ASan detection capabilities you may also want to combine this with :" +"option:`--without-pymalloc` to disable the specialized small-object " "allocator whose allocations are not tracked by ASan." msgstr "" "Schaltet den Speicherfehlersucher AddressSanitizer ein, ``asan`` (Vorgabe " @@ -1923,14 +1926,21 @@ msgstr "" "spezialisierten Allokator für kleine Objekte abzuschalten, dessen Belegungen " "ASan nicht verfolgt." -#: ../../using/configure.rst:1009 +#: ../../using/configure.rst:1016 msgid "" "Enable MemorySanitizer allocation error detector, ``msan`` (default is no)." msgstr "" "Schaltet den Belegungsfehlersucher MemorySanitizer ein, ``msan`` (Vorgabe " "ist nein)." -#: ../../using/configure.rst:1015 +#: ../../using/configure.rst:1018 +msgid "" +"MSan reports false positives for memory initialized by libraries that are " +"not built with MSan, so either build all dependencies with MSan or disable " +"the extension modules that use them in :file:`Modules/Setup.local`." +msgstr "" + +#: ../../using/configure.rst:1026 msgid "" "Enable UndefinedBehaviorSanitizer undefined behaviour detector, ``ubsan`` " "(default is no)." @@ -1938,18 +1948,18 @@ msgstr "" "Schaltet den Sucher für undefiniertes Verhalten UndefinedBehaviorSanitizer " "ein, ``ubsan`` (Vorgabe ist nein)." -#: ../../using/configure.rst:1022 +#: ../../using/configure.rst:1033 msgid "Enable ThreadSanitizer data race detector, ``tsan`` (default is no)." msgstr "" "Schaltet den Wettlaufsucher ThreadSanitizer ein, ``tsan`` (Vorgabe ist nein)." -#: ../../using/configure.rst:1033 +#: ../../using/configure.rst:1044 msgid "Enable building a shared Python library: ``libpython`` (default is no)." msgstr "" "Schaltet das Bauen einer gemeinsam genutzten Python-Bibliothek ein: " "``libpython`` (Vorgabe ist nein)." -#: ../../using/configure.rst:1037 +#: ../../using/configure.rst:1048 msgid "" "Do not build ``libpythonMAJOR.MINOR.a`` and do not install ``python.o`` " "(built and enabled by default)." @@ -1957,7 +1967,7 @@ msgstr "" "Baut ``libpythonMAJOR.MINOR.a`` nicht und installiert ``python.o`` nicht " "(wird standardmäßig gebaut und eingeschaltet)." -#: ../../using/configure.rst:1044 +#: ../../using/configure.rst:1055 msgid "" "Do not link the Python interpreter binary (``python3``) against the shared " "Python library; instead, statically link the interpreter against " @@ -1970,12 +1980,12 @@ msgstr "" "genutzte ``libpython`` aber weiterhin (zur Verwendung durch andere " "Programme)." -#: ../../using/configure.rst:1050 +#: ../../using/configure.rst:1061 msgid "This option does nothing if ``--enable-shared`` is not used." msgstr "" "Diese Option bewirkt nichts, wenn ``--enable-shared`` nicht verwendet wird." -#: ../../using/configure.rst:1052 +#: ../../using/configure.rst:1063 msgid "" "The default (when ``-enable-shared`` is used) is to link the Python " "interpreter against the built shared library." @@ -1983,15 +1993,15 @@ msgstr "" "Standardmäßig wird (bei Verwendung von ``-enable-shared``) der Python-" "Interpreter gegen die gebaute gemeinsam genutzte Bibliothek gelinkt." -#: ../../using/configure.rst:1059 +#: ../../using/configure.rst:1070 msgid "Libraries options" msgstr "Optionen für Bibliotheken" -#: ../../using/configure.rst:1063 +#: ../../using/configure.rst:1074 msgid "Link against additional libraries (default is no)." msgstr "Linkt gegen zusätzliche Bibliotheken (Vorgabe ist nein)." -#: ../../using/configure.rst:1067 +#: ../../using/configure.rst:1078 msgid "" "Build the :mod:`!pyexpat` module using an installed ``expat`` library " "(default is no)." @@ -1999,7 +2009,7 @@ msgstr "" "Baut das Modul :mod:`!pyexpat` mit einer installierten ``expat``-Bibliothek " "(Vorgabe ist nein)." -#: ../../using/configure.rst:1072 +#: ../../using/configure.rst:1083 msgid "" "Build the ``_decimal`` extension module using an installed ``mpdecimal`` " "library, see the :mod:`decimal` module (default is yes)." @@ -2007,11 +2017,11 @@ msgstr "" "Baut das Erweiterungsmodul ``_decimal`` mit einer installierten " "``mpdecimal``-Bibliothek, siehe das Modul :mod:`decimal` (Vorgabe ist ja)." -#: ../../using/configure.rst:1077 +#: ../../using/configure.rst:1088 msgid "Default to using the installed ``mpdecimal`` library." msgstr "Verwendet standardmäßig die installierte ``mpdecimal``-Bibliothek." -#: ../../using/configure.rst:1082 +#: ../../using/configure.rst:1093 msgid "" "A bundled copy of the library will no longer be selected implicitly if an " "installed ``mpdecimal`` library is not found. In Python 3.15 only, it can " @@ -2023,7 +2033,7 @@ msgstr "" "in Python 3.15 lässt sie sich noch ausdrücklich mit ``--with-system-" "libmpdec=no`` oder ``--without-system-libmpdec`` auswählen." -#: ../../using/configure.rst:1087 +#: ../../using/configure.rst:1098 msgid "" "A copy of the ``mpdecimal`` library sources will no longer be distributed " "with Python 3.16." @@ -2031,141 +2041,141 @@ msgstr "" "Eine Kopie der Quellen der ``mpdecimal``-Bibliothek wird mit Python 3.16 " "nicht mehr ausgeliefert." -#: ../../using/configure.rst:1091 +#: ../../using/configure.rst:1102 msgid ":option:`LIBMPDEC_CFLAGS` and :option:`LIBMPDEC_LIBS`." msgstr ":option:`LIBMPDEC_CFLAGS` and :option:`LIBMPDEC_LIBS`." -#: ../../using/configure.rst:1095 +#: ../../using/configure.rst:1106 msgid "Designate a backend library for the :mod:`readline` module." msgstr "Bestimmt eine Backend-Bibliothek für das Modul :mod:`readline`." -#: ../../using/configure.rst:1097 +#: ../../using/configure.rst:1108 msgid "readline: Use readline as the backend." msgstr "readline: Verwendet readline als Backend." -#: ../../using/configure.rst:1098 +#: ../../using/configure.rst:1109 msgid "editline: Use editline as the backend." msgstr "editline: Verwendet editline als Backend." -#: ../../using/configure.rst:1104 +#: ../../using/configure.rst:1115 msgid "Don't build the :mod:`readline` module (built by default)." msgstr "Baut das Modul :mod:`readline` nicht (wird standardmäßig gebaut)." -#: ../../using/configure.rst:1106 +#: ../../using/configure.rst:1117 msgid "Don't define the ``HAVE_LIBREADLINE`` macro." msgstr "Definiert das Makro ``HAVE_LIBREADLINE`` nicht." -#: ../../using/configure.rst:1112 +#: ../../using/configure.rst:1123 msgid "" "Override ``libm`` math library to *STRING* (default is system-dependent)." msgstr "" "Überschreibt die Mathematikbibliothek ``libm`` mit *STRING* (Vorgabe ist " "systemabhängig)." -#: ../../using/configure.rst:1116 +#: ../../using/configure.rst:1127 msgid "Override ``libc`` C library to *STRING* (default is system-dependent)." msgstr "" "Überschreibt die C-Bibliothek ``libc`` mit *STRING* (Vorgabe ist " "systemabhängig)." -#: ../../using/configure.rst:1120 +#: ../../using/configure.rst:1131 msgid "Root of the OpenSSL directory." msgstr "Wurzelverzeichnis von OpenSSL." -#: ../../using/configure.rst:1126 +#: ../../using/configure.rst:1137 msgid "Set runtime library directory (rpath) for OpenSSL libraries:" msgstr "" "Legt das Laufzeit-Bibliotheksverzeichnis (rpath) für die OpenSSL-" "Bibliotheken fest:" -#: ../../using/configure.rst:1128 +#: ../../using/configure.rst:1139 msgid "``no`` (default): don't set rpath;" msgstr "``no`` (Vorgabe): setzt keinen rpath;" -#: ../../using/configure.rst:1129 +#: ../../using/configure.rst:1140 msgid "" "``auto``: auto-detect rpath from :option:`--with-openssl` and ``pkg-config``;" msgstr "" "``auto``: ermittelt den rpath selbsttätig aus :option:`--with-openssl` und " "``pkg-config``;" -#: ../../using/configure.rst:1131 +#: ../../using/configure.rst:1142 msgid "*DIR*: set an explicit rpath." msgstr "*DIR*: setzt einen ausdrücklichen rpath." -#: ../../using/configure.rst:1137 +#: ../../using/configure.rst:1148 msgid "Security Options" msgstr "Sicherheitsoptionen" -#: ../../using/configure.rst:1141 +#: ../../using/configure.rst:1152 msgid "Select hash algorithm for use in ``Python/pyhash.c``:" msgstr "Wählt den Hash-Algorithmus für die Verwendung in ``Python/pyhash.c``:" -#: ../../using/configure.rst:1143 +#: ../../using/configure.rst:1154 msgid "``siphash13`` (default);" msgstr "``siphash13`` (default);" -#: ../../using/configure.rst:1144 +#: ../../using/configure.rst:1155 msgid "``siphash24``;" msgstr "``siphash24``;" -#: ../../using/configure.rst:1145 +#: ../../using/configure.rst:1156 msgid "``fnv``." msgstr "``fnv``." -#: ../../using/configure.rst:1149 +#: ../../using/configure.rst:1160 msgid "``siphash13`` is added and it is the new default." msgstr "``siphash13`` kam hinzu und ist die neue Vorgabe." -#: ../../using/configure.rst:1154 +#: ../../using/configure.rst:1165 msgid "Built-in hash modules:" msgstr "Integrierte Hash-Module:" -#: ../../using/configure.rst:1156 +#: ../../using/configure.rst:1167 msgid "``md5``;" msgstr "``md5``;" -#: ../../using/configure.rst:1157 +#: ../../using/configure.rst:1168 msgid "``sha1``;" msgstr "``sha1``;" -#: ../../using/configure.rst:1158 +#: ../../using/configure.rst:1169 msgid "``sha256``;" msgstr "``sha256``;" -#: ../../using/configure.rst:1159 +#: ../../using/configure.rst:1170 msgid "``sha512``;" msgstr "``sha512``;" -#: ../../using/configure.rst:1160 +#: ../../using/configure.rst:1171 msgid "``sha3`` (with shake);" msgstr "``sha3`` (mit shake);" -#: ../../using/configure.rst:1161 +#: ../../using/configure.rst:1172 msgid "``blake2``." msgstr "``blake2``." -#: ../../using/configure.rst:1167 +#: ../../using/configure.rst:1178 msgid "Override the OpenSSL default cipher suites string:" msgstr "Überschreibt die Zeichenkette der Standard-Cipher-Suites von OpenSSL:" -#: ../../using/configure.rst:1169 +#: ../../using/configure.rst:1180 msgid "``python`` (default): use Python's preferred selection;" msgstr "``python`` (Vorgabe): verwendet die von Python bevorzugte Auswahl;" -#: ../../using/configure.rst:1170 +#: ../../using/configure.rst:1181 msgid "``openssl``: leave OpenSSL's defaults untouched;" msgstr "``openssl``: lässt die Vorgaben von OpenSSL unangetastet;" -#: ../../using/configure.rst:1171 +#: ../../using/configure.rst:1182 msgid "*STRING*: use a custom string" msgstr "*STRING*: verwendet eine eigene Zeichenkette" -#: ../../using/configure.rst:1173 +#: ../../using/configure.rst:1184 msgid "See the :mod:`ssl` module." msgstr "Siehe das Modul :mod:`ssl`." -#: ../../using/configure.rst:1179 +#: ../../using/configure.rst:1190 msgid "" "The settings ``python`` and *STRING* also set TLS 1.2 as minimum protocol " "version." @@ -2173,7 +2183,7 @@ msgstr "" "Die Einstellungen ``python`` und *STRING* setzen zusätzlich TLS 1.2 als " "niedrigste Protokollversion." -#: ../../using/configure.rst:1184 +#: ../../using/configure.rst:1195 msgid "" "Disable compiler options that are `recommended by OpenSSF`_ for security " "reasons with no performance overhead. If this option is not enabled, CPython " @@ -2188,14 +2198,14 @@ msgstr "" "Ist sie eingeschaltet, wird CPython ohne die unten aufgeführten Compiler-" "Optionen gebaut." -#: ../../using/configure.rst:1188 +#: ../../using/configure.rst:1199 msgid "" "The following compiler options are disabled with :option:`!--disable-safety`:" msgstr "" "Mit :option:`!--disable-safety` werden die folgenden Compiler-Optionen " "abgeschaltet:" -#: ../../using/configure.rst:1190 +#: ../../using/configure.rst:1201 msgid "" "`-fstack-protector-strong`_: Enable run-time checks for stack-based buffer " "overflows." @@ -2203,7 +2213,7 @@ msgstr "" "`-fstack-protector-strong`_: Schaltet Laufzeitprüfungen auf Pufferüberläufe " "im Stapel ein." -#: ../../using/configure.rst:1191 +#: ../../using/configure.rst:1202 msgid "" "`-Wtrampolines`_: Enable warnings about trampolines that require executable " "stacks." @@ -2211,7 +2221,7 @@ msgstr "" "`-Wtrampolines`_: Schaltet Warnungen über Trampoline ein, die ausführbare " "Stapel benötigen." -#: ../../using/configure.rst:1201 +#: ../../using/configure.rst:1212 msgid "" "Enable compiler options that are `recommended by OpenSSF`_ for security " "reasons which require overhead. If this option is not enabled, CPython will " @@ -2226,7 +2236,7 @@ msgstr "" "beeinträchtigen. Ist sie eingeschaltet, wird CPython mit den unten " "aufgeführten Compiler-Optionen gebaut." -#: ../../using/configure.rst:1205 +#: ../../using/configure.rst:1216 msgid "" "The following compiler options are enabled with :option:`!--enable-slower-" "safety`:" @@ -2234,7 +2244,7 @@ msgstr "" "Mit :option:`!--enable-slower-safety` werden die folgenden Compiler-Optionen " "eingeschaltet:" -#: ../../using/configure.rst:1207 +#: ../../using/configure.rst:1218 msgid "" "`-D_FORTIFY_SOURCE=3`_: Fortify sources with compile- and run-time checks " "for unsafe libc usage and buffer overflows." @@ -2242,15 +2252,15 @@ msgstr "" "`-D_FORTIFY_SOURCE=3`_: Härtet die Quellen mit Prüfungen zur Übersetzungs- " "und Laufzeit gegen unsichere Verwendung der libc und gegen Pufferüberläufe." -#: ../../using/configure.rst:1215 +#: ../../using/configure.rst:1226 msgid "macOS Options" msgstr "macOS-Optionen" -#: ../../using/configure.rst:1217 +#: ../../using/configure.rst:1228 msgid "See :source:`Mac/README.rst`." msgstr "Siehe :source:`Mac/README.rst`." -#: ../../using/configure.rst:1222 +#: ../../using/configure.rst:1233 msgid "" "Create a universal binary build. *SDKDIR* specifies which macOS SDK should " "be used to perform the build (default is no)." @@ -2258,7 +2268,7 @@ msgstr "" "Erzeugt einen Build als universelle Binärdatei. *SDKDIR* gibt an, welches " "macOS-SDK für den Build verwendet werden soll (Vorgabe ist nein)." -#: ../../using/configure.rst:1228 +#: ../../using/configure.rst:1239 msgid "" "Create a Python.framework rather than a traditional Unix install. Optional " "*INSTALLDIR* specifies the installation path (default is no)." @@ -2266,7 +2276,7 @@ msgstr "" "Erzeugt ein Python.framework anstelle einer herkömmlichen Unix-Installation. " "Das optionale *INSTALLDIR* gibt den Installationspfad an (Vorgabe ist nein)." -#: ../../using/configure.rst:1233 +#: ../../using/configure.rst:1244 msgid "" "Specify the kind of universal binary that should be created. This option is " "only valid when :option:`--enable-universalsdk` is set." @@ -2274,43 +2284,43 @@ msgstr "" "Gibt an, welche Art universeller Binärdatei erzeugt werden soll. Diese " "Option ist nur gültig, wenn :option:`--enable-universalsdk` gesetzt ist." -#: ../../using/configure.rst:1236 +#: ../../using/configure.rst:1247 msgid "Options:" msgstr "Optionen:" -#: ../../using/configure.rst:1238 +#: ../../using/configure.rst:1249 msgid "``universal2`` (x86-64 and arm64);" msgstr "``universal2`` (x86-64 und arm64);" -#: ../../using/configure.rst:1239 +#: ../../using/configure.rst:1250 msgid "``32-bit`` (PPC and i386);" msgstr "``32-bit`` (PPC und i386);" -#: ../../using/configure.rst:1240 +#: ../../using/configure.rst:1251 msgid "``64-bit`` (PPC64 and x86-64);" msgstr "``64-bit`` (PPC64 und x86-64);" -#: ../../using/configure.rst:1241 +#: ../../using/configure.rst:1252 msgid "``3-way`` (i386, PPC and x86-64);" msgstr "``3-way`` (i386, PPC und x86-64);" -#: ../../using/configure.rst:1242 +#: ../../using/configure.rst:1253 msgid "``intel`` (i386 and x86-64);" msgstr "``intel`` (i386 und x86-64);" -#: ../../using/configure.rst:1243 +#: ../../using/configure.rst:1254 msgid "``intel-32`` (i386);" msgstr "``intel-32`` (i386);" -#: ../../using/configure.rst:1244 +#: ../../using/configure.rst:1255 msgid "``intel-64`` (x86-64);" msgstr "``intel-64`` (x86-64);" -#: ../../using/configure.rst:1245 +#: ../../using/configure.rst:1256 msgid "``all`` (PPC, i386, PPC64 and x86-64)." msgstr "``all`` (PPC, i386, PPC64 und x86-64)." -#: ../../using/configure.rst:1247 +#: ../../using/configure.rst:1258 msgid "" "Note that values for this configuration item are *not* the same as the " "identifiers used for universal binary wheels on macOS. See the Python " @@ -2324,15 +2334,15 @@ msgstr "" "`_ stehen im Python Packaging User Guide" -#: ../../using/configure.rst:1255 +#: ../../using/configure.rst:1266 msgid "" -"Specify the name for the python framework on macOS only valid " -"when :option:`--enable-framework` is set (default: ``Python``)." +"Specify the name for the python framework on macOS only valid when :option:" +"`--enable-framework` is set (default: ``Python``)." msgstr "" -"Gibt den Namen des Python-Frameworks unter macOS an, nur gültig, " -"wenn :option:`--enable-framework` gesetzt ist (Vorgabe: ``Python``)." +"Gibt den Namen des Python-Frameworks unter macOS an, nur gültig, wenn :" +"option:`--enable-framework` gesetzt ist (Vorgabe: ``Python``)." -#: ../../using/configure.rst:1261 +#: ../../using/configure.rst:1272 msgid "" "The Python standard library contains strings that are known to trigger " "automated inspection tool errors when submitted for distribution by the " @@ -2347,15 +2357,15 @@ msgstr "" "der App-Stores erfüllen. Eine eigene Patch-Datei lässt sich ebenfalls " "angeben. Diese Option ist standardmäßig abgeschaltet." -#: ../../using/configure.rst:1270 +#: ../../using/configure.rst:1281 msgid "iOS Options" msgstr "iOS-Optionen" -#: ../../using/configure.rst:1272 +#: ../../using/configure.rst:1283 msgid "See :source:`Platforms/Apple/iOS/README.md`." msgstr "Siehe :source:`Platforms/Apple/iOS/README.md`." -#: ../../using/configure.rst:1276 +#: ../../using/configure.rst:1287 msgid "" "Create a Python.framework. Unlike macOS, the *INSTALLDIR* argument " "specifying the installation path is mandatory." @@ -2363,15 +2373,15 @@ msgstr "" "Erzeugt ein Python.framework. Anders als unter macOS ist das Argument " "*INSTALLDIR*, das den Installationspfad angibt, zwingend." -#: ../../using/configure.rst:1281 +#: ../../using/configure.rst:1292 msgid "Specify the name for the framework (default: ``Python``)." msgstr "Gibt den Namen des Frameworks an (Vorgabe: ``Python``)." -#: ../../using/configure.rst:1285 +#: ../../using/configure.rst:1296 msgid "Cross Compiling Options" msgstr "Optionen für das Cross-Kompilieren" -#: ../../using/configure.rst:1287 +#: ../../using/configure.rst:1298 msgid "" "Cross compiling, also known as cross building, can be used to build Python " "for another CPU architecture or platform. Cross compiling requires a Python " @@ -2383,35 +2393,35 @@ msgstr "" "Python-Interpreter für die Bauplattform voraus. Die Version des bauenden " "Python muss zur Version des cross-kompilierten Ziel-Python passen." -#: ../../using/configure.rst:1294 +#: ../../using/configure.rst:1305 msgid "" "configure for building on BUILD, usually guessed by :program:`config.guess`." msgstr "" -"konfiguriert für das Bauen auf BUILD, wird üblicherweise " -"von :program:`config.guess` erraten." +"konfiguriert für das Bauen auf BUILD, wird üblicherweise von :program:" +"`config.guess` erraten." -#: ../../using/configure.rst:1298 +#: ../../using/configure.rst:1309 msgid "cross-compile to build programs to run on HOST (target platform)" msgstr "" "cross-kompiliert, um Programme zu bauen, die auf HOST (der Zielplattform) " "laufen" -#: ../../using/configure.rst:1302 +#: ../../using/configure.rst:1313 msgid "path to build ``python`` binary for cross compiling" msgstr "" "Pfad zur ausführbaren ``python``-Datei des Builds für das Cross-Kompilieren" -#: ../../using/configure.rst:1308 +#: ../../using/configure.rst:1319 msgid "An environment variable that points to a file with configure overrides." msgstr "" "Eine Umgebungsvariable, die auf eine Datei mit Überschreibungen für " "configure verweist." -#: ../../using/configure.rst:1310 +#: ../../using/configure.rst:1321 msgid "Example *config.site* file:" msgstr "Beispiel für eine Datei *config.site*:" -#: ../../using/configure.rst:1312 +#: ../../using/configure.rst:1323 msgid "" "# config.site-aarch64\n" "ac_cv_buggy_getaddrinfo=no\n" @@ -2423,17 +2433,17 @@ msgstr "" "ac_cv_file__dev_ptmx=yes\n" "ac_cv_file__dev_ptc=no" -#: ../../using/configure.rst:1321 +#: ../../using/configure.rst:1332 msgid "Program to run CPython for the host platform for cross-compilation." msgstr "" "Programm, mit dem CPython für die Zielplattform beim Cross-Kompilieren " "ausgeführt wird." -#: ../../using/configure.rst:1326 +#: ../../using/configure.rst:1337 msgid "Cross compiling example::" msgstr "Beispiel für Cross-Kompilieren::" -#: ../../using/configure.rst:1328 +#: ../../using/configure.rst:1339 msgid "" "CONFIG_SITE=config.site-aarch64 ../configure \\\n" " --build=x86_64-pc-linux-gnu \\\n" @@ -2445,51 +2455,51 @@ msgstr "" " --host=aarch64-unknown-linux-gnu \\\n" " --with-build-python=../x86_64/python" -#: ../../using/configure.rst:1335 +#: ../../using/configure.rst:1346 msgid "Python Build System" msgstr "Das Bausystem von Python" -#: ../../using/configure.rst:1338 +#: ../../using/configure.rst:1349 msgid "Main files of the build system" msgstr "Die wichtigsten Dateien des Bausystems" -#: ../../using/configure.rst:1340 +#: ../../using/configure.rst:1351 msgid ":file:`configure.ac` => :file:`configure`;" msgstr ":file:`configure.ac` => :file:`configure`;" -#: ../../using/configure.rst:1341 +#: ../../using/configure.rst:1352 msgid "" ":file:`Makefile.pre.in` => :file:`Makefile` (created by :file:`configure`);" msgstr "" ":file:`Makefile.pre.in` => :file:`Makefile` (von :file:`configure` erzeugt);" -#: ../../using/configure.rst:1342 +#: ../../using/configure.rst:1353 msgid ":file:`pyconfig.h` (created by :file:`configure`);" msgstr ":file:`pyconfig.h` (von :file:`configure` erzeugt);" -#: ../../using/configure.rst:1343 +#: ../../using/configure.rst:1354 msgid "" -":file:`Modules/Setup`: C extensions built by the Makefile " -"using :file:`Module/makesetup` shell script;" +":file:`Modules/Setup`: C extensions built by the Makefile using :file:" +"`Module/makesetup` shell script;" msgstr "" ":file:`Modules/Setup`: C-Erweiterungen, die das Makefile mit dem Shell-" "Skript :file:`Module/makesetup` baut;" -#: ../../using/configure.rst:1347 +#: ../../using/configure.rst:1358 msgid "Main build steps" msgstr "Die wichtigsten Bauschritte" -#: ../../using/configure.rst:1349 +#: ../../using/configure.rst:1360 msgid "C files (``.c``) are built as object files (``.o``)." msgstr "C-Dateien (``.c``) werden zu Objektdateien (``.o``) gebaut." -#: ../../using/configure.rst:1350 +#: ../../using/configure.rst:1361 msgid "A static ``libpython`` library (``.a``) is created from objects files." msgstr "" "Aus den Objektdateien wird eine statische ``libpython``-Bibliothek (``.a``) " "erzeugt." -#: ../../using/configure.rst:1351 +#: ../../using/configure.rst:1362 msgid "" "``python.o`` and the static ``libpython`` library are linked into the final " "``python`` program." @@ -2497,19 +2507,19 @@ msgstr "" "``python.o`` und die statische ``libpython``-Bibliothek werden zum " "endgültigen Programm ``python`` gelinkt." -#: ../../using/configure.rst:1353 +#: ../../using/configure.rst:1364 msgid "C extensions are built by the Makefile (see :file:`Modules/Setup`)." msgstr "C-Erweiterungen baut das Makefile (siehe :file:`Modules/Setup`)." -#: ../../using/configure.rst:1356 +#: ../../using/configure.rst:1367 msgid "Main Makefile targets" msgstr "Die wichtigsten Makefile-Ziele" -#: ../../using/configure.rst:1359 +#: ../../using/configure.rst:1370 msgid "make" msgstr "make" -#: ../../using/configure.rst:1361 +#: ../../using/configure.rst:1372 msgid "" "For the most part, when rebuilding after editing some code or refreshing " "your checkout from upstream, all you need to do is execute ``make``, which " @@ -2527,11 +2537,11 @@ msgstr "" "``@DEF_MAKE_ALL_RULE@`` ein, die genau beschreibt, welche Ziele ``make all`` " "baut. Es gibt drei Möglichkeiten:" -#: ../../using/configure.rst:1370 +#: ../../using/configure.rst:1381 msgid "``profile-opt`` (configured with ``--enable-optimizations``)" msgstr "``profile-opt`` (konfiguriert mit ``--enable-optimizations``)" -#: ../../using/configure.rst:1371 +#: ../../using/configure.rst:1382 msgid "" "``build_wasm`` (chosen if the host platform matches ``wasm32-wasi*`` or " "``wasm32-emscripten``)" @@ -2539,14 +2549,14 @@ msgstr "" "``build_wasm`` (gewählt, wenn die Zielplattform auf ``wasm32-wasi*`` oder " "``wasm32-emscripten`` passt)" -#: ../../using/configure.rst:1373 +#: ../../using/configure.rst:1384 msgid "" "``build_all`` (configured without explicitly using either of the others)" msgstr "" "``build_all`` (konfiguriert, ohne eines der beiden anderen ausdrücklich zu " "verwenden)" -#: ../../using/configure.rst:1375 +#: ../../using/configure.rst:1386 msgid "" "Depending on the most recent source file changes, Make will rebuild any " "targets (object files and executables) deemed out-of-date, including running " @@ -2568,11 +2578,11 @@ msgstr "" "Testprobleme hast, die du nicht anders erklären kannst, umgeht ``make clean " "&& make`` die meisten Abhängigkeitsprobleme — auf Kosten längerer Bauzeiten." -#: ../../using/configure.rst:1388 +#: ../../using/configure.rst:1399 msgid "make platform" msgstr "make platform" -#: ../../using/configure.rst:1390 +#: ../../using/configure.rst:1401 msgid "" "Build the ``python`` program, but don't build the standard library extension " "modules. This generates a file named ``platform`` which contains a single " @@ -2584,33 +2594,33 @@ msgstr "" "einer einzigen Zeile die Einzelheiten der Bauplattform beschreibt, etwa " "``macosx-14.3-arm64-3.12`` oder ``linux-x86_64-3.13``." -#: ../../using/configure.rst:1397 +#: ../../using/configure.rst:1408 msgid "make profile-opt" msgstr "make profile-opt" -#: ../../using/configure.rst:1399 +#: ../../using/configure.rst:1410 msgid "" "Build Python using profile-guided optimization (PGO). You can use the " "configure :option:`--enable-optimizations` option to make this the default " "target of the ``make`` command (``make all`` or just ``make``)." msgstr "" -"Baut Python mit profilgeführter Optimierung (PGO). Mit der configure-" -"Option :option:`--enable-optimizations` machst du das zum Standardziel des " -"Befehls ``make`` (``make all`` oder einfach ``make``)." +"Baut Python mit profilgeführter Optimierung (PGO). Mit der configure-Option :" +"option:`--enable-optimizations` machst du das zum Standardziel des Befehls " +"``make`` (``make all`` oder einfach ``make``)." -#: ../../using/configure.rst:1407 +#: ../../using/configure.rst:1418 msgid "make clean" msgstr "make clean" -#: ../../using/configure.rst:1409 +#: ../../using/configure.rst:1420 msgid "Remove built files." msgstr "Entfernt die gebauten Dateien." -#: ../../using/configure.rst:1413 +#: ../../using/configure.rst:1424 msgid "make distclean" msgstr "make distclean" -#: ../../using/configure.rst:1415 +#: ../../using/configure.rst:1426 msgid "" "In addition to the work done by ``make clean``, remove files created by the " "configure script. ``configure`` will have to be run before building again. " @@ -2620,19 +2630,19 @@ msgstr "" "erzeugten Dateien. ``configure`` muss dann vor dem nächsten Bauen erneut " "ausgeführt werden. [#]_" -#: ../../using/configure.rst:1421 +#: ../../using/configure.rst:1432 msgid "make install" msgstr "make install" -#: ../../using/configure.rst:1423 +#: ../../using/configure.rst:1434 msgid "Build the ``all`` target and install Python." msgstr "Baut das Ziel ``all`` und installiert Python." -#: ../../using/configure.rst:1427 +#: ../../using/configure.rst:1438 msgid "make test" msgstr "make test" -#: ../../using/configure.rst:1429 +#: ../../using/configure.rst:1440 msgid "" "Build the ``all`` target and run the Python test suite with the ``--fast-" "ci`` option without GUI tests. Variables:" @@ -2640,23 +2650,23 @@ msgstr "" "Baut das Ziel ``all`` und führt die Python-Testsammlung mit der Option ``--" "fast-ci`` ohne die GUI-Tests aus. Variablen:" -#: ../../using/configure.rst:1432 +#: ../../using/configure.rst:1443 msgid "``TESTOPTS``: additional regrtest command-line options." msgstr "``TESTOPTS``: zusätzliche Befehlszeilenoptionen für regrtest." -#: ../../using/configure.rst:1433 +#: ../../using/configure.rst:1444 msgid "``TESTPYTHONOPTS``: additional Python command-line options." msgstr "``TESTPYTHONOPTS``: zusätzliche Befehlszeilenoptionen für Python." -#: ../../using/configure.rst:1434 +#: ../../using/configure.rst:1445 msgid "``TESTTIMEOUT``: timeout in seconds (default: 10 minutes)." msgstr "``TESTTIMEOUT``: Zeitgrenze in Sekunden (Vorgabe: 10 Minuten)." -#: ../../using/configure.rst:1438 +#: ../../using/configure.rst:1449 msgid "make ci" msgstr "make ci" -#: ../../using/configure.rst:1440 +#: ../../using/configure.rst:1451 msgid "" "This is similar to ``make test``, but uses the ``-ugui`` to also run GUI " "tests." @@ -2664,11 +2674,11 @@ msgstr "" "Entspricht ``make test``, verwendet aber ``-ugui``, um auch die GUI-Tests " "auszuführen." -#: ../../using/configure.rst:1446 +#: ../../using/configure.rst:1457 msgid "make buildbottest" msgstr "make buildbottest" -#: ../../using/configure.rst:1448 +#: ../../using/configure.rst:1459 msgid "" "This is similar to ``make test``, but uses the ``--slow-ci`` option and " "default timeout of 20 minutes, instead of ``--fast-ci`` option." @@ -2676,11 +2686,11 @@ msgstr "" "Entspricht ``make test``, verwendet aber die Option ``--slow-ci`` und eine " "Standard-Zeitgrenze von 20 Minuten anstelle der Option ``--fast-ci``." -#: ../../using/configure.rst:1453 +#: ../../using/configure.rst:1464 msgid "make regen-all" msgstr "make regen-all" -#: ../../using/configure.rst:1455 +#: ../../using/configure.rst:1466 msgid "" "Regenerate (almost) all generated files. These include (but are not limited " "to) bytecode cases, and parser generator file. ``make regen-stdlib-module-" @@ -2692,11 +2702,11 @@ msgstr "" "module-names`` und ``autoconf`` müssen für die übrigen `erzeugten Dateien " "<#generated-files>`_ getrennt ausgeführt werden." -#: ../../using/configure.rst:1462 +#: ../../using/configure.rst:1473 msgid "C extensions" msgstr "C-Erweiterungen" -#: ../../using/configure.rst:1464 +#: ../../using/configure.rst:1475 msgid "" "Some C extensions are built as built-in modules, like the ``sys`` module. " "They are built with the ``Py_BUILD_CORE_BUILTIN`` macro defined. Built-in " @@ -2706,7 +2716,7 @@ msgstr "" "``sys``. Sie werden mit definiertem Makro ``Py_BUILD_CORE_BUILTIN`` gebaut. " "Integrierte Module haben kein Attribut ``__file__``:" -#: ../../using/configure.rst:1468 +#: ../../using/configure.rst:1479 msgid "" ">>> import sys\n" ">>> sys\n" @@ -2724,7 +2734,7 @@ msgstr "" " File \"\", line 1, in \n" "AttributeError: module 'sys' has no attribute '__file__'" -#: ../../using/configure.rst:1478 +#: ../../using/configure.rst:1489 msgid "" "Other C extensions are built as dynamic libraries, like the ``_asyncio`` " "module. They are built with the ``Py_BUILD_CORE_MODULE`` macro defined. " @@ -2734,23 +2744,23 @@ msgstr "" "Modul ``_asyncio``. Sie werden mit definiertem Makro " "``Py_BUILD_CORE_MODULE`` gebaut. Beispiel unter Linux x86-64:" -#: ../../using/configure.rst:1482 +#: ../../using/configure.rst:1493 msgid "" ">>> import _asyncio\n" ">>> _asyncio\n" -"\n" +"\n" ">>> _asyncio.__file__\n" "'/usr/lib64/python3.9/lib-dynload/_asyncio.cpython-39-x86_64-linux-gnu.so'" msgstr "" ">>> import _asyncio\n" ">>> _asyncio\n" -"\n" +"\n" ">>> _asyncio.__file__\n" "'/usr/lib64/python3.9/lib-dynload/_asyncio.cpython-39-x86_64-linux-gnu.so'" -#: ../../using/configure.rst:1490 +#: ../../using/configure.rst:1501 msgid "" ":file:`Modules/Setup` is used to generate Makefile targets to build C " "extensions. At the beginning of the files, C extensions are built as built-" @@ -2762,28 +2772,26 @@ msgstr "" "integrierte Module gebaut. Erweiterungen, die nach der Marke ``*shared*`` " "definiert sind, werden als dynamische Bibliotheken gebaut." -#: ../../using/configure.rst:1494 +#: ../../using/configure.rst:1505 msgid "" -"The :c:macro:`!PyAPI_FUNC()`, :c:macro:`!PyAPI_DATA()` " -"and :c:macro:`PyMODINIT_FUNC` macros of :file:`Include/exports.h` are " -"defined differently depending if the ``Py_BUILD_CORE_MODULE`` macro is " -"defined:" +"The :c:macro:`!PyAPI_FUNC()`, :c:macro:`!PyAPI_DATA()` and :c:macro:" +"`PyMODINIT_FUNC` macros of :file:`Include/exports.h` are defined differently " +"depending if the ``Py_BUILD_CORE_MODULE`` macro is defined:" msgstr "" -"Die Makros :c:macro:`!PyAPI_FUNC()`, :c:macro:`!PyAPI_DATA()` " -"und :c:macro:`PyMODINIT_FUNC` aus :file:`Include/exports.h` werden " -"unterschiedlich definiert, je nachdem, ob das Makro ``Py_BUILD_CORE_MODULE`` " -"definiert ist:" +"Die Makros :c:macro:`!PyAPI_FUNC()`, :c:macro:`!PyAPI_DATA()` und :c:macro:" +"`PyMODINIT_FUNC` aus :file:`Include/exports.h` werden unterschiedlich " +"definiert, je nachdem, ob das Makro ``Py_BUILD_CORE_MODULE`` definiert ist:" -#: ../../using/configure.rst:1498 +#: ../../using/configure.rst:1509 msgid "Use ``Py_EXPORTED_SYMBOL`` if the ``Py_BUILD_CORE_MODULE`` is defined" msgstr "" "Verwendet ``Py_EXPORTED_SYMBOL``, wenn ``Py_BUILD_CORE_MODULE`` definiert ist" -#: ../../using/configure.rst:1499 +#: ../../using/configure.rst:1510 msgid "Use ``Py_IMPORTED_SYMBOL`` otherwise." msgstr "Verwendet andernfalls ``Py_IMPORTED_SYMBOL``." -#: ../../using/configure.rst:1501 +#: ../../using/configure.rst:1512 msgid "" "If the ``Py_BUILD_CORE_BUILTIN`` macro is used by mistake on a C extension " "built as a shared library, its :samp:`PyInit_{xxx}()` function is not " @@ -2794,11 +2802,11 @@ msgstr "" "wird deren Funktion :samp:`PyInit_{xxx}()` nicht exportiert, was beim Import " "einen :exc:`ImportError` auslöst." -#: ../../using/configure.rst:1507 +#: ../../using/configure.rst:1518 msgid "Compiler and linker flags" msgstr "Compiler- und Linker-Flags" -#: ../../using/configure.rst:1509 +#: ../../using/configure.rst:1520 msgid "" "Options set by the ``./configure`` script and environment variables and used " "by ``Makefile``." @@ -2806,18 +2814,18 @@ msgstr "" "Optionen, die das Skript ``./configure`` und Umgebungsvariablen setzen und " "die das ``Makefile`` verwendet." -#: ../../using/configure.rst:1513 +#: ../../using/configure.rst:1524 msgid "Preprocessor flags" msgstr "Flags des Präprozessors" -#: ../../using/configure.rst:1517 +#: ../../using/configure.rst:1528 msgid "" "Value of :envvar:`CPPFLAGS` variable passed to the ``./configure`` script." msgstr "" "Wert der Variablen :envvar:`CPPFLAGS`, der an das Skript ``./configure`` " "übergeben wird." -#: ../../using/configure.rst:1523 +#: ../../using/configure.rst:1534 msgid "" "(Objective) C/C++ preprocessor flags, e.g. :samp:`-I{include_dir}` if you " "have headers in a nonstandard directory *include_dir*." @@ -2826,7 +2834,7 @@ msgstr "" "wenn deine Headerdateien in einem nicht standardmäßigen Verzeichnis " "*include_dir* liegen." -#: ../../using/configure.rst:1526 ../../using/configure.rst:1722 +#: ../../using/configure.rst:1537 ../../using/configure.rst:1733 msgid "" "Both :envvar:`CPPFLAGS` and :envvar:`LDFLAGS` need to contain the shell's " "value to be able to build extension modules using the directories specified " @@ -2836,65 +2844,64 @@ msgstr "" "Shell enthalten, damit sich Erweiterungsmodule mit den in den " "Umgebungsvariablen angegebenen Verzeichnissen bauen lassen." -#: ../../using/configure.rst:1536 +#: ../../using/configure.rst:1547 msgid "" "Extra preprocessor flags added for building the interpreter object files." msgstr "" "Zusätzliche Präprozessor-Flags, die beim Bauen der Objektdateien des " "Interpreters hinzugefügt werden." -#: ../../using/configure.rst:1538 +#: ../../using/configure.rst:1549 msgid "" -"Default: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $" -"(CPPFLAGS)``." +"Default: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) " +"$(CPPFLAGS)``." msgstr "" -"Vorgabe: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $" -"(CPPFLAGS)``." +"Vorgabe: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) " +"$(CPPFLAGS)``." -#: ../../using/configure.rst:1543 +#: ../../using/configure.rst:1554 msgid "Compiler flags" msgstr "Compiler-Flags" -#: ../../using/configure.rst:1549 +#: ../../using/configure.rst:1560 msgid "Example: ``gcc -pthread``." msgstr "Beispiel: ``gcc -pthread``." -#: ../../using/configure.rst:1553 +#: ../../using/configure.rst:1564 msgid "C++ compiler command." msgstr "Befehl des C++-Compilers." -#: ../../using/configure.rst:1555 +#: ../../using/configure.rst:1566 msgid "Example: ``g++ -pthread``." msgstr "Beispiel: ``g++ -pthread``." -#: ../../using/configure.rst:1563 +#: ../../using/configure.rst:1574 msgid "" ":envvar:`CFLAGS_NODIST` is used for building the interpreter and stdlib C " -"extensions. Use it when a compiler flag should *not* be part " -"of :envvar:`CFLAGS` once Python is installed (:gh:`65320`)." +"extensions. Use it when a compiler flag should *not* be part of :envvar:" +"`CFLAGS` once Python is installed (:gh:`65320`)." msgstr "" ":envvar:`CFLAGS_NODIST` dient dem Bauen des Interpreters und der C-" "Erweiterungen der Standardbibliothek. Verwende es, wenn ein Compiler-Flag " "nach der Installation von Python *nicht* Teil von :envvar:`CFLAGS` sein soll " "(:gh:`65320`)." -#: ../../using/configure.rst:1567 +#: ../../using/configure.rst:1578 msgid "In particular, :envvar:`CFLAGS` should not contain:" msgstr "Insbesondere sollte :envvar:`CFLAGS` nicht enthalten:" -#: ../../using/configure.rst:1569 +#: ../../using/configure.rst:1580 msgid "" "the compiler flag ``-I`` (for setting the search path for include files). " -"The ``-I`` flags are processed from left to right, and any flags " -"in :envvar:`CFLAGS` would take precedence over user- and package-supplied ``-" -"I`` flags." +"The ``-I`` flags are processed from left to right, and any flags in :envvar:" +"`CFLAGS` would take precedence over user- and package-supplied ``-I`` flags." msgstr "" "das Compiler-Flag ``-I`` (das den Suchpfad für Include-Dateien setzt). Die " -"``-I``-Flags werden von links nach rechts verarbeitet, Flags " -"in :envvar:`CFLAGS` hätten daher Vorrang vor ``-I``-Flags, die Benutzer oder " -"Pakete mitgeben." +"``-I``-Flags werden von links nach rechts verarbeitet, Flags in :envvar:" +"`CFLAGS` hätten daher Vorrang vor ``-I``-Flags, die Benutzer oder Pakete " +"mitgeben." -#: ../../using/configure.rst:1574 +#: ../../using/configure.rst:1585 msgid "" "hardening flags such as ``-Werror`` because distributions cannot control " "whether packages installed by users conform to such heightened standards." @@ -2902,7 +2909,7 @@ msgstr "" "Härtungsflags wie ``-Werror``, weil Distributionen nicht steuern können, ob " "von Benutzern installierte Pakete solchen verschärften Maßstäben entsprechen." -#: ../../using/configure.rst:1582 +#: ../../using/configure.rst:1593 msgid "" "Options passed to the :mod:`compileall` command line when building PYC files " "in ``make install``. Default: ``-j0``." @@ -2910,18 +2917,18 @@ msgstr "" "Optionen, die beim Erzeugen der PYC-Dateien in ``make install`` an die " "Befehlszeile von :mod:`compileall` übergeben werden. Vorgabe: ``-j0``." -#: ../../using/configure.rst:1589 +#: ../../using/configure.rst:1600 msgid "Extra C compiler flags." msgstr "Zusätzliche Flags für den C-Compiler." -#: ../../using/configure.rst:1593 +#: ../../using/configure.rst:1604 msgid "" "Value of :envvar:`CFLAGS` variable passed to the ``./configure`` script." msgstr "" "Wert der Variablen :envvar:`CFLAGS`, der an das Skript ``./configure`` " "übergeben wird." -#: ../../using/configure.rst:1600 +#: ../../using/configure.rst:1611 msgid "" "Value of :envvar:`CFLAGS_NODIST` variable passed to the ``./configure`` " "script." @@ -2929,39 +2936,39 @@ msgstr "" "Wert der Variablen :envvar:`CFLAGS_NODIST`, der an das Skript ``./" "configure`` übergeben wird." -#: ../../using/configure.rst:1607 +#: ../../using/configure.rst:1618 msgid "Base compiler flags." msgstr "Grundlegende Compiler-Flags." -#: ../../using/configure.rst:1611 +#: ../../using/configure.rst:1622 msgid "Optimization flags." msgstr "Optimierungsflags." -#: ../../using/configure.rst:1615 +#: ../../using/configure.rst:1626 msgid "Strict or non-strict aliasing flags used to compile ``Python/dtoa.c``." msgstr "" "Flags für strenges oder nicht strenges Aliasing, mit denen ``Python/dtoa.c`` " "kompiliert wird." -#: ../../using/configure.rst:1621 +#: ../../using/configure.rst:1632 msgid "Flags used to compile ``Python/ceval.c``." msgstr "Flags, mit denen ``Python/ceval.c`` kompiliert wird." -#: ../../using/configure.rst:1627 +#: ../../using/configure.rst:1638 msgid "Compiler flags used to build a shared library." msgstr "Compiler-Flags zum Bauen einer gemeinsam genutzten Bibliothek." -#: ../../using/configure.rst:1629 +#: ../../using/configure.rst:1640 msgid "For example, ``-fPIC`` is used on Linux and on BSD." msgstr "Unter Linux und BSD wird zum Beispiel ``-fPIC`` verwendet." -#: ../../using/configure.rst:1633 +#: ../../using/configure.rst:1644 msgid "Extra C flags added for building the interpreter object files." msgstr "" "Zusätzliche C-Flags, die beim Bauen der Objektdateien des Interpreters " "hinzugefügt werden." -#: ../../using/configure.rst:1635 +#: ../../using/configure.rst:1646 msgid "" "Default: ``$(CCSHARED)`` when :option:`--enable-shared` is used, or an empty " "string otherwise." @@ -2969,15 +2976,15 @@ msgstr "" "Vorgabe: ``$(CCSHARED)``, wenn :option:`--enable-shared` verwendet wird, " "andernfalls eine leere Zeichenkette." -#: ../../using/configure.rst:1640 +#: ../../using/configure.rst:1651 msgid "" -"Default: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $" -"(EXTRA_CFLAGS)``." +"Default: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) " +"$(EXTRA_CFLAGS)``." msgstr "" -"Vorgabe: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $" -"(EXTRA_CFLAGS)``." +"Vorgabe: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) " +"$(EXTRA_CFLAGS)``." -#: ../../using/configure.rst:1644 +#: ../../using/configure.rst:1655 msgid "" "Default: ``$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) -I$(srcdir)/Include/" "internal``." @@ -2985,23 +2992,23 @@ msgstr "" "Vorgabe: ``$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) -I$(srcdir)/Include/" "internal``." -#: ../../using/configure.rst:1650 +#: ../../using/configure.rst:1661 msgid "C flags used for building the interpreter object files." msgstr "C-Flags, mit denen die Objektdateien des Interpreters gebaut werden." -#: ../../using/configure.rst:1652 +#: ../../using/configure.rst:1663 msgid "" -"Default: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $" -"(CFLAGSFORSHARED)``." +"Default: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) " +"$(CFLAGSFORSHARED)``." msgstr "" -"Vorgabe: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $" -"(CFLAGSFORSHARED)``." +"Vorgabe: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) " +"$(CFLAGSFORSHARED)``." -#: ../../using/configure.rst:1658 +#: ../../using/configure.rst:1669 msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE``." msgstr "Vorgabe: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE``." -#: ../../using/configure.rst:1664 +#: ../../using/configure.rst:1675 msgid "" "Compiler flags to build a standard library extension module as a built-in " "module, like the :mod:`posix` module." @@ -3009,41 +3016,41 @@ msgstr "" "Compiler-Flags, um ein Erweiterungsmodul der Standardbibliothek als " "integriertes Modul zu bauen, etwa das Modul :mod:`posix`." -#: ../../using/configure.rst:1667 +#: ../../using/configure.rst:1678 msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN``." msgstr "Vorgabe: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN``." -#: ../../using/configure.rst:1673 +#: ../../using/configure.rst:1684 msgid "Purify command. Purify is a memory debugger program." msgstr "Befehl für Purify. Purify ist ein Programm zur Speicherfehlersuche." -#: ../../using/configure.rst:1675 +#: ../../using/configure.rst:1686 msgid "Default: empty string (not used)." msgstr "Vorgabe: leere Zeichenkette (nicht verwendet)." -#: ../../using/configure.rst:1679 +#: ../../using/configure.rst:1690 msgid "Linker flags" msgstr "Linker-Flags" -#: ../../using/configure.rst:1683 +#: ../../using/configure.rst:1694 msgid "" "Linker command used to build programs like ``python`` and ``_testembed``." msgstr "" "Linker-Befehl, mit dem Programme wie ``python`` und ``_testembed`` gebaut " "werden." -#: ../../using/configure.rst:1685 +#: ../../using/configure.rst:1696 msgid "Default: ``$(PURIFY) $(CC)``." msgstr "Vorgabe: ``$(PURIFY) $(CC)``." -#: ../../using/configure.rst:1689 +#: ../../using/configure.rst:1700 msgid "" "Value of :envvar:`LDFLAGS` variable passed to the ``./configure`` script." msgstr "" "Wert der Variablen :envvar:`LDFLAGS`, der an das Skript ``./configure`` " "übergeben wird." -#: ../../using/configure.rst:1691 +#: ../../using/configure.rst:1702 msgid "" "Avoid assigning :envvar:`CFLAGS`, :envvar:`LDFLAGS`, etc. so users can use " "them on the command line to append to these values without stomping the pre-" @@ -3053,33 +3060,32 @@ msgstr "" "damit Benutzer sie auf der Befehlszeile verwenden können, um etwas an diese " "Werte anzuhängen, ohne die vorbelegten Werte zu zertreten." -#: ../../using/configure.rst:1699 +#: ../../using/configure.rst:1710 msgid "" -":envvar:`LDFLAGS_NODIST` is used in the same manner " -"as :envvar:`CFLAGS_NODIST`. Use it when a linker flag should *not* be part " -"of :envvar:`LDFLAGS` once Python is installed (:gh:`65320`)." +":envvar:`LDFLAGS_NODIST` is used in the same manner as :envvar:" +"`CFLAGS_NODIST`. Use it when a linker flag should *not* be part of :envvar:" +"`LDFLAGS` once Python is installed (:gh:`65320`)." msgstr "" ":envvar:`LDFLAGS_NODIST` wird genauso verwendet wie :envvar:`CFLAGS_NODIST`. " "Verwende es, wenn ein Linker-Flag nach der Installation von Python *nicht* " "Teil von :envvar:`LDFLAGS` sein soll (:gh:`65320`)." -#: ../../using/configure.rst:1703 +#: ../../using/configure.rst:1714 msgid "In particular, :envvar:`LDFLAGS` should not contain:" msgstr "Insbesondere sollte :envvar:`LDFLAGS` nicht enthalten:" -#: ../../using/configure.rst:1705 +#: ../../using/configure.rst:1716 msgid "" "the compiler flag ``-L`` (for setting the search path for libraries). The ``-" -"L`` flags are processed from left to right, and any flags " -"in :envvar:`LDFLAGS` would take precedence over user- and package-supplied " -"``-L`` flags." +"L`` flags are processed from left to right, and any flags in :envvar:" +"`LDFLAGS` would take precedence over user- and package-supplied ``-L`` flags." msgstr "" "das Compiler-Flag ``-L`` (das den Suchpfad für Bibliotheken setzt). Die ``-" -"L``-Flags werden von links nach rechts verarbeitet, Flags " -"in :envvar:`LDFLAGS` hätten daher Vorrang vor ``-L``-Flags, die Benutzer " -"oder Pakete mitgeben." +"L``-Flags werden von links nach rechts verarbeitet, Flags in :envvar:" +"`LDFLAGS` hätten daher Vorrang vor ``-L``-Flags, die Benutzer oder Pakete " +"mitgeben." -#: ../../using/configure.rst:1712 +#: ../../using/configure.rst:1723 msgid "" "Value of :envvar:`LDFLAGS_NODIST` variable passed to the ``./configure`` " "script." @@ -3087,7 +3093,7 @@ msgstr "" "Wert der Variablen :envvar:`LDFLAGS_NODIST`, der an das Skript ``./" "configure`` übergeben wird." -#: ../../using/configure.rst:1719 +#: ../../using/configure.rst:1730 msgid "" "Linker flags, e.g. :samp:`-L{lib_dir}` if you have libraries in a " "nonstandard directory *lib_dir*." @@ -3095,7 +3101,7 @@ msgstr "" "Linker-Flags, etwa :samp:`-L{lib_dir}`, wenn deine Bibliotheken in einem " "nicht standardmäßigen Verzeichnis *lib_dir* liegen." -#: ../../using/configure.rst:1726 +#: ../../using/configure.rst:1737 msgid "" "Please consider using ``EXE_LDFLAGS`` if the supplied linker flags are " "executable specific, e.g. GCC's ``-pie`` flag." @@ -3103,7 +3109,7 @@ msgstr "" "Verwende bitte ``EXE_LDFLAGS``, wenn die angegebenen Linker-Flags nur für " "ausführbare Dateien gelten, etwa das Flag ``-pie`` von GCC." -#: ../../using/configure.rst:1731 +#: ../../using/configure.rst:1742 msgid "" "Linker flags to pass libraries to the linker when linking the Python " "executable." @@ -3111,71 +3117,71 @@ msgstr "" "Linker-Flags, um dem Linker beim Linken der ausführbaren Python-Datei " "Bibliotheken zu übergeben." -#: ../../using/configure.rst:1734 +#: ../../using/configure.rst:1745 msgid "Example: ``-lrt``." msgstr "Beispiel: ``-lrt``." -#: ../../using/configure.rst:1738 +#: ../../using/configure.rst:1749 msgid "Command to build a shared library." msgstr "Befehl zum Bauen einer gemeinsam genutzten Bibliothek." -#: ../../using/configure.rst:1740 +#: ../../using/configure.rst:1751 msgid "Default: ``@LDSHARED@ $(PY_LDFLAGS)``." msgstr "Vorgabe: ``@LDSHARED@ $(PY_LDFLAGS)``." -#: ../../using/configure.rst:1744 +#: ../../using/configure.rst:1755 msgid "Command to build ``libpython`` shared library." msgstr "Befehl zum Bauen der gemeinsam genutzten Bibliothek ``libpython``." -#: ../../using/configure.rst:1746 +#: ../../using/configure.rst:1757 msgid "Default: ``@BLDSHARED@ $(PY_CORE_LDFLAGS)``." msgstr "Vorgabe: ``@BLDSHARED@ $(PY_CORE_LDFLAGS)``." -#: ../../using/configure.rst:1750 +#: ../../using/configure.rst:1761 msgid "Default: ``$(CONFIGURE_LDFLAGS) $(LDFLAGS)``." msgstr "Vorgabe: ``$(CONFIGURE_LDFLAGS) $(LDFLAGS)``." -#: ../../using/configure.rst:1754 +#: ../../using/configure.rst:1765 msgid "Default: ``$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)``." msgstr "Vorgabe: ``$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)``." -#: ../../using/configure.rst:1760 +#: ../../using/configure.rst:1771 msgid "Linker flags used for building the interpreter object files." msgstr "" "Linker-Flags, mit denen die Objektdateien des Interpreters gebaut werden." -#: ../../using/configure.rst:1766 +#: ../../using/configure.rst:1777 msgid "" "Linker flags used for building executable targets such as the interpreter. " -"If supplied, :envvar:`PY_CORE_EXE_LDFLAGS` will be used in replacement " -"of :envvar:`PY_CORE_LDFLAGS`." +"If supplied, :envvar:`PY_CORE_EXE_LDFLAGS` will be used in replacement of :" +"envvar:`PY_CORE_LDFLAGS`." msgstr "" "Linker-Flags, mit denen ausführbare Ziele wie der Interpreter gebaut werden. " -"Wenn angegeben, wird :envvar:`PY_CORE_EXE_LDFLAGS` anstelle " -"von :envvar:`PY_CORE_LDFLAGS` verwendet." +"Wenn angegeben, wird :envvar:`PY_CORE_EXE_LDFLAGS` anstelle von :envvar:" +"`PY_CORE_LDFLAGS` verwendet." -#: ../../using/configure.rst:1774 +#: ../../using/configure.rst:1785 msgid "" "Value of :envvar:`EXE_LDFLAGS` variable passed to the ``./configure`` script." msgstr "" "Wert der Variablen :envvar:`EXE_LDFLAGS`, der an das Skript ``./configure`` " "übergeben wird." -#: ../../using/configure.rst:1781 +#: ../../using/configure.rst:1792 msgid "Linker flags used for building the interpreter and executable targets." msgstr "" "Linker-Flags, mit denen der Interpreter und die ausführbaren Ziele gebaut " "werden." -#: ../../using/configure.rst:1784 +#: ../../using/configure.rst:1795 msgid "Default: ``$(PY_CORE_LDFLAGS)``" msgstr "Vorgabe: ``$(PY_CORE_LDFLAGS)``" -#: ../../using/configure.rst:1790 +#: ../../using/configure.rst:1801 msgid "Footnotes" msgstr "Fußnoten" -#: ../../using/configure.rst:1791 +#: ../../using/configure.rst:1802 msgid "" "``git clean -fdx`` is an even more extreme way to \"clean\" your checkout. " "It removes all files not known to Git. When bug hunting using ``git " @@ -3191,3 +3197,9 @@ msgstr "" "um einen vollständig sauberen Build zu garantieren. **Mit Vorsicht " "verwenden**, denn es löscht alle Dateien, die nicht in Git eingecheckt sind, " "auch deine neue, nicht committete Arbeit." + +#~ msgid "3.0.18 recommended" +#~ msgstr "3.0.18 empfohlen" + +#~ msgid "(1.1.1 minimum)" +#~ msgstr "(1.1.1 mindestens)" diff --git a/using/ios.po b/using/ios.po index 8b7049a6..23c22000 100644 --- a/using/ios.po +++ b/using/ios.po @@ -35,15 +35,15 @@ msgstr "Russell Keith-Magee (2024-03)" msgid "" "Python on iOS is unlike Python on desktop platforms. On a desktop platform, " "Python is generally installed as a system resource that can be used by any " -"user of that computer. Users then interact with Python by running " -"a :program:`python` executable and entering commands at an interactive " -"prompt, or by running a Python script." +"user of that computer. Users then interact with Python by running a :program:" +"`python` executable and entering commands at an interactive prompt, or by " +"running a Python script." msgstr "" "Python unter iOS unterscheidet sich von Python auf Desktop-Plattformen. Auf " "einer Desktop-Plattform wird Python in der Regel als Systemressource " "installiert, die von jedem Benutzer dieses Computers verwendet werden kann. " -"Nutzer interagieren dann mit Python, indem sie eine ausführbare " -"Datei :program:`python` starten und Befehle an einer interaktiven " +"Nutzer interagieren dann mit Python, indem sie eine ausführbare Datei :" +"program:`python` starten und Befehle an einer interaktiven " "Eingabeaufforderung eingeben, oder indem sie ein Python-Skript ausführen." #: ../../using/ios.rst:16 @@ -61,10 +61,10 @@ msgstr "" msgid "" "As a result, the only way you can use Python on iOS is in embedded mode - " "that is, by writing a native iOS application, and embedding a Python " -"interpreter using ``libPython``, and invoking Python code using " -"the :ref:`Python embedding API `. The full Python interpreter, " -"the standard library, and all your Python code is then packaged as a " -"standalone bundle that can be distributed via the iOS App Store." +"interpreter using ``libPython``, and invoking Python code using the :ref:" +"`Python embedding API `. The full Python interpreter, the " +"standard library, and all your Python code is then packaged as a standalone " +"bundle that can be distributed via the iOS App Store." msgstr "" "Infolgedessen ist die einzige Möglichkeit, Python unter iOS zu verwenden, " "der eingebettete Modus – das heißt, indem du eine native iOS-Anwendung " @@ -83,8 +83,8 @@ msgid "" "project running, so you only need to deal with the Python code itself." msgstr "" "Wenn du zum ersten Mal damit experimentieren möchtest, eine iOS-App in " -"Python zu schreiben, bieten dir Projekte wie `BeeWare `__ und `Kivy `__ eine deutlich zugänglichere " +"Python zu schreiben, bieten dir Projekte wie `BeeWare `__ und `Kivy `__ eine deutlich zugänglichere " "Nutzererfahrung. Diese Projekte übernehmen die Komplexität, die mit dem Zum-" "Laufen-Bringen eines iOS-Projekts verbunden ist, sodass du dich nur um den " "eigentlichen Python-Code kümmern musst." @@ -99,21 +99,21 @@ msgstr "iOS-Versionskompatibilität" #: ../../using/ios.rst:39 msgid "" -"The minimum supported iOS version is specified at compile time, using " -"the :option:`--host` option to ``configure``. By default, when compiled for " -"iOS, Python will be compiled with a minimum supported iOS version of 13.0. " -"To use a different minimum iOS version, provide the version number as part " -"of the :option:`!--host` argument - for example, ``--host=arm64-apple-" -"ios15.4-simulator`` would compile an ARM64 simulator build with a deployment " -"target of 15.4." -msgstr "" -"Die minimal unterstützte iOS-Version wird zur Kompilierzeit über die " -"Option :option:`--host` von ``configure`` festgelegt. Standardmäßig wird " -"Python bei der Kompilierung für iOS mit einer minimal unterstützten iOS-" -"Version von 13.0 kompiliert. Um eine andere minimale iOS-Version zu " -"verwenden, gib die Versionsnummer als Teil des Arguments :option:`!--host` " -"an – zum Beispiel würde ``--host=arm64-apple-ios15.4-simulator`` einen ARM64-" -"Simulator-Build mit einem Deployment-Ziel von 15.4 kompilieren." +"The minimum supported iOS version is specified at compile time, using the :" +"option:`--host` option to ``configure``. By default, when compiled for iOS, " +"Python will be compiled with a minimum supported iOS version of 13.0. To use " +"a different minimum iOS version, provide the version number as part of the :" +"option:`!--host` argument - for example, ``--host=arm64-apple-ios15.4-" +"simulator`` would compile an ARM64 simulator build with a deployment target " +"of 15.4." +msgstr "" +"Die minimal unterstützte iOS-Version wird zur Kompilierzeit über die Option :" +"option:`--host` von ``configure`` festgelegt. Standardmäßig wird Python bei " +"der Kompilierung für iOS mit einer minimal unterstützten iOS-Version von " +"13.0 kompiliert. Um eine andere minimale iOS-Version zu verwenden, gib die " +"Versionsnummer als Teil des Arguments :option:`!--host` an – zum Beispiel " +"würde ``--host=arm64-apple-ios15.4-simulator`` einen ARM64-Simulator-Build " +"mit einem Deployment-Ziel von 15.4 kompilieren." #: ../../using/ios.rst:48 msgid "Platform identification" @@ -202,8 +202,8 @@ msgid "" "``sys.path``. To ensure compliance with App Store policies, an iOS project " "must post-process any Python packages, converting ``.so`` binary modules " "into individual standalone frameworks with appropriate metadata and signing. " -"For details on how to perform this post-processing, see the guide " -"for :ref:`adding Python to your project `." +"For details on how to perform this post-processing, see the guide for :ref:" +"`adding Python to your project `." msgstr "" "Dies steht im Widerspruch zum üblichen Python-Ansatz zur Verteilung von " "Binärdateien, der es erlaubt, ein binäres Erweiterungsmodul von einem " @@ -211,8 +211,8 @@ msgstr "" "Richtlinien sicherzustellen, muss ein iOS-Projekt jedes Python-Paket " "nachbearbeiten und dabei ``.so``-Binärmodule in einzelne, eigenständige " "Frameworks mit entsprechenden Metadaten und Signatur umwandeln. Details zur " -"Durchführung dieser Nachbearbeitung findest du im Leitfaden " -"zum :ref:`Hinzufügen von Python zu deinem Projekt `." +"Durchführung dieser Nachbearbeitung findest du im Leitfaden zum :ref:" +"`Hinzufügen von Python zu deinem Projekt `." #: ../../using/ios.rst:90 msgid "" @@ -235,16 +235,16 @@ msgstr "" msgid "" "For example, consider the case of an import ``from foo.bar import _whiz``, " "where ``_whiz`` is implemented with the binary module ``sources/foo/bar/" -"_whiz.abi3.so``, with ``sources`` being the location registered on " -"``sys.path``, relative to the application bundle. This module *must* be " +"_whiz.abi3.so``, with ``sources`` being the location registered on ``sys." +"path``, relative to the application bundle. This module *must* be " "distributed as ``Frameworks/foo.bar._whiz.framework/foo.bar._whiz`` " "(creating the framework name from the full import path of the module), with " "an ``Info.plist`` file in the ``.framework`` directory identifying the " "binary as a framework. The ``foo.bar._whiz`` module would be represented in " "the original location with a ``sources/foo/bar/_whiz.abi3.fwork`` marker " "file, containing the path ``Frameworks/foo.bar._whiz/foo.bar._whiz``. The " -"framework would also contain ``Frameworks/foo.bar._whiz.framework/" -"foo.bar._whiz.origin``, containing the path to the ``.fwork`` file." +"framework would also contain ``Frameworks/foo.bar._whiz.framework/foo.bar." +"_whiz.origin``, containing the path to the ``.fwork`` file." msgstr "" "Betrachte zum Beispiel den Fall eines Imports ``from foo.bar import _whiz``, " "wobei ``_whiz`` mit dem Binärmodul ``sources/foo/bar/_whiz.abi3.so`` " @@ -256,27 +256,25 @@ msgstr "" "Binärdatei als Framework identifiziert. Das Modul ``foo.bar._whiz`` würde am " "ursprünglichen Speicherort durch eine Markierungsdatei ``sources/foo/bar/" "_whiz.abi3.fwork`` repräsentiert, die den Pfad ``Frameworks/foo.bar._whiz/" -"foo.bar._whiz`` enthält. Das Framework würde außerdem ``Frameworks/" -"foo.bar._whiz.framework/foo.bar._whiz.origin`` enthalten, welches den Pfad " -"zur ``.fwork``-Datei enthält." +"foo.bar._whiz`` enthält. Das Framework würde außerdem ``Frameworks/foo.bar." +"_whiz.framework/foo.bar._whiz.origin`` enthalten, welches den Pfad zur ``." +"fwork``-Datei enthält." #: ../../using/ios.rst:110 msgid "" -"When running on iOS, the Python interpreter will install " -"an :class:`~importlib.machinery.AppleFrameworkLoader` that is able to read " -"and import ``.fwork`` files. Once imported, the ``__file__`` attribute of " -"the binary module will report as the location of the ``.fwork`` file. " -"However, the :class:`~importlib.machinery.ModuleSpec` for the loaded module " -"will report the ``origin`` as the location of the binary in the framework " -"folder." -msgstr "" -"Beim Ausführen unter iOS installiert der Python-Interpreter " -"einen :class:`~importlib.machinery.AppleFrameworkLoader`, der in der Lage " -"ist, ``.fwork``-Dateien zu lesen und zu importieren. Nach dem Import gibt " -"das Attribut ``__file__`` des Binärmoduls den Speicherort der ``.fwork``-" -"Datei an. Die :class:`~importlib.machinery.ModuleSpec` des geladenen Moduls " -"gibt jedoch als ``origin`` den Speicherort der Binärdatei im Framework-" -"Ordner an." +"When running on iOS, the Python interpreter will install an :class:" +"`~importlib.machinery.AppleFrameworkLoader` that is able to read and import " +"``.fwork`` files. Once imported, the ``__file__`` attribute of the binary " +"module will report as the location of the ``.fwork`` file. However, the :" +"class:`~importlib.machinery.ModuleSpec` for the loaded module will report " +"the ``origin`` as the location of the binary in the framework folder." +msgstr "" +"Beim Ausführen unter iOS installiert der Python-Interpreter einen :class:" +"`~importlib.machinery.AppleFrameworkLoader`, der in der Lage ist, ``.fwork``-" +"Dateien zu lesen und zu importieren. Nach dem Import gibt das Attribut " +"``__file__`` des Binärmoduls den Speicherort der ``.fwork``-Datei an. Die :" +"class:`~importlib.machinery.ModuleSpec` des geladenen Moduls gibt jedoch als " +"``origin`` den Speicherort der Binärdatei im Framework-Ordner an." #: ../../using/ios.rst:118 msgid "Compiler stub binaries" @@ -390,8 +388,8 @@ msgid "" msgstr "" "Python kann jedem iOS-Projekt hinzugefügt werden, sowohl mit Swift als auch " "mit Objective C. Die folgenden Beispiele verwenden Objective C. Wenn du " -"Swift verwendest, könnte dir eine Bibliothek wie `PythonKit `__ hilfreich sein." +"Swift verwendest, könnte dir eine Bibliothek wie `PythonKit `__ hilfreich sein." #: ../../using/ios.rst:170 msgid "To add Python to an iOS Xcode project:" @@ -399,11 +397,11 @@ msgstr "Um Python zu einem iOS-Xcode-Projekt hinzuzufügen:" #: ../../using/ios.rst:172 msgid "" -"Build or obtain a Python ``XCFramework``. See the instructions " -"in :source:`Platforms/Apple/iOS/README.md` (in the CPython source " -"distribution) for details on how to build a Python ``XCFramework``. At a " -"minimum, you will need a build that supports ``arm64-apple-ios``, plus one " -"of either ``arm64-apple-ios-simulator`` or ``x86_64-apple-ios-simulator``." +"Build or obtain a Python ``XCFramework``. See the instructions in :source:" +"`Platforms/Apple/iOS/README.md` (in the CPython source distribution) for " +"details on how to build a Python ``XCFramework``. At a minimum, you will " +"need a build that supports ``arm64-apple-ios``, plus one of either ``arm64-" +"apple-ios-simulator`` or ``x86_64-apple-ios-simulator``." msgstr "" "Baue oder beziehe ein Python-``XCFramework``. Wie du ein Python-" "``XCFramework`` baust, steht in der Anleitung unter :source:`Platforms/Apple/" @@ -639,15 +637,15 @@ msgstr "" #: ../../using/ios.rst:261 msgid "" -"If any of the folders that contain third-party packages will contain " -"``.pth`` files, you should add that folder as a *site directory* " -"(using :meth:`site.addsitedir`), rather than adding to :envvar:`PYTHONPATH` " -"or :attr:`sys.path` directly." +"If any of the folders that contain third-party packages will contain ``." +"pth`` files, you should add that folder as a *site directory* (using :meth:" +"`site.addsitedir`), rather than adding to :envvar:`PYTHONPATH` or :attr:`sys." +"path` directly." msgstr "" "Wenn einer der Ordner mit Paketen von Dritten ``.pth``-Dateien enthält, " -"solltest du diesen Ordner als *Site-Verzeichnis* hinzufügen " -"(mit :meth:`site.addsitedir`), statt ihn direkt zu :envvar:`PYTHONPATH` " -"oder :attr:`sys.path` hinzuzufügen." +"solltest du diesen Ordner als *Site-Verzeichnis* hinzufügen (mit :meth:`site." +"addsitedir`), statt ihn direkt zu :envvar:`PYTHONPATH` oder :attr:`sys.path` " +"hinzuzufügen." #: ../../using/ios.rst:267 msgid "Testing a Python package" @@ -672,11 +670,10 @@ msgid "" "project. If you used the ``Platforms/Apple`` build script to build the " "XCframework, you can run:" msgstr "" -"Nachdem du ein iOS-XCFramework gebaut oder bezogen hast (Einzelheiten " -"unter :source:`Platforms/Apple/iOS/README.md`), erstelle einen Klon des " -"Python-Testbed-Projekts für iOS. Wenn du das Build-Skript ``Platforms/" -"Apple`` verwendet hast, um das XCframework zu bauen, kannst du Folgendes " -"ausführen:" +"Nachdem du ein iOS-XCFramework gebaut oder bezogen hast (Einzelheiten unter :" +"source:`Platforms/Apple/iOS/README.md`), erstelle einen Klon des Python-" +"Testbed-Projekts für iOS. Wenn du das Build-Skript ``Platforms/Apple`` " +"verwendet hast, um das XCframework zu bauen, kannst du Folgendes ausführen:" #: ../../using/ios.rst:277 msgid "" @@ -853,10 +850,10 @@ msgstr "" #: ../../using/ios.rst:358 msgid "" "If you produce a binary module named ``mymodule.so``, and use you the Xcode " -"build script described in step 7 above, you can place a " -"``mymodule.xcprivacy`` file next to ``mymodule.so``, and the privacy " -"manifest will be installed into the required location when the binary module " -"is converted into a framework." +"build script described in step 7 above, you can place a ``mymodule." +"xcprivacy`` file next to ``mymodule.so``, and the privacy manifest will be " +"installed into the required location when the binary module is converted " +"into a framework." msgstr "" "Wenn du ein binäres Modul namens ``mymodule.so`` erzeugst und das in Schritt " "7 beschriebene Xcode-Build-Skript verwendest, kannst du eine Datei " diff --git a/using/mac.po b/using/mac.po index bf39b19b..f93b9f7d 100644 --- a/using/mac.po +++ b/using/mac.po @@ -94,13 +94,13 @@ msgid "" "Foundation`` Apple Developer ID certificates to meet `macOS Gatekeeper " "requirements `_." msgstr "" -"Die heruntergeladene Datei ist ein gewöhnliches macOS-Installationspaket " -"(``.pkg``). Angaben zur Unversehrtheit der Datei (etwa Prüfsumme, Größe und " +"Die heruntergeladene Datei ist ein gewöhnliches macOS-Installationspaket (``." +"pkg``). Angaben zur Unversehrtheit der Datei (etwa Prüfsumme, Größe und " "Sigstore-Signatur) stehen für jede Datei auf der Downloadseite der " "Veröffentlichung. Installationspakete und ihr Inhalt sind mit Apple-" "Developer-ID-Zertifikaten der ``Python Software Foundation`` signiert und " -"notarisiert, um die `Anforderungen von macOS Gatekeeper `_ zu erfüllen." +"notarisiert, um die `Anforderungen von macOS Gatekeeper `_ zu erfüllen." #: ../../using/mac.rst:48 msgid "" @@ -267,8 +267,8 @@ msgstr "" "Version von ``python.org`` installierst, hast du zwei verschiedene, aber " "funktionierende Python-Installationen auf deinem Rechner, die nebeneinander " "bestehen können. Die Standardoptionen des Installationsprogramms sollten " -"sicherstellen, dass dessen :command:`python3` anstelle des " -"System-:command:`python3` verwendet wird." +"sicherstellen, dass dessen :command:`python3` anstelle des System-:command:" +"`python3` verwendet wird." #: ../../using/mac.rst:131 msgid "How to run a Python script" @@ -310,8 +310,8 @@ msgid "" "There are many other editors and IDEs available, see :ref:`editors` for more " "information." msgstr "" -"Es gibt viele weitere Editoren und Entwicklungsumgebungen, mehr dazu " -"unter :ref:`editors`." +"Es gibt viele weitere Editoren und Entwicklungsumgebungen, mehr dazu unter :" +"ref:`editors`." #: ../../using/mac.rst:151 msgid "" @@ -534,9 +534,9 @@ msgstr "" msgid "" "The ``python.org`` :ref:`Python for macOS ` installer package installs, by default, an additional build of " -"Python |version| that supports :term:`free threading` (running with " -"the :term:`global interpreter lock` disabled). Check the release page on " -"``python.org`` for possible updated information." +"Python |version| that supports :term:`free threading` (running with the :" +"term:`global interpreter lock` disabled). Check the release page on ``python." +"org`` for possible updated information." msgstr "" "Das Installationspaket :ref:`Python for macOS ` von ``python.org`` installiert standardmäßig einen zusätzlichen " @@ -576,13 +576,13 @@ msgid "" "installation layout may change in future releases." msgstr "" "Ist das Kästchen neben dem Paketnamen **Free-threaded Python** angekreuzt " -"(was standardmäßig der Fall ist), wird neben dem " -"gewöhnlichen :file:`Python.framework` in :file:`/Library/Frameworks` " -"zusätzlich ein eigenes :file:`PythonT.framework` installiert. Dieser Aufbau " -"erlaubt es, einen Free-Threading-Build von Python |version| mit geringem " -"Risiko neben einem herkömmlichen Build (nur mit GIL) von Python |version| " -"auf deinem System bestehen zu lassen, während du installierst oder testest. " -"Dieser Installationsaufbau kann sich in künftigen Veröffentlichungen ändern." +"(was standardmäßig der Fall ist), wird neben dem gewöhnlichen :file:`Python." +"framework` in :file:`/Library/Frameworks` zusätzlich ein eigenes :file:" +"`PythonT.framework` installiert. Dieser Aufbau erlaubt es, einen Free-" +"Threading-Build von Python |version| mit geringem Risiko neben einem " +"herkömmlichen Build (nur mit GIL) von Python |version| auf deinem System " +"bestehen zu lassen, während du installierst oder testest. Dieser " +"Installationsaufbau kann sich in künftigen Veröffentlichungen ändern." #: ../../using/mac.rst:285 msgid "Known cautions and limitations:" @@ -593,26 +593,24 @@ msgid "" "The **UNIX command-line tools** package, which is selected by default, will " "install links in :file:`/usr/local/bin` for |python_x_dot_y_t_literal|, the " "free-threaded interpreter, and |python_x_dot_y_t_literal_config|, a " -"configuration utility which may be useful for package builders. " -"Since :file:`/usr/local/bin` is typically included in your shell ``PATH``, " -"in most cases no changes to your ``PATH`` environment variable should be " -"needed to use |python_x_dot_y_t_literal|." +"configuration utility which may be useful for package builders. Since :file:" +"`/usr/local/bin` is typically included in your shell ``PATH``, in most cases " +"no changes to your ``PATH`` environment variable should be needed to use |" +"python_x_dot_y_t_literal|." msgstr "" "Das Paket **UNIX command-line tools**, das standardmäßig ausgewählt ist, " "legt in :file:`/usr/local/bin` Verknüpfungen für |python_x_dot_y_t_literal|, " "den Free-Threading-Interpreter, und |python_x_dot_y_t_literal_config| an, " -"ein Konfigurationshilfsmittel, das für Paketbauer nützlich sein kann. " -"Da :file:`/usr/local/bin` üblicherweise in deinem Shell-``PATH`` enthalten " -"ist, sollten in den meisten Fällen keine Änderungen an deiner " -"Umgebungsvariablen ``PATH`` nötig sein, um |python_x_dot_y_t_literal| zu " -"verwenden." +"ein Konfigurationshilfsmittel, das für Paketbauer nützlich sein kann. Da :" +"file:`/usr/local/bin` üblicherweise in deinem Shell-``PATH`` enthalten ist, " +"sollten in den meisten Fällen keine Änderungen an deiner Umgebungsvariablen " +"``PATH`` nötig sein, um |python_x_dot_y_t_literal| zu verwenden." #: ../../using/mac.rst:295 msgid "" -"For this release, the **Shell profile updater** package and " -"the :file:`Update Shell Profile.command` in |" -"applications_python_version_literal| do not support the free-threaded " -"package." +"For this release, the **Shell profile updater** package and the :file:" +"`Update Shell Profile.command` in |applications_python_version_literal| do " +"not support the free-threaded package." msgstr "" "In dieser Veröffentlichung unterstützen das Paket **Shell profile updater** " "und die Datei :file:`Update Shell Profile.command` in |" @@ -694,9 +692,8 @@ msgstr "" "Der Free-Threading-Build linkt gegen die gemeinsam genutzten Bibliotheken " "von Dritten, etwa ``OpenSSL`` und ``Tk``, die im herkömmlichen Framework " "installiert sind. Das heißt, beide Builds teilen auch einen Satz " -"Vertrauenszertifikate, wie ihn das Skript :command:`Install " -"Certificates.command` installiert — es muss daher nur einmal ausgeführt " -"werden." +"Vertrauenszertifikate, wie ihn das Skript :command:`Install Certificates." +"command` installiert — es muss daher nur einmal ausgeführt werden." #: ../../using/mac.rst:342 msgid "" @@ -707,9 +704,9 @@ msgid "" "``PythonT`` framework ``bin`` directory:" msgstr "" "Wenn du dich nicht darauf verlassen kannst, dass die Verknüpfung in ``/usr/" -"local/bin`` auf das Free-Threading-|python_x_dot_y_t_literal| von " -"``python.org`` zeigt (etwa weil du dort deine eigene Fassung installieren " -"möchtest oder eine andere Distribution das tut), kannst du deine Shell-" +"local/bin`` auf das Free-Threading-|python_x_dot_y_t_literal| von ``python." +"org`` zeigt (etwa weil du dort deine eigene Fassung installieren möchtest " +"oder eine andere Distribution das tut), kannst du deine Shell-" "Umgebungsvariable ``PATH`` ausdrücklich so setzen, dass sie das Verzeichnis " "``bin`` des ``PythonT``-Frameworks einschließt:" @@ -739,8 +736,8 @@ msgstr "" "tatsächlich verwendet wird, hängt von der Reihenfolge in ``PATH`` ab. Die " "Befehle ``which python3.x`` beziehungsweise ``which python3.xt`` zeigen, " "welcher Pfad verwendet wird. Virtuelle Umgebungen helfen, solche " -"Unklarheiten zu vermeiden. Eine andere Möglichkeit wäre ein " -"Shell-:command:`alias` auf den gewünschten Interpreter, etwa:" +"Unklarheiten zu vermeiden. Eine andere Möglichkeit wäre ein Shell-:command:" +"`alias` auf den gewünschten Interpreter, etwa:" #: ../../using/mac.rst:363 msgid "" @@ -790,8 +787,8 @@ msgid "" "# while accepting the other defaults (install all other packages)\n" "cat > ./choicechanges.plist <\n" -"\n" +"\n" "\n" "\n" " \n" @@ -807,8 +804,8 @@ msgid "" "\n" "EOF\n" "\n" -"sudo installer -pkg ./${RELEASE} -applyChoiceChangesXML ./" -"choicechanges.plist -target /" +"sudo installer -pkg ./${RELEASE} -applyChoiceChangesXML ./choicechanges." +"plist -target /" msgstr "" "RELEASE=\"python-\\ |version|\\ 0b2-macos11.pkg\"\n" "\n" @@ -820,8 +817,8 @@ msgstr "" "# while accepting the other defaults (install all other packages)\n" "cat > ./choicechanges.plist <\n" -"\n" +"\n" "\n" "\n" " \n" @@ -837,8 +834,8 @@ msgstr "" "\n" "EOF\n" "\n" -"sudo installer -pkg ./${RELEASE} -applyChoiceChangesXML ./" -"choicechanges.plist -target /" +"sudo installer -pkg ./${RELEASE} -applyChoiceChangesXML ./choicechanges." +"plist -target /" #: ../../using/mac.rst:408 msgid "" @@ -853,8 +850,9 @@ msgid "" "$ # test that the free-threaded interpreter was installed if the Unix " "Command Tools package was enabled\n" "$ /usr/local/bin/python\\ |version|\\ t -VV\n" -"Python \\ |version|\\ .0b2 free-threading build (v\\ |version|\\ " -".0b2:3a83b172af, Jun 5 2024, 12:57:31) [Clang 15.0.0 (clang-1500.3.9.4)]\n" +"Python \\ |version|\\ .0b2 free-threading build (v\\ |version|" +"\\ .0b2:3a83b172af, Jun 5 2024, 12:57:31) [Clang 15.0.0 " +"(clang-1500.3.9.4)]\n" "$ # and the traditional interpreter\n" "$ /usr/local/bin/python\\ |version|\\ -VV\n" "Python \\ |version|\\ .0b2 (v\\ |version|\\ .0b2:3a83b172af, Jun 5 2024, " @@ -862,8 +860,9 @@ msgid "" "$ # test that they are also available without the prefix if /usr/local/bin " "is on $PATH\n" "$ python\\ |version|\\ t -VV\n" -"Python \\ |version|\\ .0b2 free-threading build (v\\ |version|\\ " -".0b2:3a83b172af, Jun 5 2024, 12:57:31) [Clang 15.0.0 (clang-1500.3.9.4)]\n" +"Python \\ |version|\\ .0b2 free-threading build (v\\ |version|" +"\\ .0b2:3a83b172af, Jun 5 2024, 12:57:31) [Clang 15.0.0 " +"(clang-1500.3.9.4)]\n" "$ python\\ |version|\\ -VV\n" "Python \\ |version|\\ .0b2 (v\\ |version|\\ .0b2:3a83b172af, Jun 5 2024, " "12:50:24) [Clang 15.0.0 (clang-1500.3.9.4)]" @@ -871,8 +870,9 @@ msgstr "" "$ # test that the free-threaded interpreter was installed if the Unix " "Command Tools package was enabled\n" "$ /usr/local/bin/python\\ |version|\\ t -VV\n" -"Python \\ |version|\\ .0b2 free-threading build (v\\ |version|\\ " -".0b2:3a83b172af, Jun 5 2024, 12:57:31) [Clang 15.0.0 (clang-1500.3.9.4)]\n" +"Python \\ |version|\\ .0b2 free-threading build (v\\ |version|" +"\\ .0b2:3a83b172af, Jun 5 2024, 12:57:31) [Clang 15.0.0 " +"(clang-1500.3.9.4)]\n" "$ # and the traditional interpreter\n" "$ /usr/local/bin/python\\ |version|\\ -VV\n" "Python \\ |version|\\ .0b2 (v\\ |version|\\ .0b2:3a83b172af, Jun 5 2024, " @@ -880,23 +880,24 @@ msgstr "" "$ # test that they are also available without the prefix if /usr/local/bin " "is on $PATH\n" "$ python\\ |version|\\ t -VV\n" -"Python \\ |version|\\ .0b2 free-threading build (v\\ |version|\\ " -".0b2:3a83b172af, Jun 5 2024, 12:57:31) [Clang 15.0.0 (clang-1500.3.9.4)]\n" +"Python \\ |version|\\ .0b2 free-threading build (v\\ |version|" +"\\ .0b2:3a83b172af, Jun 5 2024, 12:57:31) [Clang 15.0.0 " +"(clang-1500.3.9.4)]\n" "$ python\\ |version|\\ -VV\n" "Python \\ |version|\\ .0b2 (v\\ |version|\\ .0b2:3a83b172af, Jun 5 2024, " "12:50:24) [Clang 15.0.0 (clang-1500.3.9.4)]" #: ../../using/mac.rst:426 msgid "" -"Current ``python.org`` installers only install to fixed locations " -"like :file:`/Library/Frameworks/`, :file:`/Applications`, and :file:`/usr/" -"local/bin`. You cannot use the :command:`installer` ``-domain`` option to " -"install to other locations." +"Current ``python.org`` installers only install to fixed locations like :file:" +"`/Library/Frameworks/`, :file:`/Applications`, and :file:`/usr/local/bin`. " +"You cannot use the :command:`installer` ``-domain`` option to install to " +"other locations." msgstr "" "Die aktuellen Installationsprogramme von ``python.org`` installieren nur an " -"feste Orte wie :file:`/Library/Frameworks/`, :file:`/Applications` " -"und :file:`/usr/local/bin`. Die Option ``-domain`` von :command:`installer` " -"lässt sich nicht verwenden, um an andere Orte zu installieren." +"feste Orte wie :file:`/Library/Frameworks/`, :file:`/Applications` und :file:" +"`/usr/local/bin`. Die Option ``-domain`` von :command:`installer` lässt sich " +"nicht verwenden, um an andere Orte zu installieren." #: ../../using/mac.rst:434 msgid "Distributing Python applications" @@ -1001,8 +1002,8 @@ msgstr "Weitere Quellen" #: ../../using/mac.rst:475 msgid "" "The `python.org Help page `_ has links " -"to many useful resources. The `Pythonmac-SIG mailing list `_ is another support " +"to many useful resources. The `Pythonmac-SIG mailing list `_ is another support " "resource specifically for Python users and developers on the Mac." msgstr "" "Die `Hilfeseite von python.org `_ " diff --git a/using/unix.po b/using/unix.po index dddea952..60c840fd 100644 --- a/using/unix.po +++ b/using/unix.po @@ -170,11 +170,11 @@ msgstr "" #: ../../using/unix.rst:76 msgid "" -"pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/" -"python-2.5.1p2.tgz" +"pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2." +"tgz" msgstr "" -"pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/" -"python-2.5.1p2.tgz" +"pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2." +"tgz" #: ../../using/unix.rst:82 msgid "Building Python" @@ -194,9 +194,9 @@ msgstr "" msgid "" "If you want to compile CPython yourself, first thing you should do is get " "the `source `_. You can download " -"either the latest release's source or grab a fresh `clone `_. You will also need to " -"install the :ref:`build requirements `." +"either the latest release's source or grab a fresh `clone `_. You will also need to install the :" +"ref:`build requirements `." msgstr "" "Wenn du CPython selbst kompilieren möchtest, besorge dir als Erstes den " "`Quellcode `_. Du kannst entweder " @@ -226,8 +226,8 @@ msgid "" "in the root of the Python source tree." msgstr "" ":ref:`Konfigurationsoptionen ` und Besonderheiten " -"einzelner Unix-Plattformen sind ausführlich in der " -"Datei :source:`README.rst` in der Wurzel des Python-Quellbaums beschrieben." +"einzelner Unix-Plattformen sind ausführlich in der Datei :source:`README." +"rst` in der Wurzel des Python-Quellbaums beschrieben." #: ../../using/unix.rst:108 msgid "" @@ -259,8 +259,8 @@ msgstr "" msgid "" "For example, on most Linux systems, the default for both is :file:`/usr`." msgstr "" -"Auf den meisten Linux-Systemen ist die Vorgabe für beide zum " -"Beispiel :file:`/usr`." +"Auf den meisten Linux-Systemen ist die Vorgabe für beide zum Beispiel :file:" +"`/usr`." #: ../../using/unix.rst:124 msgid "File/directory" @@ -350,8 +350,8 @@ msgid "" "To use shell commands in your Python scripts, look at the :mod:`subprocess` " "module." msgstr "" -"Um Shell-Befehle in deinen Python-Skripten zu verwenden, sieh dir das " -"Modul :mod:`subprocess` an." +"Um Shell-Befehle in deinen Python-Skripten zu verwenden, sieh dir das Modul :" +"mod:`subprocess` an." #: ../../using/unix.rst:162 msgid "Custom OpenSSL" diff --git a/using/windows.po b/using/windows.po index d3184cb0..1a7f9ac0 100644 --- a/using/windows.po +++ b/using/windows.po @@ -124,8 +124,8 @@ msgid "" msgstr "" "Die einbettbaren Distributionen sind minimale Python-Pakete, die sich zum " "Einbetten in größere Anwendungen eignen. Sie lassen sich mit dem Python " -"Install Manager installieren. Mehr über diese Pakete steht " -"unter :ref:`windows-embeddable` weiter unten." +"Install Manager installieren. Mehr über diese Pakete steht unter :ref:" +"`windows-embeddable` weiter unten." #: ../../using/windows.rst:64 msgid "Python install manager" @@ -174,29 +174,29 @@ msgstr "" "Nach der Installation sollten die Befehle ``python``, ``py`` und " "``pymanager`` verfügbar sein. Wenn es bereits Python-Installationen gibt " "oder du deine Variable :envvar:`PATH` verändert hast, musst du sie " -"möglicherweise entfernen beziehungsweise die Änderungen zurücknehmen. " -"Unter :ref:`pymanager-troubleshoot` findest du weitere Hilfe, wenn Befehle " -"nicht funktionieren." +"möglicherweise entfernen beziehungsweise die Änderungen zurücknehmen. Unter :" +"ref:`pymanager-troubleshoot` findest du weitere Hilfe, wenn Befehle nicht " +"funktionieren." #: ../../using/windows.rst:85 msgid "" "When you first install a runtime, you will likely be prompted to add a " "directory to your :envvar:`PATH`. This is optional, if you prefer to use the " "``py`` command, but is offered for those who prefer the full range of " -"aliases (such as ``python3.14.exe``) to be available. The directory will " -"be :file:`%LocalAppData%\\\\Python\\\\bin` by default, but may be customized " -"by an administrator. Click Start and search for \"Edit environment variables " +"aliases (such as ``python3.14.exe``) to be available. The directory will be :" +"file:`%LocalAppData%\\\\Python\\\\bin` by default, but may be customized by " +"an administrator. Click Start and search for \"Edit environment variables " "for your account\" for the system settings page to add the path." msgstr "" "Wenn du die erste Runtime installierst, wirst du wahrscheinlich " "aufgefordert, ein Verzeichnis zu :envvar:`PATH` hinzuzufügen. Das ist " "freiwillig, sofern du lieber den Befehl ``py`` verwendest, wird aber jenen " "angeboten, die die ganze Reihe der Aliasnamen (etwa ``python3.14.exe``) zur " -"Verfügung haben möchten. Das Verzeichnis ist " -"standardmäßig :file:`%LocalAppData%\\\\Python\\\\bin`, kann aber " -"administrativ angepasst werden. Klicke auf Start und suche nach " -"„Umgebungsvariablen für dieses Konto bearbeiten“, um zu der " -"Systemeinstellungsseite zu kommen, auf der du den Pfad hinzufügst." +"Verfügung haben möchten. Das Verzeichnis ist standardmäßig :file:" +"`%LocalAppData%\\\\Python\\\\bin`, kann aber administrativ angepasst werden. " +"Klicke auf Start und suche nach „Umgebungsvariablen für dieses Konto " +"bearbeiten“, um zu der Systemeinstellungsseite zu kommen, auf der du den " +"Pfad hinzufügst." #: ../../using/windows.rst:93 msgid "" @@ -330,15 +330,13 @@ msgstr "" #: ../../using/windows.rst:148 msgid "" -"The default runtime can be overridden with " -"the :envvar:`PYTHON_MANAGER_DEFAULT` environment variable, or a " -"configuration file. See :ref:`pymanager-config` for information about " -"configuration settings." +"The default runtime can be overridden with the :envvar:" +"`PYTHON_MANAGER_DEFAULT` environment variable, or a configuration file. See :" +"ref:`pymanager-config` for information about configuration settings." msgstr "" -"Die Standard-Runtime lässt sich über die " -"Umgebungsvariable :envvar:`PYTHON_MANAGER_DEFAULT` oder eine " -"Konfigurationsdatei überschreiben. Unter :ref:`pymanager-config` steht mehr " -"zu den Konfigurationseinstellungen." +"Die Standard-Runtime lässt sich über die Umgebungsvariable :envvar:" +"`PYTHON_MANAGER_DEFAULT` oder eine Konfigurationsdatei überschreiben. Unter :" +"ref:`pymanager-config` steht mehr zu den Konfigurationseinstellungen." #: ../../using/windows.rst:152 msgid "" @@ -669,8 +667,8 @@ msgstr "" "Das ist nützlich, um Runtimes in größere Anwendungen einzubetten. Anders als " "bei einer normalen Installation weiß ``py`` nichts von der entpackten " "Runtime, und es werden keine Startmenü- oder anderen Verknüpfungen angelegt. " -"Um die Runtime zu starten, führe die Hauptdatei (üblicherweise " -"``python.exe``) im Zielverzeichnis direkt aus." +"Um die Runtime zu starten, führe die Hauptdatei (üblicherweise ``python." +"exe``) im Zielverzeichnis direkt aus." #: ../../using/windows.rst:304 msgid "$> py install ... [-t=|--target=] " @@ -720,10 +718,10 @@ msgid "" "offline machine and used to install one or more of the bundled runtimes:" msgstr "" "Die Option ``--download=`` lädt die Pakete für die aufgeführten Tags " -"herunter und legt ein Verzeichnis an, das sie samt einer Datei " -"``index.json`` für die spätere Installation enthält. Dieses ganze " -"Verzeichnis lässt sich auf den Rechner ohne Netzzugang übertragen und dort " -"verwenden, um eine oder mehrere der mitgelieferten Runtimes zu installieren:" +"herunter und legt ein Verzeichnis an, das sie samt einer Datei ``index." +"json`` für die spätere Installation enthält. Dieses ganze Verzeichnis lässt " +"sich auf den Rechner ohne Netzzugang übertragen und dort verwenden, um eine " +"oder mehrere der mitgelieferten Runtimes zu installieren:" #: ../../using/windows.rst:334 msgid "$> py install --source=\"\\index.json\" ..." @@ -862,11 +860,11 @@ msgid "" "administrative customization options listed later." msgstr "" "Eine globale Konfigurationsdatei kann von der Administration eingerichtet " -"werden und wird zuerst gelesen. Die Benutzerkonfigurationsdatei liegt " -"unter :file:`%AppData%\\\\Python\\\\pymanager.json` (beachte, dass dieser " -"Ort unter ``Roaming`` liegt, nicht unter ``Local``) und wird als nächste " -"gelesen, wobei sie Einstellungen aus früheren Dateien überschreibt. Eine " -"weitere Konfigurationsdatei lässt sich über die Umgebungsvariable " +"werden und wird zuerst gelesen. Die Benutzerkonfigurationsdatei liegt unter :" +"file:`%AppData%\\\\Python\\\\pymanager.json` (beachte, dass dieser Ort unter " +"``Roaming`` liegt, nicht unter ``Local``) und wird als nächste gelesen, " +"wobei sie Einstellungen aus früheren Dateien überschreibt. Eine weitere " +"Konfigurationsdatei lässt sich über die Umgebungsvariable " "``PYTHON_MANAGER_CONFIG`` oder die Befehlszeilenoption ``--config`` angeben " "(nicht aber über beide). Diese Orte lassen sich über die weiter unten " "aufgeführten administrativen Anpassungsoptionen verändern." @@ -944,8 +942,8 @@ msgstr "``PYTHON_MANAGER_LOGS``" #: ../../using/windows.rst:437 msgid "The location where log files are written. By default, :file:`%TEMP%`." msgstr "" -"Der Ort, an den Protokolldateien geschrieben werden. " -"Standardmäßig :file:`%TEMP%`." +"Der Ort, an den Protokolldateien geschrieben werden. Standardmäßig :file:" +"`%TEMP%`." #: ../../using/windows.rst:440 msgid "``automatic_install``" @@ -1013,8 +1011,8 @@ msgid "" "details." msgstr "" "Zuordnung von einer Shebang-Zeilen-Vorlage zu einem anderen Befehl, etwa " -"``py -V:``, oder zu einer Ersetzungszeichenkette. Mehr dazu " -"unter :ref:`pymanager-shebang`." +"``py -V:``, oder zu einer Ersetzungszeichenkette. Mehr dazu unter :ref:" +"`pymanager-shebang`." #: ../../using/windows.rst:466 msgid "``log_level``" @@ -1072,13 +1070,13 @@ msgstr "``install.enable_entrypoints``" #: ../../using/windows.rst:486 msgid "" -"True to generate global commands for installed packages (such as " -"``pip.exe``). These are defined by the packages themselves. If set to false, " -"only the Python interpreter has global commands created. By default, true. " -"You should run ``py install --refresh`` after changing this setting." +"True to generate global commands for installed packages (such as ``pip." +"exe``). These are defined by the packages themselves. If set to false, only " +"the Python interpreter has global commands created. By default, true. You " +"should run ``py install --refresh`` after changing this setting." msgstr "" -"True, um globale Befehle für installierte Pakete zu erzeugen (etwa " -"``pip.exe``). Diese werden von den Paketen selbst festgelegt. Steht die " +"True, um globale Befehle für installierte Pakete zu erzeugen (etwa ``pip." +"exe``). Diese werden von den Paketen selbst festgelegt. Steht die " "Einstellung auf false, werden globale Befehle nur für den Python-Interpreter " "angelegt. Standardmäßig true. Nach einer Änderung dieser Einstellung " "solltest du ``py install --refresh`` ausführen." @@ -1120,13 +1118,13 @@ msgstr "``global_dir``" #: ../../using/windows.rst:505 msgid "" "Specify the directory where global commands (such as ``python3.14.exe`` and " -"``pip.exe``) are stored. This directory should be added to " -"your :envvar:`PATH` to make the commands available from your terminal." +"``pip.exe``) are stored. This directory should be added to your :envvar:" +"`PATH` to make the commands available from your terminal." msgstr "" "Legt das Verzeichnis fest, in dem globale Befehle (etwa ``python3.14.exe`` " -"und ``pip.exe``) abgelegt werden. Dieses Verzeichnis sollte zu " -"deinem :envvar:`PATH` hinzugefügt werden, damit die Befehle im Terminal " -"verfügbar sind." +"und ``pip.exe``) abgelegt werden. Dieses Verzeichnis sollte zu deinem :" +"envvar:`PATH` hinzugefügt werden, damit die Befehle im Terminal verfügbar " +"sind." #: ../../using/windows.rst:510 msgid "``download_dir``" @@ -1143,9 +1141,8 @@ msgstr "" #: ../../using/windows.rst:517 msgid "" -"Dotted names should be nested inside JSON objects, for example, " -"``list.format`` would be specified as ``{\"list\": {\"format\": \"table\"}}" -"``." +"Dotted names should be nested inside JSON objects, for example, ``list." +"format`` would be specified as ``{\"list\": {\"format\": \"table\"}}``." msgstr "" "Namen mit Punkten gehören verschachtelt in JSON-Objekte, ``list.format`` " "wird also als ``{\"list\": {\"format\": \"table\"}}`` angegeben." @@ -1228,17 +1225,17 @@ msgid "" "Any of the above virtual commands can have ```` replaced by an alias " "from an installed runtime. That is, any command generated in the global " "aliases directory (which you may have added to your :envvar:`PATH` " -"environment variable) can be used in a shebang, even if it is not on " -"your :envvar:`PATH`. This allows the use of shebangs like ``/usr/bin/" -"python3.12`` to select a particular runtime." +"environment variable) can be used in a shebang, even if it is not on your :" +"envvar:`PATH`. This allows the use of shebangs like ``/usr/bin/python3.12`` " +"to select a particular runtime." msgstr "" "In jedem der obigen virtuellen Befehle lässt sich ```` durch einen " "Aliasnamen aus einer installierten Runtime ersetzen. Das heißt, jeder " "Befehl, der im Verzeichnis der globalen Aliasnamen erzeugt wurde (das du " "möglicherweise zu deiner Umgebungsvariablen :envvar:`PATH` hinzugefügt " -"hast), lässt sich in einem Shebang verwenden, auch wenn er nicht in " -"deinem :envvar:`PATH` liegt. So lassen sich Shebangs wie ``/usr/bin/" -"python3.12`` verwenden, um eine bestimmte Runtime auszuwählen." +"hast), lässt sich in einem Shebang verwenden, auch wenn er nicht in deinem :" +"envvar:`PATH` liegt. So lassen sich Shebangs wie ``/usr/bin/python3.12`` " +"verwenden, um eine bestimmte Runtime auszuwählen." #: ../../using/windows.rst:559 msgid "" @@ -1247,17 +1244,17 @@ msgid "" "config` for information about configuration settings." msgstr "" "Sind keine Runtimes installiert oder ist die automatische Installation " -"eingeschaltet, wird die verlangte Runtime bei Bedarf installiert. " -"Unter :ref:`pymanager-config` steht mehr zu den Konfigurationseinstellungen." +"eingeschaltet, wird die verlangte Runtime bei Bedarf installiert. Unter :ref:" +"`pymanager-config` steht mehr zu den Konfigurationseinstellungen." #: ../../using/windows.rst:563 msgid "" -"The ``/usr/bin/env`` form of shebang line will also search " -"the :envvar:`PATH` environment variable for unrecognized commands. This " -"corresponds to the behaviour of the Unix ``env`` program, which performs the " -"same search, but prefers launching known Python commands. A warning may be " -"displayed when searching for arbitrary executables, and this search may be " -"disabled by the ``shebang_can_run_anything`` configuration option." +"The ``/usr/bin/env`` form of shebang line will also search the :envvar:" +"`PATH` environment variable for unrecognized commands. This corresponds to " +"the behaviour of the Unix ``env`` program, which performs the same search, " +"but prefers launching known Python commands. A warning may be displayed when " +"searching for arbitrary executables, and this search may be disabled by the " +"``shebang_can_run_anything`` configuration option." msgstr "" "Die Shebang-Form ``/usr/bin/env`` durchsucht für unbekannte Befehle außerdem " "die Umgebungsvariable :envvar:`PATH`. Das entspricht dem Verhalten des Unix-" @@ -1416,24 +1413,22 @@ msgstr "" #: ../../using/windows.rst:648 msgid "" -"When the MSIX is installed, but commands are not available in " -"the :envvar:`PATH` environment variable, they can be found " -"under :file:`%LocalAppData%\\\\Microsoft\\\\WindowsApps\\" -"\\PythonSoftwareFoundation.PythonManager_3847v3x7pw1km` " -"or :file:`%LocalAppData%\\\\Microsoft\\\\WindowsApps\\" -"\\PythonSoftwareFoundation.PythonManager_qbz5n2kfra8p0`, depending on " -"whether it was installed from python.org or through the Windows Store. " -"Attempting to run the executable directly from Program Files is not " +"When the MSIX is installed, but commands are not available in the :envvar:" +"`PATH` environment variable, they can be found under :file:`%LocalAppData%\\" +"\\Microsoft\\\\WindowsApps\\\\PythonSoftwareFoundation." +"PythonManager_3847v3x7pw1km` or :file:`%LocalAppData%\\\\Microsoft\\" +"\\WindowsApps\\\\PythonSoftwareFoundation.PythonManager_qbz5n2kfra8p0`, " +"depending on whether it was installed from python.org or through the Windows " +"Store. Attempting to run the executable directly from Program Files is not " "recommended." msgstr "" -"Ist das MSIX installiert, die Befehle aber nicht über die " -"Umgebungsvariable :envvar:`PATH` verfügbar, findest du sie " -"unter :file:`%LocalAppData%\\\\Microsoft\\\\WindowsApps\\" -"\\PythonSoftwareFoundation.PythonManager_3847v3x7pw1km` " -"oder :file:`%LocalAppData%\\\\Microsoft\\\\WindowsApps\\" -"\\PythonSoftwareFoundation.PythonManager_qbz5n2kfra8p0`, je nachdem, ob es " -"von python.org oder über den Windows Store installiert wurde. Die " -"ausführbare Datei direkt aus „Programme“ zu starten, ist nicht " +"Ist das MSIX installiert, die Befehle aber nicht über die Umgebungsvariable :" +"envvar:`PATH` verfügbar, findest du sie unter :file:`%LocalAppData%\\" +"\\Microsoft\\\\WindowsApps\\\\PythonSoftwareFoundation." +"PythonManager_3847v3x7pw1km` oder :file:`%LocalAppData%\\\\Microsoft\\" +"\\WindowsApps\\\\PythonSoftwareFoundation.PythonManager_qbz5n2kfra8p0`, je " +"nachdem, ob es von python.org oder über den Windows Store installiert wurde. " +"Die ausführbare Datei direkt aus „Programme“ zu starten, ist nicht " "empfehlenswert." #: ../../using/windows.rst:657 @@ -1713,9 +1708,9 @@ msgid "" "Comma-separated list of shortcut kinds to allow (e.g. ``\"pep514,start\"``). " "Enabled shortcuts may still be disabled by ``disable_shortcut_kinds``." msgstr "" -"Kommagetrennte Liste der erlaubten Verknüpfungsarten (etwa " -"``\"pep514,start\"``). Erlaubte Verknüpfungen können durch " -"``disable_shortcut_kinds`` dennoch abgeschaltet werden." +"Kommagetrennte Liste der erlaubten Verknüpfungsarten (etwa ``\"pep514," +"start\"``). Erlaubte Verknüpfungen können durch ``disable_shortcut_kinds`` " +"dennoch abgeschaltet werden." #: ../../using/windows.rst:782 msgid "``install.disable_shortcut_kinds``" @@ -1723,8 +1718,8 @@ msgstr "``install.disable_shortcut_kinds``" #: ../../using/windows.rst:783 msgid "" -"Comma-separated list of shortcut kinds to exclude (e.g. " -"``\"pep514,start\"``). Disabled shortcuts are not reactivated by " +"Comma-separated list of shortcut kinds to exclude (e.g. ``\"pep514," +"start\"``). Disabled shortcuts are not reactivated by " "``enable_shortcut_kinds``." msgstr "" "Kommagetrennte Liste der auszuschließenden Verknüpfungsarten (etwa " @@ -1756,8 +1751,8 @@ msgstr "``pep514_root``" #: ../../using/windows.rst:796 msgid "" -"Registry location to read and write PEP 514 entries into. By " -"default, :file:`HKEY_CURRENT_USER\\\\Software\\\\Python`." +"Registry location to read and write PEP 514 entries into. By default, :file:" +"`HKEY_CURRENT_USER\\\\Software\\\\Python`." msgstr "" "Ort in der Registrierung, aus dem PEP-514-Einträge gelesen und in den sie " "geschrieben werden. Standardmäßig :file:`HKEY_CURRENT_USER\\\\Software\\" @@ -1814,8 +1809,8 @@ msgstr "" "Eine Zuordnung von Quell-URL zu Einstellungen, die nur für diesen Index " "gelten. Enthalten mehrere Konfigurationsdateien diesen Abschnitt, werden URL-" "Einstellungen ergänzt oder überschrieben, einzelne Einstellungen aber nicht " -"zusammengeführt. Diese Einstellungen dienen derzeit ausschließlich " -"den :ref:`Index-Signaturen `." +"zusammengeführt. Diese Einstellungen dienen derzeit ausschließlich den :ref:" +"`Index-Signaturen `." #: ../../using/windows.rst:824 ../../using/windows.rst:1807 msgid "Installing free-threaded binaries" @@ -1931,8 +1926,8 @@ msgid "" "This is an example ``source_settings`` section from a configuration file. In " "this case, the publisher of the feed is uniquely identified by the " "combination of the Microsoft Identity Verification root and the EKU assigned " -"by that root. The signature for this case would be found at ``https://" -"www.python.org/ftp/python/index-windows.json.cat``." +"by that root. The signature for this case would be found at ``https://www." +"python.org/ftp/python/index-windows.json.cat``." msgstr "" "Dies ist ein Beispiel für einen Abschnitt ``source_settings`` aus einer " "Konfigurationsdatei. In diesem Fall ist der Herausgeber des Feeds eindeutig " @@ -2142,10 +2137,10 @@ msgid "" msgstr "" "Wenn dein Python Install Manager nicht richtig zu funktionieren scheint, " "arbeite bitte diese Prüfungen und Abhilfen durch, ob es damit besser wird. " -"Wenn nicht, melde das Problem bitte in `unserem Bugtracker `_ und lege alle einschlägigen " -"Protokolldateien bei (sie werden standardmäßig in dein " -"Verzeichnis :file:`%TEMP%` geschrieben)." +"Wenn nicht, melde das Problem bitte in `unserem Bugtracker `_ und lege alle einschlägigen Protokolldateien " +"bei (sie werden standardmäßig in dein Verzeichnis :file:`%TEMP%` " +"geschrieben)." #: ../../using/windows.rst:987 msgid "Symptom" @@ -2227,8 +2222,8 @@ msgid "" "and either remove them or Modify and disable the :envvar:`PATH` options." msgstr "" "Klicke auf Start, öffne „Installierte Apps“, sieh nach vorhandenen Python-" -"Runtimes und entferne sie entweder oder wähle „Ändern“ und schalte " -"die :envvar:`PATH`-Optionen ab." +"Runtimes und entferne sie entweder oder wähle „Ändern“ und schalte die :" +"envvar:`PATH`-Optionen ab." #: ../../using/windows.rst:1038 msgid "" @@ -2296,20 +2291,19 @@ msgstr "``pip`` meldet „command not found“, wenn ich es im Terminal eingebe. #: ../../using/windows.rst:1063 ../../using/windows.rst:1075 msgid "" -"Have you activated a virtual environment? Run the " -"``.venv\\Scripts\\activate`` script in your terminal to activate." +"Have you activated a virtual environment? Run the ``." +"venv\\Scripts\\activate`` script in your terminal to activate." msgstr "" -"Hast du eine virtuelle Umgebung aktiviert? Führe dazu das Skript " -"``.venv\\Scripts\\activate`` im Terminal aus." +"Hast du eine virtuelle Umgebung aktiviert? Führe dazu das Skript ``." +"venv\\Scripts\\activate`` im Terminal aus." #: ../../using/windows.rst:1067 msgid "" "The package may be available but missing the generated executable. We " "recommend using the ``python -m pip`` command instead. Running ``py install " -"--refresh`` and ensuring that the global shortcuts directory is " -"on :envvar:`PATH` (it will be shown in the command output if it is not) " -"should make commands such as ``pip`` (and other installed packages) " -"available." +"--refresh`` and ensuring that the global shortcuts directory is on :envvar:" +"`PATH` (it will be shown in the command output if it is not) should make " +"commands such as ``pip`` (and other installed packages) available." msgstr "" "Das Paket kann vorhanden sein, ohne dass die erzeugte ausführbare Datei " "existiert. Wir empfehlen stattdessen den Befehl ``python -m pip``. Wenn du " @@ -2402,8 +2396,8 @@ msgid "" "information about configuration settings." msgstr "" "Der neue Python Install Manager unterstützt diese Konfigurationsdatei und " -"ihre Einstellungen nicht mehr, sie wird daher ignoriert. " -"Unter :ref:`pymanager-config` steht mehr zu den Konfigurationseinstellungen." +"ihre Einstellungen nicht mehr, sie wird daher ignoriert. Unter :ref:" +"`pymanager-config` steht mehr zu den Konfigurationseinstellungen." #: ../../using/windows.rst:1114 msgid "The embeddable package" @@ -2415,14 +2409,17 @@ msgid "" "environment. It is intended for acting as part of another application, " "rather than being directly accessed by end-users." msgstr "" -"Die einbettbare Distribution ist eine ZIP-Datei mit einer minimalen Python-Umgebung. Sie ist dafür gedacht, Teil einer anderen Anwendung zu sein, und nicht dafür, von Endbenutzern direkt verwendet zu werden." +"Die einbettbare Distribution ist eine ZIP-Datei mit einer minimalen Python-" +"Umgebung. Sie ist dafür gedacht, Teil einer anderen Anwendung zu sein, und " +"nicht dafür, von Endbenutzern direkt verwendet zu werden." #: ../../using/windows.rst:1122 msgid "" "To install an embedded distribution, we recommend using ``py install`` with " "the ``--target`` option:" msgstr "" -"Um eine einbettbare Distribution zu installieren, empfehlen wir ``py install`` mit der Option ``--target``:" +"Um eine einbettbare Distribution zu installieren, empfehlen wir ``py " +"install`` mit der Option ``--target``:" #: ../../using/windows.rst:1125 msgid "$> py install 3.14-embed --target=" @@ -2438,7 +2435,13 @@ msgid "" "tk (including all dependents, such as Idle), pip and the Python " "documentation are not included." msgstr "" -"Im entpackten Zustand ist die einbettbare Distribution (fast) vollständig vom System des Benutzers abgeschottet, auch von Umgebungsvariablen, Einstellungen der Systemregistrierung und installierten Paketen. Die Standardbibliothek liegt als vorkompilierte und optimierte ``.pyc``-Dateien in einem ZIP bei, und ``python3.dll``, ``python313.dll``, ``python.exe`` sowie ``pythonw.exe`` sind alle enthalten. Tcl/tk (samt allem, was darauf aufbaut, etwa Idle), pip und die Python-Dokumentation sind nicht enthalten." +"Im entpackten Zustand ist die einbettbare Distribution (fast) vollständig " +"vom System des Benutzers abgeschottet, auch von Umgebungsvariablen, " +"Einstellungen der Systemregistrierung und installierten Paketen. Die " +"Standardbibliothek liegt als vorkompilierte und optimierte ``.pyc``-Dateien " +"in einem ZIP bei, und ``python3.dll``, ``python313.dll``, ``python.exe`` " +"sowie ``pythonw.exe`` sind alle enthalten. Tcl/tk (samt allem, was darauf " +"aufbaut, etwa Idle), pip und die Python-Dokumentation sind nicht enthalten." #: ../../using/windows.rst:1136 msgid "" @@ -2461,7 +2464,15 @@ msgid "" "part of the application (\"vendoring\") so that the developer can ensure " "compatibility with newer versions before providing updates to users." msgstr "" -"Pakete von Dritten sollten vom Installationsprogramm der Anwendung neben der einbettbaren Distribution installiert werden. Abhängigkeiten mit pip zu verwalten wie bei einer gewöhnlichen Python-Installation wird mit dieser Distribution nicht unterstützt, auch wenn es mit einiger Sorgfalt möglich sein mag, pip für automatische Aktualisierungen beizulegen und zu verwenden. Grundsätzlich sollten Pakete von Dritten als Teil der Anwendung behandelt werden („Vendoring“), damit die Entwicklung die Verträglichkeit mit neueren Versionen sicherstellen kann, bevor sie Aktualisierungen an die Benutzer ausliefert." +"Pakete von Dritten sollten vom Installationsprogramm der Anwendung neben der " +"einbettbaren Distribution installiert werden. Abhängigkeiten mit pip zu " +"verwalten wie bei einer gewöhnlichen Python-Installation wird mit dieser " +"Distribution nicht unterstützt, auch wenn es mit einiger Sorgfalt möglich " +"sein mag, pip für automatische Aktualisierungen beizulegen und zu verwenden. " +"Grundsätzlich sollten Pakete von Dritten als Teil der Anwendung behandelt " +"werden („Vendoring“), damit die Entwicklung die Verträglichkeit mit neueren " +"Versionen sicherstellen kann, bevor sie Aktualisierungen an die Benutzer " +"ausliefert." #: ../../using/windows.rst:1148 msgid "" @@ -2482,7 +2493,11 @@ msgid "" "transparent it should be (or conversely, how professional it should appear), " "there are two options." msgstr "" -"Eine in Python geschriebene Anwendung erfordert nicht zwangsläufig, dass die Benutzer davon wissen. Die einbettbare Distribution lässt sich in diesem Fall verwenden, um eine private Python-Version in ein Installationspaket aufzunehmen. Je nachdem, wie unauffällig das sein soll (oder umgekehrt, wie professionell es wirken soll), gibt es zwei Möglichkeiten." +"Eine in Python geschriebene Anwendung erfordert nicht zwangsläufig, dass die " +"Benutzer davon wissen. Die einbettbare Distribution lässt sich in diesem " +"Fall verwenden, um eine private Python-Version in ein Installationspaket " +"aufzunehmen. Je nachdem, wie unauffällig das sein soll (oder umgekehrt, wie " +"professionell es wirken soll), gibt es zwei Möglichkeiten." #: ../../using/windows.rst:1159 msgid "" @@ -2544,7 +2559,13 @@ msgid "" "application installation is sufficient to provide a loadable Python " "interpreter." msgstr "" -"In nativem Code geschriebene Anwendungen brauchen oft eine Skriptsprache, und dafür lässt sich die einbettbare Python-Distribution verwenden. Grundsätzlich liegt der größte Teil der Anwendung in nativem Code, und ein Teil ruft entweder ``python.exe`` auf oder verwendet ``python3.dll`` direkt. In beiden Fällen genügt es, die einbettbare Distribution in ein Unterverzeichnis der Anwendungsinstallation zu entpacken, um einen ladbaren Python-Interpreter bereitzustellen." +"In nativem Code geschriebene Anwendungen brauchen oft eine Skriptsprache, " +"und dafür lässt sich die einbettbare Python-Distribution verwenden. " +"Grundsätzlich liegt der größte Teil der Anwendung in nativem Code, und ein " +"Teil ruft entweder ``python.exe`` auf oder verwendet ``python3.dll`` direkt. " +"In beiden Fällen genügt es, die einbettbare Distribution in ein " +"Unterverzeichnis der Anwendungsinstallation zu entpacken, um einen ladbaren " +"Python-Interpreter bereitzustellen." #: ../../using/windows.rst:1187 msgid "" @@ -2553,7 +2574,10 @@ msgid "" "interpreter. Otherwise, there is no fundamental differences between using " "the embedded distribution and a regular installation." msgstr "" -"Wie bei der Verwendung als Anwendung können Pakete an jedem Ort installiert werden, weil sich die Suchpfade vor dem Hochfahren des Interpreters festlegen lassen. Davon abgesehen gibt es keine grundlegenden Unterschiede zwischen der einbettbaren Distribution und einer gewöhnlichen Installation." +"Wie bei der Verwendung als Anwendung können Pakete an jedem Ort installiert " +"werden, weil sich die Suchpfade vor dem Hochfahren des Interpreters " +"festlegen lassen. Davon abgesehen gibt es keine grundlegenden Unterschiede " +"zwischen der einbettbaren Distribution und einer gewöhnlichen Installation." #: ../../using/windows.rst:1196 msgid "The nuget.org packages" @@ -2589,10 +2613,10 @@ msgid "" "example, using curl or PowerShell. With the tool, the latest version of " "Python for 64-bit or 32-bit machines is installed using::" msgstr "" -"Das Befehlszeilenwerkzeug ``nuget.exe`` lässt sich direkt von ``https://" -"dist.nuget.org/win-x86-commandline/latest/nuget.exe`` herunterladen, zum " -"Beispiel mit curl oder PowerShell. Mit dem Werkzeug wird die neueste Python-" -"Version für 64-Bit- oder 32-Bit-Rechner so installiert::" +"Das Befehlszeilenwerkzeug ``nuget.exe`` lässt sich direkt von ``https://dist." +"nuget.org/win-x86-commandline/latest/nuget.exe`` herunterladen, zum Beispiel " +"mit curl oder PowerShell. Mit dem Werkzeug wird die neueste Python-Version " +"für 64-Bit- oder 32-Bit-Rechner so installiert::" #: ../../using/windows.rst:1214 msgid "" @@ -2687,17 +2711,16 @@ msgid "" "version, `pythonx86-freethreaded `_ for the 32-bit version, and `pythonarm64-freethreaded " "`_ for the ARM64 " -"version. These packages contain both the ``python3.13t.exe`` and " -"``python.exe`` entry points, both of which run free threaded." +"version. These packages contain both the ``python3.13t.exe`` and ``python." +"exe`` entry points, both of which run free threaded." msgstr "" "Pakete mit Free-Threading-Binärdateien heißen `python-freethreaded `_ für die 64-Bit-Version, " "`pythonx86-freethreaded `_ für die 32-Bit-Version und `pythonarm64-freethreaded " "`_ für die ARM64-" -"Version. Diese Pakete enthalten sowohl den Einsprungpunkt " -"``python3.13t.exe`` als auch ``python.exe``, die beide im Free-Threading-" -"Betrieb laufen." +"Version. Diese Pakete enthalten sowohl den Einsprungpunkt ``python3.13t." +"exe`` als auch ``python.exe``, die beide im Free-Threading-Betrieb laufen." #: ../../using/windows.rst:1267 msgid "Alternative bundles" @@ -2753,9 +2776,9 @@ msgid "" "Code>`_." msgstr "" "Früher stellte Enthought Canopy bereit, das aber `2016 das Ende seiner " -"Lebensdauer erreicht hat `_." +"Lebensdauer erreicht hat `_." #: ../../using/windows.rst:1286 msgid "`WinPython `_" @@ -2848,8 +2871,8 @@ msgstr "UTF-8-Modus" #: ../../using/windows.rst:1332 msgid "Python UTF-8 mode is now enabled by default (:pep:`686`)." msgstr "" -"Der UTF-8-Modus von Python ist jetzt standardmäßig eingeschaltet " -"(:pep:`686`)." +"Der UTF-8-Modus von Python ist jetzt standardmäßig eingeschaltet (:pep:" +"`686`)." #: ../../using/windows.rst:1334 msgid "" @@ -2874,9 +2897,9 @@ msgstr "" #: ../../using/windows.rst:1342 msgid "" "The :ref:`Python UTF-8 Mode `, enabled by default, ignores the " -"system encoding and uses UTF-8 as the default text encoding. When " -"the :ref:`UTF-8 mode ` is enabled, you can still use the system " -"encoding (the ANSI Code Page) via the \"mbcs\" codec." +"system encoding and uses UTF-8 as the default text encoding. When the :ref:" +"`UTF-8 mode ` is enabled, you can still use the system encoding " +"(the ANSI Code Page) via the \"mbcs\" codec." msgstr "" "Der standardmäßig eingeschaltete :ref:`UTF-8-Modus von Python ` " "ignoriert die Systemkodierung und verwendet UTF-8 als Standardkodierung für " @@ -2893,8 +2916,8 @@ msgid "" msgstr "" "Den :ref:`UTF-8-Modus von Python ` kannst du über die " "Befehlszeilenoption ``-X utf8=0`` oder die Umgebungsvariable " -"``PYTHONUTF8=0`` abschalten. Zum Abschalten des UTF-8-Modus " -"siehe :envvar:`PYTHONUTF8`, und unter :ref:`setting-envvars` steht, wie du " +"``PYTHONUTF8=0`` abschalten. Zum Abschalten des UTF-8-Modus siehe :envvar:" +"`PYTHONUTF8`, und unter :ref:`setting-envvars` steht, wie du " "Umgebungsvariablen änderst." #: ../../using/windows.rst:1353 @@ -2964,10 +2987,10 @@ msgstr "" #: ../../using/windows.rst:1382 msgid "" -"If the environment variable :envvar:`PYTHONPATH` exists, as described " -"in :ref:`using-on-envvars`, its entries are added next. Note that on " -"Windows, paths in this variable must be separated by semicolons, to " -"distinguish them from the colon used in drive identifiers (``C:\\`` etc.)." +"If the environment variable :envvar:`PYTHONPATH` exists, as described in :" +"ref:`using-on-envvars`, its entries are added next. Note that on Windows, " +"paths in this variable must be separated by semicolons, to distinguish them " +"from the colon used in drive identifiers (``C:\\`` etc.)." msgstr "" "Existiert die Umgebungsvariable :envvar:`PYTHONPATH`, wie unter :ref:`using-" "on-envvars` beschrieben, werden als nächstes ihre Einträge hinzugefügt. " @@ -2977,11 +3000,11 @@ msgstr "" #: ../../using/windows.rst:1387 msgid "" -"Additional \"application paths\" can be added in the registry as subkeys " -"of :samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\\\PythonPath` " -"under both the ``HKEY_CURRENT_USER`` and ``HKEY_LOCAL_MACHINE`` hives. " -"Subkeys which have semicolon-delimited path strings as their default value " -"will cause each path to be added to :data:`sys.path`. (Note that all known " +"Additional \"application paths\" can be added in the registry as subkeys of :" +"samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\\\PythonPath` under " +"both the ``HKEY_CURRENT_USER`` and ``HKEY_LOCAL_MACHINE`` hives. Subkeys " +"which have semicolon-delimited path strings as their default value will " +"cause each path to be added to :data:`sys.path`. (Note that all known " "installers only use HKLM, so HKCU is typically empty.)" msgstr "" "Weitere „Anwendungspfade“ lassen sich in der Registrierung als " @@ -3004,9 +3027,9 @@ msgid "" msgstr "" "Ist die Umgebungsvariable :envvar:`PYTHONHOME` gesetzt, wird sie als „Python-" "Heimat“ angenommen. Andernfalls wird über den Pfad der ausführbaren Python-" -"Hauptdatei eine „Wegmarke“ gesucht (entweder ``Lib\\os.py`` oder " -"``pythonXY.zip``), um die „Python-Heimat“ zu erschließen. Wird eine Python-" -"Heimat gefunden, richten sich die zu :data:`sys.path` hinzugefügten " +"Hauptdatei eine „Wegmarke“ gesucht (entweder ``Lib\\os.py`` oder ``pythonXY." +"zip``), um die „Python-Heimat“ zu erschließen. Wird eine Python-Heimat " +"gefunden, richten sich die zu :data:`sys.path` hinzugefügten " "Unterverzeichnisse (``Lib``, ``plat-win`` und so weiter) nach diesem Ordner. " "Andernfalls wird der Kernpfad von Python aus dem in der Registrierung " "gespeicherten PythonPath gebildet." @@ -3017,8 +3040,8 @@ msgid "" "in the environment, and no registry entries can be found, a default path " "with relative entries is used (e.g. ``.\\Lib;.\\plat-win``, etc)." msgstr "" -"Lässt sich die Python-Heimat nicht ermitteln, ist in der Umgebung " -"kein :envvar:`PYTHONPATH` angegeben und sind keine Registrierungseinträge zu " +"Lässt sich die Python-Heimat nicht ermitteln, ist in der Umgebung kein :" +"envvar:`PYTHONPATH` angegeben und sind keine Registrierungseinträge zu " "finden, wird ein Standardpfad mit relativen Einträgen verwendet (etwa ``." "\\Lib;.\\plat-win`` und so weiter)." @@ -3102,8 +3125,8 @@ msgstr "" #: ../../using/windows.rst:1436 msgid "" "If you are loading :file:`python3.dll` or :file:`python37.dll` in your own " -"executable, explicitly set :c:member:`PyConfig.module_search_paths` " -"before :c:func:`Py_InitializeFromConfig`." +"executable, explicitly set :c:member:`PyConfig.module_search_paths` before :" +"c:func:`Py_InitializeFromConfig`." msgstr "" "Wenn du :file:`python3.dll` oder :file:`python37.dll` in deiner eigenen " "ausführbaren Datei lädst, setze :c:member:`PyConfig.module_search_paths` " @@ -3114,9 +3137,8 @@ msgid "" "Clear and/or overwrite :envvar:`PYTHONPATH` and set :envvar:`PYTHONHOME` " "before launching :file:`python.exe` from your application." msgstr "" -"Leere beziehungsweise überschreibe :envvar:`PYTHONPATH` und " -"setze :envvar:`PYTHONHOME`, bevor du :file:`python.exe` aus deiner Anwendung " -"startest." +"Leere beziehungsweise überschreibe :envvar:`PYTHONPATH` und setze :envvar:" +"`PYTHONHOME`, bevor du :file:`python.exe` aus deiner Anwendung startest." #: ../../using/windows.rst:1443 msgid "" @@ -3150,8 +3172,8 @@ msgstr "" #: ../../using/windows.rst:1457 msgid "" -"Add ``._pth`` file support and removes ``applocal`` option from " -"``pyvenv.cfg``." +"Add ``._pth`` file support and removes ``applocal`` option from ``pyvenv." +"cfg``." msgstr "" "Unterstützung für die Datei ``._pth`` hinzugefügt und die Option " "``applocal`` aus ``pyvenv.cfg`` entfernt." @@ -3172,11 +3194,10 @@ msgid "" "explicitly added to :data:`sys.meta_path` in the future." msgstr "" "Module, die in der Registrierung unter ``Modules`` (nicht ``PythonPath``) " -"angegeben sind, können " -"von :class:`importlib.machinery.WindowsRegistryFinder` importiert werden. " -"Dieser Finder ist unter Windows in 3.6.0 und früher eingeschaltet, muss " -"künftig aber möglicherweise ausdrücklich zu :data:`sys.meta_path` " -"hinzugefügt werden." +"angegeben sind, können von :class:`importlib.machinery." +"WindowsRegistryFinder` importiert werden. Dieser Finder ist unter Windows in " +"3.6.0 und früher eingeschaltet, muss künftig aber möglicherweise " +"ausdrücklich zu :data:`sys.meta_path` hinzugefügt werden." #: ../../using/windows.rst:1473 msgid "Additional modules" @@ -3239,19 +3260,19 @@ msgid "" "`Microsoft Foundation Classes `_ (MFC) user interfaces" msgstr "" -"Benutzeroberflächen mit `Microsoft Foundation Classes `_ (MFC)" +"Benutzeroberflächen mit `Microsoft Foundation Classes `_ (MFC)" #: ../../using/windows.rst:1499 msgid "" -"`PythonWin `_ is a sample MFC application shipped " -"with PyWin32. It is an embeddable IDE with a built-in debugger." +"`PythonWin `_ is a sample MFC application shipped with PyWin32. " +"It is an embeddable IDE with a built-in debugger." msgstr "" -"`PythonWin `_ ist eine Beispielanwendung mit MFC, die " -"mit PyWin32 ausgeliefert wird. Es ist eine einbettbare Entwicklungsumgebung " -"mit integriertem Debugger." +"`PythonWin `_ ist eine Beispielanwendung mit MFC, die mit " +"PyWin32 ausgeliefert wird. Es ist eine einbettbare Entwicklungsumgebung mit " +"integriertem Debugger." #: ../../using/windows.rst:1505 msgid "" @@ -3312,8 +3333,8 @@ msgid "" msgstr "" "Der Quellbaum enthält eine Build-Solution und Projektdateien für Microsoft " "Visual Studio, den Compiler, mit dem die offiziellen Python-" -"Veröffentlichungen gebaut werden. Diese Dateien liegen im " -"Verzeichnis :file:`PCbuild`." +"Veröffentlichungen gebaut werden. Diese Dateien liegen im Verzeichnis :file:" +"`PCbuild`." #: ../../using/windows.rst:1533 msgid "" @@ -3633,13 +3654,13 @@ msgstr "Das Standardinstallationsverzeichnis für Installationen nur für mich" #: ../../using/windows.rst:1660 msgid "" -":file:`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY` " -"or :file:`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY-32` " -"or :file:`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY-64`" +":file:`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY` or :file:" +"`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY-32` or :file:" +"`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY-64`" msgstr "" -":file:`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY` " -"or :file:`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY-32` " -"or :file:`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY-64`" +":file:`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY` or :file:" +"`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY-32` or :file:" +"`%LocalAppData%\\\\ Programs\\\\Python\\\\ PythonXY-64`" #: ../../using/windows.rst:1670 msgid "DefaultCustomTargetDir" @@ -3689,8 +3710,8 @@ msgid "" "Prepend install and Scripts directories to :envvar:`PATH` and add ``.PY`` " "to :envvar:`PATHEXT`" msgstr "" -"Stellt die Installations- und Scripts-Verzeichnisse an den Anfang " -"von :envvar:`PATH` und fügt ``.PY`` zu :envvar:`PATHEXT` hinzu" +"Stellt die Installations- und Scripts-Verzeichnisse an den Anfang von :" +"envvar:`PATH` und fügt ``.PY`` zu :envvar:`PATHEXT` hinzu" #: ../../using/windows.rst:1683 msgid "AppendPath" @@ -3898,12 +3919,11 @@ msgstr "" #: ../../using/windows.rst:1747 msgid "" -"The options listed above can also be provided in a file named " -"``unattend.xml`` alongside the executable. This file specifies a list of " -"options and values. When a value is provided as an attribute, it will be " -"converted to a number if possible. Values provided as element text are " -"always left as strings. This example file sets the same options as the " -"previous example:" +"The options listed above can also be provided in a file named ``unattend." +"xml`` alongside the executable. This file specifies a list of options and " +"values. When a value is provided as an attribute, it will be converted to a " +"number if possible. Values provided as element text are always left as " +"strings. This example file sets the same options as the previous example:" msgstr "" "Die oben aufgeführten Optionen lassen sich auch in einer Datei namens " "``unattend.xml`` neben der ausführbaren Datei angeben. Diese Datei gibt eine " @@ -4018,12 +4038,11 @@ msgstr "" #: ../../using/windows.rst:1802 msgid "" -"\"Uninstall\" will remove Python entirely, with the exception of " -"the :ref:`launcher`, which has its own entry in Programs and Features." +"\"Uninstall\" will remove Python entirely, with the exception of the :ref:" +"`launcher`, which has its own entry in Programs and Features." msgstr "" -"Mit „Uninstall“ wird Python vollständig entfernt, mit Ausnahme " -"des :ref:`launcher`, der seinen eigenen Eintrag in „Programme und Features“ " -"hat." +"Mit „Uninstall“ wird Python vollständig entfernt, mit Ausnahme des :ref:" +"`launcher`, der seinen eigenen Eintrag in „Programme und Features“ hat." #: ../../using/windows.rst:1811 msgid "" @@ -4064,13 +4083,13 @@ msgid "" msgstr "" "Die Free-Threading-Version wird als gewöhnliche Python-Installation mit dem " "Tag ``3.13t`` registriert (mit einem Suffix ``-32`` oder ``-arm64``, wie auf " -"diesen Plattformen üblich). So können Werkzeuge sie finden, und " -"der :ref:`launcher` unterstützt ``py.exe -3.13t``. Beachte, dass der Starter " -"``py.exe -3`` (oder einen Shebang ``python3``) als „die neueste 3.x-" -"Installation“ auffasst, wobei er die Free-Threading-Binärdateien den " -"gewöhnlichen vorzieht, ``py.exe -3.13`` dagegen nicht. Wenn du die kurze " -"Form der Option verwendest, ziehst du es vielleicht vor, die Free-Threading-" -"Binärdateien zunächst nicht zu installieren." +"diesen Plattformen üblich). So können Werkzeuge sie finden, und der :ref:" +"`launcher` unterstützt ``py.exe -3.13t``. Beachte, dass der Starter ``py.exe " +"-3`` (oder einen Shebang ``python3``) als „die neueste 3.x-Installation“ " +"auffasst, wobei er die Free-Threading-Binärdateien den gewöhnlichen " +"vorzieht, ``py.exe -3.13`` dagegen nicht. Wenn du die kurze Form der Option " +"verwendest, ziehst du es vielleicht vor, die Free-Threading-Binärdateien " +"zunächst nicht zu installieren." #: ../../using/windows.rst:1832 msgid "" @@ -4083,8 +4102,8 @@ msgstr "" "Um die Installationsoption auf der Befehlszeile anzugeben, verwende " "``Include_freethreaded=1``. Unter :ref:`install-layout-option` steht, wie du " "die zusätzlichen Binärdateien vorab für eine Offline-Installation " -"herunterlädst. Die Optionen zum Einbeziehen von Debugsymbolen und " -"-binärdateien gelten auch für die Free-Threading-Builds." +"herunterlädst. Die Optionen zum Einbeziehen von Debugsymbolen und -" +"binärdateien gelten auch für die Free-Threading-Builds." #: ../../using/windows.rst:1838 msgid "" @@ -4390,8 +4409,8 @@ msgstr "Über Dateiverknüpfungen" #: ../../using/windows.rst:1984 msgid "" -"The launcher should have been associated with Python files (i.e. ``.py``, " -"``.pyw``, ``.pyc`` files) when it was installed. This means that when you " +"The launcher should have been associated with Python files (i.e. ``.py``, ``." +"pyw``, ``.pyc`` files) when it was installed. This means that when you " "double-click on one of these files from Windows explorer the launcher will " "be used, and therefore you can use the same facilities described above to " "have the script specify the version which should be used." @@ -4482,8 +4501,8 @@ msgstr "" #: ../../using/windows.rst:2039 msgid "" "The \"-64\" suffix is deprecated, and now implies \"any architecture that is " -"not provably i386/32-bit\". To request a specific environment, use the " -"new :samp:`-V:{TAG}` argument with the complete tag." +"not provably i386/32-bit\". To request a specific environment, use the new :" +"samp:`-V:{TAG}` argument with the complete tag." msgstr "" "Das Suffix „-64“ ist veraltet und bedeutet jetzt „jede Architektur, die " "nicht nachweislich i386/32-Bit ist“. Um eine bestimmte Umgebung anzufordern, " @@ -4498,8 +4517,8 @@ msgid "" msgstr "" "Virtuelle Befehle, die auf ``python`` verweisen, ziehen nun eine aktive " "virtuelle Umgebung der Suche in :envvar:`PATH` vor. Damit sind Fälle " -"abgedeckt, in denen der Shebang ``/usr/bin/env python3`` " -"angibt, :file:`python3.exe` in der aktiven Umgebung aber nicht vorhanden ist." +"abgedeckt, in denen der Shebang ``/usr/bin/env python3`` angibt, :file:" +"`python3.exe` in der aktiven Umgebung aber nicht vorhanden ist." #: ../../using/windows.rst:2050 msgid "" @@ -4511,8 +4530,8 @@ msgid "" "the first argument after the ``env`` command cannot be found, but the " "argument starts with ``python``, it will be handled as described for the " "other virtual commands. The environment variable :envvar:`!" -"PYLAUNCHER_NO_SEARCH_PATH` may be set (to any value) to skip this search " -"of :envvar:`PATH`." +"PYLAUNCHER_NO_SEARCH_PATH` may be set (to any value) to skip this search of :" +"envvar:`PATH`." msgstr "" "Die Shebang-Form ``/usr/bin/env`` hat noch eine besondere Eigenschaft. Bevor " "nach installierten Python-Interpretern gesucht wird, durchsucht diese Form " @@ -4521,9 +4540,9 @@ msgstr "" "Programms ``env``, das eine Suche in :envvar:`PATH` durchführt. Lässt sich " "keine ausführbare Datei finden, die zum ersten Argument nach dem Befehl " "``env`` passt, beginnt das Argument aber mit ``python``, wird es so " -"behandelt wie bei den anderen virtuellen Befehlen. Die " -"Umgebungsvariable :envvar:`!PYLAUNCHER_NO_SEARCH_PATH` lässt sich (auf einen " -"beliebigen Wert) setzen, um diese Suche in :envvar:`PATH` zu überspringen." +"behandelt wie bei den anderen virtuellen Befehlen. Die Umgebungsvariable :" +"envvar:`!PYLAUNCHER_NO_SEARCH_PATH` lässt sich (auf einen beliebigen Wert) " +"setzen, um diese Suche in :envvar:`PATH` zu überspringen." #: ../../using/windows.rst:2061 msgid "" @@ -4540,8 +4559,8 @@ msgstr "" "nachgeschlagen. Damit lassen sich bestimmte Befehle so behandeln, wie es für " "dein System sinnvoll ist. Der Name des Befehls muss ein einzelnes Argument " "sein (keine Leerzeichen in der ausführbaren Datei des Shebangs), und der " -"eingesetzte Wert ist der vollständige Pfad zur ausführbaren Datei (in " -"der .INI angegebene zusätzliche Argumente werden als Teil des Dateinamens in " +"eingesetzte Wert ist der vollständige Pfad zur ausführbaren Datei (in der ." +"INI angegebene zusätzliche Argumente werden als Teil des Dateinamens in " "Anführungszeichen gesetzt)." #: ../../using/windows.rst:2069 @@ -4603,10 +4622,10 @@ msgstr "Anpassung über INI-Dateien" #: ../../using/windows.rst:2102 msgid "" "Two .ini files will be searched by the launcher - ``py.ini`` in the current " -"user's application data directory (``%LOCALAPPDATA%`` or " -"``$env:LocalAppData``) and ``py.ini`` in the same directory as the launcher. " -"The same .ini files are used for both the 'console' version of the launcher " -"(i.e. py.exe) and for the 'windows' version (i.e. pyw.exe)." +"user's application data directory (``%LOCALAPPDATA%`` or ``$env:" +"LocalAppData``) and ``py.ini`` in the same directory as the launcher. The " +"same .ini files are used for both the 'console' version of the launcher (i." +"e. py.exe) and for the 'windows' version (i.e. pyw.exe)." msgstr "" "Der Starter sucht nach zwei .ini-Dateien — ``py.ini`` im " "Anwendungsdatenverzeichnis des aktuellen Benutzers (``%LOCALAPPDATA%`` oder " @@ -4657,12 +4676,12 @@ msgstr "" #: ../../using/windows.rst:2124 msgid "" -"If no version qualifiers are found in a command, the environment " -"variable :envvar:`!PY_PYTHON` can be set to specify the default version " -"qualifier. If it is not set, the default is \"3\". The variable can specify " -"any value that may be passed on the command line, such as \"3\", \"3.7\", " -"\"3.7-32\" or \"3.7-64\". (Note that the \"-64\" option is only available " -"with the launcher included with Python 3.7 or newer.)" +"If no version qualifiers are found in a command, the environment variable :" +"envvar:`!PY_PYTHON` can be set to specify the default version qualifier. If " +"it is not set, the default is \"3\". The variable can specify any value that " +"may be passed on the command line, such as \"3\", \"3.7\", \"3.7-32\" or " +"\"3.7-64\". (Note that the \"-64\" option is only available with the " +"launcher included with Python 3.7 or newer.)" msgstr "" "Finden sich in einem Befehl keine Versionszusätze, lässt sich die " "Umgebungsvariable :envvar:`!PY_PYTHON` setzen, um den Standard-" diff --git a/whatsnew/3.12.po b/whatsnew/3.12.po index a1fa7b65..35c2e57d 100644 --- a/whatsnew/3.12.po +++ b/whatsnew/3.12.po @@ -36,8 +36,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:48 msgid "" "This article explains the new features in Python 3.12, compared to 3.11. " -"Python 3.12 was released on October 2, 2023. For full details, see " -"the :ref:`changelog `." +"Python 3.12 was released on October 2, 2023. For full details, see the :ref:" +"`changelog `." msgstr "" #: ../../whatsnew/3.12.rst:54 @@ -63,9 +63,9 @@ msgid "" "The language changes focus on usability, as :term:`f-strings ` " "have had many limitations removed and 'Did you mean ...' suggestions " "continue to improve. The new :ref:`type parameter syntax ` and :keyword:`type` statement improve ergonomics for " -"using :term:`generic types ` and :term:`type aliases ` with static type checkers." +"pep695>` and :keyword:`type` statement improve ergonomics for using :term:" +"`generic types ` and :term:`type aliases ` with " +"static type checkers." msgstr "" #: ../../whatsnew/3.12.rst:76 @@ -85,8 +85,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:92 msgid "" -":ref:`PEP 695 `, type parameter syntax and " -"the :keyword:`type` statement" +":ref:`PEP 695 `, type parameter syntax and the :keyword:" +"`type` statement" msgstr "" #: ../../whatsnew/3.12.rst:94 @@ -115,8 +115,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:103 msgid "" -"`Improved 'Did you mean ...' suggestions `_ " -"for :exc:`NameError`, :exc:`ImportError`, and :exc:`SyntaxError` exceptions" +"`Improved 'Did you mean ...' suggestions `_ for :" +"exc:`NameError`, :exc:`ImportError`, and :exc:`SyntaxError` exceptions" msgstr "" #: ../../whatsnew/3.12.rst:106 @@ -143,14 +143,14 @@ msgstr "" #: ../../whatsnew/3.12.rst:115 msgid "" -"A :ref:`command-line interface ` has been added to " -"the :mod:`sqlite3` module" +"A :ref:`command-line interface ` has been added to the :mod:" +"`sqlite3` module" msgstr "" #: ../../whatsnew/3.12.rst:117 msgid "" -":func:`isinstance` checks against :func:`runtime-checkable protocols " -"` enjoy a speed up of between two and 20 times" +":func:`isinstance` checks against :func:`runtime-checkable protocols ` enjoy a speed up of between two and 20 times" msgstr "" #: ../../whatsnew/3.12.rst:119 @@ -277,8 +277,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:187 msgid "" -":pep:`695` introduces a new, more compact and explicit way to " -"create :ref:`generic classes ` and :ref:`functions ` and :ref:`functions `::" msgstr "" @@ -316,9 +316,9 @@ msgstr "" #: ../../whatsnew/3.12.rst:210 msgid "" -"The new syntax allows declaring :class:`~typing.TypeVarTuple` " -"and :class:`~typing.ParamSpec` parameters, as well " -"as :class:`~typing.TypeVar` parameters with bounds or constraints::" +"The new syntax allows declaring :class:`~typing.TypeVarTuple` and :class:" +"`~typing.ParamSpec` parameters, as well as :class:`~typing.TypeVar` " +"parameters with bounds or constraints::" msgstr "" #: ../../whatsnew/3.12.rst:214 @@ -414,11 +414,10 @@ msgstr "" #: ../../whatsnew/3.12.rst:290 msgid "" "Backslashes and unicode characters: before Python 3.12 f-string expressions " -"couldn't contain any ``\\`` character. This also affected " -"unicode :ref:`escape sequences ` (such as ``\\N{snowman}" -"``) as these contain the ``\\N`` part that previously could not be part of " -"expression components of f-strings. Now, you can define expressions like " -"this:" +"couldn't contain any ``\\`` character. This also affected unicode :ref:" +"`escape sequences ` (such as ``\\N{snowman}``) as these " +"contain the ``\\N`` part that previously could not be part of expression " +"components of f-strings. Now, you can define expressions like this:" msgstr "" #: ../../whatsnew/3.12.rst:303 @@ -537,17 +536,16 @@ msgstr "" #: ../../whatsnew/3.12.rst:386 msgid "" ":pep:`688` introduces a way to use the :ref:`buffer protocol " -"` from Python code. Classes that implement " -"the :meth:`~object.__buffer__` method are now usable as buffer types." +"` from Python code. Classes that implement the :meth:`~object." +"__buffer__` method are now usable as buffer types." msgstr "" #: ../../whatsnew/3.12.rst:390 msgid "" "The new :class:`collections.abc.Buffer` ABC provides a standard way to " -"represent buffer objects, for example in type annotations. The " -"new :class:`inspect.BufferFlags` enum represents the flags that can be used " -"to customize buffer creation. (Contributed by Jelle Zijlstra " -"in :gh:`102500`.)" +"represent buffer objects, for example in type annotations. The new :class:" +"`inspect.BufferFlags` enum represents the flags that can be used to " +"customize buffer creation. (Contributed by Jelle Zijlstra in :gh:`102500`.)" msgstr "" #: ../../whatsnew/3.12.rst:399 @@ -626,8 +624,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:459 msgid "" "Improve the :exc:`SyntaxError` error message when the user types ``import x " -"from y`` instead of ``from y import x``. (Contributed by Pablo Galindo " -"in :gh:`98931`.)" +"from y`` instead of ``from y import x``. (Contributed by Pablo Galindo in :" +"gh:`98931`.)" msgstr "" #: ../../whatsnew/3.12.rst:469 @@ -644,8 +642,8 @@ msgstr "Neue Funktionen im Zusammenhang mit Typ-Hinweisen" #: ../../whatsnew/3.12.rst:482 msgid "" -"This section covers major changes affecting :pep:`type hints <484>` and " -"the :mod:`typing` module." +"This section covers major changes affecting :pep:`type hints <484>` and the :" +"mod:`typing` module." msgstr "" #: ../../whatsnew/3.12.rst:488 @@ -744,18 +742,17 @@ msgid "" "a :exc:`SyntaxWarning`, instead of :exc:`DeprecationWarning`. For example, " "``re.compile(\"\\d+\\.\\d+\")`` now emits a :exc:`SyntaxWarning` " "(``\"\\d\"`` is an invalid escape sequence, use raw strings for regular " -"expression: ``re.compile(r\"\\d+\\.\\d+\")``). In a future Python " -"version, :exc:`SyntaxError` will eventually be raised, instead " -"of :exc:`SyntaxWarning`. (Contributed by Victor Stinner in :gh:`98401`.)" +"expression: ``re.compile(r\"\\d+\\.\\d+\")``). In a future Python version, :" +"exc:`SyntaxError` will eventually be raised, instead of :exc:" +"`SyntaxWarning`. (Contributed by Victor Stinner in :gh:`98401`.)" msgstr "" #: ../../whatsnew/3.12.rst:557 msgid "" "Octal escapes with value larger than ``0o377`` (ex: ``\"\\477\"``), " -"deprecated in Python 3.11, now produce a :exc:`SyntaxWarning`, instead " -"of :exc:`DeprecationWarning`. In a future Python version they will be " -"eventually a :exc:`SyntaxError`. (Contributed by Victor Stinner " -"in :gh:`98401`.)" +"deprecated in Python 3.11, now produce a :exc:`SyntaxWarning`, instead of :" +"exc:`DeprecationWarning`. In a future Python version they will be eventually " +"a :exc:`SyntaxError`. (Contributed by Victor Stinner in :gh:`98401`.)" msgstr "" #: ../../whatsnew/3.12.rst:563 @@ -778,9 +775,9 @@ msgstr "" #: ../../whatsnew/3.12.rst:574 msgid "" "When a ``try-except*`` construct handles the entire :exc:`ExceptionGroup` " -"and raises one other exception, that exception is no longer wrapped in " -"an :exc:`ExceptionGroup`. Also changed in version 3.11.4. (Contributed by " -"Irit Katriel in :gh:`103590`.)" +"and raises one other exception, that exception is no longer wrapped in an :" +"exc:`ExceptionGroup`. Also changed in version 3.11.4. (Contributed by Irit " +"Katriel in :gh:`103590`.)" msgstr "" #: ../../whatsnew/3.12.rst:579 @@ -789,8 +786,8 @@ msgid "" "Python bytecode evaluation loop instead of object allocations. The GC can " "also run when :c:func:`PyErr_CheckSignals` is called so C extensions that " "need to run for a long time without executing any Python code also have a " -"chance to execute the GC periodically. (Contributed by Pablo Galindo " -"in :gh:`97922`.)" +"chance to execute the GC periodically. (Contributed by Pablo Galindo in :gh:" +"`97922`.)" msgstr "" #: ../../whatsnew/3.12.rst:586 @@ -846,13 +843,12 @@ msgstr "" #: ../../whatsnew/3.12.rst:616 msgid "" "Add :ref:`support for the perf profiler ` through the new " -"environment variable :envvar:`PYTHONPERFSUPPORT` and command-line " -"option :option:`-X perf <-X>`, as well as the " -"new :func:`sys.activate_stack_trampoline`, :func:`sys.deactivate_stack_trampoline`, " -"and :func:`sys.is_stack_trampoline_active` functions. (Design by Pablo " -"Galindo. Contributed by Pablo Galindo and Christian Heimes with " -"contributions from Gregory P. Smith [Google] and Mark Shannon " -"in :gh:`96123`.)" +"environment variable :envvar:`PYTHONPERFSUPPORT` and command-line option :" +"option:`-X perf <-X>`, as well as the new :func:`sys." +"activate_stack_trampoline`, :func:`sys.deactivate_stack_trampoline`, and :" +"func:`sys.is_stack_trampoline_active` functions. (Design by Pablo Galindo. " +"Contributed by Pablo Galindo and Christian Heimes with contributions from " +"Gregory P. Smith [Google] and Mark Shannon in :gh:`96123`.)" msgstr "" #: ../../whatsnew/3.12.rst:628 @@ -873,8 +869,8 @@ msgstr "Array" #: ../../whatsnew/3.12.rst:639 msgid "" -"The :class:`array.array` class now supports subscripting, making it " -"a :term:`generic type`. (Contributed by Jelle Zijlstra in :gh:`98658`.)" +"The :class:`array.array` class now supports subscripting, making it a :term:" +"`generic type`. (Contributed by Jelle Zijlstra in :gh:`98658`.)" msgstr "" #: ../../whatsnew/3.12.rst:643 @@ -891,11 +887,10 @@ msgstr "" #: ../../whatsnew/3.12.rst:650 msgid "" -"Add :func:`asyncio.eager_task_factory` " -"and :func:`asyncio.create_eager_task_factory` functions to allow opting an " -"event loop in to eager task execution, making some use-cases 2x to 5x " -"faster. (Contributed by Jacob Bower & Itamar Oren " -"in :gh:`102853`, :gh:`104140`, and :gh:`104138`)" +"Add :func:`asyncio.eager_task_factory` and :func:`asyncio." +"create_eager_task_factory` functions to allow opting an event loop in to " +"eager task execution, making some use-cases 2x to 5x faster. (Contributed by " +"Jacob Bower & Itamar Oren in :gh:`102853`, :gh:`104140`, and :gh:`104138`)" msgstr "" #: ../../whatsnew/3.12.rst:655 @@ -907,10 +902,10 @@ msgstr "" #: ../../whatsnew/3.12.rst:660 msgid "" -"The event loop now uses the best available child watcher for each platform " -"(:class:`!asyncio.PidfdChildWatcher` if supported and :class:`!" -"asyncio.ThreadedChildWatcher` otherwise), so manually configuring a child " -"watcher is not recommended. (Contributed by Kumar Aditya in :gh:`94597`.)" +"The event loop now uses the best available child watcher for each platform (:" +"class:`!asyncio.PidfdChildWatcher` if supported and :class:`!asyncio." +"ThreadedChildWatcher` otherwise), so manually configuring a child watcher is " +"not recommended. (Contributed by Kumar Aditya in :gh:`94597`.)" msgstr "" #: ../../whatsnew/3.12.rst:666 @@ -927,9 +922,9 @@ msgstr "" #: ../../whatsnew/3.12.rst:673 msgid "" -":func:`asyncio.iscoroutine` now returns ``False`` for generators " -"as :mod:`asyncio` does not support legacy generator-based coroutines. " -"(Contributed by Kumar Aditya in :gh:`102748`.)" +":func:`asyncio.iscoroutine` now returns ``False`` for generators as :mod:" +"`asyncio` does not support legacy generator-based coroutines. (Contributed " +"by Kumar Aditya in :gh:`102748`.)" msgstr "" #: ../../whatsnew/3.12.rst:677 @@ -945,8 +940,8 @@ msgstr "Kalender" #: ../../whatsnew/3.12.rst:684 msgid "" "Add enums :data:`calendar.Month` and :data:`calendar.Day` defining months of " -"the year and days of the week. (Contributed by Prince Roshan " -"in :gh:`103636`.)" +"the year and days of the week. (Contributed by Prince Roshan in :gh:" +"`103636`.)" msgstr "" #: ../../whatsnew/3.12.rst:689 @@ -956,8 +951,8 @@ msgstr "csv" #: ../../whatsnew/3.12.rst:691 msgid "" "Add :const:`csv.QUOTE_NOTNULL` and :const:`csv.QUOTE_STRINGS` flags to " -"provide finer grained control of ``None`` and empty strings " -"by :class:`~csv.reader` and :class:`~csv.writer` objects." +"provide finer grained control of ``None`` and empty strings by :class:`~csv." +"reader` and :class:`~csv.writer` objects." msgstr "" #: ../../whatsnew/3.12.rst:696 @@ -967,10 +962,10 @@ msgstr "dis" #: ../../whatsnew/3.12.rst:698 msgid "" "Pseudo instruction opcodes (which are used by the compiler but do not appear " -"in executable bytecode) are now exposed in the :mod:`dis` " -"module. :opcode:`HAVE_ARGUMENT` is still relevant to real opcodes, but it is " -"not useful for pseudo instructions. Use the new :data:`dis.hasarg` " -"collection instead. (Contributed by Irit Katriel in :gh:`94216`.)" +"in executable bytecode) are now exposed in the :mod:`dis` module. :opcode:" +"`HAVE_ARGUMENT` is still relevant to real opcodes, but it is not useful for " +"pseudo instructions. Use the new :data:`dis.hasarg` collection instead. " +"(Contributed by Irit Katriel in :gh:`94216`.)" msgstr "" #: ../../whatsnew/3.12.rst:706 @@ -1064,16 +1059,16 @@ msgstr "os" #: ../../whatsnew/3.12.rst:759 msgid "" -"Add :const:`os.PIDFD_NONBLOCK` to open a file descriptor for a process " -"with :func:`os.pidfd_open` in non-blocking mode. (Contributed by Kumar " -"Aditya in :gh:`93312`.)" +"Add :const:`os.PIDFD_NONBLOCK` to open a file descriptor for a process with :" +"func:`os.pidfd_open` in non-blocking mode. (Contributed by Kumar Aditya in :" +"gh:`93312`.)" msgstr "" #: ../../whatsnew/3.12.rst:763 msgid "" ":class:`os.DirEntry` now includes an :meth:`os.DirEntry.is_junction` method " -"to check if the entry is a junction. (Contributed by Charles Machalow " -"in :gh:`99547`.)" +"to check if the entry is a junction. (Contributed by Charles Machalow in :gh:" +"`99547`.)" msgstr "" #: ../../whatsnew/3.12.rst:767 @@ -1092,8 +1087,8 @@ msgid "" "with other platforms). ``st_dev`` may be up to 64 bits and ``st_ino`` up to " "128 bits depending on your file system, and ``st_rdev`` is always set to " "zero rather than incorrect values. Both functions may be significantly " -"faster on newer releases of Windows. (Contributed by Steve Dower " -"in :gh:`99726`.)" +"faster on newer releases of Windows. (Contributed by Steve Dower in :gh:" +"`99726`.)" msgstr "" #: ../../whatsnew/3.12.rst:782 @@ -1118,10 +1113,10 @@ msgstr "pathlib" #: ../../whatsnew/3.12.rst:793 msgid "" -"Add support for subclassing :class:`pathlib.PurePath` " -"and :class:`pathlib.Path`, plus their Posix- and Windows-specific variants. " -"Subclasses may override the :meth:`pathlib.PurePath.with_segments` method to " -"pass information between path instances." +"Add support for subclassing :class:`pathlib.PurePath` and :class:`pathlib." +"Path`, plus their Posix- and Windows-specific variants. Subclasses may " +"override the :meth:`pathlib.PurePath.with_segments` method to pass " +"information between path instances." msgstr "" #: ../../whatsnew/3.12.rst:798 @@ -1135,23 +1130,22 @@ msgstr "" msgid "" "Add *walk_up* optional parameter to :meth:`pathlib.PurePath.relative_to` to " "allow the insertion of ``..`` entries in the result; this behavior is more " -"consistent with :func:`os.path.relpath`. (Contributed by Domenico Ragusa " -"in :gh:`84538`.)" +"consistent with :func:`os.path.relpath`. (Contributed by Domenico Ragusa in :" +"gh:`84538`.)" msgstr "" #: ../../whatsnew/3.12.rst:807 msgid "" -"Add :meth:`pathlib.Path.is_junction` as a proxy " -"to :func:`os.path.isjunction`. (Contributed by Charles Machalow " -"in :gh:`99547`.)" +"Add :meth:`pathlib.Path.is_junction` as a proxy to :func:`os.path." +"isjunction`. (Contributed by Charles Machalow in :gh:`99547`.)" msgstr "" #: ../../whatsnew/3.12.rst:810 msgid "" -"Add *case_sensitive* optional parameter " -"to :meth:`pathlib.Path.glob`, :meth:`pathlib.Path.rglob` " -"and :meth:`pathlib.PurePath.match` for matching the path's case sensitivity, " -"allowing for more precise control over the matching process." +"Add *case_sensitive* optional parameter to :meth:`pathlib.Path.glob`, :meth:" +"`pathlib.Path.rglob` and :meth:`pathlib.PurePath.match` for matching the " +"path's case sensitivity, allowing for more precise control over the matching " +"process." msgstr "" #: ../../whatsnew/3.12.rst:815 @@ -1183,8 +1177,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:833 msgid "" -"Add :func:`random.binomialvariate`. (Contributed by Raymond Hettinger " -"in :gh:`81620`.)" +"Add :func:`random.binomialvariate`. (Contributed by Raymond Hettinger in :gh:" +"`81620`.)" msgstr "" #: ../../whatsnew/3.12.rst:836 @@ -1247,26 +1241,24 @@ msgstr "" #: ../../whatsnew/3.12.rst:874 msgid "" -"Add the :attr:`sqlite3.Connection.autocommit` attribute " -"to :class:`sqlite3.Connection` and the *autocommit* parameter " -"to :func:`sqlite3.connect` to control :pep:`249`-compliant :ref:`transaction " -"handling `. (Contributed by Erlend " -"E. Aasland in :gh:`83638`.)" +"Add the :attr:`sqlite3.Connection.autocommit` attribute to :class:`sqlite3." +"Connection` and the *autocommit* parameter to :func:`sqlite3.connect` to " +"control :pep:`249`-compliant :ref:`transaction handling `. (Contributed by Erlend E. Aasland in :gh:`83638`.)" msgstr "" #: ../../whatsnew/3.12.rst:881 msgid "" -"Add *entrypoint* keyword-only parameter " -"to :meth:`sqlite3.Connection.load_extension`, for overriding the SQLite " -"extension entry point. (Contributed by Erlend E. Aasland in :gh:`103015`.)" +"Add *entrypoint* keyword-only parameter to :meth:`sqlite3.Connection." +"load_extension`, for overriding the SQLite extension entry point. " +"(Contributed by Erlend E. Aasland in :gh:`103015`.)" msgstr "" #: ../../whatsnew/3.12.rst:886 msgid "" -"Add :meth:`sqlite3.Connection.getconfig` " -"and :meth:`sqlite3.Connection.setconfig` to :class:`sqlite3.Connection` to " -"make configuration changes to a database connection. (Contributed by Erlend " -"E. Aasland in :gh:`103489`.)" +"Add :meth:`sqlite3.Connection.getconfig` and :meth:`sqlite3.Connection." +"setconfig` to :class:`sqlite3.Connection` to make configuration changes to a " +"database connection. (Contributed by Erlend E. Aasland in :gh:`103489`.)" msgstr "" #: ../../whatsnew/3.12.rst:892 @@ -1287,28 +1279,27 @@ msgstr "sys" #: ../../whatsnew/3.12.rst:901 msgid "" "Add the :mod:`sys.monitoring` namespace to expose the new :ref:`PEP 669 " -"` monitoring API. (Contributed by Mark Shannon " -"in :gh:`103082`.)" +"` monitoring API. (Contributed by Mark Shannon in :gh:" +"`103082`.)" msgstr "" #: ../../whatsnew/3.12.rst:905 msgid "" -"Add :func:`sys.activate_stack_trampoline` " -"and :func:`sys.deactivate_stack_trampoline` for activating and deactivating " -"stack profiler trampolines, and :func:`sys.is_stack_trampoline_active` for " -"querying if stack profiler trampolines are active. (Contributed by Pablo " -"Galindo and Christian Heimes with contributions from Gregory P. Smith " -"[Google] and Mark Shannon in :gh:`96123`.)" +"Add :func:`sys.activate_stack_trampoline` and :func:`sys." +"deactivate_stack_trampoline` for activating and deactivating stack profiler " +"trampolines, and :func:`sys.is_stack_trampoline_active` for querying if " +"stack profiler trampolines are active. (Contributed by Pablo Galindo and " +"Christian Heimes with contributions from Gregory P. Smith [Google] and Mark " +"Shannon in :gh:`96123`.)" msgstr "" #: ../../whatsnew/3.12.rst:914 msgid "" "Add :data:`sys.last_exc` which holds the last unhandled exception that was " "raised (for post-mortem debugging use cases). Deprecate the three fields " -"that have the same information in its legacy " -"form: :data:`sys.last_type`, :data:`sys.last_value` " -"and :data:`sys.last_traceback`. (Contributed by Irit Katriel " -"in :gh:`102778`.)" +"that have the same information in its legacy form: :data:`sys.last_type`, :" +"data:`sys.last_value` and :data:`sys.last_traceback`. (Contributed by Irit " +"Katriel in :gh:`102778`.)" msgstr "" #: ../../whatsnew/3.12.rst:920 ../../whatsnew/3.12.rst:1759 @@ -1348,10 +1339,10 @@ msgstr "threading" #: ../../whatsnew/3.12.rst:940 msgid "" -"Add :func:`threading.settrace_all_threads` " -"and :func:`threading.setprofile_all_threads` that allow to set tracing and " -"profiling functions in all running threads in addition to the calling one. " -"(Contributed by Pablo Galindo in :gh:`93503`.)" +"Add :func:`threading.settrace_all_threads` and :func:`threading." +"setprofile_all_threads` that allow to set tracing and profiling functions in " +"all running threads in addition to the calling one. (Contributed by Pablo " +"Galindo in :gh:`93503`.)" msgstr "" #: ../../whatsnew/3.12.rst:946 @@ -1375,9 +1366,9 @@ msgstr "tokenize" #: ../../whatsnew/3.12.rst:959 msgid "" "The :mod:`tokenize` module includes the changes introduced in :pep:`701`. " -"(Contributed by Marta Gómez Macías and Pablo Galindo in :gh:`102856`.) " -"See :ref:`whatsnew312-porting-to-python312` for more information on the " -"changes to the :mod:`tokenize` module." +"(Contributed by Marta Gómez Macías and Pablo Galindo in :gh:`102856`.) See :" +"ref:`whatsnew312-porting-to-python312` for more information on the changes " +"to the :mod:`tokenize` module." msgstr "" #: ../../whatsnew/3.12.rst:965 @@ -1386,9 +1377,9 @@ msgstr "types" #: ../../whatsnew/3.12.rst:967 msgid "" -"Add :func:`types.get_original_bases` to allow for further introspection " -"of :ref:`user-defined-generics` when subclassed. (Contributed by James " -"Hilton-Balfe and Alex Waygood in :gh:`101827`.)" +"Add :func:`types.get_original_bases` to allow for further introspection of :" +"ref:`user-defined-generics` when subclassed. (Contributed by James Hilton-" +"Balfe and Alex Waygood in :gh:`101827`.)" msgstr "" #: ../../whatsnew/3.12.rst:974 @@ -1397,16 +1388,15 @@ msgstr "typing" #: ../../whatsnew/3.12.rst:976 msgid "" -":func:`isinstance` checks against :func:`runtime-checkable protocols " -"` now use :func:`inspect.getattr_static` rather " -"than :func:`hasattr` to lookup whether attributes exist. This means that " -"descriptors and :meth:`~object.__getattr__` methods are no longer " -"unexpectedly evaluated during ``isinstance()`` checks against runtime-" -"checkable protocols. However, it may also mean that some objects which used " -"to be considered instances of a runtime-checkable protocol may no longer be " -"considered instances of that protocol on Python 3.12+, and vice versa. Most " -"users are unlikely to be affected by this change. (Contributed by Alex " -"Waygood in :gh:`102433`.)" +":func:`isinstance` checks against :func:`runtime-checkable protocols ` now use :func:`inspect.getattr_static` rather than :func:" +"`hasattr` to lookup whether attributes exist. This means that descriptors " +"and :meth:`~object.__getattr__` methods are no longer unexpectedly evaluated " +"during ``isinstance()`` checks against runtime-checkable protocols. However, " +"it may also mean that some objects which used to be considered instances of " +"a runtime-checkable protocol may no longer be considered instances of that " +"protocol on Python 3.12+, and vice versa. Most users are unlikely to be " +"affected by this change. (Contributed by Alex Waygood in :gh:`102433`.)" msgstr "" #: ../../whatsnew/3.12.rst:987 @@ -1451,8 +1441,8 @@ msgid "" "Most ``isinstance()`` checks against protocols with only a few members " "should be at least 2x faster than in 3.11, and some may be 20x faster or " "more. However, ``isinstance()`` checks against protocols with many members " -"may be slower than in Python 3.11. (Contributed by Alex Waygood " -"in :gh:`74690` and :gh:`103193`.)" +"may be slower than in Python 3.11. (Contributed by Alex Waygood in :gh:" +"`74690` and :gh:`103193`.)" msgstr "" #: ../../whatsnew/3.12.rst:1020 @@ -1538,8 +1528,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:1072 msgid "" -"Speed up the regular expression substitution (functions :func:`re.sub` " -"and :func:`re.subn` and corresponding :class:`!re.Pattern` methods) for " +"Speed up the regular expression substitution (functions :func:`re.sub` and :" +"func:`re.subn` and corresponding :class:`!re.Pattern` methods) for " "replacement strings containing group references by 2--3 times. (Contributed " "by Serhiy Storchaka in :gh:`91524`.)" msgstr "" @@ -1553,16 +1543,16 @@ msgstr "" #: ../../whatsnew/3.12.rst:1080 msgid "" "The :func:`tokenize.tokenize` and :func:`tokenize.generate_tokens` functions " -"are up to 64% faster as a side effect of the changes required to " -"cover :pep:`701` in the :mod:`tokenize` module. (Contributed by Marta Gómez " -"Macías and Pablo Galindo in :gh:`102856`.)" +"are up to 64% faster as a side effect of the changes required to cover :pep:" +"`701` in the :mod:`tokenize` module. (Contributed by Marta Gómez Macías and " +"Pablo Galindo in :gh:`102856`.)" msgstr "" #: ../../whatsnew/3.12.rst:1085 msgid "" -"Speed up :func:`super` method calls and attribute loads via the " -"new :opcode:`LOAD_SUPER_ATTR` instruction. (Contributed by Carl Meyer and " -"Vladimir Matveev in :gh:`103497`.)" +"Speed up :func:`super` method calls and attribute loads via the new :opcode:" +"`LOAD_SUPER_ATTR` instruction. (Contributed by Carl Meyer and Vladimir " +"Matveev in :gh:`103497`.)" msgstr "" #: ../../whatsnew/3.12.rst:1091 @@ -1571,23 +1561,23 @@ msgstr "CPython Bytecode Änderungen" #: ../../whatsnew/3.12.rst:1093 msgid "" -"Remove the :opcode:`!LOAD_METHOD` instruction. It has been merged " -"into :opcode:`LOAD_ATTR`. :opcode:`LOAD_ATTR` will now behave like the " -"old :opcode:`!LOAD_METHOD` instruction if the low bit of its oparg is set. " -"(Contributed by Ken Jin in :gh:`93429`.)" +"Remove the :opcode:`!LOAD_METHOD` instruction. It has been merged into :" +"opcode:`LOAD_ATTR`. :opcode:`LOAD_ATTR` will now behave like the old :opcode:" +"`!LOAD_METHOD` instruction if the low bit of its oparg is set. (Contributed " +"by Ken Jin in :gh:`93429`.)" msgstr "" #: ../../whatsnew/3.12.rst:1098 msgid "" "Remove the :opcode:`!JUMP_IF_FALSE_OR_POP` and :opcode:`!" -"JUMP_IF_TRUE_OR_POP` instructions. (Contributed by Irit Katriel " -"in :gh:`102859`.)" +"JUMP_IF_TRUE_OR_POP` instructions. (Contributed by Irit Katriel in :gh:" +"`102859`.)" msgstr "" #: ../../whatsnew/3.12.rst:1101 msgid "" -"Remove the :opcode:`!PRECALL` instruction. (Contributed by Mark Shannon " -"in :gh:`92925`.)" +"Remove the :opcode:`!PRECALL` instruction. (Contributed by Mark Shannon in :" +"gh:`92925`.)" msgstr "" #: ../../whatsnew/3.12.rst:1104 @@ -1616,8 +1606,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:1116 msgid "" -"Add the :opcode:`!END_SEND` instruction. (Contributed by Mark Shannon " -"in :gh:`103082`.)" +"Add the :opcode:`!END_SEND` instruction. (Contributed by Mark Shannon in :gh:" +"`103082`.)" msgstr "" #: ../../whatsnew/3.12.rst:1119 @@ -1634,12 +1624,11 @@ msgstr "" #: ../../whatsnew/3.12.rst:1125 msgid "" -"Add " -"the :opcode:`LOAD_FROM_DICT_OR_DEREF`, :opcode:`LOAD_FROM_DICT_OR_GLOBALS`, " -"and :opcode:`LOAD_LOCALS` opcodes as part of the implementation " -"of :pep:`695`. Remove the :opcode:`!LOAD_CLASSDEREF` opcode, which can be " -"replaced with :opcode:`LOAD_LOCALS` plus :opcode:`LOAD_FROM_DICT_OR_DEREF`. " -"(Contributed by Jelle Zijlstra in :gh:`103764`.)" +"Add the :opcode:`LOAD_FROM_DICT_OR_DEREF`, :opcode:" +"`LOAD_FROM_DICT_OR_GLOBALS`, and :opcode:`LOAD_LOCALS` opcodes as part of " +"the implementation of :pep:`695`. Remove the :opcode:`!LOAD_CLASSDEREF` " +"opcode, which can be replaced with :opcode:`LOAD_LOCALS` plus :opcode:" +"`LOAD_FROM_DICT_OR_DEREF`. (Contributed by Jelle Zijlstra in :gh:`103764`.)" msgstr "" #: ../../whatsnew/3.12.rst:1131 @@ -1650,8 +1639,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:1134 msgid "" -"Add the ``RETURN_CONST`` instruction. (Contributed by Wenyang Wang " -"in :gh:`101632`.)" +"Add the ``RETURN_CONST`` instruction. (Contributed by Wenyang Wang in :gh:" +"`101632`.)" msgstr "" #: ../../whatsnew/3.12.rst:1137 @@ -1723,8 +1712,8 @@ msgstr ":class:`!ast.Ellipsis`" #: ../../whatsnew/3.12.rst:1168 #: ../../deprecations/pending-removal-in-3.14.rst:19 msgid "" -"Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka " -"in :gh:`90953`.)" +"Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka in :gh:" +"`90953`.)" msgstr "" "Verwende stattdessen :class:`ast.Constant`. (Beigetragen von Serhiy " "Storchaka in :gh:`90953`.)" @@ -1739,28 +1728,25 @@ msgstr ":mod:`asyncio`:" #: ../../deprecations/pending-removal-in-3.14.rst:24 msgid "" "The child watcher classes :class:`!asyncio.MultiLoopChildWatcher`, :class:`!" -"asyncio.FastChildWatcher`, :class:`!asyncio.AbstractChildWatcher` " -"and :class:`!asyncio.SafeChildWatcher` are deprecated and will be removed in " -"Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" +"asyncio.FastChildWatcher`, :class:`!asyncio.AbstractChildWatcher` and :class:" +"`!asyncio.SafeChildWatcher` are deprecated and will be removed in Python " +"3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" msgstr "" -"Die „Child-Watcher“-Klassen :class:`!" -"asyncio.MultiLoopChildWatcher`, :class:`!asyncio.FastChildWatcher`, :class:`!" -"asyncio.AbstractChildWatcher` und :class:`!asyncio.SafeChildWatcher` sind " -"veraltet und werden in Python 3.14 entfernt. (Beitrag von Kumar Aditya " -"unter :gh:`94597`.)" +"Die „Child-Watcher“-Klassen :class:`!asyncio.MultiLoopChildWatcher`, :class:" +"`!asyncio.FastChildWatcher`, :class:`!asyncio.AbstractChildWatcher` und :" +"class:`!asyncio.SafeChildWatcher` sind veraltet und werden in Python 3.14 " +"entfernt. (Beitrag von Kumar Aditya unter :gh:`94597`.)" #: ../../whatsnew/3.12.rst:1179 #: ../../deprecations/pending-removal-in-3.14.rst:30 msgid "" -":func:`!asyncio.set_child_watcher`, :func:`!" -"asyncio.get_child_watcher`, :meth:`!" -"asyncio.AbstractEventLoopPolicy.set_child_watcher` and :meth:`!" +":func:`!asyncio.set_child_watcher`, :func:`!asyncio.get_child_watcher`, :" +"meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher` and :meth:`!" "asyncio.AbstractEventLoopPolicy.get_child_watcher` are deprecated and will " "be removed in Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" msgstr "" -":func:`!asyncio.set_child_watcher`, :func:`!" -"asyncio.get_child_watcher`, :meth:`!" -"asyncio.AbstractEventLoopPolicy.set_child_watcher` und :meth:`!" +":func:`!asyncio.set_child_watcher`, :func:`!asyncio.get_child_watcher`, :" +"meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher` und :meth:`!" "asyncio.AbstractEventLoopPolicy.get_child_watcher` sind veraltet und werden " "in Python 3.14 entfernt. (Beitrag von Kumar Aditya unter :gh:`94597`.)" @@ -1782,14 +1768,12 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:43 msgid "" ":mod:`calendar`: ``calendar.January`` and ``calendar.February`` constants " -"are deprecated and replaced by :data:`calendar.JANUARY` " -"and :data:`calendar.FEBRUARY`. (Contributed by Prince Roshan " -"in :gh:`103636`.)" +"are deprecated and replaced by :data:`calendar.JANUARY` and :data:`calendar." +"FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" msgstr "" -":mod:`calendar`: Die Konstanten ``calendar.January`` und " -"``calendar.February`` sind veraltet und werden " -"durch :data:`calendar.JANUARY` und :data:`calendar.FEBRUARY` ersetzt. " -"(Beigetragen von Prince Roshan in :gh:`103636`.)" +":mod:`calendar`: Die Konstanten ``calendar.January`` und ``calendar." +"February`` sind veraltet und werden durch :data:`calendar.JANUARY` und :data:" +"`calendar.FEBRUARY` ersetzt. (Beigetragen von Prince Roshan in :gh:`103636`.)" #: ../../whatsnew/3.12.rst:1194 msgid ":mod:`collections.abc`: Deprecated :class:`collections.abc.ByteString`." @@ -1807,10 +1791,9 @@ msgid "" msgstr "" "Verwende ``isinstance(obj, collections.abc.Buffer)``, um zur Laufzeit zu " "prüfen, ob ``obj`` das :ref:`Buffer-Protokoll ` " -"implementiert. Für Typannotationen verwende " -"entweder :class:`~collections.abc.Buffer` oder eine Union, die explizit die " -"von deinem Code unterstützten Typen angibt (z. B. ``bytes | bytearray | " -"memoryview``)." +"implementiert. Für Typannotationen verwende entweder :class:`~collections." +"abc.Buffer` oder eine Union, die explizit die von deinem Code unterstützten " +"Typen angibt (z. B. ``bytes | bytearray | memoryview``)." #: ../../whatsnew/3.12.rst:1202 #: ../../deprecations/pending-removal-in-3.17.rst:22 @@ -1844,20 +1827,18 @@ msgstr "" #: ../../whatsnew/3.12.rst:1213 msgid "" -":mod:`datetime`: :class:`datetime.datetime`'s :meth:`~datetime.datetime.utcnow` " -"and :meth:`~datetime.datetime.utcfromtimestamp` are deprecated and will be " -"removed in a future version. Instead, use timezone-aware objects to " -"represent datetimes in UTC: respectively, " -"call :meth:`~datetime.datetime.now` " -"and :meth:`~datetime.datetime.fromtimestamp` with the *tz* parameter set " -"to :const:`datetime.UTC`. (Contributed by Paul Ganssle in :gh:`103857`.)" +":mod:`datetime`: :class:`datetime.datetime`'s :meth:`~datetime.datetime." +"utcnow` and :meth:`~datetime.datetime.utcfromtimestamp` are deprecated and " +"will be removed in a future version. Instead, use timezone-aware objects to " +"represent datetimes in UTC: respectively, call :meth:`~datetime.datetime." +"now` and :meth:`~datetime.datetime.fromtimestamp` with the *tz* parameter " +"set to :const:`datetime.UTC`. (Contributed by Paul Ganssle in :gh:`103857`.)" msgstr "" #: ../../whatsnew/3.12.rst:1221 msgid "" -":mod:`email`: Deprecate the *isdst* parameter " -"in :func:`email.utils.localtime`. (Contributed by Alan Williams " -"in :gh:`72346`.)" +":mod:`email`: Deprecate the *isdst* parameter in :func:`email.utils." +"localtime`. (Contributed by Alan Williams in :gh:`72346`.)" msgstr "" #: ../../whatsnew/3.12.rst:1224 @@ -1907,8 +1888,8 @@ msgid "" ":mod:`itertools`: Deprecate the support for copy, deepcopy, and pickle " "operations, which is undocumented, inefficient, historically buggy, and " "inconsistent. This will be removed in 3.14 for a significant reduction in " -"code volume and maintenance burden. (Contributed by Raymond Hettinger " -"in :gh:`101588`.)" +"code volume and maintenance burden. (Contributed by Raymond Hettinger in :gh:" +"`101588`.)" msgstr "" #: ../../whatsnew/3.12.rst:1244 @@ -1917,19 +1898,17 @@ msgid "" "start method will change to a safer one on Linux, BSDs, and other non-macOS " "POSIX platforms where ``'fork'`` is currently the default (:gh:`84559`). " "Adding a runtime warning about this was deemed too disruptive as the " -"majority of code is not expected to care. Use " -"the :func:`~multiprocessing.get_context` " -"or :func:`~multiprocessing.set_start_method` APIs to explicitly specify when " -"your code *requires* ``'fork'``. See :ref:`contexts and start methods " -"`." +"majority of code is not expected to care. Use the :func:`~multiprocessing." +"get_context` or :func:`~multiprocessing.set_start_method` APIs to explicitly " +"specify when your code *requires* ``'fork'``. See :ref:`contexts and start " +"methods `." msgstr "" #: ../../whatsnew/3.12.rst:1254 msgid "" ":mod:`pkgutil`: :func:`!pkgutil.find_loader` and :func:`!pkgutil.get_loader` " -"are deprecated and will be removed in Python 3.14; " -"use :func:`importlib.util.find_spec` instead. (Contributed by Nikita Sobolev " -"in :gh:`97850`.)" +"are deprecated and will be removed in Python 3.14; use :func:`importlib.util." +"find_spec` instead. (Contributed by Nikita Sobolev in :gh:`97850`.)" msgstr "" #: ../../whatsnew/3.12.rst:1259 @@ -1955,31 +1934,30 @@ msgstr "" #: ../../whatsnew/3.12.rst:1272 msgid "" -"On POSIX platforms, :func:`os.fork` can now raise " -"a :exc:`DeprecationWarning` when it can detect being called from a " -"multithreaded process. There has always been a fundamental incompatibility " -"with the POSIX platform when doing so. Even if such code *appeared* to work. " -"We added the warning to raise awareness as issues encountered by code doing " -"this are becoming more frequent. See the :func:`os.fork` documentation for " -"more details along with `this discussion on fork being incompatible with " -"threads `_ for *why* we're now surfacing this longstanding " +"On POSIX platforms, :func:`os.fork` can now raise a :exc:" +"`DeprecationWarning` when it can detect being called from a multithreaded " +"process. There has always been a fundamental incompatibility with the POSIX " +"platform when doing so. Even if such code *appeared* to work. We added the " +"warning to raise awareness as issues encountered by code doing this are " +"becoming more frequent. See the :func:`os.fork` documentation for more " +"details along with `this discussion on fork being incompatible with threads " +"`_ for *why* we're now surfacing this longstanding " "platform compatibility problem to developers." msgstr "" #: ../../whatsnew/3.12.rst:1282 msgid "" -"When this warning appears due to usage of :mod:`multiprocessing` " -"or :mod:`concurrent.futures` the fix is to use a " -"different :mod:`multiprocessing` start method such as ``\"spawn\"`` or " -"``\"forkserver\"``." +"When this warning appears due to usage of :mod:`multiprocessing` or :mod:" +"`concurrent.futures` the fix is to use a different :mod:`multiprocessing` " +"start method such as ``\"spawn\"`` or ``\"forkserver\"``." msgstr "" #: ../../whatsnew/3.12.rst:1286 msgid "" ":mod:`shutil`: The *onerror* argument of :func:`shutil.rmtree` is " -"deprecated; use *onexc* instead. (Contributed by Irit Katriel " -"in :gh:`102828`.)" +"deprecated; use *onexc* instead. (Contributed by Irit Katriel in :gh:" +"`102828`.)" msgstr "" #: ../../whatsnew/3.12.rst:1289 @@ -2006,10 +1984,9 @@ msgstr "" #: ../../whatsnew/3.12.rst:1304 msgid "" -":mod:`sys`: The :data:`sys.last_type`, :data:`sys.last_value` " -"and :data:`sys.last_traceback` fields are deprecated. " -"Use :data:`sys.last_exc` instead. (Contributed by Irit Katriel " -"in :gh:`102778`.)" +":mod:`sys`: The :data:`sys.last_type`, :data:`sys.last_value` and :data:`sys." +"last_traceback` fields are deprecated. Use :data:`sys.last_exc` instead. " +"(Contributed by Irit Katriel in :gh:`102778`.)" msgstr "" #: ../../whatsnew/3.12.rst:1308 @@ -2028,16 +2005,16 @@ msgstr ":mod:`typing`:" #: ../../whatsnew/3.12.rst:1314 msgid "" -":class:`typing.Hashable` and :class:`typing.Sized`, aliases " -"for :class:`collections.abc.Hashable` and :class:`collections.abc.Sized` " -"respectively, are deprecated. (:gh:`94309`.)" +":class:`typing.Hashable` and :class:`typing.Sized`, aliases for :class:" +"`collections.abc.Hashable` and :class:`collections.abc.Sized` respectively, " +"are deprecated. (:gh:`94309`.)" msgstr "" #: ../../whatsnew/3.12.rst:1318 msgid "" -":class:`typing.ByteString`, deprecated since Python 3.9, now causes " -"a :exc:`DeprecationWarning` to be emitted when it is used. (Contributed by " -"Alex Waygood in :gh:`91896`.)" +":class:`typing.ByteString`, deprecated since Python 3.9, now causes a :exc:" +"`DeprecationWarning` to be emitted when it is used. (Contributed by Alex " +"Waygood in :gh:`91896`.)" msgstr "" #: ../../whatsnew/3.12.rst:1322 @@ -2051,18 +2028,18 @@ msgstr "" #: ../../whatsnew/3.12.rst:1328 msgid "" "The 3-arg signatures (type, value, traceback) of :meth:`coroutine throw() " -"`, :meth:`generator throw() ` " -"and :meth:`async generator throw() ` are deprecated and may be " -"removed in a future version of Python. Use the single-arg versions of these " -"functions instead. (Contributed by Ofey Chan in :gh:`89874`.)" +"`, :meth:`generator throw() ` and :meth:" +"`async generator throw() ` are deprecated and may be removed in " +"a future version of Python. Use the single-arg versions of these functions " +"instead. (Contributed by Ofey Chan in :gh:`89874`.)" msgstr "" #: ../../whatsnew/3.12.rst:1334 msgid "" ":exc:`DeprecationWarning` is now raised when :attr:`~module.__package__` on " -"a module differs from :attr:`__spec__.parent " -"` (previously it " -"was :exc:`ImportWarning`). (Contributed by Brett Cannon in :gh:`65961`.)" +"a module differs from :attr:`__spec__.parent ` (previously it was :exc:`ImportWarning`). (Contributed by Brett " +"Cannon in :gh:`65961`.)" msgstr "" #: ../../whatsnew/3.12.rst:1340 @@ -2084,9 +2061,9 @@ msgstr "" #: ../../whatsnew/3.12.rst:1350 msgid "" "Accessing :attr:`!codeobject.co_lnotab` on code objects was deprecated in " -"Python 3.10 via :pep:`626`, but it only got a " -"proper :exc:`DeprecationWarning` in 3.12. May be removed in 3.15. " -"(Contributed by Nikita Sobolev in :gh:`101866`.)" +"Python 3.10 via :pep:`626`, but it only got a proper :exc:" +"`DeprecationWarning` in 3.12. May be removed in 3.15. (Contributed by Nikita " +"Sobolev in :gh:`101866`.)" msgstr "" #: ../../deprecations/pending-removal-in-3.13.rst:2 @@ -2239,9 +2216,8 @@ msgstr "" #: ../../deprecations/pending-removal-in-3.14.rst:41 msgid "" -":mod:`email`: Deprecated the *isdst* parameter " -"in :func:`email.utils.localtime`. (Contributed by Alan Williams " -"in :gh:`72346`.)" +":mod:`email`: Deprecated the *isdst* parameter in :func:`email.utils." +"localtime`. (Contributed by Alan Williams in :gh:`72346`.)" msgstr "" ":mod:`email`: Der Parameter *isdst* in :func:`email.utils.localtime` wurde " "als veraltet markiert. (Beitrag von Alan Williams unter :gh:`72346`.)" @@ -2269,30 +2245,27 @@ msgid "" "on Linux, BSDs, and other non-macOS POSIX platforms where ``'fork'`` is " "currently the default (:gh:`84559`). Adding a runtime warning about this was " "deemed too disruptive as the majority of code is not expected to care. Use " -"the :func:`~multiprocessing.get_context` " -"or :func:`~multiprocessing.set_start_method` APIs to explicitly specify when " -"your code *requires* ``'fork'``. See :ref:`multiprocessing-start-methods`." +"the :func:`~multiprocessing.get_context` or :func:`~multiprocessing." +"set_start_method` APIs to explicitly specify when your code *requires* " +"``'fork'``. See :ref:`multiprocessing-start-methods`." msgstr "" ":mod:`multiprocessing`: Die Standard-Startmethode wird unter Linux, BSD und " "anderen POSIX-Plattformen, die nicht macOS sind, auf eine sicherere Variante " "umgestellt, sofern dort derzeit „ ``'fork'`` “ als Standard eingestellt ist " "(:gh:`84559`). Das Hinzufügen einer Laufzeitwarnung hierzu wurde als zu " "störend erachtet, da davon ausgegangen wird, dass dies für den Großteil des " -"Codes keine Rolle spielt. Verwenden Sie die APIs " -"„ :func:`~multiprocessing.get_context` “ oder " -"„ :func:`~multiprocessing.set_start_method` “, um explizit anzugeben, wann " -"Ihr Code „ ``'fork'`` “ *erfordert*. Siehe :ref:`multiprocessing-start-" -"methods`." +"Codes keine Rolle spielt. Verwenden Sie die APIs „ :func:`~multiprocessing." +"get_context` “ oder „ :func:`~multiprocessing.set_start_method` “, um " +"explizit anzugeben, wann Ihr Code „ ``'fork'`` “ *erfordert*. Siehe :ref:" +"`multiprocessing-start-methods`." #: ../../deprecations/pending-removal-in-3.14.rst:71 msgid "" -":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` " -"and :meth:`~pathlib.PurePath.relative_to`: passing additional arguments is " -"deprecated." +":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` and :meth:`~pathlib." +"PurePath.relative_to`: passing additional arguments is deprecated." msgstr "" -":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` " -"und :meth:`~pathlib.PurePath.relative_to`: Die Übergabe zusätzlicher " -"Argumente ist veraltet." +":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` und :meth:`~pathlib." +"PurePath.relative_to`: Die Übergabe zusätzlicher Argumente ist veraltet." #: ../../deprecations/pending-removal-in-3.14.rst:75 msgid "" @@ -2300,11 +2273,10 @@ msgid "" "now raise :exc:`DeprecationWarning`; use :func:`importlib.util.find_spec` " "instead. (Contributed by Nikita Sobolev in :gh:`97850`.)" msgstr "" -":mod:`pkgutil`: „ :func:`!pkgutil.find_loader` “ und „ :func:`!" -"pkgutil.get_loader` “ lösen nun eine „ :exc:`DeprecationWarning` “-" -"Fehlermeldung aus; verwenden Sie stattdessen " -"„ :func:`importlib.util.find_spec` “. (Beitrag von Nikita Sobolev " -"unter :gh:`97850`.)" +":mod:`pkgutil`: „ :func:`!pkgutil.find_loader` “ und „ :func:`!pkgutil." +"get_loader` “ lösen nun eine „ :exc:`DeprecationWarning` “-Fehlermeldung " +"aus; verwenden Sie stattdessen „ :func:`importlib.util.find_spec` “. " +"(Beitrag von Nikita Sobolev unter :gh:`97850`.)" #: ../../deprecations/pending-removal-in-3.14.rst:80 msgid ":mod:`pty`:" @@ -2324,9 +2296,9 @@ msgstr ":data:`!version` und :data:`!version_info`." #: ../../deprecations/pending-removal-in-3.14.rst:89 msgid "" -":meth:`~sqlite3.Cursor.execute` and :meth:`~sqlite3.Cursor.executemany` " -"if :ref:`named placeholders ` are used and " -"*parameters* is a sequence instead of a :class:`dict`." +":meth:`~sqlite3.Cursor.execute` and :meth:`~sqlite3.Cursor.executemany` if :" +"ref:`named placeholders ` are used and *parameters* is " +"a sequence instead of a :class:`dict`." msgstr "" ":meth:`~sqlite3.Cursor.execute` und :meth:`~sqlite3.Cursor.executemany`, " "wenn :ref:`benannte Platzhalter ` verwendet werden und " @@ -2335,12 +2307,12 @@ msgstr "" #: ../../deprecations/pending-removal-in-3.14.rst:93 msgid "" ":mod:`urllib`: :class:`!urllib.parse.Quoter` is deprecated: it was not " -"intended to be a public API. (Contributed by Gregory P. Smith " -"in :gh:`88168`.)" +"intended to be a public API. (Contributed by Gregory P. Smith in :gh:" +"`88168`.)" msgstr "" ":mod:`urllib`: „ :class:`!urllib.parse.Quoter` “ ist veraltet: Es war nicht " -"als öffentliche API vorgesehen. (Beitrag von Gregory P. Smith " -"unter :gh:`88168`.)" +"als öffentliche API vorgesehen. (Beitrag von Gregory P. Smith unter :gh:" +"`88168`.)" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:2 #: ../../deprecations/pending-removal-in-3.15.rst:2 @@ -2354,19 +2326,18 @@ msgstr "Das Importsystem:" #: ../../deprecations/pending-removal-in-3.15.rst:6 msgid "" -"Setting ``__cached__`` on a module while failing to " -"set :attr:`__spec__.cached ` is " -"deprecated. In Python 3.15, ``__cached__`` will cease to be set or take into " -"consideration by the import system or standard library. (:gh:`97879`)" +"Setting ``__cached__`` on a module while failing to set :attr:`__spec__." +"cached ` is deprecated. In Python " +"3.15, ``__cached__`` will cease to be set or take into consideration by the " +"import system or standard library. (:gh:`97879`)" msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:11 msgid "" -"Setting :attr:`~module.__package__` on a module while failing to " -"set :attr:`__spec__.parent ` is " -"deprecated. In Python 3.15, :attr:`!__package__` will cease to be set or " -"take into consideration by the import system or standard library. " -"(:gh:`97879`)" +"Setting :attr:`~module.__package__` on a module while failing to set :attr:" +"`__spec__.parent ` is deprecated. In " +"Python 3.15, :attr:`!__package__` will cease to be set or take into " +"consideration by the import system or standard library. (:gh:`97879`)" msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:16 @@ -2412,8 +2383,8 @@ msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:38 msgid "" -":meth:`!.PurePath.is_reserved` has been deprecated since Python 3.13. " -"Use :func:`os.path.isreserved` to detect reserved paths on Windows." +":meth:`!.PurePath.is_reserved` has been deprecated since Python 3.13. Use :" +"func:`os.path.isreserved` to detect reserved paths on Windows." msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:42 @@ -2464,10 +2435,10 @@ msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:72 msgid "" -"The undocumented keyword argument syntax for " -"creating :class:`~typing.NamedTuple` classes (for example, ``Point = " -"NamedTuple(\"Point\", x=int, y=int)``) has been deprecated since Python " -"3.13. Use the class-based syntax or the functional syntax instead." +"The undocumented keyword argument syntax for creating :class:`~typing." +"NamedTuple` classes (for example, ``Point = NamedTuple(\"Point\", x=int, " +"y=int)``) has been deprecated since Python 3.13. Use the class-based syntax " +"or the functional syntax instead." msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:78 @@ -2497,9 +2468,9 @@ msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:94 msgid "" -"The ``getmark()``, ``setmark()`` and ``getmarkers()`` methods of " -"the :class:`~wave.Wave_read` and :class:`~wave.Wave_write` classes have been " -"deprecated since Python 3.13." +"The ``getmark()``, ``setmark()`` and ``getmarkers()`` methods of the :class:" +"`~wave.Wave_read` and :class:`~wave.Wave_write` classes have been deprecated " +"since Python 3.13." msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:98 @@ -2519,15 +2490,15 @@ msgstr "Geplante Entfernung in Python 3.16" #: ../../deprecations/pending-removal-in-3.16.rst:6 msgid "" -"Setting :attr:`~module.__loader__` on a module while failing to " -"set :attr:`__spec__.loader ` is " -"deprecated. In Python 3.16, :attr:`!__loader__` will cease to be set or " -"taken into consideration by the import system or the standard library." +"Setting :attr:`~module.__loader__` on a module while failing to set :attr:" +"`__spec__.loader ` is deprecated. In " +"Python 3.16, :attr:`!__loader__` will cease to be set or taken into " +"consideration by the import system or the standard library." msgstr "" -"Das Setzen von :attr:`~module.__loader__` für ein Modul, " -"ohne :attr:`__spec__.loader ` zu " -"setzen, ist veraltet. In Python 3.16 wird :attr:`!__loader__` vom " -"Importsystem und der Standardbibliothek weder gesetzt noch berücksichtigt." +"Das Setzen von :attr:`~module.__loader__` für ein Modul, ohne :attr:" +"`__spec__.loader ` zu setzen, ist " +"veraltet. In Python 3.16 wird :attr:`!__loader__` vom Importsystem und der " +"Standardbibliothek weder gesetzt noch berücksichtigt." #: ../../deprecations/pending-removal-in-3.16.rst:11 msgid ":mod:`array`:" @@ -2666,8 +2637,8 @@ msgid "" msgstr "" "Die Unterstützung eigener Logging-Handler mit dem Argument *strm* ist " "veraltet und soll in Python 3.16 entfernt werden. Definiere Handler " -"stattdessen mit dem Argument *stream*. (Beigetragen von Mariusz Felisiak " -"in :gh:`115032`.)" +"stattdessen mit dem Argument *stream*. (Beigetragen von Mariusz Felisiak in :" +"gh:`115032`.)" #: ../../deprecations/pending-removal-in-3.16.rst:70 msgid ":mod:`mimetypes`:" @@ -2675,15 +2646,15 @@ msgstr ":mod:`mimetypes`:" #: ../../deprecations/pending-removal-in-3.16.rst:72 msgid "" -"Valid extensions start with a '.' or are empty " -"for :meth:`mimetypes.MimeTypes.add_type`. Undotted extensions are deprecated " -"and will raise a :exc:`ValueError` in Python 3.16. (Contributed by Hugo van " -"Kemenade in :gh:`75223`.)" +"Valid extensions start with a '.' or are empty for :meth:`mimetypes." +"MimeTypes.add_type`. Undotted extensions are deprecated and will raise a :" +"exc:`ValueError` in Python 3.16. (Contributed by Hugo van Kemenade in :gh:" +"`75223`.)" msgstr "" "Gültige Endungen für :meth:`mimetypes.MimeTypes.add_type` beginnen mit einem " "„.“ oder sind leer. Endungen ohne Punkt sind veraltet und lösen in Python " -"3.16 einen :exc:`ValueError` aus. (Beigetragen von Hugo van Kemenade " -"in :gh:`75223`.)" +"3.16 einen :exc:`ValueError` aus. (Beigetragen von Hugo van Kemenade in :gh:" +"`75223`.)" #: ../../deprecations/pending-removal-in-3.16.rst:78 msgid ":mod:`shutil`:" @@ -2722,8 +2693,8 @@ msgid "" "environment variable instead." msgstr "" "Die Funktion :func:`~sys._enablelegacywindowsfsencoding` ist seit Python " -"3.13 veraltet. Verwende stattdessen die " -"Umgebungsvariable :envvar:`PYTHONLEGACYWINDOWSFSENCODING`." +"3.13 veraltet. Verwende stattdessen die Umgebungsvariable :envvar:" +"`PYTHONLEGACYWINDOWSFSENCODING`." #: ../../deprecations/pending-removal-in-3.16.rst:98 msgid "" @@ -2732,8 +2703,8 @@ msgid "" "instead." msgstr "" "Die Funktion :func:`!sysconfig.expand_makefile_vars` ist seit Python 3.14 " -"veraltet. Verwende stattdessen das Argument ``vars`` " -"von :func:`sysconfig.get_paths`." +"veraltet. Verwende stattdessen das Argument ``vars`` von :func:`sysconfig." +"get_paths`." #: ../../deprecations/pending-removal-in-3.16.rst:102 msgid ":mod:`tarfile`:" @@ -2786,9 +2757,9 @@ msgid "" "is deprecated and scheduled for removal in Python 3.17. (Contributed by Stan " "Ulbrych in :gh:`136702`.)" msgstr "" -"Die Übergabe von Namen für *encoding*, die nicht ASCII sind, " -"an :func:`encodings.normalize_encoding` ist veraltet und soll in Python 3.17 " -"entfernt werden. (Beigetragen von Stan Ulbrych in :gh:`136702`.)" +"Die Übergabe von Namen für *encoding*, die nicht ASCII sind, an :func:" +"`encodings.normalize_encoding` ist veraltet und soll in Python 3.17 entfernt " +"werden. (Beigetragen von Stan Ulbrych in :gh:`136702`.)" #: ../../deprecations/pending-removal-in-3.17.rst:40 msgid ":mod:`profile`:" @@ -2797,9 +2768,9 @@ msgstr ":mod:`profile`:" #: ../../deprecations/pending-removal-in-3.17.rst:42 msgid "" "The :mod:`!profile` module is deprecated and will be removed in Python 3.17. " -"Use :mod:`profiling.tracing` instead, which provides a compatible API. " -"See :pep:`799` for details. (Contributed by Pablo Galindo and László Kiss " -"Kollár in :gh:`138122`.)" +"Use :mod:`profiling.tracing` instead, which provides a compatible API. See :" +"pep:`799` for details. (Contributed by Pablo Galindo and László Kiss Kollár " +"in :gh:`138122`.)" msgstr "" "Das Modul :mod:`!profile` ist veraltet und wird in Python 3.17 entfernt. " "Verwende stattdessen :mod:`profiling.tracing`, das eine kompatible API " @@ -2815,8 +2786,8 @@ msgid "" ":class:`!webbrowser.MacOSXOSAScript` is deprecated in favour of :class:`!" "webbrowser.MacOS`. (:gh:`137586`)" msgstr "" -":class:`!webbrowser.MacOSXOSAScript` ist zugunsten von :class:`!" -"webbrowser.MacOS` veraltet. (:gh:`137586`)" +":class:`!webbrowser.MacOSXOSAScript` ist zugunsten von :class:`!webbrowser." +"MacOS` veraltet. (:gh:`137586`)" #: ../../deprecations/pending-removal-in-3.17.rst:54 msgid "" @@ -2827,13 +2798,13 @@ msgid "" "helpers like :func:`typing.get_origin` and :func:`typing.get_args` instead " "of relying on private implementation details." msgstr "" -"Vor Python 3.14 wurden Unions im alten Stil mit der privaten Klasse " -"``typing._UnionGenericAlias`` implementiert. Diese Klasse wird für die " +"Vor Python 3.14 wurden Unions im alten Stil mit der privaten Klasse ``typing." +"_UnionGenericAlias`` implementiert. Diese Klasse wird für die " "Implementierung nicht mehr benötigt, wurde aber aus Gründen der " "Abwärtskompatibilität beibehalten; ihre Entfernung ist für Python 3.17 " -"geplant. Verwende dokumentierte Hilfsfunktionen zur Introspektion " -"wie :func:`typing.get_origin` und :func:`typing.get_args`, statt dich auf " -"private Implementierungsdetails zu verlassen." +"geplant. Verwende dokumentierte Hilfsfunktionen zur Introspektion wie :func:" +"`typing.get_origin` und :func:`typing.get_args`, statt dich auf private " +"Implementierungsdetails zu verlassen." #: ../../deprecations/pending-removal-in-3.17.rst:59 msgid "" @@ -2850,18 +2821,17 @@ msgstr ":mod:`tkinter`:" #: ../../deprecations/pending-removal-in-3.17.rst:81 msgid "" "The :class:`!tkinter.Variable` methods :meth:`!trace_variable`, :meth:`!" -"trace` (an alias of :meth:`!trace_variable`), :meth:`!trace_vdelete` " -"and :meth:`!trace_vinfo`, deprecated since Python 3.14, are scheduled for " -"removal in Python 3.17. Use :meth:`!trace_add`, :meth:`!trace_remove` " -"and :meth:`!trace_info` instead. (Contributed by Serhiy Storchaka " -"in :gh:`120220`.)" +"trace` (an alias of :meth:`!trace_variable`), :meth:`!trace_vdelete` and :" +"meth:`!trace_vinfo`, deprecated since Python 3.14, are scheduled for removal " +"in Python 3.17. Use :meth:`!trace_add`, :meth:`!trace_remove` and :meth:`!" +"trace_info` instead. (Contributed by Serhiy Storchaka in :gh:`120220`.)" msgstr "" "Bei :class:`!tkinter.Variable` sollen die seit Python 3.14 veralteten " "Methoden :meth:`!trace_variable`, :meth:`!trace` (ein Alias von :meth:`!" "trace_variable`), :meth:`!trace_vdelete` und :meth:`!trace_vinfo` in Python " "3.17 entfernt werden. Verwende stattdessen :meth:`!trace_add`, :meth:`!" -"trace_remove` und :meth:`!trace_info`. (Beigetragen von Serhiy Storchaka " -"in :gh:`120220`.)" +"trace_remove` und :meth:`!trace_info`. (Beigetragen von Serhiy Storchaka in :" +"gh:`120220`.)" #: ../../deprecations/pending-removal-in-3.19.rst:2 msgid "Pending removal in Python 3.19" @@ -2869,13 +2839,13 @@ msgstr "Geplante Entfernung in Python 3.19" #: ../../deprecations/pending-removal-in-3.19.rst:6 msgid "" -"Implicitly switching to the MSVC-compatible struct layout by " -"setting :attr:`~ctypes.Structure._pack_` but " -"not :attr:`~ctypes.Structure._layout_` on non-Windows platforms." +"Implicitly switching to the MSVC-compatible struct layout by setting :attr:" +"`~ctypes.Structure._pack_` but not :attr:`~ctypes.Structure._layout_` on non-" +"Windows platforms." msgstr "" "Das implizite Umschalten auf das MSVC-kompatible Struct-Layout, wenn auf " -"Nicht-Windows-Plattformen :attr:`~ctypes.Structure._pack_`, aber " -"nicht :attr:`~ctypes.Structure._layout_` gesetzt wird." +"Nicht-Windows-Plattformen :attr:`~ctypes.Structure._pack_`, aber nicht :attr:" +"`~ctypes.Structure._layout_` gesetzt wird." #: ../../deprecations/pending-removal-in-3.19.rst:10 msgid ":mod:`hashlib`:" @@ -2884,15 +2854,15 @@ msgstr ":mod:`hashlib`:" #: ../../deprecations/pending-removal-in-3.19.rst:12 msgid "" "In hash function constructors such as :func:`~hashlib.new` or the direct " -"hash-named constructors such as :func:`~hashlib.md5` " -"and :func:`~hashlib.sha256`, their optional initial data parameter could " -"also be passed a keyword argument named ``data=`` or ``string=`` in " -"various :mod:`!hashlib` implementations." +"hash-named constructors such as :func:`~hashlib.md5` and :func:`~hashlib." +"sha256`, their optional initial data parameter could also be passed a " +"keyword argument named ``data=`` or ``string=`` in various :mod:`!hashlib` " +"implementations." msgstr "" "Bei Konstruktoren von Hash-Funktionen wie :func:`~hashlib.new` oder den " -"direkt nach dem Hash benannten Konstruktoren wie :func:`~hashlib.md5` " -"und :func:`~hashlib.sha256` konnte dem optionalen Parameter für die " -"Anfangsdaten in verschiedenen Implementierungen von :mod:`!hashlib` auch ein " +"direkt nach dem Hash benannten Konstruktoren wie :func:`~hashlib.md5` und :" +"func:`~hashlib.sha256` konnte dem optionalen Parameter für die Anfangsdaten " +"in verschiedenen Implementierungen von :mod:`!hashlib` auch ein " "Schlüsselwortargument namens ``data=`` oder ``string=`` übergeben werden." #: ../../deprecations/pending-removal-in-3.19.rst:18 @@ -2968,9 +2938,8 @@ msgstr "Geplante Entfernung in Python 3.20" msgid "" "Calling the ``__new__()`` method of :class:`struct.Struct` without the " "*format* argument is deprecated and will be removed in Python 3.20. " -"Calling :meth:`~object.__init__` method on " -"initialized :class:`~struct.Struct` objects is deprecated and will be " -"removed in Python 3.20." +"Calling :meth:`~object.__init__` method on initialized :class:`~struct." +"Struct` objects is deprecated and will be removed in Python 3.20." msgstr "" "Der Aufruf der Methode ``__new__()`` von :class:`struct.Struct` ohne das " "Argument *format* ist veraltet und wird in Python 3.20 entfernt. Der Aufruf " @@ -3124,8 +3093,8 @@ msgstr ":mod:`ast`:" #: ../../deprecations/pending-removal-in-3.20.rst:54 msgid "" -"Creating instances of abstract AST nodes (such as :class:`ast.AST` " -"or :class:`!ast.expr`) is deprecated and will raise an error in Python 3.20." +"Creating instances of abstract AST nodes (such as :class:`ast.AST` or :class:" +"`!ast.expr`) is deprecated and will raise an error in Python 3.20." msgstr "" "Das Erzeugen von Instanzen abstrakter AST-Knoten (etwa :class:`ast.AST` " "oder :class:`!ast.expr`) ist veraltet und wird in Python 3.20 einen Fehler " @@ -3174,11 +3143,11 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:11 msgid "" -"Passing the undocumented keyword argument *prefix_chars* " -"to :meth:`~argparse.ArgumentParser.add_argument_group` is now deprecated." +"Passing the undocumented keyword argument *prefix_chars* to :meth:`~argparse." +"ArgumentParser.add_argument_group` is now deprecated." msgstr "" -"Die Übergabe des undokumentierten Schlüsselwortarguments *prefix_chars* " -"an :meth:`~argparse.ArgumentParser.add_argument_group` ist jetzt veraltet." +"Die Übergabe des undokumentierten Schlüsselwortarguments *prefix_chars* an :" +"meth:`~argparse.ArgumentParser.add_argument_group` ist jetzt veraltet." #: ../../deprecations/pending-removal-in-future.rst:14 msgid "The :class:`argparse.FileType` type converter is deprecated." @@ -3200,20 +3169,20 @@ msgid "" "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]``). A syntax 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 a future release it will be changed to a syntax " -"error. (:gh:`87999`)" +"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 a future release it will be changed to a " +"syntax error. (:gh:`87999`)" msgstr "" "Derzeit akzeptiert Python numerische Literale, auf die unmittelbar " "Schlüsselwörter folgen, zum Beispiel ``0in x``, ``1or x``, ``0if 1else 2``. " "Das ermöglicht verwirrende und mehrdeutige Ausdrücke wie ``[0x1for x in y]`` " "(was als ``[0x1 for x in y]`` oder als ``[0x1f or x in y]`` interpretiert " "werden kann). Eine Syntaxwarnung wird ausgelöst, wenn auf das numerische " -"Literal unmittelbar eines der " -"Schlüsselwörter :keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` " -"und :keyword:`or` folgt. In einer künftigen Version wird daraus ein " -"Syntaxfehler. (:gh:`87999`)" +"Literal unmittelbar eines der Schlüsselwörter :keyword:`and`, :keyword:" +"`else`, :keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` und :" +"keyword:`or` folgt. In einer künftigen Version wird daraus ein Syntaxfehler. " +"(:gh:`87999`)" #: ../../deprecations/pending-removal-in-future.rst:29 msgid "" @@ -3227,9 +3196,9 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:32 msgid "" -"Support for ``__float__()`` method returning a strict subclass " -"of :class:`float`: these methods will be required to return an instance " -"of :class:`float`." +"Support for ``__float__()`` method returning a strict subclass of :class:" +"`float`: these methods will be required to return an instance of :class:" +"`float`." msgstr "" "Unterstützung dafür, dass die Methode ``__float__()`` eine strikte " "Unterklasse von :class:`float` zurückgibt: Diese Methoden müssen künftig " @@ -3237,9 +3206,9 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:35 msgid "" -"Support for ``__complex__()`` method returning a strict subclass " -"of :class:`complex`: these methods will be required to return an instance " -"of :class:`complex`." +"Support for ``__complex__()`` method returning a strict subclass of :class:" +"`complex`: these methods will be required to return an instance of :class:" +"`complex`." msgstr "" "Unterstützung dafür, dass die Methode ``__complex__()`` eine strikte " "Unterklasse von :class:`complex` zurückgibt: Diese Methoden müssen künftig " @@ -3247,47 +3216,47 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:38 msgid "" -"Passing a complex number as the *real* or *imag* argument in " -"the :func:`complex` constructor is now deprecated; it should only be passed " -"as a single positional argument. (Contributed by Serhiy Storchaka " -"in :gh:`109218`.)" +"Passing a complex number as the *real* or *imag* argument in the :func:" +"`complex` constructor is now deprecated; it should only be passed as a " +"single positional argument. (Contributed by Serhiy Storchaka in :gh:" +"`109218`.)" msgstr "" "Die Übergabe einer komplexen Zahl als Argument *real* oder *imag* an den " "Konstruktor :func:`complex` ist jetzt veraltet; sie sollte nur als einziges " -"Positionsargument übergeben werden. (Beigetragen von Serhiy Storchaka " -"in :gh:`109218`.)" +"Positionsargument übergeben werden. (Beigetragen von Serhiy Storchaka in :gh:" +"`109218`.)" #: ../../deprecations/pending-removal-in-future.rst:48 msgid "" -":mod:`codecs`: use :func:`open` instead of :func:`codecs.open`. " -"(:gh:`133038`)" +":mod:`codecs`: use :func:`open` instead of :func:`codecs.open`. (:gh:" +"`133038`)" msgstr "" -":mod:`codecs`: Verwende :func:`open` statt :func:`codecs.open`. " -"(:gh:`133038`)" +":mod:`codecs`: Verwende :func:`open` statt :func:`codecs.open`. (:gh:" +"`133038`)" #: ../../deprecations/pending-removal-in-future.rst:50 msgid "" ":attr:`!codeobject.co_lnotab`: use the :meth:`codeobject.co_lines` method " "instead." msgstr "" -":attr:`!codeobject.co_lnotab`: Verwende stattdessen die " -"Methode :meth:`codeobject.co_lines`." +":attr:`!codeobject.co_lnotab`: Verwende stattdessen die Methode :meth:" +"`codeobject.co_lines`." #: ../../deprecations/pending-removal-in-future.rst:55 msgid "" -":meth:`~datetime.datetime.utcnow`: use " -"``datetime.datetime.now(tz=datetime.UTC)``." +":meth:`~datetime.datetime.utcnow`: use ``datetime.datetime.now(tz=datetime." +"UTC)``." msgstr "" -":meth:`~datetime.datetime.utcnow`: Verwende " -"``datetime.datetime.now(tz=datetime.UTC)``." +":meth:`~datetime.datetime.utcnow`: Verwende ``datetime.datetime." +"now(tz=datetime.UTC)``." #: ../../deprecations/pending-removal-in-future.rst:57 msgid "" -":meth:`~datetime.datetime.utcfromtimestamp`: use " -"``datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC)``." +":meth:`~datetime.datetime.utcfromtimestamp`: use ``datetime.datetime." +"fromtimestamp(timestamp, tz=datetime.UTC)``." msgstr "" -":meth:`~datetime.datetime.utcfromtimestamp`: Verwende " -"``datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC)``." +":meth:`~datetime.datetime.utcfromtimestamp`: Verwende ``datetime.datetime." +"fromtimestamp(timestamp, tz=datetime.UTC)``." #: ../../deprecations/pending-removal-in-future.rst:60 msgid ":mod:`gettext`: Plural value must be an integer." @@ -3338,21 +3307,20 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:80 msgid "" -":mod:`os.path`: :func:`os.path.commonprefix` is deprecated, " -"use :func:`os.path.commonpath` for path prefixes. " -"The :func:`os.path.commonprefix` function is being deprecated due to having " -"a misleading name and module. The function is not safe to use for path " -"prefixes despite being included in a module about path manipulation, meaning " -"it is easy to accidentally introduce path traversal vulnerabilities into " -"Python programs by using this function." -msgstr "" -":mod:`os.path`: :func:`os.path.commonprefix` ist veraltet, " -"verwende :func:`os.path.commonpath` für Pfadpräfixe. Die " -"Funktion :func:`os.path.commonprefix` wird als veraltet markiert, weil ihr " -"Name und ihr Modul irreführend sind. Die Funktion ist für Pfadpräfixe nicht " -"sicher, obwohl sie in einem Modul zur Pfadbearbeitung enthalten ist. Dadurch " -"lassen sich mit ihr leicht versehentlich Path-Traversal-Schwachstellen in " -"Python-Programme einbauen." +":mod:`os.path`: :func:`os.path.commonprefix` is deprecated, use :func:`os." +"path.commonpath` for path prefixes. The :func:`os.path.commonprefix` " +"function is being deprecated due to having a misleading name and module. The " +"function is not safe to use for path prefixes despite being included in a " +"module about path manipulation, meaning it is easy to accidentally introduce " +"path traversal vulnerabilities into Python programs by using this function." +msgstr "" +":mod:`os.path`: :func:`os.path.commonprefix` ist veraltet, verwende :func:" +"`os.path.commonpath` für Pfadpräfixe. Die Funktion :func:`os.path." +"commonprefix` wird als veraltet markiert, weil ihr Name und ihr Modul " +"irreführend sind. Die Funktion ist für Pfadpräfixe nicht sicher, obwohl sie " +"in einem Modul zur Pfadbearbeitung enthalten ist. Dadurch lassen sich mit " +"ihr leicht versehentlich Path-Traversal-Schwachstellen in Python-Programme " +"einbauen." #: ../../deprecations/pending-removal-in-future.rst:88 msgid "" @@ -3374,8 +3342,8 @@ msgstr "" "Ausdrücken gelten jetzt strengere Regeln. Als numerische Referenz wird jetzt " "nur noch eine Folge von ASCII-Ziffern akzeptiert. Der Gruppenname in Bytes-" "Mustern und Ersetzungszeichenketten darf jetzt nur noch ASCII-Buchstaben, " -"Ziffern und Unterstriche enthalten. (Beigetragen von Serhiy Storchaka " -"in :gh:`91760`.)" +"Ziffern und Unterstriche enthalten. (Beigetragen von Serhiy Storchaka in :gh:" +"`91760`.)" #: ../../deprecations/pending-removal-in-future.rst:98 msgid "" @@ -3395,11 +3363,11 @@ msgstr ":class:`ssl.SSLContext` ohne Protokollargument ist veraltet." #: ../../deprecations/pending-removal-in-future.rst:104 msgid "" -":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` " -"and :meth:`!selected_npn_protocol` are deprecated: use ALPN instead." +":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` and :meth:" +"`!selected_npn_protocol` are deprecated: use ALPN instead." msgstr "" -":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` " -"und :meth:`!selected_npn_protocol` sind veraltet: Verwende stattdessen ALPN." +":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` und :meth:" +"`!selected_npn_protocol` sind veraltet: Verwende stattdessen ALPN." #: ../../deprecations/pending-removal-in-future.rst:107 msgid "``ssl.OP_NO_SSL*`` options" @@ -3447,11 +3415,11 @@ msgstr "Methoden von :mod:`threading`:" #: ../../deprecations/pending-removal-in-future.rst:120 msgid "" -":meth:`!threading.Condition.notifyAll`: " -"use :meth:`~threading.Condition.notify_all`." +":meth:`!threading.Condition.notifyAll`: use :meth:`~threading.Condition." +"notify_all`." msgstr "" -":meth:`!threading.Condition.notifyAll`: " -"Verwende :meth:`~threading.Condition.notify_all`." +":meth:`!threading.Condition.notifyAll`: Verwende :meth:`~threading.Condition." +"notify_all`." #: ../../deprecations/pending-removal-in-future.rst:121 msgid ":meth:`!threading.Event.isSet`: use :meth:`~threading.Event.is_set`." @@ -3460,16 +3428,16 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:122 msgid "" -":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: " -"use :attr:`threading.Thread.daemon` attribute." +":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use :" +"attr:`threading.Thread.daemon` attribute." msgstr "" ":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: " "Verwende das Attribut :attr:`threading.Thread.daemon`." #: ../../deprecations/pending-removal-in-future.rst:124 msgid "" -":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: " -"use :attr:`threading.Thread.name` attribute." +":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use :" +"attr:`threading.Thread.name` attribute." msgstr "" ":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: " "Verwende das Attribut :attr:`threading.Thread.name`." @@ -3514,8 +3482,8 @@ msgid "" ":mod:`urllib.parse` deprecated functions: :func:`~urllib.parse.urlparse` " "instead" msgstr "" -"Veraltete Funktionen in :mod:`urllib.parse`: Verwende " -"stattdessen :func:`~urllib.parse.urlparse`" +"Veraltete Funktionen in :mod:`urllib.parse`: Verwende stattdessen :func:" +"`~urllib.parse.urlparse`" #: ../../deprecations/pending-removal-in-future.rst:141 msgid "``splitattr()``" @@ -3571,23 +3539,23 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:156 msgid "" -":mod:`xml.etree.ElementTree`: Testing the truth value of " -"an :class:`~xml.etree.ElementTree.Element` is deprecated. In a future " -"release it will always return ``True``. Prefer explicit ``len(elem)`` or " -"``elem is not None`` tests instead." +":mod:`xml.etree.ElementTree`: Testing the truth value of an :class:`~xml." +"etree.ElementTree.Element` is deprecated. In a future release it will always " +"return ``True``. Prefer explicit ``len(elem)`` or ``elem is not None`` tests " +"instead." msgstr "" -":mod:`xml.etree.ElementTree`: Das Prüfen des Wahrheitswerts " -"eines :class:`~xml.etree.ElementTree.Element` ist veraltet. In einer " -"künftigen Version wird es immer ``True`` zurückgeben. Verwende stattdessen " -"explizite Prüfungen mit ``len(elem)`` oder ``elem is not None``." +":mod:`xml.etree.ElementTree`: Das Prüfen des Wahrheitswerts eines :class:" +"`~xml.etree.ElementTree.Element` ist veraltet. In einer künftigen Version " +"wird es immer ``True`` zurückgeben. Verwende stattdessen explizite Prüfungen " +"mit ``len(elem)`` oder ``elem is not None``." #: ../../deprecations/pending-removal-in-future.rst:161 msgid "" -":func:`sys._clear_type_cache` is deprecated: " -"use :func:`sys._clear_internal_caches` instead." +":func:`sys._clear_type_cache` is deprecated: use :func:`sys." +"_clear_internal_caches` instead." msgstr "" -":func:`sys._clear_type_cache` ist veraltet: Verwende " -"stattdessen :func:`sys._clear_internal_caches`." +":func:`sys._clear_type_cache` ist veraltet: Verwende stattdessen :func:`sys." +"_clear_internal_caches`." #: ../../whatsnew/3.12.rst:1375 ../../whatsnew/3.12.rst:2259 msgid "Removed" @@ -3628,8 +3596,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:1396 msgid "" -":class:`configparser.ConfigParser` no longer has a ``readfp`` method. " -"Use :meth:`~configparser.ConfigParser.read_file` instead." +":class:`configparser.ConfigParser` no longer has a ``readfp`` method. Use :" +"meth:`~configparser.ConfigParser.read_file` instead." msgstr "" #: ../../whatsnew/3.12.rst:1402 @@ -3706,8 +3674,8 @@ msgid "" "Remove the ``filename`` attribute of :mod:`gzip`'s :class:`gzip.GzipFile`, " "deprecated since Python 2.6, use the :attr:`~gzip.GzipFile.name` attribute " "instead. In write mode, the ``filename`` attribute added ``'.gz'`` file " -"extension if it was not present. (Contributed by Victor Stinner " -"in :gh:`94196`.)" +"extension if it was not present. (Contributed by Victor Stinner in :gh:" +"`94196`.)" msgstr "" #: ../../whatsnew/3.12.rst:1455 @@ -3716,11 +3684,11 @@ msgstr "hashlib" #: ../../whatsnew/3.12.rst:1457 msgid "" -"Remove the pure Python implementation " -"of :mod:`hashlib`'s :func:`hashlib.pbkdf2_hmac`, deprecated in Python 3.10. " -"Python 3.10 and newer requires OpenSSL 1.1.1 (:pep:`644`): this OpenSSL " -"version provides a C implementation of :func:`~hashlib.pbkdf2_hmac` which is " -"faster. (Contributed by Victor Stinner in :gh:`94199`.)" +"Remove the pure Python implementation of :mod:`hashlib`'s :func:`hashlib." +"pbkdf2_hmac`, deprecated in Python 3.10. Python 3.10 and newer requires " +"OpenSSL 1.1.1 (:pep:`644`): this OpenSSL version provides a C implementation " +"of :func:`~hashlib.pbkdf2_hmac` which is faster. (Contributed by Victor " +"Stinner in :gh:`94199`.)" msgstr "" #: ../../whatsnew/3.12.rst:1464 ../../whatsnew/3.12.rst:1493 @@ -3764,8 +3732,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:1487 msgid "" -"The :mod:`!imp` module has been removed. (Contributed by Barry Warsaw " -"in :gh:`98040`.)" +"The :mod:`!imp` module has been removed. (Contributed by Barry Warsaw in :" +"gh:`98040`.)" msgstr "" #: ../../whatsnew/3.12.rst:1490 @@ -3810,8 +3778,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:1499 msgid "" -":const:`importlib.machinery.SOURCE_SUFFIXES`, :const:`importlib.machinery.EXTENSION_SUFFIXES`, " -"and :const:`importlib.machinery.BYTECODE_SUFFIXES`" +":const:`importlib.machinery.SOURCE_SUFFIXES`, :const:`importlib.machinery." +"EXTENSION_SUFFIXES`, and :const:`importlib.machinery.BYTECODE_SUFFIXES`" msgstr "" #: ../../whatsnew/3.12.rst:1500 @@ -3927,10 +3895,10 @@ msgstr "io" #: ../../whatsnew/3.12.rst:1541 msgid "" "Remove :mod:`io`'s ``io.OpenWrapper`` and ``_pyio.OpenWrapper``, deprecated " -"in Python 3.10: just use :func:`open` instead. The :func:`open` " -"(:func:`io.open`) function is a built-in function. Since Python " -"3.10, :func:`!_pyio.open` is also a static method. (Contributed by Victor " -"Stinner in :gh:`94169`.)" +"in Python 3.10: just use :func:`open` instead. The :func:`open` (:func:`io." +"open`) function is a built-in function. Since Python 3.10, :func:`!_pyio." +"open` is also a static method. (Contributed by Victor Stinner in :gh:" +"`94169`.)" msgstr "" #: ../../whatsnew/3.12.rst:1548 @@ -3950,10 +3918,10 @@ msgstr "" #: ../../whatsnew/3.12.rst:1557 msgid "" -"The ``smtpd`` module has been removed according to the schedule " -"in :pep:`594`, having been deprecated in Python 3.4.7 and 3.5.4. Use " -"the :pypi:`aiosmtpd` PyPI module or any other :mod:`asyncio`-based server " -"instead. (Contributed by Oleg Iarygin in :gh:`93243`.)" +"The ``smtpd`` module has been removed according to the schedule in :pep:" +"`594`, having been deprecated in Python 3.4.7 and 3.5.4. Use the :pypi:" +"`aiosmtpd` PyPI module or any other :mod:`asyncio`-based server instead. " +"(Contributed by Oleg Iarygin in :gh:`93243`.)" msgstr "" #: ../../whatsnew/3.12.rst:1566 @@ -3978,9 +3946,9 @@ msgstr "" #: ../../whatsnew/3.12.rst:1575 msgid "" -"The ``sqlite3.OptimizedUnicode`` text factory has been an alias " -"for :class:`str` since Python 3.3. Code that previously set the text factory " -"to ``OptimizedUnicode`` can either use ``str`` explicitly, or rely on the " +"The ``sqlite3.OptimizedUnicode`` text factory has been an alias for :class:" +"`str` since Python 3.3. Code that previously set the text factory to " +"``OptimizedUnicode`` can either use ``str`` explicitly, or rely on the " "default value which is also ``str``." msgstr "" @@ -4010,12 +3978,12 @@ msgstr "" #: ../../whatsnew/3.12.rst:1595 msgid "" "Remove the :func:`!ssl.wrap_socket` function, deprecated in Python 3.7: " -"instead, create a :class:`ssl.SSLContext` object and call " -"its :class:`ssl.SSLContext.wrap_socket` method. Any package that still " -"uses :func:`!ssl.wrap_socket` is broken and insecure. The function neither " -"sends a SNI TLS extension nor validates the server hostname. Code is subject " -"to :cwe:`295` (Improper Certificate Validation). (Contributed by Victor " -"Stinner in :gh:`94199`.)" +"instead, create a :class:`ssl.SSLContext` object and call its :class:`ssl." +"SSLContext.wrap_socket` method. Any package that still uses :func:`!ssl." +"wrap_socket` is broken and insecure. The function neither sends a SNI TLS " +"extension nor validates the server hostname. Code is subject to :cwe:`295` " +"(Improper Certificate Validation). (Contributed by Victor Stinner in :gh:" +"`94199`.)" msgstr "" #: ../../whatsnew/3.12.rst:1606 @@ -4172,9 +4140,9 @@ msgstr "" #: ../../whatsnew/3.12.rst:1638 msgid "" -"Undocumented :meth:`TestLoader.loadTestsFromModule " -"` parameter *use_load_tests* " -"(deprecated and ignored since Python 3.5)." +"Undocumented :meth:`TestLoader.loadTestsFromModule ` parameter *use_load_tests* (deprecated and ignored " +"since Python 3.5)." msgstr "" #: ../../whatsnew/3.12.rst:1642 @@ -4218,9 +4186,8 @@ msgstr "zipimport" #: ../../whatsnew/3.12.rst:1666 msgid "" "Remove :mod:`zipimport`'s ``find_loader()`` and ``find_module()`` methods, " -"deprecated in Python 3.10: use the ``find_spec()`` method instead. " -"See :pep:`451` for the rationale. (Contributed by Victor Stinner " -"in :gh:`94379`.)" +"deprecated in Python 3.10: use the ``find_spec()`` method instead. See :pep:" +"`451` for the rationale. (Contributed by Victor Stinner in :gh:`94379`.)" msgstr "" #: ../../whatsnew/3.12.rst:1672 @@ -4229,20 +4196,20 @@ msgstr "" #: ../../whatsnew/3.12.rst:1674 msgid "" -"Remove the ``suspicious`` rule from the documentation :file:`Makefile` " -"and :file:`Doc/tools/rstlint.py`, both in favor of `sphinx-lint `_. (Contributed by Julien Palard " -"in :gh:`98179`.)" +"Remove the ``suspicious`` rule from the documentation :file:`Makefile` and :" +"file:`Doc/tools/rstlint.py`, both in favor of `sphinx-lint `_. (Contributed by Julien Palard in :gh:" +"`98179`.)" msgstr "" #: ../../whatsnew/3.12.rst:1679 msgid "" -"Remove the *keyfile* and *certfile* parameters from " -"the :mod:`ftplib`, :mod:`imaplib`, :mod:`poplib` and :mod:`smtplib` modules, " -"and the *key_file*, *cert_file* and *check_hostname* parameters from " -"the :mod:`http.client` module, all deprecated since Python 3.6. Use the " -"*context* parameter (*ssl_context* in :mod:`imaplib`) instead. (Contributed " -"by Victor Stinner in :gh:`94172`.)" +"Remove the *keyfile* and *certfile* parameters from the :mod:`ftplib`, :mod:" +"`imaplib`, :mod:`poplib` and :mod:`smtplib` modules, and the *key_file*, " +"*cert_file* and *check_hostname* parameters from the :mod:`http.client` " +"module, all deprecated since Python 3.6. Use the *context* parameter " +"(*ssl_context* in :mod:`imaplib`) instead. (Contributed by Victor Stinner " +"in :gh:`94172`.)" msgstr "" #: ../../whatsnew/3.12.rst:1687 @@ -4253,8 +4220,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:1690 msgid "" -"Remove ``_use_broken_old_ctypes_structure_semantics_`` flag " -"from :mod:`ctypes` module. (Contributed by Nikita Sobolev in :gh:`99285`.)" +"Remove ``_use_broken_old_ctypes_structure_semantics_`` flag from :mod:" +"`ctypes` module. (Contributed by Nikita Sobolev in :gh:`99285`.)" msgstr "" #: ../../whatsnew/3.12.rst:1698 ../../whatsnew/3.12.rst:2022 @@ -4290,8 +4257,8 @@ msgid "" "integer values such as ``randrange(10.5)`` or ``randrange('10')`` has been " "changed from :exc:`ValueError` to :exc:`TypeError`. This also prevents bugs " "where ``randrange(1e25)`` would silently select from a larger range than " -"``randrange(10**25)``. (Originally suggested by Serhiy " -"Storchaka :gh:`86388`.)" +"``randrange(10**25)``. (Originally suggested by Serhiy Storchaka :gh:" +"`86388`.)" msgstr "" #: ../../whatsnew/3.12.rst:1721 @@ -4307,8 +4274,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:1727 msgid "" "Remove the ``asyncore``-based ``smtpd`` module deprecated in Python 3.4.7 " -"and 3.5.4. A recommended replacement is the :mod:`asyncio`-" -"based :pypi:`aiosmtpd` PyPI module." +"and 3.5.4. A recommended replacement is the :mod:`asyncio`-based :pypi:" +"`aiosmtpd` PyPI module." msgstr "" #: ../../whatsnew/3.12.rst:1731 @@ -4320,10 +4287,10 @@ msgstr "" #: ../../whatsnew/3.12.rst:1736 msgid "" -"The :mod:`os` module no longer accepts bytes-like paths, " -"like :class:`bytearray` and :class:`memoryview` types: only the " -"exact :class:`bytes` type is accepted for bytes strings. (Contributed by " -"Victor Stinner in :gh:`98393`.)" +"The :mod:`os` module no longer accepts bytes-like paths, like :class:" +"`bytearray` and :class:`memoryview` types: only the exact :class:`bytes` " +"type is accepted for bytes strings. (Contributed by Victor Stinner in :gh:" +"`98393`.)" msgstr "" #: ../../whatsnew/3.12.rst:1741 @@ -4352,23 +4319,21 @@ msgstr "" #: ../../whatsnew/3.12.rst:1763 msgid "" -"When extracting tar files using :mod:`tarfile` " -"or :func:`shutil.unpack_archive`, pass the *filter* argument to limit " -"features that may be surprising or dangerous. See :ref:`tarfile-extraction-" -"filter` for details." +"When extracting tar files using :mod:`tarfile` or :func:`shutil." +"unpack_archive`, pass the *filter* argument to limit features that may be " +"surprising or dangerous. See :ref:`tarfile-extraction-filter` for details." msgstr "" #: ../../whatsnew/3.12.rst:1768 msgid "" -"The output of the :func:`tokenize.tokenize` " -"and :func:`tokenize.generate_tokens` functions is now changed due to the " -"changes introduced in :pep:`701`. This means that ``STRING`` tokens are not " -"emitted any more for f-strings and the tokens described in :pep:`701` are " -"now produced instead: ``FSTRING_START``, ``FSTRING_MIDDLE`` and " -"``FSTRING_END`` are now emitted for f-string \"string\" parts in addition to " -"the appropriate tokens for the tokenization in the expression components. " -"For example for the f-string ``f\"start {1+1} end\"`` the old version of the " -"tokenizer emitted::" +"The output of the :func:`tokenize.tokenize` and :func:`tokenize." +"generate_tokens` functions is now changed due to the changes introduced in :" +"pep:`701`. This means that ``STRING`` tokens are not emitted any more for f-" +"strings and the tokens described in :pep:`701` are now produced instead: " +"``FSTRING_START``, ``FSTRING_MIDDLE`` and ``FSTRING_END`` are now emitted " +"for f-string \"string\" parts in addition to the appropriate tokens for the " +"tokenization in the expression components. For example for the f-string " +"``f\"start {1+1} end\"`` the old version of the tokenizer emitted::" msgstr "" #: ../../whatsnew/3.12.rst:1777 @@ -4464,11 +4429,11 @@ msgstr "" #: ../../whatsnew/3.12.rst:1833 msgid "" -"Add ``COMPILEALL_OPTS`` variable in :file:`Makefile` to " -"override :mod:`compileall` options (default: ``-j0``) in ``make install``. " -"Also merged the 3 ``compileall`` commands into a single command to " -"build .pyc files for all optimization levels (0, 1, 2) at once. (Contributed " -"by Victor Stinner in :gh:`99289`.)" +"Add ``COMPILEALL_OPTS`` variable in :file:`Makefile` to override :mod:" +"`compileall` options (default: ``-j0``) in ``make install``. Also merged the " +"3 ``compileall`` commands into a single command to build .pyc files for all " +"optimization levels (0, 1, 2) at once. (Contributed by Victor Stinner in :gh:" +"`99289`.)" msgstr "" #: ../../whatsnew/3.12.rst:1839 @@ -4497,9 +4462,8 @@ msgstr "``PYTHON_FOR_REGEN`` erfordert nun Python 3.10 oder neuer." #: ../../whatsnew/3.12.rst:1849 msgid "" -"Autoconf 2.71 and aclocal 1.16.4 is now required to " -"regenerate :file:`configure`. (Contributed by Christian Heimes " -"in :gh:`89886`.)" +"Autoconf 2.71 and aclocal 1.16.4 is now required to regenerate :file:" +"`configure`. (Contributed by Christian Heimes in :gh:`89886`.)" msgstr "" #: ../../whatsnew/3.12.rst:1853 @@ -4586,8 +4550,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:1893 msgid "" ":c:macro:`Py_TPFLAGS_ITEMS_AT_END` and :c:func:`PyObject_GetItemData` added " -"to allow safely extending certain variable-sized types, " -"including :c:var:`PyType_Type`." +"to allow safely extending certain variable-sized types, including :c:var:" +"`PyType_Type`." msgstr "" #: ../../whatsnew/3.12.rst:1896 @@ -4602,10 +4566,10 @@ msgstr "(Beigetragen von Petr Viktorin in :gh:`103509`.)" #: ../../whatsnew/3.12.rst:1901 msgid "" -"Add the new :ref:`limited C API ` " -"function :c:func:`PyType_FromMetaclass`, which generalizes the " -"existing :c:func:`PyType_FromModuleAndSpec` using an additional metaclass " -"argument. (Contributed by Wenzel Jakob in :gh:`93012`.)" +"Add the new :ref:`limited C API ` function :c:func:" +"`PyType_FromMetaclass`, which generalizes the existing :c:func:" +"`PyType_FromModuleAndSpec` using an additional metaclass argument. " +"(Contributed by Wenzel Jakob in :gh:`93012`.)" msgstr "" #: ../../whatsnew/3.12.rst:1906 @@ -4637,16 +4601,16 @@ msgid "" "makes vectorcall safe to use with mutable types (i.e. heap types without the " "immutable flag, :c:macro:`Py_TPFLAGS_IMMUTABLETYPE`). Mutable types that do " "not override :c:member:`~PyTypeObject.tp_call` now inherit the " -"``Py_TPFLAGS_HAVE_VECTORCALL`` flag. (Contributed by Petr Viktorin " -"in :gh:`93274`.)" +"``Py_TPFLAGS_HAVE_VECTORCALL`` flag. (Contributed by Petr Viktorin in :gh:" +"`93274`.)" msgstr "" #: ../../whatsnew/3.12.rst:1923 msgid "" -"The :c:macro:`Py_TPFLAGS_MANAGED_DICT` " -"and :c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` flags have been added. This allows " -"extensions classes to support object :attr:`~object.__dict__` and weakrefs " -"with less bookkeeping, using less memory and with faster access." +"The :c:macro:`Py_TPFLAGS_MANAGED_DICT` and :c:macro:" +"`Py_TPFLAGS_MANAGED_WEAKREF` flags have been added. This allows extensions " +"classes to support object :attr:`~object.__dict__` and weakrefs with less " +"bookkeeping, using less memory and with faster access." msgstr "" #: ../../whatsnew/3.12.rst:1928 @@ -4676,9 +4640,9 @@ msgstr "" #: ../../whatsnew/3.12.rst:1940 msgid "" -"Add two new public functions, :c:func:`PyEval_SetProfileAllThreads` " -"and :c:func:`PyEval_SetTraceAllThreads`, that allow to set tracing and " -"profiling functions in all running threads in addition to the calling one. " +"Add two new public functions, :c:func:`PyEval_SetProfileAllThreads` and :c:" +"func:`PyEval_SetTraceAllThreads`, that allow to set tracing and profiling " +"functions in all running threads in addition to the calling one. " "(Contributed by Pablo Galindo in :gh:`93503`.)" msgstr "" @@ -4691,11 +4655,11 @@ msgstr "" #: ../../whatsnew/3.12.rst:1950 msgid "" -"The C API now permits registering callbacks " -"via :c:func:`PyDict_AddWatcher`, :c:func:`PyDict_Watch` and related APIs to " -"be called whenever a dictionary is modified. This is intended for use by " -"optimizing interpreters, JIT compilers, or debuggers. (Contributed by Carl " -"Meyer in :gh:`91052`.)" +"The C API now permits registering callbacks via :c:func:" +"`PyDict_AddWatcher`, :c:func:`PyDict_Watch` and related APIs to be called " +"whenever a dictionary is modified. This is intended for use by optimizing " +"interpreters, JIT compilers, or debuggers. (Contributed by Carl Meyer in :gh:" +"`91052`.)" msgstr "" #: ../../whatsnew/3.12.rst:1956 @@ -4715,18 +4679,18 @@ msgstr "" #: ../../whatsnew/3.12.rst:1965 msgid "" "Add :c:func:`PyFrame_GetVar` and :c:func:`PyFrame_GetVarString` functions to " -"get a frame variable by its name. (Contributed by Victor Stinner " -"in :gh:`91248`.)" +"get a frame variable by its name. (Contributed by Victor Stinner in :gh:" +"`91248`.)" msgstr "" #: ../../whatsnew/3.12.rst:1969 msgid "" -"Add :c:func:`PyErr_GetRaisedException` " -"and :c:func:`PyErr_SetRaisedException` for saving and restoring the current " -"exception. These functions return and accept a single exception object, " -"rather than the triple arguments of the now-deprecated :c:func:`PyErr_Fetch` " -"and :c:func:`PyErr_Restore`. This is less error prone and a bit more " -"efficient. (Contributed by Mark Shannon in :gh:`101578`.)" +"Add :c:func:`PyErr_GetRaisedException` and :c:func:" +"`PyErr_SetRaisedException` for saving and restoring the current exception. " +"These functions return and accept a single exception object, rather than the " +"triple arguments of the now-deprecated :c:func:`PyErr_Fetch` and :c:func:" +"`PyErr_Restore`. This is less error prone and a bit more efficient. " +"(Contributed by Mark Shannon in :gh:`101578`.)" msgstr "" #: ../../whatsnew/3.12.rst:1977 @@ -4739,9 +4703,9 @@ msgstr "" #: ../../whatsnew/3.12.rst:1981 msgid "" "Add :c:func:`PyException_GetArgs` and :c:func:`PyException_SetArgs` as " -"convenience functions for retrieving and modifying " -"the :attr:`~BaseException.args` passed to the exception's constructor. " -"(Contributed by Mark Shannon in :gh:`101578`.)" +"convenience functions for retrieving and modifying the :attr:`~BaseException." +"args` passed to the exception's constructor. (Contributed by Mark Shannon " +"in :gh:`101578`.)" msgstr "" #: ../../whatsnew/3.12.rst:1986 @@ -4810,18 +4774,17 @@ msgstr "(Beigetragen von Eddie Elizondo in :gh:`84436`.)" #: ../../whatsnew/3.12.rst:2010 msgid "" -":pep:`684`: Add the new :c:func:`Py_NewInterpreterFromConfig` function " -"and :c:type:`PyInterpreterConfig`, which may be used to create sub-" -"interpreters with their own GILs. (See :ref:`whatsnew312-pep684` for more " -"info.) (Contributed by Eric Snow in :gh:`104110`.)" +":pep:`684`: Add the new :c:func:`Py_NewInterpreterFromConfig` function and :" +"c:type:`PyInterpreterConfig`, which may be used to create sub-interpreters " +"with their own GILs. (See :ref:`whatsnew312-pep684` for more info.) " +"(Contributed by Eric Snow in :gh:`104110`.)" msgstr "" #: ../../whatsnew/3.12.rst:2016 msgid "" -"In the limited C API version 3.12, :c:func:`Py_INCREF` " -"and :c:func:`Py_DECREF` functions are now implemented as opaque function " -"calls to hide implementation details. (Contributed by Victor Stinner " -"in :gh:`105387`.)" +"In the limited C API version 3.12, :c:func:`Py_INCREF` and :c:func:" +"`Py_DECREF` functions are now implemented as opaque function calls to hide " +"implementation details. (Contributed by Victor Stinner in :gh:`105387`.)" msgstr "" #: ../../whatsnew/3.12.rst:2024 @@ -4856,9 +4819,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:2043 msgid "" -"To get a list of subclasses, call the Python " -"method :py:meth:`~type.__subclasses__` (using :c:func:`PyObject_CallMethod`, " -"for example)." +"To get a list of subclasses, call the Python method :py:meth:`~type." +"__subclasses__` (using :c:func:`PyObject_CallMethod`, for example)." msgstr "" #: ../../whatsnew/3.12.rst:2047 @@ -4866,38 +4828,37 @@ msgid "" "Add support of more formatting options (left aligning, octals, uppercase " "hexadecimals, :c:type:`intmax_t`, :c:type:`ptrdiff_t`, :c:type:`wchar_t` C " "strings, variable width and precision) in :c:func:`PyUnicode_FromFormat` " -"and :c:func:`PyUnicode_FromFormatV`. (Contributed by Serhiy Storchaka " -"in :gh:`98836`.)" +"and :c:func:`PyUnicode_FromFormatV`. (Contributed by Serhiy Storchaka in :gh:" +"`98836`.)" msgstr "" #: ../../whatsnew/3.12.rst:2053 msgid "" -"An unrecognized format character in :c:func:`PyUnicode_FromFormat` " -"and :c:func:`PyUnicode_FromFormatV` now sets a :exc:`SystemError`. In " -"previous versions it caused all the rest of the format string to be copied " -"as-is to the result string, and any extra arguments discarded. (Contributed " -"by Serhiy Storchaka in :gh:`95781`.)" +"An unrecognized format character in :c:func:`PyUnicode_FromFormat` and :c:" +"func:`PyUnicode_FromFormatV` now sets a :exc:`SystemError`. In previous " +"versions it caused all the rest of the format string to be copied as-is to " +"the result string, and any extra arguments discarded. (Contributed by Serhiy " +"Storchaka in :gh:`95781`.)" msgstr "" #: ../../whatsnew/3.12.rst:2059 msgid "" -"Fix wrong sign placement in :c:func:`PyUnicode_FromFormat` " -"and :c:func:`PyUnicode_FromFormatV`. (Contributed by Philip Georgi " -"in :gh:`95504`.)" +"Fix wrong sign placement in :c:func:`PyUnicode_FromFormat` and :c:func:" +"`PyUnicode_FromFormatV`. (Contributed by Philip Georgi in :gh:`95504`.)" msgstr "" #: ../../whatsnew/3.12.rst:2063 msgid "" "Extension classes wanting to add a :attr:`~object.__dict__` or weak " -"reference slot should use :c:macro:`Py_TPFLAGS_MANAGED_DICT` " -"and :c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` instead of ``tp_dictoffset`` and " +"reference slot should use :c:macro:`Py_TPFLAGS_MANAGED_DICT` and :c:macro:" +"`Py_TPFLAGS_MANAGED_WEAKREF` instead of ``tp_dictoffset`` and " "``tp_weaklistoffset``, respectively. The use of ``tp_dictoffset`` and " "``tp_weaklistoffset`` is still supported, but does not fully support " "multiple inheritance (:gh:`95589`), and performance may be worse. Classes " "declaring :c:macro:`Py_TPFLAGS_MANAGED_DICT` must call :c:func:`!" "_PyObject_VisitManagedDict` and :c:func:`!_PyObject_ClearManagedDict` to " -"traverse and clear their instance's dictionaries. To clear weakrefs, " -"call :c:func:`PyObject_ClearWeakRefs`, as before." +"traverse and clear their instance's dictionaries. To clear weakrefs, call :c:" +"func:`PyObject_ClearWeakRefs`, as before." msgstr "" #: ../../whatsnew/3.12.rst:2075 @@ -4918,10 +4879,10 @@ msgstr "" #: ../../whatsnew/3.12.rst:2085 msgid "" -"The interpreter's error indicator is now always normalized. This means " -"that :c:func:`PyErr_SetObject`, :c:func:`PyErr_SetString` and the other " -"functions that set the error indicator now normalize the exception before " -"storing it. (Contributed by Mark Shannon in :gh:`101578`.)" +"The interpreter's error indicator is now always normalized. This means that :" +"c:func:`PyErr_SetObject`, :c:func:`PyErr_SetString` and the other functions " +"that set the error indicator now normalize the exception before storing it. " +"(Contributed by Mark Shannon in :gh:`101578`.)" msgstr "" #: ../../whatsnew/3.12.rst:2090 @@ -4961,8 +4922,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:2107 msgid "" "Note that :c:func:`PyType_FromMetaclass` (added in Python 3.12) already " -"disallows creating classes whose metaclass overrides ``tp_new`` " -"(:meth:`~object.__new__` in Python)." +"disallows creating classes whose metaclass overrides ``tp_new`` (:meth:" +"`~object.__new__` in Python)." msgstr "" #: ../../whatsnew/3.12.rst:2111 @@ -4980,16 +4941,16 @@ msgstr "" #: ../../whatsnew/3.12.rst:2120 msgid "" -"If initialization can be skipped, it can be done " -"in :c:member:`~PyTypeObject.tp_init` instead." +"If initialization can be skipped, it can be done in :c:member:`~PyTypeObject." +"tp_init` instead." msgstr "" #: ../../whatsnew/3.12.rst:2122 msgid "" "If the metaclass doesn't need to be instantiated from Python, set its " -"``tp_new`` to ``NULL`` using " -"the :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag. This makes it " -"acceptable for ``PyType_From*`` functions." +"``tp_new`` to ``NULL`` using the :c:macro:" +"`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag. This makes it acceptable for " +"``PyType_From*`` functions." msgstr "" #: ../../whatsnew/3.12.rst:2127 @@ -5025,10 +4986,10 @@ msgid "" ":c:struct:`PyLongObject` has had its internals changed for better " "performance. Although the internals of :c:struct:`PyLongObject` are private, " "they are used by some extension modules. The internal fields should no " -"longer be accessed directly, instead the API functions beginning " -"``PyLong_...`` should be used instead. Two new *unstable* API functions are " -"provided for efficient access to the value of :c:struct:`PyLongObject`\\s " -"which fit into a single machine word:" +"longer be accessed directly, instead the API functions beginning ``PyLong_..." +"`` should be used instead. Two new *unstable* API functions are provided for " +"efficient access to the value of :c:struct:`PyLongObject`\\s which fit into " +"a single machine word:" msgstr "" #: ../../whatsnew/3.12.rst:2151 @@ -5050,11 +5011,11 @@ msgstr "" #: ../../whatsnew/3.12.rst:2164 msgid "" -"In accordance with :pep:`699`, the ``ma_version_tag`` field " -"in :c:type:`PyDictObject` is deprecated for extension modules. Accessing " -"this field will generate a compiler warning at compile time. This field will " -"be removed in Python 3.14. (Contributed by Ramvikrams and Kumar Aditya " -"in :gh:`101193`. PEP by Ken Jin.)" +"In accordance with :pep:`699`, the ``ma_version_tag`` field in :c:type:" +"`PyDictObject` is deprecated for extension modules. Accessing this field " +"will generate a compiler warning at compile time. This field will be removed " +"in Python 3.14. (Contributed by Ramvikrams and Kumar Aditya in :gh:`101193`. " +"PEP by Ken Jin.)" msgstr "" #: ../../whatsnew/3.12.rst:2169 @@ -5104,22 +5065,22 @@ msgstr "" msgid "" ":c:var:`Py_IgnoreEnvironmentFlag`: use :c:member:`PyConfig.use_environment`" msgstr "" -":c:var:`Py_IgnoreEnvironmentFlag`: " -"verwende :c:member:`PyConfig.use_environment`" +":c:var:`Py_IgnoreEnvironmentFlag`: verwende :c:member:`PyConfig." +"use_environment`" #: ../../whatsnew/3.12.rst:2181 msgid "" ":c:var:`Py_DontWriteBytecodeFlag`: use :c:member:`PyConfig.write_bytecode`" msgstr "" -":c:var:`Py_DontWriteBytecodeFlag`: " -"verwende :c:member:`PyConfig.write_bytecode`" +":c:var:`Py_DontWriteBytecodeFlag`: verwende :c:member:`PyConfig." +"write_bytecode`" #: ../../whatsnew/3.12.rst:2182 msgid "" ":c:var:`Py_NoUserSiteDirectory`: use :c:member:`PyConfig.user_site_directory`" msgstr "" -":c:var:`Py_NoUserSiteDirectory`: " -"verwende :c:member:`PyConfig.user_site_directory`" +":c:var:`Py_NoUserSiteDirectory`: verwende :c:member:`PyConfig." +"user_site_directory`" #: ../../whatsnew/3.12.rst:2183 msgid "" @@ -5132,9 +5093,8 @@ msgid "" ":c:var:`Py_HashRandomizationFlag`: use :c:member:`PyConfig.use_hash_seed` " "and :c:member:`PyConfig.hash_seed`" msgstr "" -":c:var:`Py_HashRandomizationFlag`: " -"verwende :c:member:`PyConfig.use_hash_seed` " -"und :c:member:`PyConfig.hash_seed`" +":c:var:`Py_HashRandomizationFlag`: verwende :c:member:`PyConfig." +"use_hash_seed` und :c:member:`PyConfig.hash_seed`" #: ../../whatsnew/3.12.rst:2186 msgid ":c:var:`Py_IsolatedFlag`: use :c:member:`PyConfig.isolated`" @@ -5142,59 +5102,57 @@ msgstr ":c:var:`Py_IsolatedFlag`: verwende :c:member:`PyConfig.isolated`" #: ../../whatsnew/3.12.rst:2187 msgid "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: " -"use :c:member:`PyPreConfig.legacy_windows_fs_encoding`" +":c:var:`Py_LegacyWindowsFSEncodingFlag`: use :c:member:`PyPreConfig." +"legacy_windows_fs_encoding`" msgstr "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: " -"verwende :c:member:`PyPreConfig.legacy_windows_fs_encoding`" +":c:var:`Py_LegacyWindowsFSEncodingFlag`: verwende :c:member:`PyPreConfig." +"legacy_windows_fs_encoding`" #: ../../whatsnew/3.12.rst:2188 msgid "" -":c:var:`Py_LegacyWindowsStdioFlag`: " -"use :c:member:`PyConfig.legacy_windows_stdio`" +":c:var:`Py_LegacyWindowsStdioFlag`: use :c:member:`PyConfig." +"legacy_windows_stdio`" msgstr "" -":c:var:`Py_LegacyWindowsStdioFlag`: " -"verwende :c:member:`PyConfig.legacy_windows_stdio`" +":c:var:`Py_LegacyWindowsStdioFlag`: verwende :c:member:`PyConfig." +"legacy_windows_stdio`" #: ../../whatsnew/3.12.rst:2189 msgid "" -":c:var:`!Py_FileSystemDefaultEncoding`: " -"use :c:member:`PyConfig.filesystem_encoding`" +":c:var:`!Py_FileSystemDefaultEncoding`: use :c:member:`PyConfig." +"filesystem_encoding`" msgstr "" -":c:var:`!Py_FileSystemDefaultEncoding`: " -"verwende :c:member:`PyConfig.filesystem_encoding`" +":c:var:`!Py_FileSystemDefaultEncoding`: verwende :c:member:`PyConfig." +"filesystem_encoding`" #: ../../whatsnew/3.12.rst:2190 msgid "" -":c:var:`!Py_HasFileSystemDefaultEncoding`: " -"use :c:member:`PyConfig.filesystem_encoding`" +":c:var:`!Py_HasFileSystemDefaultEncoding`: use :c:member:`PyConfig." +"filesystem_encoding`" msgstr "" #: ../../whatsnew/3.12.rst:2191 msgid "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: " -"use :c:member:`PyConfig.filesystem_errors`" +":c:var:`!Py_FileSystemDefaultEncodeErrors`: use :c:member:`PyConfig." +"filesystem_errors`" msgstr "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: " -"verwende :c:member:`PyConfig.filesystem_errors`" +":c:var:`!Py_FileSystemDefaultEncodeErrors`: verwende :c:member:`PyConfig." +"filesystem_errors`" #: ../../whatsnew/3.12.rst:2192 msgid "" -":c:var:`!Py_UTF8Mode`: use :c:member:`PyPreConfig.utf8_mode` " -"(see :c:func:`Py_PreInitialize`)" +":c:var:`!Py_UTF8Mode`: use :c:member:`PyPreConfig.utf8_mode` (see :c:func:" +"`Py_PreInitialize`)" msgstr "" -":c:var:`!Py_UTF8Mode`: verwende :c:member:`PyPreConfig.utf8_mode` " -"(siehe :c:func:`Py_PreInitialize`)" +":c:var:`!Py_UTF8Mode`: verwende :c:member:`PyPreConfig.utf8_mode` (siehe :c:" +"func:`Py_PreInitialize`)" #: ../../whatsnew/3.12.rst:2194 msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used " -"with :c:type:`PyConfig` instead. (Contributed by Victor Stinner " -"in :gh:`77782`.)" +"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" +"`PyConfig` instead. (Contributed by Victor Stinner in :gh:`77782`.)" msgstr "" -"Die :c:func:`Py_InitializeFromConfig` API sollte stattdessen " -"mit :c:type:`PyConfig` genutzt werden. (Beigetragen von Victor Stinner " -"in :gh:`77782`.)" +"Die :c:func:`Py_InitializeFromConfig` API sollte stattdessen mit :c:type:" +"`PyConfig` genutzt werden. (Beigetragen von Victor Stinner in :gh:`77782`.)" #: ../../whatsnew/3.12.rst:2198 msgid "" @@ -5216,11 +5174,11 @@ msgstr "" #: ../../whatsnew/3.12.rst:2207 msgid "" -":c:struct:`PyMemberDef`, :c:func:`PyMember_GetOne` " -"and :c:func:`PyMember_SetOne`" +":c:struct:`PyMemberDef`, :c:func:`PyMember_GetOne` and :c:func:" +"`PyMember_SetOne`" msgstr "" -":c:struct:`PyMemberDef`, :c:func:`PyMember_GetOne` " -"und :c:func:`PyMember_SetOne`" +":c:struct:`PyMemberDef`, :c:func:`PyMember_GetOne` und :c:func:" +"`PyMember_SetOne`" #: ../../whatsnew/3.12.rst:2209 msgid "" @@ -5230,8 +5188,8 @@ msgstr "" #: ../../whatsnew/3.12.rst:2211 msgid "" -"The flags :c:macro:`Py_READONLY` (previously ``READONLY``) " -"and :c:macro:`Py_AUDIT_READ` (previously all uppercase)" +"The flags :c:macro:`Py_READONLY` (previously ``READONLY``) and :c:macro:" +"`Py_AUDIT_READ` (previously all uppercase)" msgstr "" #: ../../whatsnew/3.12.rst:2214 @@ -5252,15 +5210,14 @@ msgstr "" #: ../../whatsnew/3.12.rst:2219 msgid "" -"The macros ``RESTRICTED`` and ``READ_RESTRICTED``, equivalents " -"of :c:macro:`Py_AUDIT_READ`." +"The macros ``RESTRICTED`` and ``READ_RESTRICTED``, equivalents of :c:macro:" +"`Py_AUDIT_READ`." msgstr "" #: ../../whatsnew/3.12.rst:2221 msgid "" -"In some configurations, ```` is not included " -"from :file:`Python.h`. It should be included manually when using " -"``offsetof()``." +"In some configurations, ```` is not included from :file:`Python." +"h`. It should be included manually when using ``offsetof()``." msgstr "" #: ../../whatsnew/3.12.rst:2224 @@ -5278,10 +5235,9 @@ msgstr "" #: ../../whatsnew/3.12.rst:2232 msgid "" -":c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` are deprecated. " -"Use :c:func:`PyErr_GetRaisedException` " -"and :c:func:`PyErr_SetRaisedException` instead. (Contributed by Mark Shannon " -"in :gh:`101578`.)" +":c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` are deprecated. Use :c:" +"func:`PyErr_GetRaisedException` and :c:func:`PyErr_SetRaisedException` " +"instead. (Contributed by Mark Shannon in :gh:`101578`.)" msgstr "" #: ../../whatsnew/3.12.rst:2237 @@ -5298,10 +5254,9 @@ msgstr "" #: ../../whatsnew/3.12.rst:2243 msgid "" -"Using :c:func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases` " -"or :c:func:`PyType_FromModuleAndSpec` to create a class whose metaclass " -"overrides :c:member:`~PyTypeObject.tp_new` is deprecated. Call the metaclass " -"instead." +"Using :c:func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases` or :c:" +"func:`PyType_FromModuleAndSpec` to create a class whose metaclass overrides :" +"c:member:`~PyTypeObject.tp_new` is deprecated. Call the metaclass instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.14.rst:4 @@ -5318,24 +5273,24 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:4 msgid "" -"The :c:func:`!PyImport_ImportModuleNoBlock`: " -"Use :c:func:`PyImport_ImportModule` instead." +"The :c:func:`!PyImport_ImportModuleNoBlock`: Use :c:func:" +"`PyImport_ImportModule` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:6 msgid "" -":c:func:`!PyWeakref_GetObject` and :c:func:`!PyWeakref_GET_OBJECT`: " -"Use :c:func:`PyWeakref_GetRef` instead. The `pythoncapi-compat project " -"`__ can be used to " -"get :c:func:`PyWeakref_GetRef` on Python 3.12 and older." +":c:func:`!PyWeakref_GetObject` and :c:func:`!PyWeakref_GET_OBJECT`: Use :c:" +"func:`PyWeakref_GetRef` instead. The `pythoncapi-compat project `__ can be used to get :c:func:" +"`PyWeakref_GetRef` on Python 3.12 and older." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:10 msgid "" ":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." msgstr "" -":c:func:`!PyUnicode_AsDecodedObject`: Verwende " -"stattdessen :c:func:`PyCodec_Decode`." +":c:func:`!PyUnicode_AsDecodedObject`: Verwende stattdessen :c:func:" +"`PyCodec_Decode`." #: ../../deprecations/c-api-pending-removal-in-3.15.rst:12 msgid "" @@ -5348,8 +5303,8 @@ msgstr "" msgid "" ":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." msgstr "" -":c:func:`!PyUnicode_AsEncodedObject`: Verwende " -"stattdessen :c:func:`PyCodec_Encode`." +":c:func:`!PyUnicode_AsEncodedObject`: Verwende stattdessen :c:func:" +"`PyCodec_Encode`." #: ../../deprecations/c-api-pending-removal-in-3.15.rst:17 msgid "" @@ -5371,18 +5326,17 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:25 msgid "" ":c:func:`!Py_GetPrefix`: Use :c:func:`PyConfig_Get(\"base_prefix\") " -"` (:data:`sys.base_prefix`) instead. " -"Use :c:func:`PyConfig_Get(\"prefix\") ` (:data:`sys.prefix`) " -"if :ref:`virtual environments ` need to be handled." +"` (:data:`sys.base_prefix`) instead. Use :c:func:" +"`PyConfig_Get(\"prefix\") ` (:data:`sys.prefix`) if :ref:" +"`virtual environments ` need to be handled." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:30 msgid "" ":c:func:`!Py_GetExecPrefix`: Use :c:func:`PyConfig_Get(\"base_exec_prefix\") " -"` (:data:`sys.base_exec_prefix`) instead. " -"Use :c:func:`PyConfig_Get(\"exec_prefix\") ` " -"(:data:`sys.exec_prefix`) if :ref:`virtual environments ` need to " -"be handled." +"` (:data:`sys.base_exec_prefix`) instead. Use :c:func:" +"`PyConfig_Get(\"exec_prefix\") ` (:data:`sys.exec_prefix`) if :" +"ref:`virtual environments ` need to be handled." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:36 @@ -5440,8 +5394,8 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:63 msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used " -"with :c:type:`PyConfig` instead." +"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" +"`PyConfig` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:66 @@ -5450,56 +5404,56 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:68 msgid "" -":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` " -"or :c:func:`PyConfig_Get(\"parser_debug\") ` instead." +":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` or :c:func:" +"`PyConfig_Get(\"parser_debug\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:71 msgid "" -":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` " -"or :c:func:`PyConfig_Get(\"verbose\") ` instead." +":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` or :c:func:" +"`PyConfig_Get(\"verbose\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:74 msgid "" -":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` " -"or :c:func:`PyConfig_Get(\"quiet\") ` instead." +":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` or :c:func:" +"`PyConfig_Get(\"quiet\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:77 msgid "" -":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` " -"or :c:func:`PyConfig_Get(\"interactive\") ` instead." +":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` or :c:func:" +"`PyConfig_Get(\"interactive\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:80 msgid "" -":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` " -"or :c:func:`PyConfig_Get(\"inspect\") ` instead." +":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` or :c:func:" +"`PyConfig_Get(\"inspect\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:83 msgid "" -":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` " -"or :c:func:`PyConfig_Get(\"optimization_level\") ` instead." +":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` or :c:" +"func:`PyConfig_Get(\"optimization_level\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:86 msgid "" -":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` " -"or :c:func:`PyConfig_Get(\"site_import\") ` instead." +":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` or :c:func:" +"`PyConfig_Get(\"site_import\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:89 msgid "" -":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` " -"or :c:func:`PyConfig_Get(\"bytes_warning\") ` instead." +":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` or :c:" +"func:`PyConfig_Get(\"bytes_warning\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:92 msgid "" -":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` " -"or :c:func:`PyConfig_Get(\"pathconfig_warnings\") ` instead." +":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` or :c:" +"func:`PyConfig_Get(\"pathconfig_warnings\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:95 @@ -5516,15 +5470,15 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:101 msgid "" -":c:var:`Py_NoUserSiteDirectory`: " -"Use :c:member:`PyConfig.user_site_directory` " -"or :c:func:`PyConfig_Get(\"user_site_directory\") ` instead." +":c:var:`Py_NoUserSiteDirectory`: Use :c:member:`PyConfig." +"user_site_directory` or :c:func:`PyConfig_Get(\"user_site_directory\") " +"` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:104 msgid "" -":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` " -"or :c:func:`PyConfig_Get(\"buffered_stdio\") ` instead." +":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` or :" +"c:func:`PyConfig_Get(\"buffered_stdio\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:107 @@ -5536,52 +5490,51 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:111 msgid "" -":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` " -"or :c:func:`PyConfig_Get(\"isolated\") ` instead." +":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` or :c:func:" +"`PyConfig_Get(\"isolated\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:114 msgid "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: " -"Use :c:member:`PyPreConfig.legacy_windows_fs_encoding` " -"or :c:func:`PyConfig_Get(\"legacy_windows_fs_encoding\") ` " -"instead." +":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use :c:member:`PyPreConfig." +"legacy_windows_fs_encoding` or :c:func:" +"`PyConfig_Get(\"legacy_windows_fs_encoding\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:117 msgid "" -":c:var:`Py_LegacyWindowsStdioFlag`: " -"Use :c:member:`PyConfig.legacy_windows_stdio` " -"or :c:func:`PyConfig_Get(\"legacy_windows_stdio\") ` instead." +":c:var:`Py_LegacyWindowsStdioFlag`: Use :c:member:`PyConfig." +"legacy_windows_stdio` or :c:func:`PyConfig_Get(\"legacy_windows_stdio\") " +"` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:120 msgid "" ":c:var:`!Py_FileSystemDefaultEncoding`, :c:var:`!" -"Py_HasFileSystemDefaultEncoding`: " -"Use :c:member:`PyConfig.filesystem_encoding` " -"or :c:func:`PyConfig_Get(\"filesystem_encoding\") ` instead." +"Py_HasFileSystemDefaultEncoding`: Use :c:member:`PyConfig." +"filesystem_encoding` or :c:func:`PyConfig_Get(\"filesystem_encoding\") " +"` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:123 msgid "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: " -"Use :c:member:`PyConfig.filesystem_errors` " -"or :c:func:`PyConfig_Get(\"filesystem_errors\") ` instead." +":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use :c:member:`PyConfig." +"filesystem_errors` or :c:func:`PyConfig_Get(\"filesystem_errors\") " +"` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:126 msgid "" -":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` " -"or :c:func:`PyConfig_Get(\"utf8_mode\") ` instead. " -"(see :c:func:`Py_PreInitialize`)" +":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` or :c:func:" +"`PyConfig_Get(\"utf8_mode\") ` instead. (see :c:func:" +"`Py_PreInitialize`)" msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:131 msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used " -"with :c:type:`PyConfig` to set these options. Or :c:func:`PyConfig_Get` can " -"be used to get these options at runtime." +"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" +"`PyConfig` to set these options. Or :c:func:`PyConfig_Get` can be used to " +"get these options at runtime." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.16.rst:4 @@ -5625,8 +5578,8 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-future.rst:19 msgid "" -":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` " -"and :c:func:`PySlice_AdjustIndices` instead." +":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and :c:func:" +"`PySlice_AdjustIndices` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-future.rst:21 diff --git a/whatsnew/3.13.po b/whatsnew/3.13.po index 83ed0aac..54395280 100644 --- a/whatsnew/3.13.po +++ b/whatsnew/3.13.po @@ -35,8 +35,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:48 msgid "" "This article explains the new features in Python 3.13, compared to 3.12. " -"Python 3.13 was released on October 7, 2024. For full details, see " -"the :ref:`changelog `." +"Python 3.13 was released on October 7, 2024. For full details, see the :ref:" +"`changelog `." msgstr "" #: ../../whatsnew/3.13.rst:54 @@ -77,8 +77,8 @@ msgstr "" msgid "" "This article doesn't attempt to provide a complete specification of all new " "features, but instead gives a convenient overview. For full details refer to " -"the documentation, such as the :ref:`Library Reference ` " -"and :ref:`Language Reference `. To understand the complete " +"the documentation, such as the :ref:`Library Reference ` and :" +"ref:`Language Reference `. To understand the complete " "implementation and design rationale for a change, refer to the PEP for a " "particular new feature; but note that PEPs usually are not kept up-to-date " "once a feature has been fully implemented. See `Porting to Python 3.13`_ for " @@ -106,9 +106,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:108 msgid "" -":pep:`703`: CPython 3.13 has experimental support for running with " -"the :term:`global interpreter lock` disabled. See :ref:`Free-threaded " -"CPython ` for more details." +":pep:`703`: CPython 3.13 has experimental support for running with the :term:" +"`global interpreter lock` disabled. See :ref:`Free-threaded CPython " +"` for more details." msgstr "" #: ../../whatsnew/3.13.rst:111 @@ -169,8 +169,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:137 msgid "" "The :mod:`copy` module now has a :func:`copy.replace` function, with support " -"for many builtin types and any class defining " -"the :func:`~object.__replace__` method." +"for many builtin types and any class defining the :func:`~object." +"__replace__` method." msgstr "" #: ../../whatsnew/3.13.rst:140 @@ -196,9 +196,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:147 msgid "" -":func:`ssl.create_default_context` " -"sets :data:`ssl.VERIFY_X509_PARTIAL_CHAIN` " -"and :data:`ssl.VERIFY_X509_STRICT` as default flags." +":func:`ssl.create_default_context` sets :data:`ssl." +"VERIFY_X509_PARTIAL_CHAIN` and :data:`ssl.VERIFY_X509_STRICT` as default " +"flags." msgstr "" #: ../../whatsnew/3.13.rst:150 @@ -224,8 +224,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:157 msgid "" -"There is a new :ref:`suite of functions ` for " -"generating :pep:`669` monitoring events in the C API." +"There is a new :ref:`suite of functions ` for generating :" +"pep:`669` monitoring events in the C API." msgstr "" #: ../../whatsnew/3.13.rst:160 @@ -234,9 +234,8 @@ msgstr "Neue Typisierungsfunktionen:" #: ../../whatsnew/3.13.rst:162 msgid "" -":pep:`696`: Type parameters " -"(:data:`typing.TypeVar`, :data:`typing.ParamSpec`, " -"and :data:`typing.TypeVarTuple`) now support defaults." +":pep:`696`: Type parameters (:data:`typing.TypeVar`, :data:`typing." +"ParamSpec`, and :data:`typing.TypeVarTuple`) now support defaults." msgstr "" #: ../../whatsnew/3.13.rst:164 @@ -247,8 +246,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:166 msgid "" -":pep:`705`: :data:`typing.ReadOnly` can be used to mark an item of " -"a :class:`typing.TypedDict` as read-only for type checkers." +":pep:`705`: :data:`typing.ReadOnly` can be used to mark an item of a :class:" +"`typing.TypedDict` as read-only for type checkers." msgstr "" #: ../../whatsnew/3.13.rst:168 @@ -288,12 +287,13 @@ msgstr "" #: ../../whatsnew/3.13.rst:182 msgid "" -":ref:`PEP 594 `: The remaining 19 \"dead batteries\" " -"(legacy stdlib modules) have been removed from the standard library: :mod:`!" -"aifc`, :mod:`!audioop`, :mod:`!cgi`, :mod:`!cgitb`, :mod:`!chunk`, :mod:`!" -"crypt`, :mod:`!imghdr`, :mod:`!mailcap`, :mod:`!msilib`, :mod:`!nis`, :mod:`!" -"nntplib`, :mod:`!ossaudiodev`, :mod:`!pipes`, :mod:`!sndhdr`, :mod:`!" -"spwd`, :mod:`!sunau`, :mod:`!telnetlib`, :mod:`!uu` and :mod:`!xdrlib`." +":ref:`PEP 594 `: The remaining 19 \"dead " +"batteries\" (legacy stdlib modules) have been removed from the standard " +"library: :mod:`!aifc`, :mod:`!audioop`, :mod:`!cgi`, :mod:`!cgitb`, :mod:`!" +"chunk`, :mod:`!crypt`, :mod:`!imghdr`, :mod:`!mailcap`, :mod:`!msilib`, :mod:" +"`!nis`, :mod:`!nntplib`, :mod:`!ossaudiodev`, :mod:`!pipes`, :mod:`!" +"sndhdr`, :mod:`!spwd`, :mod:`!sunau`, :mod:`!telnetlib`, :mod:`!uu` and :mod:" +"`!xdrlib`." msgstr "" #: ../../whatsnew/3.13.rst:188 @@ -379,8 +379,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:228 msgid "" -"History browsing using :kbd:`F2` that skips output as well as " -"the :term:`>>>` and :term:`...` prompts." +"History browsing using :kbd:`F2` that skips output as well as the :term:" +"`>>>` and :term:`...` prompts." msgstr "" #: ../../whatsnew/3.13.rst:230 @@ -668,35 +668,35 @@ msgstr "" #: ../../whatsnew/3.13.rst:423 msgid "" -"Historically, the expected result of mutating the return value " -"of :func:`locals` has been left to individual Python implementations to " -"define. Starting from Python 3.13, :pep:`667` standardises the historical " -"behavior of CPython for most code execution scopes, but " -"changes :term:`optimized scopes ` (functions, generators, " -"coroutines, comprehensions, and generator expressions) to explicitly return " -"independent snapshots of the currently assigned local variables, including " -"locally referenced nonlocal variables captured in closures." +"Historically, the expected result of mutating the return value of :func:" +"`locals` has been left to individual Python implementations to define. " +"Starting from Python 3.13, :pep:`667` standardises the historical behavior " +"of CPython for most code execution scopes, but changes :term:`optimized " +"scopes ` (functions, generators, coroutines, " +"comprehensions, and generator expressions) to explicitly return independent " +"snapshots of the currently assigned local variables, including locally " +"referenced nonlocal variables captured in closures." msgstr "" #: ../../whatsnew/3.13.rst:432 msgid "" "This change to the semantics of :func:`locals` in optimized scopes also " "affects the default behavior of code execution functions that implicitly " -"target :func:`!locals` if no explicit namespace is provided (such " -"as :func:`exec` and :func:`eval`). In previous versions, whether or not " -"changes could be accessed by calling :func:`!locals` after calling the code " -"execution function was implementation-dependent. In CPython specifically, " -"such code would typically appear to work as desired, but could sometimes " -"fail in optimized scopes based on other code (including debuggers and code " -"execution tracing tools) potentially resetting the shared snapshot in that " -"scope. Now, the code will always run against an independent snapshot of the " -"local variables in optimized scopes, and hence the changes will never be " -"visible in subsequent calls to :func:`!locals`. To access the changes made " -"in these cases, an explicit namespace reference must now be passed to the " -"relevant function. Alternatively, it may make sense to update affected code " -"to use a higher level code execution API that returns the resulting code " -"execution namespace (e.g. :func:`runpy.run_path` when executing Python files " -"from disk)." +"target :func:`!locals` if no explicit namespace is provided (such as :func:" +"`exec` and :func:`eval`). In previous versions, whether or not changes could " +"be accessed by calling :func:`!locals` after calling the code execution " +"function was implementation-dependent. In CPython specifically, such code " +"would typically appear to work as desired, but could sometimes fail in " +"optimized scopes based on other code (including debuggers and code execution " +"tracing tools) potentially resetting the shared snapshot in that scope. Now, " +"the code will always run against an independent snapshot of the local " +"variables in optimized scopes, and hence the changes will never be visible " +"in subsequent calls to :func:`!locals`. To access the changes made in these " +"cases, an explicit namespace reference must now be passed to the relevant " +"function. Alternatively, it may make sense to update affected code to use a " +"higher level code execution API that returns the resulting code execution " +"namespace (e.g. :func:`runpy.run_path` when executing Python files from " +"disk)." msgstr "" #: ../../whatsnew/3.13.rst:451 @@ -712,16 +712,16 @@ msgstr "" #: ../../whatsnew/3.13.rst:457 msgid "" "See :pep:`667` for more details, including related C API changes and " -"deprecations. Porting notes are also provided below for the " -"affected :ref:`Python APIs ` and :ref:`C APIs " -"`." +"deprecations. Porting notes are also provided below for the affected :ref:" +"`Python APIs ` and :ref:`C APIs `." msgstr "" #: ../../whatsnew/3.13.rst:462 msgid "" -"(PEP and implementation contributed by Mark Shannon and Tian Gao " -"in :gh:`74929`. Documentation updates provided by Guido van Rossum and " -"Alyssa Coghlan.)" +"(PEP and implementation contributed by Mark Shannon and Tian Gao in :gh:" +"`74929`. Documentation updates provided by Guido van Rossum and Alyssa " +"Coghlan.)" msgstr "" #: ../../whatsnew/3.13.rst:470 @@ -814,8 +814,8 @@ msgstr "" msgid "" ":keyword:`global` declarations are now permitted in :keyword:`except` blocks " "when that global is used in the :keyword:`else` block. Previously this " -"raised an erroneous :exc:`SyntaxError`. (Contributed by Irit Katriel " -"in :gh:`111123`.)" +"raised an erroneous :exc:`SyntaxError`. (Contributed by Irit Katriel in :gh:" +"`111123`.)" msgstr "" #: ../../whatsnew/3.13.rst:540 @@ -831,15 +831,15 @@ msgid "" "Add :ref:`support for the perf profiler ` working without " "`frame pointers `_ through the new " "environment variable :envvar:`PYTHON_PERF_JIT_SUPPORT` and command-line " -"option :option:`-X perf_jit <-X>`. (Contributed by Pablo Galindo " -"in :gh:`118518`.)" +"option :option:`-X perf_jit <-X>`. (Contributed by Pablo Galindo in :gh:" +"`118518`.)" msgstr "" #: ../../whatsnew/3.13.rst:551 msgid "" -"The location of a :file:`.python_history` file can be changed via the " -"new :envvar:`PYTHON_HISTORY` environment variable. (Contributed by Levi " -"Sabah, Zackery Spytz and Hugo van Kemenade in :gh:`73965`.)" +"The location of a :file:`.python_history` file can be changed via the new :" +"envvar:`PYTHON_HISTORY` environment variable. (Contributed by Levi Sabah, " +"Zackery Spytz and Hugo van Kemenade in :gh:`73965`.)" msgstr "" #: ../../whatsnew/3.13.rst:556 @@ -860,15 +860,15 @@ msgstr "" #: ../../whatsnew/3.13.rst:565 msgid "" "The :func:`exec` and :func:`eval` builtins now accept the *globals* and " -"*locals* arguments as keywords. (Contributed by Raphael Gaschignard " -"in :gh:`105879`)" +"*locals* arguments as keywords. (Contributed by Raphael Gaschignard in :gh:" +"`105879`)" msgstr "" #: ../../whatsnew/3.13.rst:569 msgid "" -"The :func:`compile` builtin now accepts a new flag, " -"``ast.PyCF_OPTIMIZED_AST``, which is similar to ``ast.PyCF_ONLY_AST`` except " -"that the returned AST is optimized according to the value of the *optimize* " +"The :func:`compile` builtin now accepts a new flag, ``ast." +"PyCF_OPTIMIZED_AST``, which is similar to ``ast.PyCF_ONLY_AST`` except that " +"the returned AST is optimized according to the value of the *optimize* " "argument. (Contributed by Irit Katriel in :gh:`108113`)." msgstr "" @@ -880,10 +880,10 @@ msgstr "" #: ../../whatsnew/3.13.rst:578 msgid "" -"Add :exc:`PythonFinalizationError`, a new exception derived " -"from :exc:`RuntimeError` and used to signal when operations are blocked " -"during :term:`finalization `. The following callables " -"now raise :exc:`!PythonFinalizationError`, instead of :exc:`RuntimeError`:" +"Add :exc:`PythonFinalizationError`, a new exception derived from :exc:" +"`RuntimeError` and used to signal when operations are blocked during :term:" +"`finalization `. The following callables now raise :" +"exc:`!PythonFinalizationError`, instead of :exc:`RuntimeError`:" msgstr "" #: ../../whatsnew/3.13.rst:584 @@ -922,9 +922,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:599 msgid "" "Added :attr:`!name` and :attr:`!mode` attributes for compressed and archived " -"file-like objects in the :mod:`bz2`, :mod:`lzma`, :mod:`tarfile`, " -"and :mod:`zipfile` modules. (Contributed by Serhiy Storchaka " -"in :gh:`115961`.)" +"file-like objects in the :mod:`bz2`, :mod:`lzma`, :mod:`tarfile`, and :mod:" +"`zipfile` modules. (Contributed by Serhiy Storchaka in :gh:`115961`.)" msgstr "" #: ../../whatsnew/3.13.rst:606 @@ -947,10 +946,10 @@ msgstr "argparse" #: ../../whatsnew/3.13.rst:619 msgid "" -"Add the *deprecated* parameter to " -"the :meth:`~argparse.ArgumentParser.add_argument` and :meth:`!add_parser` " -"methods, to enable deprecating command-line options, positional arguments, " -"and subcommands. (Contributed by Serhiy Storchaka in :gh:`83648`.)" +"Add the *deprecated* parameter to the :meth:`~argparse.ArgumentParser." +"add_argument` and :meth:`!add_parser` methods, to enable deprecating command-" +"line options, positional arguments, and subcommands. (Contributed by Serhiy " +"Storchaka in :gh:`83648`.)" msgstr "" #: ../../whatsnew/3.13.rst:627 @@ -1004,14 +1003,14 @@ msgstr "" #: ../../whatsnew/3.13.rst:660 msgid "" "These changes do not apply to user-defined subclasses of :class:`ast.AST` " -"unless the class opts in to the new behavior by defining " -"the :attr:`.AST._field_types` mapping." +"unless the class opts in to the new behavior by defining the :attr:`.AST." +"_field_types` mapping." msgstr "" #: ../../whatsnew/3.13.rst:664 msgid "" -"(Contributed by Jelle Zijlstra in :gh:`105858`, :gh:`117486`, " -"and :gh:`118851`.)" +"(Contributed by Jelle Zijlstra in :gh:`105858`, :gh:`117486`, and :gh:" +"`118851`.)" msgstr "" #: ../../whatsnew/3.13.rst:666 @@ -1027,19 +1026,19 @@ msgstr "asyncio" #: ../../whatsnew/3.13.rst:675 msgid "" -":func:`asyncio.as_completed` now returns an object that is both " -"an :term:`asynchronous iterator` and a plain :term:`iterator` " -"of :term:`awaitables `. The awaitables yielded by asynchronous " -"iteration include original task or future objects that were passed in, " -"making it easier to associate results with the tasks being completed. " -"(Contributed by Justin Arthur in :gh:`77714`.)" +":func:`asyncio.as_completed` now returns an object that is both an :term:" +"`asynchronous iterator` and a plain :term:`iterator` of :term:`awaitables " +"`. The awaitables yielded by asynchronous iteration include " +"original task or future objects that were passed in, making it easier to " +"associate results with the tasks being completed. (Contributed by Justin " +"Arthur in :gh:`77714`.)" msgstr "" #: ../../whatsnew/3.13.rst:683 msgid "" ":meth:`asyncio.loop.create_unix_server` will now automatically remove the " -"Unix socket when the server is closed. (Contributed by Pierre Ossman " -"in :gh:`111246`.)" +"Unix socket when the server is closed. (Contributed by Pierre Ossman in :gh:" +"`111246`.)" msgstr "" #: ../../whatsnew/3.13.rst:687 @@ -1052,9 +1051,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:693 msgid "" -"Add :meth:`Queue.shutdown ` " -"and :exc:`~asyncio.QueueShutDown` to manage queue termination. (Contributed " -"by Laurie Opperman and Yves Duprat in :gh:`104228`.)" +"Add :meth:`Queue.shutdown ` and :exc:`~asyncio." +"QueueShutDown` to manage queue termination. (Contributed by Laurie Opperman " +"and Yves Duprat in :gh:`104228`.)" msgstr "" #: ../../whatsnew/3.13.rst:697 @@ -1067,8 +1066,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:701 msgid "" "Accept a tuple of separators in :meth:`.StreamReader.readuntil`, stopping " -"when any one of them is encountered. (Contributed by Bruce Merry " -"in :gh:`81322`.)" +"when any one of them is encountered. (Contributed by Bruce Merry in :gh:" +"`81322`.)" msgstr "" #: ../../whatsnew/3.13.rst:705 @@ -1083,10 +1082,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:712 msgid "" "In the case where a task group is cancelled externally and also must raise " -"an :exc:`ExceptionGroup`, it will now call the parent " -"task's :meth:`~asyncio.Task.cancel` method. This ensures that " -"a :exc:`~asyncio.CancelledError` will be raised at the " -"next :keyword:`await`, so the cancellation is not lost." +"an :exc:`ExceptionGroup`, it will now call the parent task's :meth:`~asyncio." +"Task.cancel` method. This ensures that a :exc:`~asyncio.CancelledError` will " +"be raised at the next :keyword:`await`, so the cancellation is not lost." msgstr "" #: ../../whatsnew/3.13.rst:718 @@ -1108,11 +1106,10 @@ msgstr "" #: ../../whatsnew/3.13.rst:727 msgid "" -"When :meth:`.TaskGroup.create_task` is called on an " -"inactive :class:`~asyncio.TaskGroup`, the given coroutine will be closed " -"(which prevents a :exc:`RuntimeWarning` about the given coroutine being " -"never awaited). (Contributed by Arthur Tacca and Jason Zhang " -"in :gh:`115957`.)" +"When :meth:`.TaskGroup.create_task` is called on an inactive :class:" +"`~asyncio.TaskGroup`, the given coroutine will be closed (which prevents a :" +"exc:`RuntimeWarning` about the given coroutine being never awaited). " +"(Contributed by Arthur Tacca and Jason Zhang in :gh:`115957`.)" msgstr "" #: ../../whatsnew/3.13.rst:733 @@ -1129,9 +1126,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:744 msgid "" -"This affects the following function and " -"methods: :meth:`asyncio.create_task`, :meth:`asyncio.loop.create_task`, :meth:`asyncio.TaskGroup.create_task`. " -"(Contributed by Thomas Grainger in :gh:`128307`.)" +"This affects the following function and methods: :meth:`asyncio." +"create_task`, :meth:`asyncio.loop.create_task`, :meth:`asyncio.TaskGroup." +"create_task`. (Contributed by Thomas Grainger in :gh:`128307`.)" msgstr "" #: ../../whatsnew/3.13.rst:751 @@ -1141,8 +1138,8 @@ msgstr "base64" #: ../../whatsnew/3.13.rst:753 msgid "" "Add :func:`~base64.z85encode` and :func:`~base64.z85decode` functions for " -"encoding :class:`bytes` as `Z85 data`_ and decoding Z85-encoded data " -"to :class:`!bytes`. (Contributed by Matan Perelman in :gh:`75299`.)" +"encoding :class:`bytes` as `Z85 data`_ and decoding Z85-encoded data to :" +"class:`!bytes`. (Contributed by Matan Perelman in :gh:`75299`.)" msgstr "" #: ../../whatsnew/3.13.rst:762 @@ -1152,9 +1149,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:764 ../../whatsnew/3.13.rst:772 #: ../../whatsnew/3.13.rst:1031 msgid "" -"The default number of worker threads and processes is now selected " -"using :func:`os.process_cpu_count` instead of :func:`os.cpu_count`. " -"(Contributed by Victor Stinner in :gh:`109649`.)" +"The default number of worker threads and processes is now selected using :" +"func:`os.process_cpu_count` instead of :func:`os.cpu_count`. (Contributed by " +"Victor Stinner in :gh:`109649`.)" msgstr "" #: ../../whatsnew/3.13.rst:770 @@ -1169,8 +1166,8 @@ msgstr "" msgid "" ":class:`~configparser.ConfigParser` now has support for unnamed sections, " "which allows for top-level key-value pairs. This can be enabled with the new " -"*allow_unnamed_section* parameter. (Contributed by Pedro Sousa Lacerda " -"in :gh:`66449`.)" +"*allow_unnamed_section* parameter. (Contributed by Pedro Sousa Lacerda in :" +"gh:`66449`.)" msgstr "" #: ../../whatsnew/3.13.rst:787 @@ -1195,7 +1192,8 @@ msgid ":class:`dataclasses.dataclass`" msgstr "" #: ../../whatsnew/3.13.rst:797 -msgid ":class:`datetime.datetime`, :class:`datetime.date`, :class:`datetime.time`" +msgid "" +":class:`datetime.datetime`, :class:`datetime.date`, :class:`datetime.time`" msgstr "" #: ../../whatsnew/3.13.rst:798 @@ -1213,8 +1211,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:802 msgid "" "Any user-defined class can also support :func:`copy.replace` by defining " -"the :meth:`~object.__replace__` method. (Contributed by Serhiy Storchaka " -"in :gh:`108751`.)" +"the :meth:`~object.__replace__` method. (Contributed by Serhiy Storchaka in :" +"gh:`108751`.)" msgstr "" #: ../../whatsnew/3.13.rst:808 @@ -1249,10 +1247,10 @@ msgstr "" #: ../../whatsnew/3.13.rst:824 msgid "" -":class:`ctypes.Structure` objects have a " -"new :attr:`~ctypes.Structure._align_` attribute which allows the alignment " -"of the structure being packed to/from memory to be specified explicitly. " -"(Contributed by Matt Sanderson in :gh:`112433`)" +":class:`ctypes.Structure` objects have a new :attr:`~ctypes.Structure." +"_align_` attribute which allows the alignment of the structure being packed " +"to/from memory to be specified explicitly. (Contributed by Matt Sanderson " +"in :gh:`112433`)" msgstr "" #: ../../whatsnew/3.13.rst:830 @@ -1288,10 +1286,10 @@ msgstr "" #: ../../whatsnew/3.13.rst:851 msgid "" ":meth:`~dis.get_instructions` no longer represents cache entries as separate " -"instructions. Instead, it returns them as part of " -"the :class:`~dis.Instruction`, in the new *cache_info* field. The " -"*show_caches* argument to :meth:`~dis.get_instructions` is deprecated and no " -"longer has any effect. (Contributed by Irit Katriel in :gh:`112962`.)" +"instructions. Instead, it returns them as part of the :class:`~dis." +"Instruction`, in the new *cache_info* field. The *show_caches* argument to :" +"meth:`~dis.get_instructions` is deprecated and no longer has any effect. " +"(Contributed by Irit Katriel in :gh:`112962`.)" msgstr "" #: ../../whatsnew/3.13.rst:863 @@ -1302,9 +1300,9 @@ msgstr "" msgid "" ":mod:`doctest` output is now colored by default. This can be controlled via " "the new :envvar:`PYTHON_COLORS` environment variable as well as the " -"canonical |NO_COLOR|_ and |FORCE_COLOR|_ environment variables. See " -"also :ref:`using-on-controlling-color`. (Contributed by Hugo van Kemenade " -"in :gh:`117225`.)" +"canonical |NO_COLOR|_ and |FORCE_COLOR|_ environment variables. See also :" +"ref:`using-on-controlling-color`. (Contributed by Hugo van Kemenade in :gh:" +"`117225`.)" msgstr "" #: ../../whatsnew/3.13.rst:872 @@ -1320,13 +1318,12 @@ msgstr "email" #: ../../whatsnew/3.13.rst:880 msgid "" -"Headers with embedded newlines are now quoted on output. " -"The :mod:`~email.generator` will now refuse to serialize (write) headers " -"that are improperly folded or delimited, such that they would be parsed as " -"multiple headers or joined with adjacent data. If you need to turn this " -"safety feature off, " -"set :attr:`~email.policy.Policy.verify_generated_headers`. (Contributed by " -"Bas Bloemsaat and Petr Viktorin in :gh:`121650`.)" +"Headers with embedded newlines are now quoted on output. The :mod:`~email." +"generator` will now refuse to serialize (write) headers that are improperly " +"folded or delimited, such that they would be parsed as multiple headers or " +"joined with adjacent data. If you need to turn this safety feature off, set :" +"attr:`~email.policy.Policy.verify_generated_headers`. (Contributed by Bas " +"Bloemsaat and Petr Viktorin in :gh:`121650`.)" msgstr "" #: ../../whatsnew/3.13.rst:888 @@ -1335,10 +1332,10 @@ msgid "" "return ``('', '')`` pairs in more situations where invalid email addresses " "are encountered instead of potentially inaccurate values. The two functions " "have a new optional *strict* parameter (default ``True``). To get the old " -"behavior (accepting malformed input), use ``strict=False``. " -"``getattr(email.utils, 'supports_strict_parsing', False)`` can be used to " -"check if the *strict* parameter is available. (Contributed by Thomas Dwyer " -"and Victor Stinner for :gh:`102988` to improve the :cve:`2023-27043` fix.)" +"behavior (accepting malformed input), use ``strict=False``. ``getattr(email." +"utils, 'supports_strict_parsing', False)`` can be used to check if the " +"*strict* parameter is available. (Contributed by Thomas Dwyer and Victor " +"Stinner for :gh:`102988` to improve the :cve:`2023-27043` fix.)" msgstr "" #: ../../whatsnew/3.13.rst:900 @@ -1347,8 +1344,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:902 msgid "" -":class:`~enum.EnumDict` has been made public to better support " -"subclassing :class:`~enum.EnumType`." +":class:`~enum.EnumDict` has been made public to better support subclassing :" +"class:`~enum.EnumType`." msgstr "" #: ../../whatsnew/3.13.rst:907 @@ -1359,8 +1356,8 @@ msgstr "fractions" msgid "" ":class:`~fractions.Fraction` objects now support the standard :ref:`format " "specification mini-language ` rules for fill, alignment, sign " -"handling, minimum width, and grouping. (Contributed by Mark Dickinson " -"in :gh:`111320`.)" +"handling, minimum width, and grouping. (Contributed by Mark Dickinson in :gh:" +"`111320`.)" msgstr "" #: ../../whatsnew/3.13.rst:916 @@ -1420,8 +1417,8 @@ msgstr "" msgid "" ":func:`~importlib.resources.contents` remains deprecated in favor of the " "fully-featured :class:`~importlib.resources.abc.Traversable` API. However, " -"there is now no plan to remove it. (Contributed by Petr Viktorin " -"in :gh:`116608`.)" +"there is now no plan to remove it. (Contributed by Petr Viktorin in :gh:" +"`116608`.)" msgstr "" #: ../../whatsnew/3.13.rst:948 @@ -1430,11 +1427,11 @@ msgstr "io" #: ../../whatsnew/3.13.rst:950 msgid "" -"The :class:`~io.IOBase` finalizer now logs any errors raised by " -"the :meth:`~io.IOBase.close` method with :data:`sys.unraisablehook`. " -"Previously, errors were ignored silently by default, and only logged " -"in :ref:`Python Development Mode ` or when using a :ref:`Python " -"debug build `. (Contributed by Victor Stinner in :gh:`62948`.)" +"The :class:`~io.IOBase` finalizer now logs any errors raised by the :meth:" +"`~io.IOBase.close` method with :data:`sys.unraisablehook`. Previously, " +"errors were ignored silently by default, and only logged in :ref:`Python " +"Development Mode ` or when using a :ref:`Python debug build `. (Contributed by Victor Stinner in :gh:`62948`.)" msgstr "" #: ../../whatsnew/3.13.rst:959 @@ -1449,10 +1446,10 @@ msgstr "" #: ../../whatsnew/3.13.rst:965 msgid "" -"Fix ``is_global`` and ``is_private`` behavior " -"in :class:`~ipaddress.IPv4Address`, :class:`~ipaddress.IPv6Address`, :class:`~ipaddress.IPv4Network`, " -"and :class:`~ipaddress.IPv6Network`. (Contributed by Jakub Stasiak " -"in :gh:`113171`.)" +"Fix ``is_global`` and ``is_private`` behavior in :class:`~ipaddress." +"IPv4Address`, :class:`~ipaddress.IPv6Address`, :class:`~ipaddress." +"IPv4Network`, and :class:`~ipaddress.IPv6Network`. (Contributed by Jakub " +"Stasiak in :gh:`113171`.)" msgstr "" #: ../../whatsnew/3.13.rst:972 @@ -1461,9 +1458,9 @@ msgstr "itertools" #: ../../whatsnew/3.13.rst:974 msgid "" -":func:`~itertools.batched` has a new *strict* parameter, which raises " -"a :exc:`ValueError` if the final batch is shorter than the specified batch " -"size. (Contributed by Raymond Hettinger in :gh:`113202`.)" +":func:`~itertools.batched` has a new *strict* parameter, which raises a :exc:" +"`ValueError` if the final batch is shorter than the specified batch size. " +"(Contributed by Raymond Hettinger in :gh:`113202`.)" msgstr "" #: ../../whatsnew/3.13.rst:981 @@ -1500,8 +1497,8 @@ msgstr "mimetypes" msgid "" "Add the :func:`~mimetypes.guess_file_type` function to guess a MIME type " "from a filesystem path. Using paths with :func:`~mimetypes.guess_type` is " -"now :term:`soft deprecated`. (Contributed by Serhiy Storchaka " -"in :gh:`66543`.)" +"now :term:`soft deprecated`. (Contributed by Serhiy Storchaka in :gh:" +"`66543`.)" msgstr "" #: ../../whatsnew/3.13.rst:1011 @@ -1518,17 +1515,17 @@ msgstr "" #: ../../whatsnew/3.13.rst:1017 msgid "" ":class:`~mmap.mmap` has a new :meth:`~mmap.mmap.seekable` method that can be " -"used when a seekable file-like object is required. " -"The :meth:`~mmap.mmap.seek` method now returns the new absolute position. " -"(Contributed by Donghee Na and Sylvie Liberman in :gh:`111835`.)" +"used when a seekable file-like object is required. The :meth:`~mmap.mmap." +"seek` method now returns the new absolute position. (Contributed by Donghee " +"Na and Sylvie Liberman in :gh:`111835`.)" msgstr "" #: ../../whatsnew/3.13.rst:1022 msgid "" "The new UNIX-only *trackfd* parameter for :class:`~mmap.mmap` controls file " "descriptor duplication; if false, the file descriptor specified by *fileno* " -"will not be duplicated. (Contributed by Zackery Spytz and Petr Viktorin " -"in :gh:`78502`.)" +"will not be duplicated. (Contributed by Zackery Spytz and Petr Viktorin in :" +"gh:`78502`.)" msgstr "" #: ../../whatsnew/3.13.rst:1029 @@ -1559,8 +1556,10 @@ msgstr "" #: ../../whatsnew/3.13.rst:1051 msgid "" "Add a :ref:`low level interface ` to Linux's :manpage:`timer " -"file descriptors ` " -"via :func:`~os.timerfd_create`, :func:`~os.timerfd_settime`, :func:`~os.timerfd_settime_ns`, :func:`~os.timerfd_gettime`, :func:`~os.timerfd_gettime_ns`, :const:`~os.TFD_NONBLOCK`, :const:`~os.TFD_CLOEXEC`, :const:`~os.TFD_TIMER_ABSTIME`, " +"file descriptors ` via :func:`~os.timerfd_create`, :func:" +"`~os.timerfd_settime`, :func:`~os.timerfd_settime_ns`, :func:`~os." +"timerfd_gettime`, :func:`~os.timerfd_gettime_ns`, :const:`~os." +"TFD_NONBLOCK`, :const:`~os.TFD_CLOEXEC`, :const:`~os.TFD_TIMER_ABSTIME`, " "and :const:`~os.TFD_TIMER_CANCEL_ON_SET` (Contributed by Masaru Tsuchiyama " "in :gh:`108277`.)" msgstr "" @@ -1576,17 +1575,17 @@ msgstr "" #: ../../whatsnew/3.13.rst:1066 msgid "" ":func:`~os.fchmod` and support for file descriptors in :func:`~os.chmod` are " -"both now available on Windows. (Contributed by Serhiy Storchaka " -"in :gh:`113191`.)" +"both now available on Windows. (Contributed by Serhiy Storchaka in :gh:" +"`113191`.)" msgstr "" #: ../../whatsnew/3.13.rst:1070 msgid "" "On Windows, :func:`~os.mkdir` and :func:`~os.makedirs` now support passing a " "*mode* value of ``0o700`` to apply access control to the new directory. This " -"implicitly affects :func:`tempfile.mkdtemp` and is a mitigation " -"for :cve:`2024-4030`. Other values for *mode* continue to be ignored. " -"(Contributed by Steve Dower in :gh:`118486`.)" +"implicitly affects :func:`tempfile.mkdtemp` and is a mitigation for :cve:" +"`2024-4030`. Other values for *mode* continue to be ignored. (Contributed by " +"Steve Dower in :gh:`118486`.)" msgstr "" #: ../../whatsnew/3.13.rst:1077 @@ -1599,9 +1598,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:1081 msgid "" ":func:`~os.posix_spawn` can now use the :const:`~os.POSIX_SPAWN_CLOSEFROM` " -"attribute in the *file_actions* parameter on platforms that " -"support :c:func:`!posix_spawn_file_actions_addclosefrom_np`. (Contributed by " -"Jakub Kulik in :gh:`113117`.)" +"attribute in the *file_actions* parameter on platforms that support :c:func:" +"`!posix_spawn_file_actions_addclosefrom_np`. (Contributed by Jakub Kulik in :" +"gh:`113117`.)" msgstr "" #: ../../whatsnew/3.13.rst:1088 @@ -1634,9 +1633,9 @@ msgstr "pathlib" #: ../../whatsnew/3.13.rst:1107 msgid "" -"Add :exc:`~pathlib.UnsupportedOperation`, which is raised instead " -"of :exc:`NotImplementedError` when a path operation isn't supported. " -"(Contributed by Barney Gale in :gh:`89812`.)" +"Add :exc:`~pathlib.UnsupportedOperation`, which is raised instead of :exc:" +"`NotImplementedError` when a path operation isn't supported. (Contributed by " +"Barney Gale in :gh:`89812`.)" msgstr "" #: ../../whatsnew/3.13.rst:1111 @@ -1662,8 +1661,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:1124 msgid "" -"Add *recurse_symlinks* keyword-only argument to :meth:`.Path.glob` " -"and :meth:`~pathlib.Path.rglob`. (Contributed by Barney Gale in :gh:`77609`.)" +"Add *recurse_symlinks* keyword-only argument to :meth:`.Path.glob` and :meth:" +"`~pathlib.Path.rglob`. (Contributed by Barney Gale in :gh:`77609`.)" msgstr "" #: ../../whatsnew/3.13.rst:1128 @@ -1676,9 +1675,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:1133 msgid "" "Add the *follow_symlinks* keyword-only argument to :meth:`Path.is_file " -"`, :meth:`Path.is_dir " -"`, :meth:`.Path.owner`, and :meth:`.Path.group`. " -"(Contributed by Barney Gale in :gh:`105793` and Kamil Turek in :gh:`107962`.)" +"`, :meth:`Path.is_dir `, :meth:`." +"Path.owner`, and :meth:`.Path.group`. (Contributed by Barney Gale in :gh:" +"`105793` and Kamil Turek in :gh:`107962`.)" msgstr "" #: ../../whatsnew/3.13.rst:1141 @@ -1711,8 +1710,8 @@ msgstr "" msgid "" "Add ability to move between chained exceptions during post-mortem debugging " "in :func:`~pdb.pm` using the new :pdbcmd:`exceptions [exc_number] " -"` command for Pdb. (Contributed by Matthias Bussonnier " -"in :gh:`106676`.)" +"` command for Pdb. (Contributed by Matthias Bussonnier in :gh:" +"`106676`.)" msgstr "" #: ../../whatsnew/3.13.rst:1161 @@ -1748,8 +1747,8 @@ msgstr "re" #: ../../whatsnew/3.13.rst:1184 msgid "" -"Rename :exc:`!re.error` to :exc:`~re.PatternError` for improved " -"clarity. :exc:`!re.error` is kept for backward compatibility." +"Rename :exc:`!re.error` to :exc:`~re.PatternError` for improved clarity. :" +"exc:`!re.error` is kept for backward compatibility." msgstr "" #: ../../whatsnew/3.13.rst:1189 @@ -1758,9 +1757,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:1191 msgid "" -"Support the *dir_fd* and *follow_symlinks* keyword arguments " -"in :func:`~shutil.chown`. (Contributed by Berker Peksag and Tahia K " -"in :gh:`62308`)" +"Support the *dir_fd* and *follow_symlinks* keyword arguments in :func:" +"`~shutil.chown`. (Contributed by Berker Peksag and Tahia K in :gh:`62308`)" msgstr "" #: ../../whatsnew/3.13.rst:1197 @@ -1769,9 +1767,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:1199 msgid "" -":file:`.pth` files are now decoded using UTF-8 first, and then with " -"the :term:`locale encoding` if UTF-8 decoding fails. (Contributed by Inada " -"Naoki in :gh:`117802`.)" +":file:`.pth` files are now decoded using UTF-8 first, and then with the :" +"term:`locale encoding` if UTF-8 decoding fails. (Contributed by Inada Naoki " +"in :gh:`117802`.)" msgstr "" #: ../../whatsnew/3.13.rst:1205 @@ -1788,8 +1786,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:1211 msgid "" "Add the *filter* keyword-only parameter to :meth:`.Connection.iterdump` for " -"filtering database objects to dump. (Contributed by Mariusz Felisiak " -"in :gh:`91602`.)" +"filtering database objects to dump. (Contributed by Mariusz Felisiak in :gh:" +"`91602`.)" msgstr "" #: ../../whatsnew/3.13.rst:1217 @@ -1798,9 +1796,9 @@ msgstr "ssl" #: ../../whatsnew/3.13.rst:1219 msgid "" -"The :func:`~ssl.create_default_context` API now " -"includes :data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` " -"and :data:`~ssl.VERIFY_X509_STRICT` in its default flags." +"The :func:`~ssl.create_default_context` API now includes :data:`~ssl." +"VERIFY_X509_PARTIAL_CHAIN` and :data:`~ssl.VERIFY_X509_STRICT` in its " +"default flags." msgstr "" #: ../../whatsnew/3.13.rst:1225 @@ -1830,8 +1828,8 @@ msgstr "" msgid "" "Add :func:`~statistics.kde` for kernel density estimation. This makes it " "possible to estimate a continuous probability density function from a fixed " -"number of discrete samples. (Contributed by Raymond Hettinger " -"in :gh:`115863`.)" +"number of discrete samples. (Contributed by Raymond Hettinger in :gh:" +"`115863`.)" msgstr "" #: ../../whatsnew/3.13.rst:1248 @@ -1863,11 +1861,11 @@ msgstr "" #: ../../whatsnew/3.13.rst:1268 msgid "" "A private control knob :attr:`!subprocess._USE_POSIX_SPAWN` can be set to " -"``False`` if you need to force :mod:`subprocess` to never " -"use :func:`~os.posix_spawn`. Please report your reason and platform details " -"in the :ref:`issue tracker ` if you set this so that we " -"can improve our API selection logic for everyone. (Contributed by Jakub " -"Kulik in :gh:`113117`.)" +"``False`` if you need to force :mod:`subprocess` to never use :func:`~os." +"posix_spawn`. Please report your reason and platform details in the :ref:" +"`issue tracker ` if you set this so that we can improve " +"our API selection logic for everyone. (Contributed by Jakub Kulik in :gh:" +"`113117`.)" msgstr "" #: ../../whatsnew/3.13.rst:1278 @@ -1889,8 +1887,8 @@ msgstr "tempfile" msgid "" "On Windows, the default mode ``0o700`` used by :func:`tempfile.mkdtemp` now " "limits access to the new directory due to changes to :func:`os.mkdir`. This " -"is a mitigation for :cve:`2024-4030`. (Contributed by Steve Dower " -"in :gh:`118486`.)" +"is a mitigation for :cve:`2024-4030`. (Contributed by Steve Dower in :gh:" +"`118486`.)" msgstr "" #: ../../whatsnew/3.13.rst:1295 @@ -1910,8 +1908,8 @@ msgid "" "On Windows, :func:`~time.time` now uses the " "``GetSystemTimePreciseAsFileTime()`` clock for a resolution of 1 " "microsecond, instead of the ``GetSystemTimeAsFileTime()`` clock which has a " -"resolution of 15.6 milliseconds. (Contributed by Victor Stinner " -"in :gh:`63207`.)" +"resolution of 15.6 milliseconds. (Contributed by Victor Stinner in :gh:" +"`63207`.)" msgstr "" #: ../../whatsnew/3.13.rst:1311 @@ -1931,9 +1929,8 @@ msgid "" "The :mod:`tkinter` widget method :meth:`!wm_attributes` now accepts the " "attribute name without the minus prefix to get window attributes, for " "example ``w.wm_attributes('alpha')`` and allows specifying attributes and " -"values to set as keyword arguments, for example " -"``w.wm_attributes(alpha=0.5)``. (Contributed by Serhiy Storchaka " -"in :gh:`43457`.)" +"values to set as keyword arguments, for example ``w." +"wm_attributes(alpha=0.5)``. (Contributed by Serhiy Storchaka in :gh:`43457`.)" msgstr "" #: ../../whatsnew/3.13.rst:1326 @@ -1953,10 +1950,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:1335 msgid "" -"Support the \"vsapi\" element type in " -"the :meth:`~tkinter.ttk.Style.element_create` method " -"of :class:`tkinter.ttk.Style`. (Contributed by Serhiy Storchaka " -"in :gh:`68166`.)" +"Support the \"vsapi\" element type in the :meth:`~tkinter.ttk.Style." +"element_create` method of :class:`tkinter.ttk.Style`. (Contributed by Serhiy " +"Storchaka in :gh:`68166`.)" msgstr "" #: ../../whatsnew/3.13.rst:1340 @@ -1994,9 +1990,9 @@ msgstr "Traceback" #: ../../whatsnew/3.13.rst:1364 msgid "" -"Add the :attr:`~traceback.TracebackException.exc_type_str` attribute " -"to :class:`~traceback.TracebackException`, which holds a string display of " -"the *exc_type*. Deprecate the :attr:`~traceback.TracebackException.exc_type` " +"Add the :attr:`~traceback.TracebackException.exc_type_str` attribute to :" +"class:`~traceback.TracebackException`, which holds a string display of the " +"*exc_type*. Deprecate the :attr:`~traceback.TracebackException.exc_type` " "attribute, which holds the type object itself. Add parameter *save_exc_type* " "(default ``True``) to indicate whether ``exc_type`` should be saved. " "(Contributed by Irit Katriel in :gh:`112332`.)" @@ -2004,10 +2000,10 @@ msgstr "" #: ../../whatsnew/3.13.rst:1373 msgid "" -"Add a new *show_group* keyword-only parameter " -"to :meth:`.TracebackException.format_exception_only` to (recursively) format " -"the nested exceptions of a :exc:`BaseExceptionGroup` instance. (Contributed " -"by Irit Katriel in :gh:`105292`.)" +"Add a new *show_group* keyword-only parameter to :meth:`.TracebackException." +"format_exception_only` to (recursively) format the nested exceptions of a :" +"exc:`BaseExceptionGroup` instance. (Contributed by Irit Katriel in :gh:" +"`105292`.)" msgstr "" #: ../../whatsnew/3.13.rst:1380 @@ -2018,8 +2014,8 @@ msgstr "types" msgid "" ":class:`~types.SimpleNamespace` can now take a single positional argument to " "initialise the namespace's arguments. This argument must either be a mapping " -"or an iterable of key-value pairs. (Contributed by Serhiy Storchaka " -"in :gh:`108191`.)" +"or an iterable of key-value pairs. (Contributed by Serhiy Storchaka in :gh:" +"`108191`.)" msgstr "" #: ../../whatsnew/3.13.rst:1389 ../../whatsnew/3.13.rst:1767 @@ -2048,14 +2044,14 @@ msgstr "" #: ../../whatsnew/3.13.rst:1401 msgid "" "Add :func:`~typing.get_protocol_members` to return the set of members " -"defining a :class:`typing.Protocol`. (Contributed by Jelle Zijlstra " -"in :gh:`104873`.)" +"defining a :class:`typing.Protocol`. (Contributed by Jelle Zijlstra in :gh:" +"`104873`.)" msgstr "" #: ../../whatsnew/3.13.rst:1405 msgid "" -"Add :func:`~typing.is_protocol` to check whether a class is " -"a :class:`~typing.Protocol`. (Contributed by Jelle Zijlstra in :gh:`104873`.)" +"Add :func:`~typing.is_protocol` to check whether a class is a :class:" +"`~typing.Protocol`. (Contributed by Jelle Zijlstra in :gh:`104873`.)" msgstr "" #: ../../whatsnew/3.13.rst:1409 @@ -2137,9 +2133,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:1461 msgid "" -"Add the :meth:`!close` method for the iterator returned " -"by :func:`~xml.etree.ElementTree.iterparse` for explicit cleanup. " -"(Contributed by Serhiy Storchaka in :gh:`69893`.)" +"Add the :meth:`!close` method for the iterator returned by :func:`~xml.etree." +"ElementTree.iterparse` for explicit cleanup. (Contributed by Serhiy " +"Storchaka in :gh:`69893`.)" msgstr "" #: ../../whatsnew/3.13.rst:1467 @@ -2160,9 +2156,9 @@ msgstr "Optimierungen" msgid "" "Several standard library modules have had their import times significantly " "improved. For example, the import time of the :mod:`typing` module has been " -"reduced by around a third by removing dependencies on :mod:`re` " -"and :mod:`contextlib`. Other modules to enjoy import-time speedups " -"include :mod:`email.utils`, :mod:`enum`, :mod:`functools`, :mod:`importlib.metadata`, " +"reduced by around a third by removing dependencies on :mod:`re` and :mod:" +"`contextlib`. Other modules to enjoy import-time speedups include :mod:" +"`email.utils`, :mod:`enum`, :mod:`functools`, :mod:`importlib.metadata`, " "and :mod:`threading`. (Contributed by Alex Waygood, Shantanu Jain, Adam " "Turner, Daniel Hollas, and others in :gh:`109653`.)" msgstr "" @@ -2232,25 +2228,25 @@ msgstr "" #: ../../whatsnew/3.13.rst:1534 msgid "" -":class:`!cgi.FieldStorage` can typically be replaced " -"with :func:`urllib.parse.parse_qsl` for ``GET`` and ``HEAD`` requests, and " -"the :mod:`email.message` module or the :pypi:`multipart` library for " -"``POST`` and ``PUT`` requests." +":class:`!cgi.FieldStorage` can typically be replaced with :func:`urllib." +"parse.parse_qsl` for ``GET`` and ``HEAD`` requests, and the :mod:`email." +"message` module or the :pypi:`multipart` library for ``POST`` and ``PUT`` " +"requests." msgstr "" #: ../../whatsnew/3.13.rst:1539 msgid "" ":func:`!cgi.parse` can be replaced by calling :func:`urllib.parse.parse_qs` " "directly on the desired query string, unless the input is ``multipart/form-" -"data``, which should be replaced as described below for :func:`!" -"cgi.parse_multipart`." +"data``, which should be replaced as described below for :func:`!cgi." +"parse_multipart`." msgstr "" #: ../../whatsnew/3.13.rst:1544 msgid "" -":func:`!cgi.parse_header` can be replaced with the functionality in " -"the :mod:`email` package, which implements the same MIME RFCs. For example, " -"with :class:`email.message.EmailMessage`:" +":func:`!cgi.parse_header` can be replaced with the functionality in the :mod:" +"`email` package, which implements the same MIME RFCs. For example, with :" +"class:`email.message.EmailMessage`:" msgstr "" #: ../../whatsnew/3.13.rst:1548 @@ -2264,11 +2260,10 @@ msgstr "" #: ../../whatsnew/3.13.rst:1556 msgid "" -":func:`!cgi.parse_multipart` can be replaced with the functionality in " -"the :mod:`email` package, which implements the same MIME RFCs, or with " -"the :pypi:`multipart` library. For example, " -"the :class:`email.message.EmailMessage` and :class:`email.message.Message` " -"classes." +":func:`!cgi.parse_multipart` can be replaced with the functionality in the :" +"mod:`email` package, which implements the same MIME RFCs, or with the :pypi:" +"`multipart` library. For example, the :class:`email.message.EmailMessage` " +"and :class:`email.message.Message` classes." msgstr "" #: ../../whatsnew/3.13.rst:1562 @@ -2301,8 +2296,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:1577 msgid "" -":pypi:`crypt_r`: Fork of the :mod:`!crypt` module, wrapper to " -"the :manpage:`crypt_r(3)` library call and associated functionality." +":pypi:`crypt_r`: Fork of the :mod:`!crypt` module, wrapper to the :manpage:" +"`crypt_r(3)` library call and associated functionality." msgstr "" #: ../../whatsnew/3.13.rst:1581 @@ -2362,8 +2357,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:1610 msgid "" -":mod:`!pipes`: Use the :mod:`subprocess` module instead. " -"Use :func:`shlex.quote` to replace the undocumented ``pipes.quote`` function." +":mod:`!pipes`: Use the :mod:`subprocess` module instead. Use :func:`shlex." +"quote` to replace the undocumented ``pipes.quote`` function." msgstr "" #: ../../whatsnew/3.13.rst:1615 @@ -2432,8 +2427,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:1649 msgid "" -"(Contributed by Victor Stinner and Zachary Ware in :gh:`104773` " -"and :gh:`104780`.)" +"(Contributed by Victor Stinner and Zachary Ware in :gh:`104773` and :gh:" +"`104780`.)" msgstr "" #: ../../whatsnew/3.13.rst:1653 @@ -2443,8 +2438,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:1655 msgid "" "Remove the :program:`2to3` program and the :mod:`!lib2to3` module, " -"previously deprecated in Python 3.11. (Contributed by Victor Stinner " -"in :gh:`104780`.)" +"previously deprecated in Python 3.11. (Contributed by Victor Stinner in :gh:" +"`104780`.)" msgstr "" #: ../../whatsnew/3.13.rst:1661 @@ -2453,9 +2448,9 @@ msgstr "builtins" #: ../../whatsnew/3.13.rst:1663 msgid "" -"Remove support for chained :class:`classmethod` descriptors (introduced " -"in :gh:`63272`). These can no longer be used to wrap other descriptors, such " -"as :class:`property`. The core design of this feature was flawed and led to " +"Remove support for chained :class:`classmethod` descriptors (introduced in :" +"gh:`63272`). These can no longer be used to wrap other descriptors, such as :" +"class:`property`. The core design of this feature was flawed and led to " "several problems. To \"pass-through\" a :class:`classmethod`, consider using " "the :attr:`!__wrapped__` attribute that was added in Python 3.10. " "(Contributed by Raymond Hettinger in :gh:`89519`.)" @@ -2481,9 +2476,9 @@ msgstr "importlib.metadata" #: ../../whatsnew/3.13.rst:1689 msgid "" -"Remove deprecated subscript (:meth:`~object.__getitem__`) access " -"for :ref:`EntryPoint ` objects. (Contributed by Jason R. " -"Coombs in :gh:`113175`.)" +"Remove deprecated subscript (:meth:`~object.__getitem__`) access for :ref:" +"`EntryPoint ` objects. (Contributed by Jason R. Coombs in :gh:" +"`113175`.)" msgstr "" #: ../../whatsnew/3.13.rst:1695 @@ -2503,19 +2498,18 @@ msgstr "" #: ../../whatsnew/3.13.rst:1705 msgid "" -"Move :attr:`!opcode.ENABLE_SPECIALIZATION` to :attr:`!" -"_opcode.ENABLE_SPECIALIZATION`. This field was added in 3.12, it was never " +"Move :attr:`!opcode.ENABLE_SPECIALIZATION` to :attr:`!_opcode." +"ENABLE_SPECIALIZATION`. This field was added in 3.12, it was never " "documented, and is not intended for external use. (Contributed by Irit " "Katriel in :gh:`105481`.)" msgstr "" #: ../../whatsnew/3.13.rst:1710 msgid "" -"Remove :func:`!opcode.is_pseudo`, :attr:`!opcode.MIN_PSEUDO_OPCODE`, " -"and :attr:`!opcode.MAX_PSEUDO_OPCODE`, which were added in Python 3.12, but " -"were neither documented nor exposed through :mod:`dis`, and were not " -"intended to be used externally. (Contributed by Irit Katriel " -"in :gh:`105481`.)" +"Remove :func:`!opcode.is_pseudo`, :attr:`!opcode.MIN_PSEUDO_OPCODE`, and :" +"attr:`!opcode.MAX_PSEUDO_OPCODE`, which were added in Python 3.12, but were " +"neither documented nor exposed through :mod:`dis`, and were not intended to " +"be used externally. (Contributed by Irit Katriel in :gh:`105481`.)" msgstr "" #: ../../whatsnew/3.13.rst:1718 @@ -2524,12 +2518,12 @@ msgstr "" #: ../../whatsnew/3.13.rst:1720 msgid "" -"This module is no longer considered :term:`soft deprecated`. " -"While :mod:`argparse` remains preferred for new projects that aren't using a " -"third party command line argument processing library, there are aspects of " -"the way ``argparse`` works that mean the lower level ``optparse`` module may " -"provide a better foundation for *writing* argument processing libraries, and " -"for implementing command line applications which adhere more strictly than " +"This module is no longer considered :term:`soft deprecated`. While :mod:" +"`argparse` remains preferred for new projects that aren't using a third " +"party command line argument processing library, there are aspects of the way " +"``argparse`` works that mean the lower level ``optparse`` module may provide " +"a better foundation for *writing* argument processing libraries, and for " +"implementing command line applications which adhere more strictly than " "``argparse`` does to various Unix command line processing conventions that " "originate in the behaviour of the C :c:func:`!getopt` function . " "(Contributed by Alyssa Coghlan and Serhiy Storchaka in :gh:`126180`.)" @@ -2575,15 +2569,15 @@ msgstr "" msgid "" "Remove the :mod:`!typing.io` and :mod:`!typing.re` namespaces, deprecated " "since Python 3.8. The items in those namespaces can be imported directly " -"from the :mod:`typing` module. (Contributed by Sebastian Rittau " -"in :gh:`92871`.)" +"from the :mod:`typing` module. (Contributed by Sebastian Rittau in :gh:" +"`92871`.)" msgstr "" #: ../../whatsnew/3.13.rst:1775 msgid "" "Remove the keyword-argument method of creating :class:`~typing.TypedDict` " -"types, deprecated in Python 3.11. (Contributed by Tomas Roun " -"in :gh:`104786`.)" +"types, deprecated in Python 3.11. (Contributed by Tomas Roun in :gh:" +"`104786`.)" msgstr "" #: ../../whatsnew/3.13.rst:1781 @@ -2630,8 +2624,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:1797 msgid "" "Remove the untested and undocumented :meth:`!TestProgram.usageExit` method, " -"deprecated in Python 3.11. (Contributed by Hugo van Kemenade " -"in :gh:`104992`.)" +"deprecated in Python 3.11. (Contributed by Hugo van Kemenade in :gh:" +"`104992`.)" msgstr "" #: ../../whatsnew/3.13.rst:1803 @@ -2640,13 +2634,13 @@ msgstr "" #: ../../whatsnew/3.13.rst:1805 msgid "" -"Remove the *cafile*, *capath*, and *cadefault* parameters of " -"the :func:`urllib.request.urlopen` function, deprecated in Python 3.6. Use " -"the *context* parameter instead with an :class:`~ssl.SSLContext` instance. " -"The :meth:`ssl.SSLContext.load_cert_chain` function can be used to load " -"specific certificates, or let :func:`ssl.create_default_context` select the " -"operating system's trusted certificate authority (CA) certificates. " -"(Contributed by Victor Stinner in :gh:`105382`.)" +"Remove the *cafile*, *capath*, and *cadefault* parameters of the :func:" +"`urllib.request.urlopen` function, deprecated in Python 3.6. Use the " +"*context* parameter instead with an :class:`~ssl.SSLContext` instance. The :" +"meth:`ssl.SSLContext.load_cert_chain` function can be used to load specific " +"certificates, or let :func:`ssl.create_default_context` select the operating " +"system's trusted certificate authority (CA) certificates. (Contributed by " +"Victor Stinner in :gh:`105382`.)" msgstr "" #: ../../whatsnew/3.13.rst:1816 @@ -2662,9 +2656,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:1823 msgid "" -"Remove the deprecated :attr:`!MacOSXOSAScript._name` attribute. Use " -"the :attr:`MacOSXOSAScript.name ` attribute " -"instead. (Contributed by Nikita Sobolev in :gh:`105546`.)" +"Remove the deprecated :attr:`!MacOSXOSAScript._name` attribute. Use the :" +"attr:`MacOSXOSAScript.name ` attribute instead. " +"(Contributed by Nikita Sobolev in :gh:`105546`.)" msgstr "" #: ../../whatsnew/3.13.rst:1830 @@ -2693,8 +2687,8 @@ msgid "" "Deprecate the ``'u'`` format code (:c:type:`wchar_t`) at runtime. This " "format code has been deprecated in documentation since Python 3.3, and will " "be removed in Python 3.16. Use the ``'w'`` format code (:c:type:`Py_UCS4`) " -"for Unicode characters instead. (Contributed by Hugo van Kemenade " -"in :gh:`80480`.)" +"for Unicode characters instead. (Contributed by Hugo van Kemenade in :gh:" +"`80480`.)" msgstr "" #: ../../whatsnew/3.13.rst:1849 @@ -2735,9 +2729,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:1869 msgid "" -"Deprecate the :attr:`!HAVE_ARGUMENT` separator. Check membership " -"in :data:`~dis.hasarg` instead. (Contributed by Irit Katriel " -"in :gh:`109319`.)" +"Deprecate the :attr:`!HAVE_ARGUMENT` separator. Check membership in :data:" +"`~dis.hasarg` instead. (Contributed by Irit Katriel in :gh:`109319`.)" msgstr "" #: ../../whatsnew/3.13.rst:1873 @@ -2757,10 +2750,10 @@ msgstr "" #: ../../whatsnew/3.13.rst:1882 msgid "" -"Deprecate the undocumented :func:`!glob0` and :func:`!glob1` functions. " -"Use :func:`~glob.glob` and pass a :term:`path-like object` specifying the " -"root directory to the *root_dir* parameter instead. (Contributed by Barney " -"Gale in :gh:`117337`.)" +"Deprecate the undocumented :func:`!glob0` and :func:`!glob1` functions. Use :" +"func:`~glob.glob` and pass a :term:`path-like object` specifying the root " +"directory to the *root_dir* parameter instead. (Contributed by Barney Gale " +"in :gh:`117337`.)" msgstr "" #: ../../whatsnew/3.13.rst:1887 @@ -2791,9 +2784,9 @@ msgstr ":mod:`mimetypes`:" #: ../../whatsnew/3.13.rst:1903 msgid "" -":term:`Soft-deprecate ` file path arguments " -"to :func:`~mimetypes.guess_type`, use :func:`~mimetypes.guess_file_type` " -"instead. (Contributed by Serhiy Storchaka in :gh:`66543`.)" +":term:`Soft-deprecate ` file path arguments to :func:" +"`~mimetypes.guess_type`, use :func:`~mimetypes.guess_file_type` instead. " +"(Contributed by Serhiy Storchaka in :gh:`66543`.)" msgstr "" #: ../../whatsnew/3.13.rst:1908 @@ -2816,9 +2809,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:1919 msgid "" -"Deprecate :meth:`!.PurePath.is_reserved`, to be removed in Python 3.15. " -"Use :func:`os.path.isreserved` to detect reserved paths on Windows. " -"(Contributed by Barney Gale in :gh:`88569`.)" +"Deprecate :meth:`!.PurePath.is_reserved`, to be removed in Python 3.15. Use :" +"func:`os.path.isreserved` to detect reserved paths on Windows. (Contributed " +"by Barney Gale in :gh:`88569`.)" msgstr "" #: ../../whatsnew/3.13.rst:1924 @@ -2850,28 +2843,28 @@ msgstr ":mod:`sqlite3`" #: ../../whatsnew/3.13.rst:1939 msgid "" -"Deprecate passing more than one positional argument to " -"the :func:`~sqlite3.connect` function and the :class:`~sqlite3.Connection` " -"constructor. The remaining parameters will become keyword-only in Python " -"3.15. (Contributed by Erlend E. Aasland in :gh:`107948`.)" +"Deprecate passing more than one positional argument to the :func:`~sqlite3." +"connect` function and the :class:`~sqlite3.Connection` constructor. The " +"remaining parameters will become keyword-only in Python 3.15. (Contributed " +"by Erlend E. Aasland in :gh:`107948`.)" msgstr "" #: ../../whatsnew/3.13.rst:1945 msgid "" "Deprecate passing name, number of arguments, and the callable as keyword " -"arguments for :meth:`.Connection.create_function` " -"and :meth:`.Connection.create_aggregate` These parameters will become " -"positional-only in Python 3.15. (Contributed by Erlend E. Aasland " -"in :gh:`108278`.)" +"arguments for :meth:`.Connection.create_function` and :meth:`.Connection." +"create_aggregate` These parameters will become positional-only in Python " +"3.15. (Contributed by Erlend E. Aasland in :gh:`108278`.)" msgstr "" #: ../../whatsnew/3.13.rst:1951 msgid "" -"Deprecate passing the callback callable by keyword for " -"the :meth:`~sqlite3.Connection.set_authorizer`, :meth:`~sqlite3.Connection.set_progress_handler`, " -"and :meth:`~sqlite3.Connection.set_trace_callback` :class:`~sqlite3.Connection` " -"methods. The callback callables will become positional-only in Python 3.15. " -"(Contributed by Erlend E. Aasland in :gh:`108278`.)" +"Deprecate passing the callback callable by keyword for the :meth:`~sqlite3." +"Connection.set_authorizer`, :meth:`~sqlite3.Connection." +"set_progress_handler`, and :meth:`~sqlite3.Connection.set_trace_callback` :" +"class:`~sqlite3.Connection` methods. The callback callables will become " +"positional-only in Python 3.15. (Contributed by Erlend E. Aasland in :gh:" +"`108278`.)" msgstr "" #: ../../whatsnew/3.13.rst:1959 @@ -2903,9 +2896,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:1974 msgid "" -"Deprecate the :attr:`.TracebackException.exc_type` attribute. " -"Use :attr:`.TracebackException.exc_type_str` instead. (Contributed by Irit " -"Katriel in :gh:`112332`.)" +"Deprecate the :attr:`.TracebackException.exc_type` attribute. Use :attr:`." +"TracebackException.exc_type_str` instead. (Contributed by Irit Katriel in :" +"gh:`112332`.)" msgstr "" #: ../../whatsnew/3.13.rst:1978 @@ -2917,23 +2910,22 @@ msgstr ":mod:`typing`:" #: ../../whatsnew/3.13.rst:1980 msgid "" -"Deprecate the undocumented keyword argument syntax for " -"creating :class:`~typing.NamedTuple` classes (e.g. ``Point = " -"NamedTuple(\"Point\", x=int, y=int)``), to be removed in Python 3.15. Use " -"the class-based syntax or the functional syntax instead. (Contributed by " -"Alex Waygood in :gh:`105566`.)" +"Deprecate the undocumented keyword argument syntax for creating :class:" +"`~typing.NamedTuple` classes (e.g. ``Point = NamedTuple(\"Point\", x=int, " +"y=int)``), to be removed in Python 3.15. Use the class-based syntax or the " +"functional syntax instead. (Contributed by Alex Waygood in :gh:`105566`.)" msgstr "" #: ../../whatsnew/3.13.rst:1987 msgid "" -"Deprecate omitting the *fields* parameter when creating " -"a :class:`~typing.NamedTuple` or :class:`typing.TypedDict` class, and " -"deprecate passing ``None`` to the *fields* parameter of both types. Python " -"3.15 will require a valid sequence for the *fields* parameter. To create a " -"NamedTuple class with zero fields, use ``class NT(NamedTuple): pass`` or " -"``NT = NamedTuple(\"NT\", ())``. To create a TypedDict class with zero " -"fields, use ``class TD(TypedDict): pass`` or ``TD = TypedDict(\"TD\", {})``. " -"(Contributed by Alex Waygood in :gh:`105566` and :gh:`105570`.)" +"Deprecate omitting the *fields* parameter when creating a :class:`~typing." +"NamedTuple` or :class:`typing.TypedDict` class, and deprecate passing " +"``None`` to the *fields* parameter of both types. Python 3.15 will require a " +"valid sequence for the *fields* parameter. To create a NamedTuple class with " +"zero fields, use ``class NT(NamedTuple): pass`` or ``NT = NamedTuple(\"NT\", " +"())``. To create a TypedDict class with zero fields, use ``class " +"TD(TypedDict): pass`` or ``TD = TypedDict(\"TD\", {})``. (Contributed by " +"Alex Waygood in :gh:`105566` and :gh:`105570`.)" msgstr "" #: ../../whatsnew/3.13.rst:1997 @@ -3013,8 +3005,8 @@ msgstr ":class:`!ast.Ellipsis`" #: ../../deprecations/pending-removal-in-3.14.rst:19 msgid "" -"Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka " -"in :gh:`90953`.)" +"Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka in :gh:" +"`90953`.)" msgstr "" "Verwende stattdessen :class:`ast.Constant`. (Beigetragen von Serhiy " "Storchaka in :gh:`90953`.)" @@ -3027,27 +3019,24 @@ msgstr ":mod:`asyncio`:" #: ../../deprecations/pending-removal-in-3.14.rst:24 msgid "" "The child watcher classes :class:`!asyncio.MultiLoopChildWatcher`, :class:`!" -"asyncio.FastChildWatcher`, :class:`!asyncio.AbstractChildWatcher` " -"and :class:`!asyncio.SafeChildWatcher` are deprecated and will be removed in " -"Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" +"asyncio.FastChildWatcher`, :class:`!asyncio.AbstractChildWatcher` and :class:" +"`!asyncio.SafeChildWatcher` are deprecated and will be removed in Python " +"3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" msgstr "" -"Die „Child-Watcher“-Klassen :class:`!" -"asyncio.MultiLoopChildWatcher`, :class:`!asyncio.FastChildWatcher`, :class:`!" -"asyncio.AbstractChildWatcher` und :class:`!asyncio.SafeChildWatcher` sind " -"veraltet und werden in Python 3.14 entfernt. (Beitrag von Kumar Aditya " -"unter :gh:`94597`.)" +"Die „Child-Watcher“-Klassen :class:`!asyncio.MultiLoopChildWatcher`, :class:" +"`!asyncio.FastChildWatcher`, :class:`!asyncio.AbstractChildWatcher` und :" +"class:`!asyncio.SafeChildWatcher` sind veraltet und werden in Python 3.14 " +"entfernt. (Beitrag von Kumar Aditya unter :gh:`94597`.)" #: ../../deprecations/pending-removal-in-3.14.rst:30 msgid "" -":func:`!asyncio.set_child_watcher`, :func:`!" -"asyncio.get_child_watcher`, :meth:`!" -"asyncio.AbstractEventLoopPolicy.set_child_watcher` and :meth:`!" +":func:`!asyncio.set_child_watcher`, :func:`!asyncio.get_child_watcher`, :" +"meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher` and :meth:`!" "asyncio.AbstractEventLoopPolicy.get_child_watcher` are deprecated and will " "be removed in Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" msgstr "" -":func:`!asyncio.set_child_watcher`, :func:`!" -"asyncio.get_child_watcher`, :meth:`!" -"asyncio.AbstractEventLoopPolicy.set_child_watcher` und :meth:`!" +":func:`!asyncio.set_child_watcher`, :func:`!asyncio.get_child_watcher`, :" +"meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher` und :meth:`!" "asyncio.AbstractEventLoopPolicy.get_child_watcher` sind veraltet und werden " "in Python 3.14 entfernt. (Beitrag von Kumar Aditya unter :gh:`94597`.)" @@ -3066,9 +3055,8 @@ msgstr "" #: ../../deprecations/pending-removal-in-3.14.rst:41 msgid "" -":mod:`email`: Deprecated the *isdst* parameter " -"in :func:`email.utils.localtime`. (Contributed by Alan Williams " -"in :gh:`72346`.)" +":mod:`email`: Deprecated the *isdst* parameter in :func:`email.utils." +"localtime`. (Contributed by Alan Williams in :gh:`72346`.)" msgstr "" ":mod:`email`: Der Parameter *isdst* in :func:`email.utils.localtime` wurde " "als veraltet markiert. (Beitrag von Alan Williams unter :gh:`72346`.)" @@ -3125,30 +3113,27 @@ msgid "" "on Linux, BSDs, and other non-macOS POSIX platforms where ``'fork'`` is " "currently the default (:gh:`84559`). Adding a runtime warning about this was " "deemed too disruptive as the majority of code is not expected to care. Use " -"the :func:`~multiprocessing.get_context` " -"or :func:`~multiprocessing.set_start_method` APIs to explicitly specify when " -"your code *requires* ``'fork'``. See :ref:`multiprocessing-start-methods`." +"the :func:`~multiprocessing.get_context` or :func:`~multiprocessing." +"set_start_method` APIs to explicitly specify when your code *requires* " +"``'fork'``. See :ref:`multiprocessing-start-methods`." msgstr "" ":mod:`multiprocessing`: Die Standard-Startmethode wird unter Linux, BSD und " "anderen POSIX-Plattformen, die nicht macOS sind, auf eine sicherere Variante " "umgestellt, sofern dort derzeit „ ``'fork'`` “ als Standard eingestellt ist " "(:gh:`84559`). Das Hinzufügen einer Laufzeitwarnung hierzu wurde als zu " "störend erachtet, da davon ausgegangen wird, dass dies für den Großteil des " -"Codes keine Rolle spielt. Verwenden Sie die APIs " -"„ :func:`~multiprocessing.get_context` “ oder " -"„ :func:`~multiprocessing.set_start_method` “, um explizit anzugeben, wann " -"Ihr Code „ ``'fork'`` “ *erfordert*. Siehe :ref:`multiprocessing-start-" -"methods`." +"Codes keine Rolle spielt. Verwenden Sie die APIs „ :func:`~multiprocessing." +"get_context` “ oder „ :func:`~multiprocessing.set_start_method` “, um " +"explizit anzugeben, wann Ihr Code „ ``'fork'`` “ *erfordert*. Siehe :ref:" +"`multiprocessing-start-methods`." #: ../../deprecations/pending-removal-in-3.14.rst:71 msgid "" -":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` " -"and :meth:`~pathlib.PurePath.relative_to`: passing additional arguments is " -"deprecated." +":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` and :meth:`~pathlib." +"PurePath.relative_to`: passing additional arguments is deprecated." msgstr "" -":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` " -"und :meth:`~pathlib.PurePath.relative_to`: Die Übergabe zusätzlicher " -"Argumente ist veraltet." +":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` und :meth:`~pathlib." +"PurePath.relative_to`: Die Übergabe zusätzlicher Argumente ist veraltet." #: ../../deprecations/pending-removal-in-3.14.rst:75 msgid "" @@ -3156,11 +3141,10 @@ msgid "" "now raise :exc:`DeprecationWarning`; use :func:`importlib.util.find_spec` " "instead. (Contributed by Nikita Sobolev in :gh:`97850`.)" msgstr "" -":mod:`pkgutil`: „ :func:`!pkgutil.find_loader` “ und „ :func:`!" -"pkgutil.get_loader` “ lösen nun eine „ :exc:`DeprecationWarning` “-" -"Fehlermeldung aus; verwenden Sie stattdessen " -"„ :func:`importlib.util.find_spec` “. (Beitrag von Nikita Sobolev " -"unter :gh:`97850`.)" +":mod:`pkgutil`: „ :func:`!pkgutil.find_loader` “ und „ :func:`!pkgutil." +"get_loader` “ lösen nun eine „ :exc:`DeprecationWarning` “-Fehlermeldung " +"aus; verwenden Sie stattdessen „ :func:`importlib.util.find_spec` “. " +"(Beitrag von Nikita Sobolev unter :gh:`97850`.)" #: ../../deprecations/pending-removal-in-3.14.rst:80 msgid ":mod:`pty`:" @@ -3180,9 +3164,9 @@ msgstr ":data:`!version` und :data:`!version_info`." #: ../../deprecations/pending-removal-in-3.14.rst:89 msgid "" -":meth:`~sqlite3.Cursor.execute` and :meth:`~sqlite3.Cursor.executemany` " -"if :ref:`named placeholders ` are used and " -"*parameters* is a sequence instead of a :class:`dict`." +":meth:`~sqlite3.Cursor.execute` and :meth:`~sqlite3.Cursor.executemany` if :" +"ref:`named placeholders ` are used and *parameters* is " +"a sequence instead of a :class:`dict`." msgstr "" ":meth:`~sqlite3.Cursor.execute` und :meth:`~sqlite3.Cursor.executemany`, " "wenn :ref:`benannte Platzhalter ` verwendet werden und " @@ -3191,12 +3175,12 @@ msgstr "" #: ../../deprecations/pending-removal-in-3.14.rst:93 msgid "" ":mod:`urllib`: :class:`!urllib.parse.Quoter` is deprecated: it was not " -"intended to be a public API. (Contributed by Gregory P. Smith " -"in :gh:`88168`.)" +"intended to be a public API. (Contributed by Gregory P. Smith in :gh:" +"`88168`.)" msgstr "" ":mod:`urllib`: „ :class:`!urllib.parse.Quoter` “ ist veraltet: Es war nicht " -"als öffentliche API vorgesehen. (Beitrag von Gregory P. Smith " -"unter :gh:`88168`.)" +"als öffentliche API vorgesehen. (Beitrag von Gregory P. Smith unter :gh:" +"`88168`.)" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:2 #: ../../deprecations/pending-removal-in-3.15.rst:2 @@ -3210,19 +3194,18 @@ msgstr "Das Importsystem:" #: ../../deprecations/pending-removal-in-3.15.rst:6 msgid "" -"Setting ``__cached__`` on a module while failing to " -"set :attr:`__spec__.cached ` is " -"deprecated. In Python 3.15, ``__cached__`` will cease to be set or take into " -"consideration by the import system or standard library. (:gh:`97879`)" +"Setting ``__cached__`` on a module while failing to set :attr:`__spec__." +"cached ` is deprecated. In Python " +"3.15, ``__cached__`` will cease to be set or take into consideration by the " +"import system or standard library. (:gh:`97879`)" msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:11 msgid "" -"Setting :attr:`~module.__package__` on a module while failing to " -"set :attr:`__spec__.parent ` is " -"deprecated. In Python 3.15, :attr:`!__package__` will cease to be set or " -"take into consideration by the import system or standard library. " -"(:gh:`97879`)" +"Setting :attr:`~module.__package__` on a module while failing to set :attr:" +"`__spec__.parent ` is deprecated. In " +"Python 3.15, :attr:`!__package__` will cease to be set or take into " +"consideration by the import system or standard library. (:gh:`97879`)" msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:18 @@ -3255,8 +3238,8 @@ msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:38 msgid "" -":meth:`!.PurePath.is_reserved` has been deprecated since Python 3.13. " -"Use :func:`os.path.isreserved` to detect reserved paths on Windows." +":meth:`!.PurePath.is_reserved` has been deprecated since Python 3.13. Use :" +"func:`os.path.isreserved` to detect reserved paths on Windows." msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:44 @@ -3303,10 +3286,10 @@ msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:72 msgid "" -"The undocumented keyword argument syntax for " -"creating :class:`~typing.NamedTuple` classes (for example, ``Point = " -"NamedTuple(\"Point\", x=int, y=int)``) has been deprecated since Python " -"3.13. Use the class-based syntax or the functional syntax instead." +"The undocumented keyword argument syntax for creating :class:`~typing." +"NamedTuple` classes (for example, ``Point = NamedTuple(\"Point\", x=int, " +"y=int)``) has been deprecated since Python 3.13. Use the class-based syntax " +"or the functional syntax instead." msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:78 @@ -3332,9 +3315,9 @@ msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:94 msgid "" -"The ``getmark()``, ``setmark()`` and ``getmarkers()`` methods of " -"the :class:`~wave.Wave_read` and :class:`~wave.Wave_write` classes have been " -"deprecated since Python 3.13." +"The ``getmark()``, ``setmark()`` and ``getmarkers()`` methods of the :class:" +"`~wave.Wave_read` and :class:`~wave.Wave_write` classes have been deprecated " +"since Python 3.13." msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:98 @@ -3354,15 +3337,15 @@ msgstr "Geplante Entfernung in Python 3.16" #: ../../deprecations/pending-removal-in-3.16.rst:6 msgid "" -"Setting :attr:`~module.__loader__` on a module while failing to " -"set :attr:`__spec__.loader ` is " -"deprecated. In Python 3.16, :attr:`!__loader__` will cease to be set or " -"taken into consideration by the import system or the standard library." +"Setting :attr:`~module.__loader__` on a module while failing to set :attr:" +"`__spec__.loader ` is deprecated. In " +"Python 3.16, :attr:`!__loader__` will cease to be set or taken into " +"consideration by the import system or the standard library." msgstr "" -"Das Setzen von :attr:`~module.__loader__` für ein Modul, " -"ohne :attr:`__spec__.loader ` zu " -"setzen, ist veraltet. In Python 3.16 wird :attr:`!__loader__` vom " -"Importsystem und der Standardbibliothek weder gesetzt noch berücksichtigt." +"Das Setzen von :attr:`~module.__loader__` für ein Modul, ohne :attr:" +"`__spec__.loader ` zu setzen, ist " +"veraltet. In Python 3.16 wird :attr:`!__loader__` vom Importsystem und der " +"Standardbibliothek weder gesetzt noch berücksichtigt." #: ../../deprecations/pending-removal-in-3.16.rst:13 msgid "" @@ -3497,20 +3480,20 @@ msgid "" msgstr "" "Die Unterstützung eigener Logging-Handler mit dem Argument *strm* ist " "veraltet und soll in Python 3.16 entfernt werden. Definiere Handler " -"stattdessen mit dem Argument *stream*. (Beigetragen von Mariusz Felisiak " -"in :gh:`115032`.)" +"stattdessen mit dem Argument *stream*. (Beigetragen von Mariusz Felisiak in :" +"gh:`115032`.)" #: ../../deprecations/pending-removal-in-3.16.rst:72 msgid "" -"Valid extensions start with a '.' or are empty " -"for :meth:`mimetypes.MimeTypes.add_type`. Undotted extensions are deprecated " -"and will raise a :exc:`ValueError` in Python 3.16. (Contributed by Hugo van " -"Kemenade in :gh:`75223`.)" +"Valid extensions start with a '.' or are empty for :meth:`mimetypes." +"MimeTypes.add_type`. Undotted extensions are deprecated and will raise a :" +"exc:`ValueError` in Python 3.16. (Contributed by Hugo van Kemenade in :gh:" +"`75223`.)" msgstr "" "Gültige Endungen für :meth:`mimetypes.MimeTypes.add_type` beginnen mit einem " "„.“ oder sind leer. Endungen ohne Punkt sind veraltet und lösen in Python " -"3.16 einen :exc:`ValueError` aus. (Beigetragen von Hugo van Kemenade " -"in :gh:`75223`.)" +"3.16 einen :exc:`ValueError` aus. (Beigetragen von Hugo van Kemenade in :gh:" +"`75223`.)" #: ../../deprecations/pending-removal-in-3.16.rst:78 msgid ":mod:`shutil`:" @@ -3545,8 +3528,8 @@ msgid "" "environment variable instead." msgstr "" "Die Funktion :func:`~sys._enablelegacywindowsfsencoding` ist seit Python " -"3.13 veraltet. Verwende stattdessen die " -"Umgebungsvariable :envvar:`PYTHONLEGACYWINDOWSFSENCODING`." +"3.13 veraltet. Verwende stattdessen die Umgebungsvariable :envvar:" +"`PYTHONLEGACYWINDOWSFSENCODING`." #: ../../deprecations/pending-removal-in-3.16.rst:98 msgid "" @@ -3555,8 +3538,8 @@ msgid "" "instead." msgstr "" "Die Funktion :func:`!sysconfig.expand_makefile_vars` ist seit Python 3.14 " -"veraltet. Verwende stattdessen das Argument ``vars`` " -"von :func:`sysconfig.get_paths`." +"veraltet. Verwende stattdessen das Argument ``vars`` von :func:`sysconfig." +"get_paths`." #: ../../deprecations/pending-removal-in-3.16.rst:104 msgid "" @@ -3606,10 +3589,9 @@ msgid "" msgstr "" "Verwende ``isinstance(obj, collections.abc.Buffer)``, um zur Laufzeit zu " "prüfen, ob ``obj`` das :ref:`Buffer-Protokoll ` " -"implementiert. Für Typannotationen verwende " -"entweder :class:`~collections.abc.Buffer` oder eine Union, die explizit die " -"von deinem Code unterstützten Typen angibt (z. B. ``bytes | bytearray | " -"memoryview``)." +"implementiert. Für Typannotationen verwende entweder :class:`~collections." +"abc.Buffer` oder eine Union, die explizit die von deinem Code unterstützten " +"Typen angibt (z. B. ``bytes | bytearray | memoryview``)." #: ../../deprecations/pending-removal-in-3.17.rst:22 #: ../../deprecations/pending-removal-in-3.17.rst:68 @@ -3649,9 +3631,9 @@ msgid "" "is deprecated and scheduled for removal in Python 3.17. (Contributed by Stan " "Ulbrych in :gh:`136702`.)" msgstr "" -"Die Übergabe von Namen für *encoding*, die nicht ASCII sind, " -"an :func:`encodings.normalize_encoding` ist veraltet und soll in Python 3.17 " -"entfernt werden. (Beigetragen von Stan Ulbrych in :gh:`136702`.)" +"Die Übergabe von Namen für *encoding*, die nicht ASCII sind, an :func:" +"`encodings.normalize_encoding` ist veraltet und soll in Python 3.17 entfernt " +"werden. (Beigetragen von Stan Ulbrych in :gh:`136702`.)" #: ../../deprecations/pending-removal-in-3.17.rst:40 msgid ":mod:`profile`:" @@ -3660,9 +3642,9 @@ msgstr ":mod:`profile`:" #: ../../deprecations/pending-removal-in-3.17.rst:42 msgid "" "The :mod:`!profile` module is deprecated and will be removed in Python 3.17. " -"Use :mod:`profiling.tracing` instead, which provides a compatible API. " -"See :pep:`799` for details. (Contributed by Pablo Galindo and László Kiss " -"Kollár in :gh:`138122`.)" +"Use :mod:`profiling.tracing` instead, which provides a compatible API. See :" +"pep:`799` for details. (Contributed by Pablo Galindo and László Kiss Kollár " +"in :gh:`138122`.)" msgstr "" "Das Modul :mod:`!profile` ist veraltet und wird in Python 3.17 entfernt. " "Verwende stattdessen :mod:`profiling.tracing`, das eine kompatible API " @@ -3678,8 +3660,8 @@ msgid "" ":class:`!webbrowser.MacOSXOSAScript` is deprecated in favour of :class:`!" "webbrowser.MacOS`. (:gh:`137586`)" msgstr "" -":class:`!webbrowser.MacOSXOSAScript` ist zugunsten von :class:`!" -"webbrowser.MacOS` veraltet. (:gh:`137586`)" +":class:`!webbrowser.MacOSXOSAScript` ist zugunsten von :class:`!webbrowser." +"MacOS` veraltet. (:gh:`137586`)" #: ../../deprecations/pending-removal-in-3.17.rst:54 msgid "" @@ -3690,13 +3672,13 @@ msgid "" "helpers like :func:`typing.get_origin` and :func:`typing.get_args` instead " "of relying on private implementation details." msgstr "" -"Vor Python 3.14 wurden Unions im alten Stil mit der privaten Klasse " -"``typing._UnionGenericAlias`` implementiert. Diese Klasse wird für die " +"Vor Python 3.14 wurden Unions im alten Stil mit der privaten Klasse ``typing." +"_UnionGenericAlias`` implementiert. Diese Klasse wird für die " "Implementierung nicht mehr benötigt, wurde aber aus Gründen der " "Abwärtskompatibilität beibehalten; ihre Entfernung ist für Python 3.17 " -"geplant. Verwende dokumentierte Hilfsfunktionen zur Introspektion " -"wie :func:`typing.get_origin` und :func:`typing.get_args`, statt dich auf " -"private Implementierungsdetails zu verlassen." +"geplant. Verwende dokumentierte Hilfsfunktionen zur Introspektion wie :func:" +"`typing.get_origin` und :func:`typing.get_args`, statt dich auf private " +"Implementierungsdetails zu verlassen." #: ../../deprecations/pending-removal-in-3.17.rst:59 msgid "" @@ -3713,18 +3695,17 @@ msgstr ":mod:`tkinter`:" #: ../../deprecations/pending-removal-in-3.17.rst:81 msgid "" "The :class:`!tkinter.Variable` methods :meth:`!trace_variable`, :meth:`!" -"trace` (an alias of :meth:`!trace_variable`), :meth:`!trace_vdelete` " -"and :meth:`!trace_vinfo`, deprecated since Python 3.14, are scheduled for " -"removal in Python 3.17. Use :meth:`!trace_add`, :meth:`!trace_remove` " -"and :meth:`!trace_info` instead. (Contributed by Serhiy Storchaka " -"in :gh:`120220`.)" +"trace` (an alias of :meth:`!trace_variable`), :meth:`!trace_vdelete` and :" +"meth:`!trace_vinfo`, deprecated since Python 3.14, are scheduled for removal " +"in Python 3.17. Use :meth:`!trace_add`, :meth:`!trace_remove` and :meth:`!" +"trace_info` instead. (Contributed by Serhiy Storchaka in :gh:`120220`.)" msgstr "" "Bei :class:`!tkinter.Variable` sollen die seit Python 3.14 veralteten " "Methoden :meth:`!trace_variable`, :meth:`!trace` (ein Alias von :meth:`!" "trace_variable`), :meth:`!trace_vdelete` und :meth:`!trace_vinfo` in Python " "3.17 entfernt werden. Verwende stattdessen :meth:`!trace_add`, :meth:`!" -"trace_remove` und :meth:`!trace_info`. (Beigetragen von Serhiy Storchaka " -"in :gh:`120220`.)" +"trace_remove` und :meth:`!trace_info`. (Beigetragen von Serhiy Storchaka in :" +"gh:`120220`.)" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:2 #: ../../deprecations/pending-removal-in-3.18.rst:2 @@ -3746,10 +3727,10 @@ msgid "" "implementation, has been deprecated since Python 3.13. (Contributed by " "Serhiy Storchaka in :gh:`89902`.)" msgstr "" -"Der nicht standardkonforme und undokumentierte Formatbezeichner ``'N'`` " -"für :class:`~decimal.Decimal`, der nur in der C-Implementierung des " -"Moduls :mod:`!decimal` unterstützt wird, ist seit Python 3.13 veraltet. " -"(Beigetragen von Serhiy Storchaka in :gh:`89902`.)" +"Der nicht standardkonforme und undokumentierte Formatbezeichner ``'N'`` für :" +"class:`~decimal.Decimal`, der nur in der C-Implementierung des Moduls :mod:`!" +"decimal` unterstützt wird, ist seit Python 3.13 veraltet. (Beigetragen von " +"Serhiy Storchaka in :gh:`89902`.)" #: ../../deprecations/pending-removal-in-3.18.rst:14 #: ../../deprecations/pending-removal-in-3.20.rst:42 @@ -3773,13 +3754,13 @@ msgstr "Geplante Entfernung in Python 3.19" #: ../../deprecations/pending-removal-in-3.19.rst:6 msgid "" -"Implicitly switching to the MSVC-compatible struct layout by " -"setting :attr:`~ctypes.Structure._pack_` but " -"not :attr:`~ctypes.Structure._layout_` on non-Windows platforms." +"Implicitly switching to the MSVC-compatible struct layout by setting :attr:" +"`~ctypes.Structure._pack_` but not :attr:`~ctypes.Structure._layout_` on non-" +"Windows platforms." msgstr "" "Das implizite Umschalten auf das MSVC-kompatible Struct-Layout, wenn auf " -"Nicht-Windows-Plattformen :attr:`~ctypes.Structure._pack_`, aber " -"nicht :attr:`~ctypes.Structure._layout_` gesetzt wird." +"Nicht-Windows-Plattformen :attr:`~ctypes.Structure._pack_`, aber nicht :attr:" +"`~ctypes.Structure._layout_` gesetzt wird." #: ../../deprecations/pending-removal-in-3.19.rst:10 msgid ":mod:`hashlib`:" @@ -3788,15 +3769,15 @@ msgstr ":mod:`hashlib`:" #: ../../deprecations/pending-removal-in-3.19.rst:12 msgid "" "In hash function constructors such as :func:`~hashlib.new` or the direct " -"hash-named constructors such as :func:`~hashlib.md5` " -"and :func:`~hashlib.sha256`, their optional initial data parameter could " -"also be passed a keyword argument named ``data=`` or ``string=`` in " -"various :mod:`!hashlib` implementations." +"hash-named constructors such as :func:`~hashlib.md5` and :func:`~hashlib." +"sha256`, their optional initial data parameter could also be passed a " +"keyword argument named ``data=`` or ``string=`` in various :mod:`!hashlib` " +"implementations." msgstr "" "Bei Konstruktoren von Hash-Funktionen wie :func:`~hashlib.new` oder den " -"direkt nach dem Hash benannten Konstruktoren wie :func:`~hashlib.md5` " -"und :func:`~hashlib.sha256` konnte dem optionalen Parameter für die " -"Anfangsdaten in verschiedenen Implementierungen von :mod:`!hashlib` auch ein " +"direkt nach dem Hash benannten Konstruktoren wie :func:`~hashlib.md5` und :" +"func:`~hashlib.sha256` konnte dem optionalen Parameter für die Anfangsdaten " +"in verschiedenen Implementierungen von :mod:`!hashlib` auch ein " "Schlüsselwortargument namens ``data=`` oder ``string=`` übergeben werden." #: ../../deprecations/pending-removal-in-3.19.rst:18 @@ -3872,9 +3853,8 @@ msgstr "Geplante Entfernung in Python 3.20" msgid "" "Calling the ``__new__()`` method of :class:`struct.Struct` without the " "*format* argument is deprecated and will be removed in Python 3.20. " -"Calling :meth:`~object.__init__` method on " -"initialized :class:`~struct.Struct` objects is deprecated and will be " -"removed in Python 3.20." +"Calling :meth:`~object.__init__` method on initialized :class:`~struct." +"Struct` objects is deprecated and will be removed in Python 3.20." msgstr "" "Der Aufruf der Methode ``__new__()`` von :class:`struct.Struct` ohne das " "Argument *format* ist veraltet und wird in Python 3.20 entfernt. Der Aufruf " @@ -4020,8 +4000,8 @@ msgstr ":mod:`ast`:" #: ../../deprecations/pending-removal-in-3.20.rst:54 msgid "" -"Creating instances of abstract AST nodes (such as :class:`ast.AST` " -"or :class:`!ast.expr`) is deprecated and will raise an error in Python 3.20." +"Creating instances of abstract AST nodes (such as :class:`ast.AST` or :class:" +"`!ast.expr`) is deprecated and will raise an error in Python 3.20." msgstr "" "Das Erzeugen von Instanzen abstrakter AST-Knoten (etwa :class:`ast.AST` " "oder :class:`!ast.expr`) ist veraltet und wird in Python 3.20 einen Fehler " @@ -4070,11 +4050,11 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:11 msgid "" -"Passing the undocumented keyword argument *prefix_chars* " -"to :meth:`~argparse.ArgumentParser.add_argument_group` is now deprecated." +"Passing the undocumented keyword argument *prefix_chars* to :meth:`~argparse." +"ArgumentParser.add_argument_group` is now deprecated." msgstr "" -"Die Übergabe des undokumentierten Schlüsselwortarguments *prefix_chars* " -"an :meth:`~argparse.ArgumentParser.add_argument_group` ist jetzt veraltet." +"Die Übergabe des undokumentierten Schlüsselwortarguments *prefix_chars* an :" +"meth:`~argparse.ArgumentParser.add_argument_group` ist jetzt veraltet." #: ../../deprecations/pending-removal-in-future.rst:14 msgid "The :class:`argparse.FileType` type converter is deprecated." @@ -4096,20 +4076,20 @@ msgid "" "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]``). A syntax 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 a future release it will be changed to a syntax " -"error. (:gh:`87999`)" +"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 a future release it will be changed to a " +"syntax error. (:gh:`87999`)" msgstr "" "Derzeit akzeptiert Python numerische Literale, auf die unmittelbar " "Schlüsselwörter folgen, zum Beispiel ``0in x``, ``1or x``, ``0if 1else 2``. " "Das ermöglicht verwirrende und mehrdeutige Ausdrücke wie ``[0x1for x in y]`` " "(was als ``[0x1 for x in y]`` oder als ``[0x1f or x in y]`` interpretiert " "werden kann). Eine Syntaxwarnung wird ausgelöst, wenn auf das numerische " -"Literal unmittelbar eines der " -"Schlüsselwörter :keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` " -"und :keyword:`or` folgt. In einer künftigen Version wird daraus ein " -"Syntaxfehler. (:gh:`87999`)" +"Literal unmittelbar eines der Schlüsselwörter :keyword:`and`, :keyword:" +"`else`, :keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` und :" +"keyword:`or` folgt. In einer künftigen Version wird daraus ein Syntaxfehler. " +"(:gh:`87999`)" #: ../../deprecations/pending-removal-in-future.rst:29 msgid "" @@ -4123,9 +4103,9 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:32 msgid "" -"Support for ``__float__()`` method returning a strict subclass " -"of :class:`float`: these methods will be required to return an instance " -"of :class:`float`." +"Support for ``__float__()`` method returning a strict subclass of :class:" +"`float`: these methods will be required to return an instance of :class:" +"`float`." msgstr "" "Unterstützung dafür, dass die Methode ``__float__()`` eine strikte " "Unterklasse von :class:`float` zurückgibt: Diese Methoden müssen künftig " @@ -4133,9 +4113,9 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:35 msgid "" -"Support for ``__complex__()`` method returning a strict subclass " -"of :class:`complex`: these methods will be required to return an instance " -"of :class:`complex`." +"Support for ``__complex__()`` method returning a strict subclass of :class:" +"`complex`: these methods will be required to return an instance of :class:" +"`complex`." msgstr "" "Unterstützung dafür, dass die Methode ``__complex__()`` eine strikte " "Unterklasse von :class:`complex` zurückgibt: Diese Methoden müssen künftig " @@ -4143,59 +4123,57 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:38 msgid "" -"Passing a complex number as the *real* or *imag* argument in " -"the :func:`complex` constructor is now deprecated; it should only be passed " -"as a single positional argument. (Contributed by Serhiy Storchaka " -"in :gh:`109218`.)" +"Passing a complex number as the *real* or *imag* argument in the :func:" +"`complex` constructor is now deprecated; it should only be passed as a " +"single positional argument. (Contributed by Serhiy Storchaka in :gh:" +"`109218`.)" msgstr "" "Die Übergabe einer komplexen Zahl als Argument *real* oder *imag* an den " "Konstruktor :func:`complex` ist jetzt veraltet; sie sollte nur als einziges " -"Positionsargument übergeben werden. (Beigetragen von Serhiy Storchaka " -"in :gh:`109218`.)" +"Positionsargument übergeben werden. (Beigetragen von Serhiy Storchaka in :gh:" +"`109218`.)" #: ../../deprecations/pending-removal-in-future.rst:43 msgid "" ":mod:`calendar`: ``calendar.January`` and ``calendar.February`` constants " -"are deprecated and replaced by :data:`calendar.JANUARY` " -"and :data:`calendar.FEBRUARY`. (Contributed by Prince Roshan " -"in :gh:`103636`.)" +"are deprecated and replaced by :data:`calendar.JANUARY` and :data:`calendar." +"FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" msgstr "" -":mod:`calendar`: Die Konstanten ``calendar.January`` und " -"``calendar.February`` sind veraltet und werden " -"durch :data:`calendar.JANUARY` und :data:`calendar.FEBRUARY` ersetzt. " -"(Beigetragen von Prince Roshan in :gh:`103636`.)" +":mod:`calendar`: Die Konstanten ``calendar.January`` und ``calendar." +"February`` sind veraltet und werden durch :data:`calendar.JANUARY` und :data:" +"`calendar.FEBRUARY` ersetzt. (Beigetragen von Prince Roshan in :gh:`103636`.)" #: ../../deprecations/pending-removal-in-future.rst:48 msgid "" -":mod:`codecs`: use :func:`open` instead of :func:`codecs.open`. " -"(:gh:`133038`)" +":mod:`codecs`: use :func:`open` instead of :func:`codecs.open`. (:gh:" +"`133038`)" msgstr "" -":mod:`codecs`: Verwende :func:`open` statt :func:`codecs.open`. " -"(:gh:`133038`)" +":mod:`codecs`: Verwende :func:`open` statt :func:`codecs.open`. (:gh:" +"`133038`)" #: ../../deprecations/pending-removal-in-future.rst:50 msgid "" ":attr:`!codeobject.co_lnotab`: use the :meth:`codeobject.co_lines` method " "instead." msgstr "" -":attr:`!codeobject.co_lnotab`: Verwende stattdessen die " -"Methode :meth:`codeobject.co_lines`." +":attr:`!codeobject.co_lnotab`: Verwende stattdessen die Methode :meth:" +"`codeobject.co_lines`." #: ../../deprecations/pending-removal-in-future.rst:55 msgid "" -":meth:`~datetime.datetime.utcnow`: use " -"``datetime.datetime.now(tz=datetime.UTC)``." +":meth:`~datetime.datetime.utcnow`: use ``datetime.datetime.now(tz=datetime." +"UTC)``." msgstr "" -":meth:`~datetime.datetime.utcnow`: Verwende " -"``datetime.datetime.now(tz=datetime.UTC)``." +":meth:`~datetime.datetime.utcnow`: Verwende ``datetime.datetime." +"now(tz=datetime.UTC)``." #: ../../deprecations/pending-removal-in-future.rst:57 msgid "" -":meth:`~datetime.datetime.utcfromtimestamp`: use " -"``datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC)``." +":meth:`~datetime.datetime.utcfromtimestamp`: use ``datetime.datetime." +"fromtimestamp(timestamp, tz=datetime.UTC)``." msgstr "" -":meth:`~datetime.datetime.utcfromtimestamp`: Verwende " -"``datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC)``." +":meth:`~datetime.datetime.utcfromtimestamp`: Verwende ``datetime.datetime." +"fromtimestamp(timestamp, tz=datetime.UTC)``." #: ../../deprecations/pending-removal-in-future.rst:60 msgid ":mod:`gettext`: Plural value must be an integer." @@ -4246,21 +4224,20 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:80 msgid "" -":mod:`os.path`: :func:`os.path.commonprefix` is deprecated, " -"use :func:`os.path.commonpath` for path prefixes. " -"The :func:`os.path.commonprefix` function is being deprecated due to having " -"a misleading name and module. The function is not safe to use for path " -"prefixes despite being included in a module about path manipulation, meaning " -"it is easy to accidentally introduce path traversal vulnerabilities into " -"Python programs by using this function." -msgstr "" -":mod:`os.path`: :func:`os.path.commonprefix` ist veraltet, " -"verwende :func:`os.path.commonpath` für Pfadpräfixe. Die " -"Funktion :func:`os.path.commonprefix` wird als veraltet markiert, weil ihr " -"Name und ihr Modul irreführend sind. Die Funktion ist für Pfadpräfixe nicht " -"sicher, obwohl sie in einem Modul zur Pfadbearbeitung enthalten ist. Dadurch " -"lassen sich mit ihr leicht versehentlich Path-Traversal-Schwachstellen in " -"Python-Programme einbauen." +":mod:`os.path`: :func:`os.path.commonprefix` is deprecated, use :func:`os." +"path.commonpath` for path prefixes. The :func:`os.path.commonprefix` " +"function is being deprecated due to having a misleading name and module. The " +"function is not safe to use for path prefixes despite being included in a " +"module about path manipulation, meaning it is easy to accidentally introduce " +"path traversal vulnerabilities into Python programs by using this function." +msgstr "" +":mod:`os.path`: :func:`os.path.commonprefix` ist veraltet, verwende :func:" +"`os.path.commonpath` für Pfadpräfixe. Die Funktion :func:`os.path." +"commonprefix` wird als veraltet markiert, weil ihr Name und ihr Modul " +"irreführend sind. Die Funktion ist für Pfadpräfixe nicht sicher, obwohl sie " +"in einem Modul zur Pfadbearbeitung enthalten ist. Dadurch lassen sich mit " +"ihr leicht versehentlich Path-Traversal-Schwachstellen in Python-Programme " +"einbauen." #: ../../deprecations/pending-removal-in-future.rst:88 msgid "" @@ -4282,8 +4259,8 @@ msgstr "" "Ausdrücken gelten jetzt strengere Regeln. Als numerische Referenz wird jetzt " "nur noch eine Folge von ASCII-Ziffern akzeptiert. Der Gruppenname in Bytes-" "Mustern und Ersetzungszeichenketten darf jetzt nur noch ASCII-Buchstaben, " -"Ziffern und Unterstriche enthalten. (Beigetragen von Serhiy Storchaka " -"in :gh:`91760`.)" +"Ziffern und Unterstriche enthalten. (Beigetragen von Serhiy Storchaka in :gh:" +"`91760`.)" #: ../../deprecations/pending-removal-in-future.rst:98 msgid "" @@ -4303,11 +4280,11 @@ msgstr ":class:`ssl.SSLContext` ohne Protokollargument ist veraltet." #: ../../deprecations/pending-removal-in-future.rst:104 msgid "" -":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` " -"and :meth:`!selected_npn_protocol` are deprecated: use ALPN instead." +":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` and :meth:" +"`!selected_npn_protocol` are deprecated: use ALPN instead." msgstr "" -":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` " -"und :meth:`!selected_npn_protocol` sind veraltet: Verwende stattdessen ALPN." +":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` und :meth:" +"`!selected_npn_protocol` sind veraltet: Verwende stattdessen ALPN." #: ../../deprecations/pending-removal-in-future.rst:107 msgid "``ssl.OP_NO_SSL*`` options" @@ -4355,11 +4332,11 @@ msgstr "Methoden von :mod:`threading`:" #: ../../deprecations/pending-removal-in-future.rst:120 msgid "" -":meth:`!threading.Condition.notifyAll`: " -"use :meth:`~threading.Condition.notify_all`." +":meth:`!threading.Condition.notifyAll`: use :meth:`~threading.Condition." +"notify_all`." msgstr "" -":meth:`!threading.Condition.notifyAll`: " -"Verwende :meth:`~threading.Condition.notify_all`." +":meth:`!threading.Condition.notifyAll`: Verwende :meth:`~threading.Condition." +"notify_all`." #: ../../deprecations/pending-removal-in-future.rst:121 msgid ":meth:`!threading.Event.isSet`: use :meth:`~threading.Event.is_set`." @@ -4368,16 +4345,16 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:122 msgid "" -":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: " -"use :attr:`threading.Thread.daemon` attribute." +":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use :" +"attr:`threading.Thread.daemon` attribute." msgstr "" ":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: " "Verwende das Attribut :attr:`threading.Thread.daemon`." #: ../../deprecations/pending-removal-in-future.rst:124 msgid "" -":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: " -"use :attr:`threading.Thread.name` attribute." +":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use :" +"attr:`threading.Thread.name` attribute." msgstr "" ":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: " "Verwende das Attribut :attr:`threading.Thread.name`." @@ -4422,8 +4399,8 @@ msgid "" ":mod:`urllib.parse` deprecated functions: :func:`~urllib.parse.urlparse` " "instead" msgstr "" -"Veraltete Funktionen in :mod:`urllib.parse`: Verwende " -"stattdessen :func:`~urllib.parse.urlparse`" +"Veraltete Funktionen in :mod:`urllib.parse`: Verwende stattdessen :func:" +"`~urllib.parse.urlparse`" #: ../../deprecations/pending-removal-in-future.rst:141 msgid "``splitattr()``" @@ -4479,23 +4456,23 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:156 msgid "" -":mod:`xml.etree.ElementTree`: Testing the truth value of " -"an :class:`~xml.etree.ElementTree.Element` is deprecated. In a future " -"release it will always return ``True``. Prefer explicit ``len(elem)`` or " -"``elem is not None`` tests instead." +":mod:`xml.etree.ElementTree`: Testing the truth value of an :class:`~xml." +"etree.ElementTree.Element` is deprecated. In a future release it will always " +"return ``True``. Prefer explicit ``len(elem)`` or ``elem is not None`` tests " +"instead." msgstr "" -":mod:`xml.etree.ElementTree`: Das Prüfen des Wahrheitswerts " -"eines :class:`~xml.etree.ElementTree.Element` ist veraltet. In einer " -"künftigen Version wird es immer ``True`` zurückgeben. Verwende stattdessen " -"explizite Prüfungen mit ``len(elem)`` oder ``elem is not None``." +":mod:`xml.etree.ElementTree`: Das Prüfen des Wahrheitswerts eines :class:" +"`~xml.etree.ElementTree.Element` ist veraltet. In einer künftigen Version " +"wird es immer ``True`` zurückgeben. Verwende stattdessen explizite Prüfungen " +"mit ``len(elem)`` oder ``elem is not None``." #: ../../deprecations/pending-removal-in-future.rst:161 msgid "" -":func:`sys._clear_type_cache` is deprecated: " -"use :func:`sys._clear_internal_caches` instead." +":func:`sys._clear_type_cache` is deprecated: use :func:`sys." +"_clear_internal_caches` instead." msgstr "" -":func:`sys._clear_type_cache` ist veraltet: Verwende " -"stattdessen :func:`sys._clear_internal_caches`." +":func:`sys._clear_type_cache` ist veraltet: Verwende stattdessen :func:`sys." +"_clear_internal_caches`." #: ../../whatsnew/3.13.rst:2037 msgid "CPython Bytecode Changes" @@ -4506,8 +4483,8 @@ msgid "" "The oparg of :opcode:`YIELD_VALUE` is now ``1`` if the yield is part of a " "yield-from or await, and ``0`` otherwise. The oparg of :opcode:`RESUME` was " "changed to add a bit indicating if the except-depth is 1, which is needed to " -"optimize closing of generators. (Contributed by Irit Katriel " -"in :gh:`111354`.)" +"optimize closing of generators. (Contributed by Irit Katriel in :gh:" +"`111354`.)" msgstr "" #: ../../whatsnew/3.13.rst:2047 @@ -4516,8 +4493,8 @@ msgstr "C API Änderungen" #: ../../whatsnew/3.13.rst:2052 msgid "" -"Add the :ref:`PyMonitoring C API ` for " -"generating :pep:`669` monitoring events:" +"Add the :ref:`PyMonitoring C API ` for generating :pep:" +"`669` monitoring events:" msgstr "" #: ../../whatsnew/3.13.rst:2055 @@ -4603,10 +4580,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:2077 msgid "" "Add :c:type:`PyMutex`, a lightweight mutex that occupies a single byte, and " -"the new :c:func:`PyMutex_Lock` and :c:func:`PyMutex_Unlock` " -"functions. :c:func:`!PyMutex_Lock` will release the :term:`GIL` (if " -"currently held) if the operation needs to block. (Contributed by Sam Gross " -"in :gh:`108724`.)" +"the new :c:func:`PyMutex_Lock` and :c:func:`PyMutex_Unlock` functions. :c:" +"func:`!PyMutex_Lock` will release the :term:`GIL` (if currently held) if the " +"operation needs to block. (Contributed by Sam Gross in :gh:`108724`.)" msgstr "" #: ../../whatsnew/3.13.rst:2083 @@ -4656,10 +4632,10 @@ msgstr "" #: ../../whatsnew/3.13.rst:2097 msgid "" -"Add the :c:func:`PyDict_ContainsString` function with the same behavior " -"as :c:func:`PyDict_Contains`, but *key* is specified as a :c:expr:`const " -"char*` UTF-8 encoded bytes string, rather than a :c:expr:`PyObject*`. " -"(Contributed by Victor Stinner in :gh:`108314`.)" +"Add the :c:func:`PyDict_ContainsString` function with the same behavior as :" +"c:func:`PyDict_Contains`, but *key* is specified as a :c:expr:`const char*` " +"UTF-8 encoded bytes string, rather than a :c:expr:`PyObject*`. (Contributed " +"by Victor Stinner in :gh:`108314`.)" msgstr "" #: ../../whatsnew/3.13.rst:2103 @@ -4668,16 +4644,16 @@ msgid "" "functions, which behave similarly to :c:func:`PyDict_GetItemWithError`, but " "return a :term:`strong reference` instead of a :term:`borrowed reference`. " "Moreover, these functions return ``-1`` on error, removing the need to " -"check :c:func:`!PyErr_Occurred`. (Contributed by Victor Stinner " -"in :gh:`106004`.)" +"check :c:func:`!PyErr_Occurred`. (Contributed by Victor Stinner in :gh:" +"`106004`.)" msgstr "" #: ../../whatsnew/3.13.rst:2111 msgid "" -"Add the :c:func:`PyDict_SetDefaultRef` function, which behaves similarly " -"to :c:func:`PyDict_SetDefault`, but returns a :term:`strong reference` " -"instead of a :term:`borrowed reference`. This function returns ``-1`` on " -"error, ``0`` on insertion, and ``1`` if the key was already present in the " +"Add the :c:func:`PyDict_SetDefaultRef` function, which behaves similarly to :" +"c:func:`PyDict_SetDefault`, but returns a :term:`strong reference` instead " +"of a :term:`borrowed reference`. This function returns ``-1`` on error, " +"``0`` on insertion, and ``1`` if the key was already present in the " "dictionary. (Contributed by Sam Gross in :gh:`112066`.)" msgstr "" @@ -4685,45 +4661,45 @@ msgstr "" msgid "" "Add the :c:func:`PyDict_Pop` and :c:func:`PyDict_PopString` functions to " "remove a key from a dictionary and optionally return the removed value. This " -"is similar to :meth:`dict.pop`, though there is no default value, " -"and :exc:`KeyError` is not raised for missing keys. (Contributed by Stefan " -"Behnel and Victor Stinner in :gh:`111262`.)" +"is similar to :meth:`dict.pop`, though there is no default value, and :exc:" +"`KeyError` is not raised for missing keys. (Contributed by Stefan Behnel and " +"Victor Stinner in :gh:`111262`.)" msgstr "" #: ../../whatsnew/3.13.rst:2126 msgid "" -"Add the :c:func:`PyMapping_GetOptionalItem` " -"and :c:func:`PyMapping_GetOptionalItemString` functions as alternatives " -"to :c:func:`PyObject_GetItem` and :c:func:`PyMapping_GetItemString` " -"respectively. The new functions do not raise :exc:`KeyError` if the " -"requested key is missing from the mapping. These variants are more " -"convenient and faster if a missing key should not be treated as a failure. " -"(Contributed by Serhiy Storchaka in :gh:`106307`.)" +"Add the :c:func:`PyMapping_GetOptionalItem` and :c:func:" +"`PyMapping_GetOptionalItemString` functions as alternatives to :c:func:" +"`PyObject_GetItem` and :c:func:`PyMapping_GetItemString` respectively. The " +"new functions do not raise :exc:`KeyError` if the requested key is missing " +"from the mapping. These variants are more convenient and faster if a missing " +"key should not be treated as a failure. (Contributed by Serhiy Storchaka in :" +"gh:`106307`.)" msgstr "" #: ../../whatsnew/3.13.rst:2136 msgid "" -"Add the :c:func:`PyObject_GetOptionalAttr` " -"and :c:func:`PyObject_GetOptionalAttrString` functions as alternatives " -"to :c:func:`PyObject_GetAttr` and :c:func:`PyObject_GetAttrString` " -"respectively. The new functions do not raise :exc:`AttributeError` if the " -"requested attribute is not found on the object. These variants are more " -"convenient and faster if the missing attribute should not be treated as a " -"failure. (Contributed by Serhiy Storchaka in :gh:`106521`.)" +"Add the :c:func:`PyObject_GetOptionalAttr` and :c:func:" +"`PyObject_GetOptionalAttrString` functions as alternatives to :c:func:" +"`PyObject_GetAttr` and :c:func:`PyObject_GetAttrString` respectively. The " +"new functions do not raise :exc:`AttributeError` if the requested attribute " +"is not found on the object. These variants are more convenient and faster if " +"the missing attribute should not be treated as a failure. (Contributed by " +"Serhiy Storchaka in :gh:`106521`.)" msgstr "" #: ../../whatsnew/3.13.rst:2146 msgid "" -"Add the :c:func:`PyErr_FormatUnraisable` function as an extension " -"to :c:func:`PyErr_WriteUnraisable` that allows customizing the warning " -"message. (Contributed by Serhiy Storchaka in :gh:`108082`.)" +"Add the :c:func:`PyErr_FormatUnraisable` function as an extension to :c:func:" +"`PyErr_WriteUnraisable` that allows customizing the warning message. " +"(Contributed by Serhiy Storchaka in :gh:`108082`.)" msgstr "" #: ../../whatsnew/3.13.rst:2151 msgid "" -"Add new functions that return a :term:`strong reference` instead of " -"a :term:`borrowed reference` for frame locals, globals, and builtins, as " -"part of :ref:`PEP 667 `:" +"Add new functions that return a :term:`strong reference` instead of a :term:" +"`borrowed reference` for frame locals, globals, and builtins, as part of :" +"ref:`PEP 667 `:" msgstr "" #: ../../whatsnew/3.13.rst:2155 @@ -4753,10 +4729,10 @@ msgstr "" #: ../../whatsnew/3.13.rst:2168 msgid "" -"Add the :c:func:`PyImport_AddModuleRef` function as a replacement " -"for :c:func:`PyImport_AddModule` that returns a :term:`strong reference` " -"instead of a :term:`borrowed reference`. (Contributed by Victor Stinner " -"in :gh:`105922`.)" +"Add the :c:func:`PyImport_AddModuleRef` function as a replacement for :c:" +"func:`PyImport_AddModule` that returns a :term:`strong reference` instead of " +"a :term:`borrowed reference`. (Contributed by Victor Stinner in :gh:" +"`105922`.)" msgstr "" #: ../../whatsnew/3.13.rst:2173 @@ -4768,9 +4744,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:2178 msgid "" -"Add the :c:func:`PyList_GetItemRef` function as a replacement " -"for :c:func:`PyList_GetItem` that returns a :term:`strong reference` instead " -"of a :term:`borrowed reference`. (Contributed by Sam Gross in :gh:`114329`.)" +"Add the :c:func:`PyList_GetItemRef` function as a replacement for :c:func:" +"`PyList_GetItem` that returns a :term:`strong reference` instead of a :term:" +"`borrowed reference`. (Contributed by Sam Gross in :gh:`114329`.)" msgstr "" #: ../../whatsnew/3.13.rst:2183 @@ -4782,10 +4758,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:2187 msgid "" -"Add the :c:func:`PyLong_AsInt` function. It behaves similarly " -"to :c:func:`PyLong_AsLong`, but stores the result in a C :c:expr:`int` " -"instead of a C :c:expr:`long`. (Contributed by Victor Stinner " -"in :gh:`108014`.)" +"Add the :c:func:`PyLong_AsInt` function. It behaves similarly to :c:func:" +"`PyLong_AsLong`, but stores the result in a C :c:expr:`int` instead of a C :" +"c:expr:`long`. (Contributed by Victor Stinner in :gh:`108014`.)" msgstr "" #: ../../whatsnew/3.13.rst:2192 @@ -4798,17 +4773,16 @@ msgstr "" #: ../../whatsnew/3.13.rst:2198 msgid "" -"Add :c:func:`PyModule_Add` function, which is similar " -"to :c:func:`PyModule_AddObjectRef` and :c:func:`PyModule_AddObject`, but " -"always steals a reference to the value. (Contributed by Serhiy Storchaka " -"in :gh:`86493`.)" +"Add :c:func:`PyModule_Add` function, which is similar to :c:func:" +"`PyModule_AddObjectRef` and :c:func:`PyModule_AddObject`, but always steals " +"a reference to the value. (Contributed by Serhiy Storchaka in :gh:`86493`.)" msgstr "" #: ../../whatsnew/3.13.rst:2203 msgid "" "Add the :c:func:`PyObject_GenericHash` function that implements the default " -"hashing function of a Python object. (Contributed by Serhiy Storchaka " -"in :gh:`113024`.)" +"hashing function of a Python object. (Contributed by Serhiy Storchaka in :gh:" +"`113024`.)" msgstr "" #: ../../whatsnew/3.13.rst:2207 @@ -4819,12 +4793,11 @@ msgstr "" #: ../../whatsnew/3.13.rst:2210 msgid "" -"Add the :c:func:`PyObject_VisitManagedDict` " -"and :c:func:`PyObject_ClearManagedDict` functions. which must be called by " -"the traverse and clear functions of a type using " -"the :c:macro:`Py_TPFLAGS_MANAGED_DICT` flag. The `pythoncapi-compat " -"project`_ can be used to use these functions with Python 3.11 and 3.12. " -"(Contributed by Victor Stinner in :gh:`107073`.)" +"Add the :c:func:`PyObject_VisitManagedDict` and :c:func:" +"`PyObject_ClearManagedDict` functions. which must be called by the traverse " +"and clear functions of a type using the :c:macro:`Py_TPFLAGS_MANAGED_DICT` " +"flag. The `pythoncapi-compat project`_ can be used to use these functions " +"with Python 3.11 and 3.12. (Contributed by Victor Stinner in :gh:`107073`.)" msgstr "" #: ../../whatsnew/3.13.rst:2218 @@ -4837,9 +4810,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:2224 msgid "" -"Add the :c:func:`PySys_AuditTuple` function as an alternative " -"to :c:func:`PySys_Audit` that takes event arguments as a " -"Python :class:`tuple` object. (Contributed by Victor Stinner in :gh:`85283`.)" +"Add the :c:func:`PySys_AuditTuple` function as an alternative to :c:func:" +"`PySys_Audit` that takes event arguments as a Python :class:`tuple` object. " +"(Contributed by Victor Stinner in :gh:`85283`.)" msgstr "" #: ../../whatsnew/3.13.rst:2229 @@ -4853,10 +4826,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:2235 msgid "" "Add the :c:func:`PyType_GetFullyQualifiedName` function to get the type's " -"fully qualified name. The module name is prepended " -"if :attr:`type.__module__` is a string and is not equal to either " -"``'builtins'`` or ``'__main__'``. (Contributed by Victor Stinner " -"in :gh:`111696`.)" +"fully qualified name. The module name is prepended if :attr:`type." +"__module__` is a string and is not equal to either ``'builtins'`` or " +"``'__main__'``. (Contributed by Victor Stinner in :gh:`111696`.)" msgstr "" #: ../../whatsnew/3.13.rst:2241 @@ -4868,19 +4840,19 @@ msgstr "" #: ../../whatsnew/3.13.rst:2246 msgid "" -"Add the :c:func:`PyUnicode_EqualToUTF8AndSize` " -"and :c:func:`PyUnicode_EqualToUTF8` functions to compare a Unicode object " -"with a :c:expr:`const char*` UTF-8 encoded string and ``1`` if they are " -"equal or ``0`` otherwise. These functions do not raise exceptions. " -"(Contributed by Serhiy Storchaka in :gh:`110289`.)" +"Add the :c:func:`PyUnicode_EqualToUTF8AndSize` and :c:func:" +"`PyUnicode_EqualToUTF8` functions to compare a Unicode object with a :c:expr:" +"`const char*` UTF-8 encoded string and ``1`` if they are equal or ``0`` " +"otherwise. These functions do not raise exceptions. (Contributed by Serhiy " +"Storchaka in :gh:`110289`.)" msgstr "" #: ../../whatsnew/3.13.rst:2253 msgid "" "Add the :c:func:`PyWeakref_GetRef` function as an alternative to :c:func:`!" "PyWeakref_GetObject` that returns a :term:`strong reference` or ``NULL`` if " -"the referent is no longer live. (Contributed by Victor Stinner " -"in :gh:`105927`.)" +"the referent is no longer live. (Contributed by Victor Stinner in :gh:" +"`105927`.)" msgstr "" #: ../../whatsnew/3.13.rst:2259 @@ -4894,8 +4866,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:2262 msgid "" -":c:func:`PyObject_HasAttrStringWithError` " -"replaces :c:func:`PyObject_HasAttrString`." +":c:func:`PyObject_HasAttrStringWithError` replaces :c:func:" +"`PyObject_HasAttrString`." msgstr "" #: ../../whatsnew/3.13.rst:2264 @@ -4905,8 +4877,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:2265 msgid "" -":c:func:`PyMapping_HasKeyStringWithError` " -"replaces :c:func:`PyMapping_HasKeyString`." +":c:func:`PyMapping_HasKeyStringWithError` replaces :c:func:" +"`PyMapping_HasKeyString`." msgstr "" #: ../../whatsnew/3.13.rst:2268 @@ -4925,15 +4897,15 @@ msgstr "Geänderte C-APIs" #: ../../whatsnew/3.13.rst:2277 msgid "" -"The *keywords* parameter of :c:func:`PyArg_ParseTupleAndKeywords` " -"and :c:func:`PyArg_VaParseTupleAndKeywords` now has type :c:expr:`char * " -"const *` in C and :c:expr:`const char * const *` in C++, instead " -"of :c:expr:`char **`. In C++, this makes these functions compatible with " -"arguments of type :c:expr:`const char * const *`, :c:expr:`const char **`, " -"or :c:expr:`char * const *` without an explicit type cast. In C, the " -"functions only support arguments of type :c:expr:`char * const *`. This can " -"be overridden with the :c:macro:`PY_CXX_CONST` macro. (Contributed by Serhiy " -"Storchaka in :gh:`65210`.)" +"The *keywords* parameter of :c:func:`PyArg_ParseTupleAndKeywords` and :c:" +"func:`PyArg_VaParseTupleAndKeywords` now has type :c:expr:`char * const *` " +"in C and :c:expr:`const char * const *` in C++, instead of :c:expr:`char " +"**`. In C++, this makes these functions compatible with arguments of type :c:" +"expr:`const char * const *`, :c:expr:`const char **`, or :c:expr:`char * " +"const *` without an explicit type cast. In C, the functions only support " +"arguments of type :c:expr:`char * const *`. This can be overridden with the :" +"c:macro:`PY_CXX_CONST` macro. (Contributed by Serhiy Storchaka in :gh:" +"`65210`.)" msgstr "" #: ../../whatsnew/3.13.rst:2289 @@ -4951,18 +4923,19 @@ msgstr "" #: ../../whatsnew/3.13.rst:2297 msgid "" -"The :c:func:`PyDict_GetItem`, :c:func:`PyDict_GetItemString`, :c:func:`PyMapping_HasKey`, :c:func:`PyMapping_HasKeyString`, :c:func:`PyObject_HasAttr`, :c:func:`PyObject_HasAttrString`, " -"and :c:func:`PySys_GetObject` functions, each of which clears all errors " -"which occurred when calling them now reports these errors " -"using :func:`sys.unraisablehook`. You may replace them with other functions " -"as recommended in the documentation. (Contributed by Serhiy Storchaka " -"in :gh:`106672`.)" +"The :c:func:`PyDict_GetItem`, :c:func:`PyDict_GetItemString`, :c:func:" +"`PyMapping_HasKey`, :c:func:`PyMapping_HasKeyString`, :c:func:" +"`PyObject_HasAttr`, :c:func:`PyObject_HasAttrString`, and :c:func:" +"`PySys_GetObject` functions, each of which clears all errors which occurred " +"when calling them now reports these errors using :func:`sys.unraisablehook`. " +"You may replace them with other functions as recommended in the " +"documentation. (Contributed by Serhiy Storchaka in :gh:`106672`.)" msgstr "" #: ../../whatsnew/3.13.rst:2306 msgid "" -"Add support for the ``%T``, ``%#T``, ``%N`` and ``%#N`` formats " -"to :c:func:`PyUnicode_FromFormat`:" +"Add support for the ``%T``, ``%#T``, ``%N`` and ``%#N`` formats to :c:func:" +"`PyUnicode_FromFormat`:" msgstr "" #: ../../whatsnew/3.13.rst:2309 @@ -4983,8 +4956,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:2314 msgid "" -"See :pep:`737` for more information. (Contributed by Victor Stinner " -"in :gh:`111696`.)" +"See :pep:`737` for more information. (Contributed by Victor Stinner in :gh:" +"`111696`.)" msgstr "" #: ../../whatsnew/3.13.rst:2317 @@ -4992,16 +4965,16 @@ msgid "" "You no longer have to define the ``PY_SSIZE_T_CLEAN`` macro before " "including :file:`Python.h` when using ``#`` formats in :ref:`format codes " "`. APIs accepting the format codes always " -"use ``Py_ssize_t`` for ``#`` formats. (Contributed by Inada Naoki " -"in :gh:`104922`.)" +"use ``Py_ssize_t`` for ``#`` formats. (Contributed by Inada Naoki in :gh:" +"`104922`.)" msgstr "" #: ../../whatsnew/3.13.rst:2323 msgid "" "If Python is built in :ref:`debug mode ` or :option:`with " -"assertions <--with-assertions>`, :c:func:`PyTuple_SET_ITEM` " -"and :c:func:`PyList_SET_ITEM` now check the index argument with an " -"assertion. (Contributed by Victor Stinner in :gh:`106168`.)" +"assertions <--with-assertions>`, :c:func:`PyTuple_SET_ITEM` and :c:func:" +"`PyList_SET_ITEM` now check the index argument with an assertion. " +"(Contributed by Victor Stinner in :gh:`106168`.)" msgstr "" #: ../../whatsnew/3.13.rst:2331 @@ -5067,23 +5040,23 @@ msgstr "" #: ../../whatsnew/3.13.rst:2361 msgid "" -"Remove old buffer protocols deprecated in Python 3.0. " -"Use :ref:`bufferobjects` instead." +"Remove old buffer protocols deprecated in Python 3.0. Use :ref:" +"`bufferobjects` instead." msgstr "" #: ../../whatsnew/3.13.rst:2364 msgid "" ":c:func:`!PyObject_CheckReadBuffer`: Use :c:func:`PyObject_CheckBuffer` to " -"test whether the object supports the buffer protocol. Note " -"that :c:func:`PyObject_CheckBuffer` doesn't guarantee " -"that :c:func:`PyObject_GetBuffer` will succeed. To test if the object is " -"actually readable, see the next example of :c:func:`PyObject_GetBuffer`." +"test whether the object supports the buffer protocol. Note that :c:func:" +"`PyObject_CheckBuffer` doesn't guarantee that :c:func:`PyObject_GetBuffer` " +"will succeed. To test if the object is actually readable, see the next " +"example of :c:func:`PyObject_GetBuffer`." msgstr "" #: ../../whatsnew/3.13.rst:2372 msgid "" -":c:func:`!PyObject_AsCharBuffer`, :c:func:`!PyObject_AsReadBuffer`: " -"Use :c:func:`PyObject_GetBuffer` and :c:func:`PyBuffer_Release` instead:" +":c:func:`!PyObject_AsCharBuffer`, :c:func:`!PyObject_AsReadBuffer`: Use :c:" +"func:`PyObject_GetBuffer` and :c:func:`PyBuffer_Release` instead:" msgstr "" #: ../../whatsnew/3.13.rst:2375 @@ -5099,8 +5072,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:2385 msgid "" -":c:func:`!PyObject_AsWriteBuffer`: Use :c:func:`PyObject_GetBuffer` " -"and :c:func:`PyBuffer_Release` instead:" +":c:func:`!PyObject_AsWriteBuffer`: Use :c:func:`PyObject_GetBuffer` and :c:" +"func:`PyBuffer_Release` instead:" msgstr "" #: ../../whatsnew/3.13.rst:2388 @@ -5123,8 +5096,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:2401 msgid "" -":c:func:`!PyEval_CallObject`, :c:func:`!PyEval_CallObjectWithKeywords`: " -"Use :c:func:`PyObject_CallNoArgs` or :c:func:`PyObject_Call` instead." +":c:func:`!PyEval_CallObject`, :c:func:`!PyEval_CallObjectWithKeywords`: Use :" +"c:func:`PyObject_CallNoArgs` or :c:func:`PyObject_Call` instead." msgstr "" #: ../../whatsnew/3.13.rst:2406 @@ -5133,9 +5106,9 @@ msgid "" "and must not be ``NULL``, and keyword arguments must be a :class:`dict` or " "``NULL``, whereas the removed functions checked argument types and accepted " "``NULL`` positional and keyword arguments. To replace " -"``PyEval_CallObjectWithKeywords(func, NULL, kwargs)`` " -"with :c:func:`PyObject_Call`, pass an empty tuple as positional arguments " -"using :c:func:`PyTuple_New(0) `." +"``PyEval_CallObjectWithKeywords(func, NULL, kwargs)`` with :c:func:" +"`PyObject_Call`, pass an empty tuple as positional arguments using :c:func:" +"`PyTuple_New(0) `." msgstr "" #: ../../whatsnew/3.13.rst:2416 @@ -5195,9 +5168,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:2440 msgid "" -":c:func:`!Py_SetStandardStreamEncoding`: " -"Set :c:member:`PyConfig.stdio_encoding` instead, and set also " -"maybe :c:member:`PyConfig.legacy_windows_stdio` (on Windows)." +":c:func:`!Py_SetStandardStreamEncoding`: Set :c:member:`PyConfig." +"stdio_encoding` instead, and set also maybe :c:member:`PyConfig." +"legacy_windows_stdio` (on Windows)." msgstr "" #: ../../whatsnew/3.13.rst:2443 @@ -5248,11 +5221,11 @@ msgstr "" #: ../../whatsnew/3.13.rst:2468 msgid "" -"Remove the :c:func:`!_PyInterpreterState_Get` alias " -"to :c:func:`PyInterpreterState_Get()` which was kept for backward " -"compatibility with Python 3.8. The `pythoncapi-compat project`_ can be used " -"to get :c:func:`PyInterpreterState_Get()` on Python 3.8 and older. " -"(Contributed by Victor Stinner in :gh:`106320`.)" +"Remove the :c:func:`!_PyInterpreterState_Get` alias to :c:func:" +"`PyInterpreterState_Get()` which was kept for backward compatibility with " +"Python 3.8. The `pythoncapi-compat project`_ can be used to get :c:func:" +"`PyInterpreterState_Get()` on Python 3.8 and older. (Contributed by Victor " +"Stinner in :gh:`106320`.)" msgstr "" #: ../../whatsnew/3.13.rst:2475 @@ -5319,8 +5292,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:2510 msgid "" -":c:func:`!Py_GetPythonHome`: Get :c:member:`PyConfig.home` or " -"the :envvar:`PYTHONHOME` environment variable instead." +":c:func:`!Py_GetPythonHome`: Get :c:member:`PyConfig.home` or the :envvar:" +"`PYTHONHOME` environment variable instead." msgstr "" #: ../../whatsnew/3.13.rst:2514 @@ -5329,10 +5302,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:2516 msgid "" -":term:`Soft deprecate ` " -"the :c:func:`PyEval_GetBuiltins`, :c:func:`PyEval_GetGlobals`, " -"and :c:func:`PyEval_GetLocals` functions, which return a :term:`borrowed " -"reference`. (Soft deprecated as part of :pep:`667`.)" +":term:`Soft deprecate ` the :c:func:`PyEval_GetBuiltins`, :" +"c:func:`PyEval_GetGlobals`, and :c:func:`PyEval_GetLocals` functions, which " +"return a :term:`borrowed reference`. (Soft deprecated as part of :pep:`667`.)" msgstr "" #: ../../whatsnew/3.13.rst:2522 @@ -5345,18 +5317,17 @@ msgstr "" #: ../../whatsnew/3.13.rst:2526 msgid "" ":term:`Soft deprecate ` the :c:func:`PyModule_AddObject` " -"function. It should be replaced with :c:func:`PyModule_Add` " -"or :c:func:`PyModule_AddObjectRef`. (Contributed by Serhiy Storchaka " -"in :gh:`86493`.)" +"function. It should be replaced with :c:func:`PyModule_Add` or :c:func:" +"`PyModule_AddObjectRef`. (Contributed by Serhiy Storchaka in :gh:`86493`.)" msgstr "" #: ../../whatsnew/3.13.rst:2532 msgid "" -"Deprecate the old ``Py_UNICODE`` and ``PY_UNICODE_TYPE`` types and " -"the :c:macro:`!Py_UNICODE_WIDE` define. Use the :c:type:`wchar_t` type " -"directly instead. Since Python 3.3, ``Py_UNICODE`` and ``PY_UNICODE_TYPE`` " -"are just aliases to :c:type:`!wchar_t`. (Contributed by Victor Stinner " -"in :gh:`105156`.)" +"Deprecate the old ``Py_UNICODE`` and ``PY_UNICODE_TYPE`` types and the :c:" +"macro:`!Py_UNICODE_WIDE` define. Use the :c:type:`wchar_t` type directly " +"instead. Since Python 3.3, ``Py_UNICODE`` and ``PY_UNICODE_TYPE`` are just " +"aliases to :c:type:`!wchar_t`. (Contributed by Victor Stinner in :gh:" +"`105156`.)" msgstr "" #: ../../whatsnew/3.13.rst:2539 @@ -5383,24 +5354,24 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:4 msgid "" -"The :c:func:`!PyImport_ImportModuleNoBlock`: " -"Use :c:func:`PyImport_ImportModule` instead." +"The :c:func:`!PyImport_ImportModuleNoBlock`: Use :c:func:" +"`PyImport_ImportModule` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:6 msgid "" -":c:func:`!PyWeakref_GetObject` and :c:func:`!PyWeakref_GET_OBJECT`: " -"Use :c:func:`PyWeakref_GetRef` instead. The `pythoncapi-compat project " -"`__ can be used to " -"get :c:func:`PyWeakref_GetRef` on Python 3.12 and older." +":c:func:`!PyWeakref_GetObject` and :c:func:`!PyWeakref_GET_OBJECT`: Use :c:" +"func:`PyWeakref_GetRef` instead. The `pythoncapi-compat project `__ can be used to get :c:func:" +"`PyWeakref_GetRef` on Python 3.12 and older." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:10 msgid "" ":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." msgstr "" -":c:func:`!PyUnicode_AsDecodedObject`: Verwende " -"stattdessen :c:func:`PyCodec_Decode`." +":c:func:`!PyUnicode_AsDecodedObject`: Verwende stattdessen :c:func:" +"`PyCodec_Decode`." #: ../../deprecations/c-api-pending-removal-in-3.15.rst:12 msgid "" @@ -5413,8 +5384,8 @@ msgstr "" msgid "" ":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." msgstr "" -":c:func:`!PyUnicode_AsEncodedObject`: Verwende " -"stattdessen :c:func:`PyCodec_Encode`." +":c:func:`!PyUnicode_AsEncodedObject`: Verwende stattdessen :c:func:" +"`PyCodec_Encode`." #: ../../deprecations/c-api-pending-removal-in-3.15.rst:17 msgid "" @@ -5436,18 +5407,17 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:25 msgid "" ":c:func:`!Py_GetPrefix`: Use :c:func:`PyConfig_Get(\"base_prefix\") " -"` (:data:`sys.base_prefix`) instead. " -"Use :c:func:`PyConfig_Get(\"prefix\") ` (:data:`sys.prefix`) " -"if :ref:`virtual environments ` need to be handled." +"` (:data:`sys.base_prefix`) instead. Use :c:func:" +"`PyConfig_Get(\"prefix\") ` (:data:`sys.prefix`) if :ref:" +"`virtual environments ` need to be handled." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:30 msgid "" ":c:func:`!Py_GetExecPrefix`: Use :c:func:`PyConfig_Get(\"base_exec_prefix\") " -"` (:data:`sys.base_exec_prefix`) instead. " -"Use :c:func:`PyConfig_Get(\"exec_prefix\") ` " -"(:data:`sys.exec_prefix`) if :ref:`virtual environments ` need to " -"be handled." +"` (:data:`sys.base_exec_prefix`) instead. Use :c:func:" +"`PyConfig_Get(\"exec_prefix\") ` (:data:`sys.exec_prefix`) if :" +"ref:`virtual environments ` need to be handled." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:36 @@ -5499,8 +5469,8 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:63 msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used " -"with :c:type:`PyConfig` instead." +"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" +"`PyConfig` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:66 @@ -5509,56 +5479,56 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:68 msgid "" -":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` " -"or :c:func:`PyConfig_Get(\"parser_debug\") ` instead." +":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` or :c:func:" +"`PyConfig_Get(\"parser_debug\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:71 msgid "" -":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` " -"or :c:func:`PyConfig_Get(\"verbose\") ` instead." +":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` or :c:func:" +"`PyConfig_Get(\"verbose\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:74 msgid "" -":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` " -"or :c:func:`PyConfig_Get(\"quiet\") ` instead." +":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` or :c:func:" +"`PyConfig_Get(\"quiet\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:77 msgid "" -":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` " -"or :c:func:`PyConfig_Get(\"interactive\") ` instead." +":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` or :c:func:" +"`PyConfig_Get(\"interactive\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:80 msgid "" -":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` " -"or :c:func:`PyConfig_Get(\"inspect\") ` instead." +":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` or :c:func:" +"`PyConfig_Get(\"inspect\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:83 msgid "" -":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` " -"or :c:func:`PyConfig_Get(\"optimization_level\") ` instead." +":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` or :c:" +"func:`PyConfig_Get(\"optimization_level\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:86 msgid "" -":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` " -"or :c:func:`PyConfig_Get(\"site_import\") ` instead." +":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` or :c:func:" +"`PyConfig_Get(\"site_import\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:89 msgid "" -":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` " -"or :c:func:`PyConfig_Get(\"bytes_warning\") ` instead." +":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` or :c:" +"func:`PyConfig_Get(\"bytes_warning\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:92 msgid "" -":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` " -"or :c:func:`PyConfig_Get(\"pathconfig_warnings\") ` instead." +":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` or :c:" +"func:`PyConfig_Get(\"pathconfig_warnings\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:95 @@ -5575,15 +5545,15 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:101 msgid "" -":c:var:`Py_NoUserSiteDirectory`: " -"Use :c:member:`PyConfig.user_site_directory` " -"or :c:func:`PyConfig_Get(\"user_site_directory\") ` instead." +":c:var:`Py_NoUserSiteDirectory`: Use :c:member:`PyConfig." +"user_site_directory` or :c:func:`PyConfig_Get(\"user_site_directory\") " +"` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:104 msgid "" -":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` " -"or :c:func:`PyConfig_Get(\"buffered_stdio\") ` instead." +":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` or :" +"c:func:`PyConfig_Get(\"buffered_stdio\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:107 @@ -5595,52 +5565,51 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:111 msgid "" -":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` " -"or :c:func:`PyConfig_Get(\"isolated\") ` instead." +":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` or :c:func:" +"`PyConfig_Get(\"isolated\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:114 msgid "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: " -"Use :c:member:`PyPreConfig.legacy_windows_fs_encoding` " -"or :c:func:`PyConfig_Get(\"legacy_windows_fs_encoding\") ` " -"instead." +":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use :c:member:`PyPreConfig." +"legacy_windows_fs_encoding` or :c:func:" +"`PyConfig_Get(\"legacy_windows_fs_encoding\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:117 msgid "" -":c:var:`Py_LegacyWindowsStdioFlag`: " -"Use :c:member:`PyConfig.legacy_windows_stdio` " -"or :c:func:`PyConfig_Get(\"legacy_windows_stdio\") ` instead." +":c:var:`Py_LegacyWindowsStdioFlag`: Use :c:member:`PyConfig." +"legacy_windows_stdio` or :c:func:`PyConfig_Get(\"legacy_windows_stdio\") " +"` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:120 msgid "" ":c:var:`!Py_FileSystemDefaultEncoding`, :c:var:`!" -"Py_HasFileSystemDefaultEncoding`: " -"Use :c:member:`PyConfig.filesystem_encoding` " -"or :c:func:`PyConfig_Get(\"filesystem_encoding\") ` instead." +"Py_HasFileSystemDefaultEncoding`: Use :c:member:`PyConfig." +"filesystem_encoding` or :c:func:`PyConfig_Get(\"filesystem_encoding\") " +"` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:123 msgid "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: " -"Use :c:member:`PyConfig.filesystem_errors` " -"or :c:func:`PyConfig_Get(\"filesystem_errors\") ` instead." +":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use :c:member:`PyConfig." +"filesystem_errors` or :c:func:`PyConfig_Get(\"filesystem_errors\") " +"` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:126 msgid "" -":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` " -"or :c:func:`PyConfig_Get(\"utf8_mode\") ` instead. " -"(see :c:func:`Py_PreInitialize`)" +":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` or :c:func:" +"`PyConfig_Get(\"utf8_mode\") ` instead. (see :c:func:" +"`Py_PreInitialize`)" msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:131 msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used " -"with :c:type:`PyConfig` to set these options. Or :c:func:`PyConfig_Get` can " -"be used to get these options at runtime." +"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" +"`PyConfig` to set these options. Or :c:func:`PyConfig_Get` can be used to " +"get these options at runtime." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.16.rst:4 @@ -5659,8 +5628,8 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:8 msgid "" -":c:func:`!_PyDict_GetItemStringWithError`: " -"use :c:func:`PyDict_GetItemStringRef`." +":c:func:`!_PyDict_GetItemStringWithError`: use :c:func:" +"`PyDict_GetItemStringRef`." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:9 @@ -5673,14 +5642,14 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:11 msgid "" -":c:func:`!_PyLong_FromDigits` and :c:func:`!_PyLong_New`: " -"use :c:func:`PyLongWriter_Create`." +":c:func:`!_PyLong_FromDigits` and :c:func:`!_PyLong_New`: use :c:func:" +"`PyLongWriter_Create`." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:13 msgid "" -":c:func:`!_PyThreadState_UncheckedGet`: " -"use :c:func:`PyThreadState_GetUnchecked`." +":c:func:`!_PyThreadState_UncheckedGet`: use :c:func:" +"`PyThreadState_GetUnchecked`." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:14 @@ -5696,55 +5665,51 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:18 msgid "" ":c:func:`!_PyUnicodeWriter_Finish`: replace " -"``_PyUnicodeWriter_Finish(&writer)`` " -"with :c:func:`PyUnicodeWriter_Finish(writer) `." +"``_PyUnicodeWriter_Finish(&writer)`` with :c:func:" +"`PyUnicodeWriter_Finish(writer) `." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:21 msgid "" ":c:func:`!_PyUnicodeWriter_Dealloc`: replace " -"``_PyUnicodeWriter_Dealloc(&writer)`` " -"with :c:func:`PyUnicodeWriter_Discard(writer) `." +"``_PyUnicodeWriter_Dealloc(&writer)`` with :c:func:" +"`PyUnicodeWriter_Discard(writer) `." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:24 msgid "" ":c:func:`!_PyUnicodeWriter_WriteChar`: replace " -"``_PyUnicodeWriter_WriteChar(&writer, ch)`` " -"with :c:func:`PyUnicodeWriter_WriteChar(writer, ch) " -"`." +"``_PyUnicodeWriter_WriteChar(&writer, ch)`` with :c:func:" +"`PyUnicodeWriter_WriteChar(writer, ch) `." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:27 msgid "" ":c:func:`!_PyUnicodeWriter_WriteStr`: replace " -"``_PyUnicodeWriter_WriteStr(&writer, str)`` " -"with :c:func:`PyUnicodeWriter_WriteStr(writer, str) " -"`." +"``_PyUnicodeWriter_WriteStr(&writer, str)`` with :c:func:" +"`PyUnicodeWriter_WriteStr(writer, str) `." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:30 msgid "" ":c:func:`!_PyUnicodeWriter_WriteSubstring`: replace " -"``_PyUnicodeWriter_WriteSubstring(&writer, str, start, end)`` " -"with :c:func:`PyUnicodeWriter_WriteSubstring(writer, str, start, end) " +"``_PyUnicodeWriter_WriteSubstring(&writer, str, start, end)`` with :c:func:" +"`PyUnicodeWriter_WriteSubstring(writer, str, start, end) " "`." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:33 msgid "" ":c:func:`!_PyUnicodeWriter_WriteASCIIString`: replace " -"``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` " -"with :c:func:`PyUnicodeWriter_WriteASCII(writer, str) " -"`." +"``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` with :c:func:" +"`PyUnicodeWriter_WriteASCII(writer, str) `." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:36 msgid "" ":c:func:`!_PyUnicodeWriter_WriteLatin1String`: replace " -"``_PyUnicodeWriter_WriteLatin1String(&writer, str)`` " -"with :c:func:`PyUnicodeWriter_WriteUTF8(writer, str) " -"`." +"``_PyUnicodeWriter_WriteLatin1String(&writer, str)`` with :c:func:" +"`PyUnicodeWriter_WriteUTF8(writer, str) `." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:39 @@ -5807,8 +5772,8 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-future.rst:19 msgid "" -":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` " -"and :c:func:`PySlice_AdjustIndices` instead." +":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and :c:func:" +"`PySlice_AdjustIndices` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-future.rst:21 @@ -5877,10 +5842,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:2570 msgid "" -"``aarch64-linux-android`` and ``x86_64-linux-android`` are both " -"now :pep:`11` tier 3 platforms. (:ref:`PEP 738 ` written and implementation contributed by Malcolm Smith " -"in :gh:`116622`.)" +"``aarch64-linux-android`` and ``x86_64-linux-android`` are both now :pep:" +"`11` tier 3 platforms. (:ref:`PEP 738 ` " +"written and implementation contributed by Malcolm Smith in :gh:`116622`.)" msgstr "" #: ../../whatsnew/3.13.rst:2575 @@ -5903,9 +5867,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:2584 msgid "" -"Autoconf 2.71 and aclocal 1.16.5 are now required to regenerate " -"the :file:`configure` script. (Contributed by Christian Heimes " -"in :gh:`89886` and by Victor Stinner in :gh:`112090`.)" +"Autoconf 2.71 and aclocal 1.16.5 are now required to regenerate the :file:" +"`configure` script. (Contributed by Christian Heimes in :gh:`89886` and by " +"Victor Stinner in :gh:`112090`.)" msgstr "" #: ../../whatsnew/3.13.rst:2588 @@ -5931,9 +5895,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:2604 msgid "" "Python built with :file:`configure` :option:`--with-trace-refs` (tracing " -"references) is now ABI compatible with the Python release build " -"and :ref:`debug build `. (Contributed by Victor Stinner " -"in :gh:`108634`.)" +"references) is now ABI compatible with the Python release build and :ref:" +"`debug build `. (Contributed by Victor Stinner in :gh:`108634`.)" msgstr "" #: ../../whatsnew/3.13.rst:2609 @@ -5946,11 +5909,11 @@ msgstr "" #: ../../whatsnew/3.13.rst:2613 msgid "" "The ``errno``, ``fcntl``, ``grp``, ``md5``, ``pwd``, ``resource``, " -"``termios``, ``winsound``, ``_ctypes_test``, " -"``_multiprocessing.posixshmem``, ``_scproxy``, ``_stat``, ``_statistics``, " -"``_testconsole``, ``_testimportmultiple`` and ``_uuid`` C extensions are now " -"built with the :ref:`limited C API `. (Contributed by Victor " -"Stinner in :gh:`85283`.)" +"``termios``, ``winsound``, ``_ctypes_test``, ``_multiprocessing." +"posixshmem``, ``_scproxy``, ``_stat``, ``_statistics``, ``_testconsole``, " +"``_testimportmultiple`` and ``_uuid`` C extensions are now built with the :" +"ref:`limited C API `. (Contributed by Victor Stinner in :gh:" +"`85283`.)" msgstr "" #: ../../whatsnew/3.13.rst:2622 @@ -6009,9 +5972,9 @@ msgstr "" #: ../../whatsnew/3.13.rst:2657 msgid "" ":class:`functools.partial` now emits a :exc:`FutureWarning` when used as a " -"method. The behavior will change in future Python versions. Wrap it " -"in :func:`staticmethod` if you want to preserve the old behavior. " -"(Contributed by Serhiy Storchaka in :gh:`121027`.)" +"method. The behavior will change in future Python versions. Wrap it in :func:" +"`staticmethod` if you want to preserve the old behavior. (Contributed by " +"Serhiy Storchaka in :gh:`121027`.)" msgstr "" #: ../../whatsnew/3.13.rst:2663 @@ -6067,8 +6030,8 @@ msgid "" "``Python.h`` no longer includes the ```` standard header. It was " "included for the :c:func:`!finite` function which is now provided by the " "```` header. It should now be included explicitly if needed. Remove " -"also the ``HAVE_IEEEFP_H`` macro. (Contributed by Victor Stinner " -"in :gh:`108765`.)" +"also the ``HAVE_IEEEFP_H`` macro. (Contributed by Victor Stinner in :gh:" +"`108765`.)" msgstr "" #: ../../whatsnew/3.13.rst:2702 @@ -6077,9 +6040,9 @@ msgid "" "```` and ````. If needed, they should now be " "included explicitly. For example, ```` provides the :c:func:`!clock` " "and :c:func:`!gmtime` functions, ```` provides the :c:func:`!" -"select` function, and ```` provides the :c:func:`!" -"futimes`, :c:func:`!gettimeofday` and :c:func:`!setitimer` functions. " -"(Contributed by Victor Stinner in :gh:`108765`.)" +"select` function, and ```` provides the :c:func:`!futimes`, :c:" +"func:`!gettimeofday` and :c:func:`!setitimer` functions. (Contributed by " +"Victor Stinner in :gh:`108765`.)" msgstr "" #: ../../whatsnew/3.13.rst:2710 @@ -6155,17 +6118,16 @@ msgstr "" #: ../../whatsnew/3.13.rst:2758 msgid "" -"The effects of mutating the dictionary returned " -"from :c:func:`PyEval_GetLocals` in an :term:`optimized scope` have changed. " -"New dict entries added this way will now *only* be visible to " -"subsequent :c:func:`PyEval_GetLocals` calls in that frame, " -"as :c:func:`PyFrame_GetLocals`, :func:`locals`, " -"and :attr:`FrameType.f_locals ` no longer access the same " -"underlying cached dictionary. Changes made to entries for actual variable " -"names and names added via the write-through proxy interfaces will be " -"overwritten on subsequent calls to :c:func:`PyEval_GetLocals` in that frame. " -"The recommended code update depends on how the function was being used, so " -"refer to the deprecation notice on the function for details." +"The effects of mutating the dictionary returned from :c:func:" +"`PyEval_GetLocals` in an :term:`optimized scope` have changed. New dict " +"entries added this way will now *only* be visible to subsequent :c:func:" +"`PyEval_GetLocals` calls in that frame, as :c:func:`PyFrame_GetLocals`, :" +"func:`locals`, and :attr:`FrameType.f_locals ` no longer " +"access the same underlying cached dictionary. Changes made to entries for " +"actual variable names and names added via the write-through proxy interfaces " +"will be overwritten on subsequent calls to :c:func:`PyEval_GetLocals` in " +"that frame. The recommended code update depends on how the function was " +"being used, so refer to the deprecation notice on the function for details." msgstr "" #: ../../whatsnew/3.13.rst:2771 @@ -6173,8 +6135,8 @@ msgid "" "Calling :c:func:`PyFrame_GetLocals` in an :term:`optimized scope` now " "returns a write-through proxy rather than a snapshot that gets updated at " "ill-specified times. If a snapshot is desired, it must be created explicitly " -"(e.g. with :c:func:`PyDict_Copy`), or by calling the " -"new :c:func:`PyEval_GetFrameLocals` API." +"(e.g. with :c:func:`PyDict_Copy`), or by calling the new :c:func:" +"`PyEval_GetFrameLocals` API." msgstr "" #: ../../whatsnew/3.13.rst:2778 @@ -6211,8 +6173,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:2793 msgid "" -"``_PyEval_SetTrace()``: :c:func:`PyEval_SetTrace` " -"or :c:func:`PyEval_SetTraceAllThreads`;" +"``_PyEval_SetTrace()``: :c:func:`PyEval_SetTrace` or :c:func:" +"`PyEval_SetTraceAllThreads`;" msgstr "" #: ../../whatsnew/3.13.rst:2794 @@ -6240,7 +6202,8 @@ msgid "``_PyObject_VisitManagedDict()``: :c:func:`PyObject_VisitManagedDict`;" msgstr "" #: ../../whatsnew/3.13.rst:2800 -msgid "``_PyThreadState_UncheckedGet()``: :c:func:`PyThreadState_GetUnchecked()`;" +msgid "" +"``_PyThreadState_UncheckedGet()``: :c:func:`PyThreadState_GetUnchecked()`;" msgstr "" #: ../../whatsnew/3.13.rst:2801 @@ -6249,20 +6212,20 @@ msgstr "" #: ../../whatsnew/3.13.rst:2802 msgid "" -"``_PyTime_GetMonotonicClock()``: :c:func:`PyTime_Monotonic` " -"or :c:func:`PyTime_MonotonicRaw`;" +"``_PyTime_GetMonotonicClock()``: :c:func:`PyTime_Monotonic` or :c:func:" +"`PyTime_MonotonicRaw`;" msgstr "" #: ../../whatsnew/3.13.rst:2803 msgid "" -"``_PyTime_GetPerfCounter()``: :c:func:`PyTime_PerfCounter` " -"or :c:func:`PyTime_PerfCounterRaw`;" +"``_PyTime_GetPerfCounter()``: :c:func:`PyTime_PerfCounter` or :c:func:" +"`PyTime_PerfCounterRaw`;" msgstr "" #: ../../whatsnew/3.13.rst:2804 msgid "" -"``_PyTime_GetSystemClock()``: :c:func:`PyTime_Time` " -"or :c:func:`PyTime_TimeRaw`;" +"``_PyTime_GetSystemClock()``: :c:func:`PyTime_Time` or :c:func:" +"`PyTime_TimeRaw`;" msgstr "" #: ../../whatsnew/3.13.rst:2805 @@ -6297,8 +6260,8 @@ msgstr "" #: ../../whatsnew/3.13.rst:2817 msgid "" -"Python built with :file:`configure` :option:`--with-pydebug` now supports " -"a :option:`-X presite=package.module <-X>` command-line option. If used, it " +"Python built with :file:`configure` :option:`--with-pydebug` now supports a :" +"option:`-X presite=package.module <-X>` command-line option. If used, it " "specifies a module that should be imported early in the lifecycle of the " "interpreter, before ``site.py`` is executed. (Contributed by Łukasz Langa " "in :gh:`110769`.)" diff --git a/whatsnew/3.14.po b/whatsnew/3.14.po index faa21ff3..f4025c74 100644 --- a/whatsnew/3.14.po +++ b/whatsnew/3.14.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-14 20:17+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Last-Translator: @sba72\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -35,8 +35,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:48 msgid "" "This article explains the new features in Python 3.14, compared to 3.13. " -"Python 3.14 was released on 7 October 2025. For full details, see " -"the :ref:`changelog `." +"Python 3.14 was released on 7 October 2025. For full details, see the :ref:" +"`changelog `." msgstr "" #: ../../whatsnew/3.14.rst:54 @@ -49,31 +49,31 @@ msgstr "Zusammenfassung - Release Höhepunkte" #: ../../whatsnew/3.14.rst:63 msgid "" -"Python 3.14 is the latest stable release of the Python programming language, " -"with a mix of changes to the language, the implementation, and the standard " +"Python 3.14 is a stable release of the Python programming language, with a " +"mix of changes to the language, the implementation, and the standard " "library. The biggest changes include :ref:`template string literals " "`, :ref:`deferred evaluation of " -"annotations `, and support " -"for :ref:`subinterpreters ` in the " -"standard library." +"annotations `, and support for :ref:" +"`subinterpreters ` in the standard " +"library." msgstr "" #: ../../whatsnew/3.14.rst:72 msgid "" -"The library changes include significantly improved capabilities " -"for :ref:`introspection in asyncio `, :ref:`support for Zstandard ` via a " -"new :mod:`compression.zstd` module, syntax highlighting in the REPL, as well " -"as the usual deprecations and removals, and improvements in user-" -"friendliness and correctness." +"The library changes include significantly improved capabilities for :ref:" +"`introspection in asyncio `, :ref:" +"`support for Zstandard ` via a new :mod:`compression." +"zstd` module, syntax highlighting in the REPL, as well as the usual " +"deprecations and removals, and improvements in user-friendliness and " +"correctness." msgstr "" #: ../../whatsnew/3.14.rst:79 msgid "" "This article doesn't attempt to provide a complete specification of all new " "features, but instead gives a convenient overview. For full details refer to " -"the documentation, such as the :ref:`Library Reference ` " -"and :ref:`Language Reference `. To understand the complete " +"the documentation, such as the :ref:`Library Reference ` and :" +"ref:`Language Reference `. To understand the complete " "implementation and design rationale for a change, refer to the PEP for a " "particular new feature; but note that PEPs usually are not kept up-to-date " "once a feature has been fully implemented. See `Porting to Python 3.14`_ for " @@ -234,13 +234,12 @@ msgstr "" #: ../../whatsnew/3.14.rst:162 msgid "" "The new :mod:`annotationlib` module provides tools for inspecting deferred " -"annotations. Annotations may be evaluated in " -"the :attr:`~annotationlib.Format.VALUE` format (which evaluates annotations " -"to runtime values, similar to the behavior in earlier Python versions), " -"the :attr:`~annotationlib.Format.FORWARDREF` format (which replaces " -"undefined names with special markers), and " -"the :attr:`~annotationlib.Format.STRING` format (which returns annotations " -"as strings)." +"annotations. Annotations may be evaluated in the :attr:`~annotationlib." +"Format.VALUE` format (which evaluates annotations to runtime values, similar " +"to the behavior in earlier Python versions), the :attr:`~annotationlib." +"Format.FORWARDREF` format (which replaces undefined names with special " +"markers), and the :attr:`~annotationlib.Format.STRING` format (which returns " +"annotations as strings)." msgstr "" #: ../../whatsnew/3.14.rst:169 @@ -305,8 +304,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:211 msgid "" -"That limitation is removed in Python 3.14, with the " -"new :mod:`concurrent.interpreters` module." +"That limitation is removed in Python 3.14, with the new :mod:`concurrent." +"interpreters` module." msgstr "" #: ../../whatsnew/3.14.rst:214 @@ -328,8 +327,8 @@ msgid "" "For some use cases, concurrency in software improves efficiency and can " "simplify design, at a high level. At the same time, implementing and " "maintaining all but the simplest concurrency is often a struggle for the " -"human brain. That especially applies to plain threads (for " -"example, :mod:`threading`), where all memory is shared between all threads." +"human brain. That especially applies to plain threads (for example, :mod:" +"`threading`), where all memory is shared between all threads." msgstr "" #: ../../whatsnew/3.14.rst:227 @@ -344,20 +343,20 @@ msgstr "" #: ../../whatsnew/3.14.rst:234 msgid "" "Regarding multi-core parallelism: as of Python 3.12, interpreters are now " -"sufficiently isolated from one another to be used in parallel " -"(see :pep:`684`). This unlocks a variety of CPU-intensive use cases for " -"Python that were limited by the :term:`GIL`." +"sufficiently isolated from one another to be used in parallel (see :pep:" +"`684`). This unlocks a variety of CPU-intensive use cases for Python that " +"were limited by the :term:`GIL`." msgstr "" #: ../../whatsnew/3.14.rst:239 msgid "" -"Using multiple interpreters is similar in many ways " -"to :mod:`multiprocessing`, in that they both provide isolated logical " -"\"processes\" that can run in parallel, with no sharing by default. However, " -"when using multiple interpreters, an application will use fewer system " -"resources and will operate more efficiently (since it stays within the same " -"process). Think of multiple interpreters as having the isolation of " -"processes with the efficiency of threads." +"Using multiple interpreters is similar in many ways to :mod:" +"`multiprocessing`, in that they both provide isolated logical \"processes\" " +"that can run in parallel, with no sharing by default. However, when using " +"multiple interpreters, an application will use fewer system resources and " +"will operate more efficiently (since it stays within the same process). " +"Think of multiple interpreters as having the isolation of processes with the " +"efficiency of threads." msgstr "" #: ../../whatsnew/3.14.rst:250 @@ -416,9 +415,9 @@ msgid "" "provide utilities that are less appropriate on PyPI. In the meantime, most " "of the limitations can also be addressed through extension modules, meaning " "PyPI packages can fill any gap for 3.14, and even back to 3.12 where " -"interpreters were finally properly isolated and stopped sharing " -"the :term:`GIL`. Likewise, libraries on PyPI are expected to emerge for high-" -"level abstractions on top of interpreters." +"interpreters were finally properly isolated and stopped sharing the :term:" +"`GIL`. Likewise, libraries on PyPI are expected to emerge for high-level " +"abstractions on top of interpreters." msgstr "" #: ../../whatsnew/3.14.rst:282 @@ -487,8 +486,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:332 msgid "" "It's easy to write (or call) code to process :class:`!Template` instances. " -"For example, here's a function that renders static parts lowercase " -"and :class:`~string.templatelib.Interpolation` instances uppercase:" +"For example, here's a function that renders static parts lowercase and :" +"class:`~string.templatelib.Interpolation` instances uppercase:" msgstr "" #: ../../whatsnew/3.14.rst:336 @@ -578,8 +577,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:401 msgid "" -"For convenience, this interface is implemented in " -"the :func:`sys.remote_exec` function. For example:" +"For convenience, this interface is implemented in the :func:`sys." +"remote_exec` function. For example:" msgstr "" #: ../../whatsnew/3.14.rst:404 @@ -708,29 +707,29 @@ msgid "" "build of CPython on Windows, the preprocessor variable ``Py_GIL_DISABLED`` " "now needs to be specified by the build backend, as it will no longer be " "determined automatically by the C compiler. For a running interpreter, the " -"setting that was used at compile time can be found " -"using :func:`sysconfig.get_config_var`." +"setting that was used at compile time can be found using :func:`sysconfig." +"get_config_var`." msgstr "" #: ../../whatsnew/3.14.rst:498 msgid "" -"The new :option:`-X context_aware_warnings <-X>` flag controls " -"if :ref:`concurrent safe warnings control ` is enabled. The flag defaults to true for the free-threaded build " -"and false for the GIL-enabled build." +"The new :option:`-X context_aware_warnings <-X>` flag controls if :ref:" +"`concurrent safe warnings control ` " +"is enabled. The flag defaults to true for the free-threaded build and false " +"for the GIL-enabled build." msgstr "" #: ../../whatsnew/3.14.rst:503 msgid "" "A new :data:`~sys.flags.thread_inherit_context` flag has been added, which " "if enabled means that threads created with :class:`threading.Thread` start " -"with a copy of the :class:`~contextvars.Context()` of the caller " -"of :meth:`~threading.Thread.start`. Most significantly, this makes the " -"warning filtering context established by :class:`~warnings.catch_warnings` " -"be \"inherited\" by threads (or asyncio tasks) started within that context. " -"It also affects other modules that use context variables, such as " -"the :mod:`decimal` context manager. This flag defaults to true for the free-" -"threaded build and false for the GIL-enabled build." +"with a copy of the :class:`~contextvars.Context()` of the caller of :meth:" +"`~threading.Thread.start`. Most significantly, this makes the warning " +"filtering context established by :class:`~warnings.catch_warnings` be " +"\"inherited\" by threads (or asyncio tasks) started within that context. It " +"also affects other modules that use context variables, such as the :mod:" +"`decimal` context manager. This flag defaults to true for the free-threaded " +"build and false for the GIL-enabled build." msgstr "" #: ../../whatsnew/3.14.rst:514 @@ -798,9 +797,9 @@ msgstr "" msgid "" "If a statement is passed to the :ref:`if_expr` after :keyword:`else`, or one " "of :keyword:`pass`, :keyword:`break`, or :keyword:`continue` is passed " -"before :keyword:`if`, then the error message highlights where " -"the :token:`~python-grammar:expression` is required. (Contributed by Sergey " -"Miryanov in :gh:`129515`.)" +"before :keyword:`if`, then the error message highlights where the :token:" +"`~python-grammar:expression` is required. (Contributed by Sergey Miryanov " +"in :gh:`129515`.)" msgstr "" #: ../../whatsnew/3.14.rst:570 @@ -871,8 +870,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:615 msgid "" -"(Contributed by Nikita Sobolev in :gh:`123539`, :gh:`123562`, " -"and :gh:`123440`.)" +"(Contributed by Nikita Sobolev in :gh:`123539`, :gh:`123562`, and :gh:" +"`123440`.)" msgstr "" #: ../../whatsnew/3.14.rst:617 @@ -904,9 +903,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:639 msgid "" "Improved error message when an object supporting the synchronous context " -"manager protocol is entered using :keyword:`async with` instead " -"of :keyword:`with`, and vice versa for the asynchronous context manager " -"protocol. (Contributed by Bénédikt Tran in :gh:`128398`.)" +"manager protocol is entered using :keyword:`async with` instead of :keyword:" +"`with`, and vice versa for the asynchronous context manager protocol. " +"(Contributed by Bénédikt Tran in :gh:`128398`.)" msgstr "" #: ../../whatsnew/3.14.rst:649 @@ -915,15 +914,14 @@ msgstr "" #: ../../whatsnew/3.14.rst:651 msgid "" -"The new :mod:`compression` package contains modules :mod:`!" -"compression.lzma`, :mod:`!compression.bz2`, :mod:`!compression.gzip` " -"and :mod:`!compression.zlib` which re-export " -"the :mod:`lzma`, :mod:`bz2`, :mod:`gzip` and :mod:`zlib` modules " -"respectively. The new import names under :mod:`!compression` are the " -"preferred names for importing these compression modules from Python 3.14. " -"However, the existing modules names have not been deprecated. Any " -"deprecation or removal of the existing compression modules will occur no " -"sooner than five years after the release of 3.14." +"The new :mod:`compression` package contains modules :mod:`!compression." +"lzma`, :mod:`!compression.bz2`, :mod:`!compression.gzip` and :mod:`!" +"compression.zlib` which re-export the :mod:`lzma`, :mod:`bz2`, :mod:`gzip` " +"and :mod:`zlib` modules respectively. The new import names under :mod:`!" +"compression` are the preferred names for importing these compression modules " +"from Python 3.14. However, the existing modules names have not been " +"deprecated. Any deprecation or removal of the existing compression modules " +"will occur no sooner than five years after the release of 3.14." msgstr "" #: ../../whatsnew/3.14.rst:660 @@ -933,8 +931,8 @@ msgid "" "library `__. Zstandard is a widely " "adopted, highly efficient, and fast compression format. In addition to the " "APIs introduced in :mod:`!compression.zstd`, support for reading and writing " -"Zstandard compressed archives has been added to " -"the :mod:`tarfile`, :mod:`zipfile`, and :mod:`shutil` modules." +"Zstandard compressed archives has been added to the :mod:`tarfile`, :mod:" +"`zipfile`, and :mod:`shutil` modules." msgstr "" #: ../../whatsnew/3.14.rst:668 @@ -954,8 +952,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:680 msgid "" -"As can be seen, the API is similar to the APIs of the :mod:`!lzma` " -"and :mod:`!bz2` modules." +"As can be seen, the API is similar to the APIs of the :mod:`!lzma` and :mod:" +"`!bz2` modules." msgstr "" #: ../../whatsnew/3.14.rst:683 @@ -975,8 +973,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:694 msgid "" "Added a new command-line interface to inspect running Python processes using " -"asynchronous tasks, available via ``python -m asyncio ps PID`` or ``python " -"-m asyncio pstree PID``." +"asynchronous tasks, available via ``python -m asyncio ps PID`` or ``python -" +"m asyncio pstree PID``." msgstr "" #: ../../whatsnew/3.14.rst:698 @@ -1051,17 +1049,17 @@ msgid "" "TaskGroup.__aexit__ -> album TaskGroup._aexit -> TaskGroup.__aexit__ -> " "main Task-1 0x7fc930c18050\n" "1935500 0x7fc93173fdf0 TNDNBTG sleep -> " -"play TaskGroup._aexit -> " -"TaskGroup.__aexit__ -> album Sundowning 0x7fc930c18230\n" +"play TaskGroup._aexit -> TaskGroup." +"__aexit__ -> album Sundowning 0x7fc930c18230\n" "1935500 0x7fc930d32510 Levitate sleep -> " -"play TaskGroup._aexit -> " -"TaskGroup.__aexit__ -> album Sundowning 0x7fc930c18230\n" +"play TaskGroup._aexit -> TaskGroup." +"__aexit__ -> album Sundowning 0x7fc930c18230\n" "1935500 0x7fc930d32890 DYWTYLM sleep -> " -"play TaskGroup._aexit -> " -"TaskGroup.__aexit__ -> album TMBTE 0x7fc93173fa50\n" +"play TaskGroup._aexit -> TaskGroup." +"__aexit__ -> album TMBTE 0x7fc93173fa50\n" "1935500 0x7fc93161ec30 Aqua Regia sleep -> " -"play TaskGroup._aexit -> " -"TaskGroup.__aexit__ -> album TMBTE 0x7fc93173fa50" +"play TaskGroup._aexit -> TaskGroup." +"__aexit__ -> album TMBTE 0x7fc93173fa50" msgstr "" #: ../../whatsnew/3.14.rst:754 @@ -1078,10 +1076,10 @@ msgid "" " └── TaskGroup._aexit Lib/asyncio/taskgroups.py:121\n" " ├── (T) Sundowning\n" " │ └── album example.py:8\n" -" │ └── TaskGroup.__aexit__ Lib/asyncio/" -"taskgroups.py:72\n" -" │ └── TaskGroup._aexit Lib/asyncio/" -"taskgroups.py:121\n" +" │ └── TaskGroup.__aexit__ Lib/asyncio/taskgroups." +"py:72\n" +" │ └── TaskGroup._aexit Lib/asyncio/taskgroups." +"py:121\n" " │ ├── (T) TNDNBTG\n" " │ │ └── play example.py:4\n" " │ │ └── sleep Lib/asyncio/tasks.py:702\n" @@ -1090,10 +1088,10 @@ msgid "" " │ └── sleep Lib/asyncio/tasks.py:702\n" " └── (T) TMBTE\n" " └── album example.py:8\n" -" └── TaskGroup.__aexit__ Lib/asyncio/" -"taskgroups.py:72\n" -" └── TaskGroup._aexit Lib/asyncio/" -"taskgroups.py:121\n" +" └── TaskGroup.__aexit__ Lib/asyncio/taskgroups." +"py:72\n" +" └── TaskGroup._aexit Lib/asyncio/taskgroups." +"py:121\n" " ├── (T) DYWTYLM\n" " │ └── play example.py:4\n" " │ └── sleep Lib/asyncio/tasks.py:702\n" @@ -1131,12 +1129,12 @@ msgstr "" #: ../../whatsnew/3.14.rst:806 msgid "" "The :class:`warnings.catch_warnings` context manager will now optionally use " -"a context variable for warning filters. This is enabled by setting " -"the :data:`~sys.flags.context_aware_warnings` flag, either with the ``-X`` " -"command-line option or an environment variable. This gives predictable " -"warnings control when using :class:`~warnings.catch_warnings` combined with " -"multiple threads or asynchronous tasks. The flag defaults to true for the " -"free-threaded build and false for the GIL-enabled build." +"a context variable for warning filters. This is enabled by setting the :data:" +"`~sys.flags.context_aware_warnings` flag, either with the ``-X`` command-" +"line option or an environment variable. This gives predictable warnings " +"control when using :class:`~warnings.catch_warnings` combined with multiple " +"threads or asynchronous tasks. The flag defaults to true for the free-" +"threaded build and false for the GIL-enabled build." msgstr "" #: ../../whatsnew/3.14.rst:814 @@ -1162,13 +1160,13 @@ msgstr "" #: ../../whatsnew/3.14.rst:827 msgid "" -"More syntax errors are now detected regardless of optimisation and " -"the :option:`-O` command-line option. This includes writes to ``__debug__``, " +"More syntax errors are now detected regardless of optimisation and the :" +"option:`-O` command-line option. This includes writes to ``__debug__``, " "incorrect use of :keyword:`await`, and asynchronous comprehensions outside " "asynchronous functions. For example, ``python -O -c 'assert (__debug__ := " "1)'`` or ``python -O -c 'assert await 1'`` now produce :exc:`SyntaxError`\\ " -"s. (Contributed by Irit Katriel and Jelle Zijlstra in :gh:`122245` " -"& :gh:`121637`.)" +"s. (Contributed by Irit Katriel and Jelle Zijlstra in :gh:`122245` & :gh:" +"`121637`.)" msgstr "" #: ../../whatsnew/3.14.rst:835 @@ -1222,15 +1220,15 @@ msgstr "" #: ../../whatsnew/3.14.rst:867 msgid "" -"The :class:`memoryview` type now supports subscription, making it " -"a :term:`generic type`. (Contributed by Brian Schubert in :gh:`126012`.)" +"The :class:`memoryview` type now supports subscription, making it a :term:" +"`generic type`. (Contributed by Brian Schubert in :gh:`126012`.)" msgstr "" #: ../../whatsnew/3.14.rst:871 msgid "" -"Using :data:`NotImplemented` in a boolean context will now raise " -"a :exc:`TypeError`. This has raised a :exc:`DeprecationWarning` since Python " -"3.9. (Contributed by Jelle Zijlstra in :gh:`118767`.)" +"Using :data:`NotImplemented` in a boolean context will now raise a :exc:" +"`TypeError`. This has raised a :exc:`DeprecationWarning` since Python 3.9. " +"(Contributed by Jelle Zijlstra in :gh:`118767`.)" msgstr "" #: ../../whatsnew/3.14.rst:876 @@ -1270,8 +1268,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:899 msgid "" "The command-line option :option:`-c` now automatically dedents its code " -"argument before execution. (Contributed by Jon Crall and Steven Sun " -"in :gh:`103998`.)" +"argument before execution. (Contributed by Jon Crall and Steven Sun in :gh:" +"`103998`.)" msgstr "" #: ../../whatsnew/3.14.rst:903 @@ -1301,8 +1299,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:927 msgid "" -"(Contributed by Pablo Galindo and Brett Cannon in :pep:`758` " -"and :gh:`131831`.)" +"(Contributed by Pablo Galindo and Brett Cannon in :pep:`758` and :gh:" +"`131831`.)" msgstr "" #: ../../whatsnew/3.14.rst:933 @@ -1311,10 +1309,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:935 msgid "" -"The compiler now emits a :exc:`SyntaxWarning` when " -"a :keyword:`return`, :keyword:`break`, or :keyword:`continue` statement have " -"the effect of leaving a :keyword:`finally` block. This change is specified " -"in :pep:`765`." +"The compiler now emits a :exc:`SyntaxWarning` when a :keyword:`return`, :" +"keyword:`break`, or :keyword:`continue` statement have the effect of leaving " +"a :keyword:`finally` block. This change is specified in :pep:`765`." msgstr "" #: ../../whatsnew/3.14.rst:940 @@ -1414,9 +1411,9 @@ msgid "" "The default color theme for syntax highlighting strives for good contrast " "and exclusively uses the 4-bit VGA standard ANSI color codes for maximum " "compatibility. The theme can be customized using an experimental API :func:`!" -"_colorize.set_theme`. This can be called interactively or in " -"the :envvar:`PYTHONSTARTUP` script. Note that this function has no stability " -"guarantees, and may change or be removed." +"_colorize.set_theme`. This can be called interactively or in the :envvar:" +"`PYTHONSTARTUP` script. Note that this function has no stability guarantees, " +"and may change or be removed." msgstr "" #: ../../whatsnew/3.14.rst:1012 @@ -1479,18 +1476,18 @@ msgstr "argparse" #: ../../whatsnew/3.14.rst:1056 msgid "" -"The default value of the :ref:`program name ` " -"for :class:`argparse.ArgumentParser` now reflects the way the Python " -"interpreter was instructed to find the ``__main__`` module code. " -"(Contributed by Serhiy Storchaka and Alyssa Coghlan in :gh:`66436`.)" +"The default value of the :ref:`program name ` for :class:`argparse." +"ArgumentParser` now reflects the way the Python interpreter was instructed " +"to find the ``__main__`` module code. (Contributed by Serhiy Storchaka and " +"Alyssa Coghlan in :gh:`66436`.)" msgstr "" #: ../../whatsnew/3.14.rst:1061 msgid "" -"Introduced the optional *suggest_on_error* parameter " -"to :class:`argparse.ArgumentParser`, enabling suggestions for argument " -"choices and subparser names if mistyped by the user. (Contributed by " -"Savannah Ostrowski in :gh:`124456`.)" +"Introduced the optional *suggest_on_error* parameter to :class:`argparse." +"ArgumentParser`, enabling suggestions for argument choices and subparser " +"names if mistyped by the user. (Contributed by Savannah Ostrowski in :gh:" +"`124456`.)" msgstr "" #: ../../whatsnew/3.14.rst:1066 @@ -1539,9 +1536,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:1092 msgid "" "Add new options to the command-line interface: :option:`--feature-version " -"`, :option:`--optimize `, " -"and :option:`--show-empty `. (Contributed by Semyon Moroz " -"in :gh:`133367`.)" +"`, :option:`--optimize `, and :option:" +"`--show-empty `. (Contributed by Semyon Moroz in :gh:" +"`133367`.)" msgstr "" #: ../../whatsnew/3.14.rst:1100 ../../whatsnew/3.14.rst:2181 @@ -1552,18 +1549,18 @@ msgstr "asyncio" #: ../../whatsnew/3.14.rst:1102 msgid "" "The function and methods named :func:`!create_task` now take an arbitrary " -"list of keyword arguments. All keyword arguments are passed to " -"the :class:`~asyncio.Task` constructor or the custom task factory. " -"(See :meth:`~asyncio.loop.set_task_factory` for details.) The ``name`` and " -"``context`` keyword arguments are no longer special; the name should now be " -"set using the ``name`` keyword argument of the factory, and ``context`` may " -"be ``None``." +"list of keyword arguments. All keyword arguments are passed to the :class:" +"`~asyncio.Task` constructor or the custom task factory. (See :meth:`~asyncio." +"loop.set_task_factory` for details.) The ``name`` and ``context`` keyword " +"arguments are no longer special; the name should now be set using the " +"``name`` keyword argument of the factory, and ``context`` may be ``None``." msgstr "" #: ../../whatsnew/3.14.rst:1110 msgid "" -"This affects the following function and " -"methods: :meth:`asyncio.create_task`, :meth:`asyncio.loop.create_task`, :meth:`asyncio.TaskGroup.create_task`." +"This affects the following function and methods: :meth:`asyncio." +"create_task`, :meth:`asyncio.loop.create_task`, :meth:`asyncio.TaskGroup." +"create_task`." msgstr "" #: ../../whatsnew/3.14.rst:1115 @@ -1573,11 +1570,10 @@ msgstr "" #: ../../whatsnew/3.14.rst:1117 msgid "" "There are two new utility functions for introspecting and printing a " -"program's call graph: :func:`~asyncio.capture_call_graph` " -"and :func:`~asyncio.print_call_graph`. See :ref:`Asyncio introspection " -"capabilities ` for more details. " -"(Contributed by Yury Selivanov, Pablo Galindo Salgado, and Łukasz Langa " -"in :gh:`91048`.)" +"program's call graph: :func:`~asyncio.capture_call_graph` and :func:" +"`~asyncio.print_call_graph`. See :ref:`Asyncio introspection capabilities " +"` for more details. (Contributed by Yury " +"Selivanov, Pablo Galindo Salgado, and Łukasz Langa in :gh:`91048`.)" msgstr "" #: ../../whatsnew/3.14.rst:1127 @@ -1586,10 +1582,10 @@ msgstr "Kalender" #: ../../whatsnew/3.14.rst:1131 msgid "" -"By default, today's date is highlighted in color " -"in :mod:`calendar`'s :ref:`command-line ` text output. This " -"can be controlled by :ref:`environment variables `. (Contributed by Hugo van Kemenade in :gh:`128317`.)" +"By default, today's date is highlighted in color in :mod:`calendar`'s :ref:" +"`command-line ` text output. This can be controlled by :ref:" +"`environment variables `. (Contributed by Hugo " +"van Kemenade in :gh:`128317`.)" msgstr "" #: ../../whatsnew/3.14.rst:1139 @@ -1598,11 +1594,10 @@ msgstr "concurrent.futures" #: ../../whatsnew/3.14.rst:1143 msgid "" -"Add a new executor " -"class, :class:`~concurrent.futures.InterpreterPoolExecutor`, which exposes " -"multiple Python interpreters in the same process ('subinterpreters') to " -"Python code. This uses a pool of independent Python interpreters to execute " -"calls asynchronously." +"Add a new executor class, :class:`~concurrent.futures." +"InterpreterPoolExecutor`, which exposes multiple Python interpreters in the " +"same process ('subinterpreters') to Python code. This uses a pool of " +"independent Python interpreters to execute calls asynchronously." msgstr "" #: ../../whatsnew/3.14.rst:1149 @@ -1616,18 +1611,17 @@ msgstr "" msgid "" "On Unix platforms other than macOS, :ref:`'forkserver' ` is now the default :ref:`start method " -"` " -"for :class:`~concurrent.futures.ProcessPoolExecutor` (replacing :ref:`'fork' " -"`). This change does not affect Windows " -"or macOS, where :ref:`'spawn' ` remains " -"the default start method." +"` for :class:`~concurrent.futures." +"ProcessPoolExecutor` (replacing :ref:`'fork' `). This change does not affect Windows or macOS, where :ref:`'spawn' " +"` remains the default start method." msgstr "" #: ../../whatsnew/3.14.rst:1163 msgid "" "If the threading incompatible *fork* method is required, you must explicitly " -"request it by supplying a multiprocessing context *mp_context* " -"to :class:`~concurrent.futures.ProcessPoolExecutor`." +"request it by supplying a multiprocessing context *mp_context* to :class:" +"`~concurrent.futures.ProcessPoolExecutor`." msgstr "" #: ../../whatsnew/3.14.rst:1167 ../../whatsnew/3.14.rst:1617 @@ -1644,20 +1638,20 @@ msgstr "" #: ../../whatsnew/3.14.rst:1174 msgid "" -"Add two new methods " -"to :class:`~concurrent.futures.ProcessPoolExecutor`, :meth:`~concurrent.futures.ProcessPoolExecutor.terminate_workers` " -"and :meth:`~concurrent.futures.ProcessPoolExecutor.kill_workers`, as ways to " -"terminate or kill all living worker processes in the given pool. " -"(Contributed by Charles Machalow in :gh:`130849`.)" +"Add two new methods to :class:`~concurrent.futures.ProcessPoolExecutor`, :" +"meth:`~concurrent.futures.ProcessPoolExecutor.terminate_workers` and :meth:" +"`~concurrent.futures.ProcessPoolExecutor.kill_workers`, as ways to terminate " +"or kill all living worker processes in the given pool. (Contributed by " +"Charles Machalow in :gh:`130849`.)" msgstr "" #: ../../whatsnew/3.14.rst:1180 msgid "" -"Add the optional *buffersize* parameter to :meth:`Executor.map " -"` to limit the number of submitted tasks " -"whose results have not yet been yielded. If the buffer is full, iteration " -"over the *iterables* pauses until a result is yielded from the buffer. " -"(Contributed by Enzo Bonnal and Josh Rosenberg in :gh:`74028`.)" +"Add the optional *buffersize* parameter to :meth:`Executor.map ` to limit the number of submitted tasks whose results " +"have not yet been yielded. If the buffer is full, iteration over the " +"*iterables* pauses until a result is yielded from the buffer. (Contributed " +"by Enzo Bonnal and Josh Rosenberg in :gh:`74028`.)" msgstr "" #: ../../whatsnew/3.14.rst:1189 @@ -1689,10 +1683,10 @@ msgstr "ctypes" #: ../../whatsnew/3.14.rst:1210 msgid "" -"The layout of :ref:`bit fields ` " -"in :class:`~ctypes.Structure` and :class:`~ctypes.Union` objects is now a " -"closer match to platform defaults (GCC/Clang or MSVC). In particular, fields " -"no longer overlap. (Contributed by Matthias Görgens in :gh:`97702`.)" +"The layout of :ref:`bit fields ` in :" +"class:`~ctypes.Structure` and :class:`~ctypes.Union` objects is now a closer " +"match to platform defaults (GCC/Clang or MSVC). In particular, fields no " +"longer overlap. (Contributed by Matthias Görgens in :gh:`97702`.)" msgstr "" #: ../../whatsnew/3.14.rst:1216 @@ -1723,21 +1717,20 @@ msgstr "" #: ../../whatsnew/3.14.rst:1231 msgid "" -"Add :func:`~ctypes.memoryview_at`, a function to create " -"a :class:`memoryview` object that refers to the supplied pointer and length. " -"This works like :func:`ctypes.string_at` except it avoids a buffer copy, and " -"is typically useful when implementing pure Python callback functions that " -"are passed dynamically-sized buffers. (Contributed by Rian Hunter " -"in :gh:`112018`.)" +"Add :func:`~ctypes.memoryview_at`, a function to create a :class:" +"`memoryview` object that refers to the supplied pointer and length. This " +"works like :func:`ctypes.string_at` except it avoids a buffer copy, and is " +"typically useful when implementing pure Python callback functions that are " +"passed dynamically-sized buffers. (Contributed by Rian Hunter in :gh:" +"`112018`.)" msgstr "" #: ../../whatsnew/3.14.rst:1238 msgid "" -"Complex " -"types, :class:`~ctypes.c_float_complex`, :class:`~ctypes.c_double_complex`, " -"and :class:`~ctypes.c_longdouble_complex`, are now available if both the " -"compiler and the ``libffi`` library support complex C types. (Contributed by " -"Sergey B Kirpichev in :gh:`61103`.)" +"Complex types, :class:`~ctypes.c_float_complex`, :class:`~ctypes." +"c_double_complex`, and :class:`~ctypes.c_longdouble_complex`, are now " +"available if both the compiler and the ``libffi`` library support complex C " +"types. (Contributed by Sergey B Kirpichev in :gh:`61103`.)" msgstr "" #: ../../whatsnew/3.14.rst:1244 @@ -1749,16 +1742,16 @@ msgstr "" #: ../../whatsnew/3.14.rst:1248 msgid "" "Move :func:`ctypes.POINTER` types cache from a global internal cache " -"(``_pointer_type_cache``) to the :attr:`_CData.__pointer_type__ " -"` attribute of the corresponding :mod:`!" -"ctypes` types. This will stop the cache from growing without limits in some " +"(``_pointer_type_cache``) to the :attr:`_CData.__pointer_type__ ` attribute of the corresponding :mod:`!ctypes` " +"types. This will stop the cache from growing without limits in some " "situations. (Contributed by Sergey Miryanov in :gh:`100926`.)" msgstr "" #: ../../whatsnew/3.14.rst:1255 msgid "" -"The :class:`~ctypes.py_object` type now supports subscription, making it " -"a :term:`generic type`. (Contributed by Brian Schubert in :gh:`132168`.)" +"The :class:`~ctypes.py_object` type now supports subscription, making it a :" +"term:`generic type`. (Contributed by Brian Schubert in :gh:`132168`.)" msgstr "" #: ../../whatsnew/3.14.rst:1259 @@ -1773,9 +1766,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:1266 msgid "" -"Add the :func:`~curses.assume_default_colors` function, a refinement of " -"the :func:`~curses.use_default_colors` function which allows changing the " -"color pair ``0``. (Contributed by Serhiy Storchaka in :gh:`133139`.)" +"Add the :func:`~curses.assume_default_colors` function, a refinement of the :" +"func:`~curses.use_default_colors` function which allows changing the color " +"pair ``0``. (Contributed by Serhiy Storchaka in :gh:`133139`.)" msgstr "" #: ../../whatsnew/3.14.rst:1273 @@ -1785,8 +1778,8 @@ msgstr "datetime" #: ../../whatsnew/3.14.rst:1275 msgid "" "Add the :meth:`~datetime.date.strptime` method to the :class:`datetime.date` " -"and :class:`datetime.time` classes. (Contributed by Wannes Boeykens " -"in :gh:`41431`.)" +"and :class:`datetime.time` classes. (Contributed by Wannes Boeykens in :gh:" +"`41431`.)" msgstr "" #: ../../whatsnew/3.14.rst:1281 @@ -1795,9 +1788,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:1283 msgid "" -"Add :meth:`.Decimal.from_number` as an alternative constructor " -"for :class:`~decimal.Decimal`. (Contributed by Serhiy Storchaka " -"in :gh:`121798`.)" +"Add :meth:`.Decimal.from_number` as an alternative constructor for :class:" +"`~decimal.Decimal`. (Contributed by Serhiy Storchaka in :gh:`121798`.)" msgstr "" #: ../../whatsnew/3.14.rst:1287 @@ -1813,9 +1805,9 @@ msgstr "difflib" #: ../../whatsnew/3.14.rst:1295 msgid "" -"Comparison pages with highlighted changes generated by " -"the :class:`~difflib.HtmlDiff` class now support 'dark mode'. (Contributed " -"by Jiahao Li in :gh:`129939`.)" +"Comparison pages with highlighted changes generated by the :class:`~difflib." +"HtmlDiff` class now support 'dark mode'. (Contributed by Jiahao Li in :gh:" +"`129939`.)" msgstr "" #: ../../whatsnew/3.14.rst:1301 @@ -1824,10 +1816,10 @@ msgstr "dis" #: ../../whatsnew/3.14.rst:1303 msgid "" -"Add support for rendering full source location information " -"of :class:`instructions `, rather than only the line " -"number. This feature is added to the following interfaces via the " -"*show_positions* keyword argument:" +"Add support for rendering full source location information of :class:" +"`instructions `, rather than only the line number. This " +"feature is added to the following interfaces via the *show_positions* " +"keyword argument:" msgstr "" #: ../../whatsnew/3.14.rst:1308 @@ -1903,9 +1895,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:1353 msgid "" -"Add :meth:`.Fraction.from_number` as an alternative constructor " -"for :class:`~fractions.Fraction`. (Contributed by Serhiy Storchaka " -"in :gh:`121797`.)" +"Add :meth:`.Fraction.from_number` as an alternative constructor for :class:" +"`~fractions.Fraction`. (Contributed by Serhiy Storchaka in :gh:`121797`.)" msgstr "" #: ../../whatsnew/3.14.rst:1359 @@ -1914,11 +1905,11 @@ msgstr "functools" #: ../../whatsnew/3.14.rst:1361 msgid "" -"Add the :data:`~functools.Placeholder` sentinel. This may be used with " -"the :func:`~functools.partial` or :func:`~functools.partialmethod` functions " -"to reserve a place for positional arguments in the returned :ref:`partial " -"object `. (Contributed by Dominykas Grigonis " -"in :gh:`119127`.)" +"Add the :data:`~functools.Placeholder` sentinel. This may be used with the :" +"func:`~functools.partial` or :func:`~functools.partialmethod` functions to " +"reserve a place for positional arguments in the returned :ref:`partial " +"object `. (Contributed by Dominykas Grigonis in :gh:" +"`119127`.)" msgstr "" #: ../../whatsnew/3.14.rst:1368 @@ -2020,9 +2011,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:1431 msgid "" -"The :mod:`http.server` module now supports serving over HTTPS using " -"the :class:`http.server.HTTPSServer` class. This functionality is exposed by " -"the command-line interface (``python -m http.server``) through the following " +"The :mod:`http.server` module now supports serving over HTTPS using the :" +"class:`http.server.HTTPSServer` class. This functionality is exposed by the " +"command-line interface (``python -m http.server``) through the following " "options:" msgstr "" @@ -2078,8 +2069,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:1466 msgid "" -"Add function :func:`~inspect.ispackage` to determine whether an object is " -"a :term:`package` or not. (Contributed by Zhikang Yan in :gh:`125634`.)" +"Add function :func:`~inspect.ispackage` to determine whether an object is a :" +"term:`package` or not. (Contributed by Zhikang Yan in :gh:`125634`.)" msgstr "" #: ../../whatsnew/3.14.rst:1472 ../../whatsnew/3.14.rst:2270 @@ -2088,18 +2079,17 @@ msgstr "io" #: ../../whatsnew/3.14.rst:1474 msgid "" -"Reading text from a non-blocking stream with ``read`` may now raise " -"a :exc:`BlockingIOError` if the operation cannot immediately return bytes. " +"Reading text from a non-blocking stream with ``read`` may now raise a :exc:" +"`BlockingIOError` if the operation cannot immediately return bytes. " "(Contributed by Giovanni Siragusa in :gh:`109523`.)" msgstr "" #: ../../whatsnew/3.14.rst:1478 msgid "" "Add the :class:`~io.Reader` and :class:`~io.Writer` protocols as simpler " -"alternatives to the pseudo-" -"protocols :class:`typing.IO`, :class:`typing.TextIO`, " -"and :class:`typing.BinaryIO`. (Contributed by Sebastian Rittau " -"in :gh:`127648`.)" +"alternatives to the pseudo-protocols :class:`typing.IO`, :class:`typing." +"TextIO`, and :class:`typing.BinaryIO`. (Contributed by Sebastian Rittau in :" +"gh:`127648`.)" msgstr "" #: ../../whatsnew/3.14.rst:1485 @@ -2124,9 +2114,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:1498 msgid "" "By default, the output of the :ref:`JSON command-line interface ` is highlighted in color. This can be controlled " -"by :ref:`environment variables `. (Contributed " -"by Tomas Roun in :gh:`131952`.)" +"commandline>` is highlighted in color. This can be controlled by :ref:" +"`environment variables `. (Contributed by Tomas " +"Roun in :gh:`131952`.)" msgstr "" #: ../../whatsnew/3.14.rst:1506 @@ -2145,9 +2135,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:1515 msgid "" -":class:`~logging.handlers.QueueListener` objects now support " -"the :term:`context manager` protocol. (Contributed by Charles Machalow " -"in :gh:`132106`.)" +":class:`~logging.handlers.QueueListener` objects now support the :term:" +"`context manager` protocol. (Contributed by Charles Machalow in :gh:" +"`132106`.)" msgstr "" #: ../../whatsnew/3.14.rst:1519 @@ -2237,8 +2227,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:1559 msgid "" -":rfc:`3745`: JPEG 2000 (``.jp2``), extension (``.jpx``) and compound " -"(``.jpm``)" +":rfc:`3745`: JPEG 2000 (``.jp2``), extension (``.jpx``) and compound (``." +"jpm``)" msgstr "" #: ../../whatsnew/3.14.rst:1560 @@ -2282,8 +2272,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:1572 msgid "" -":rfc:`9512` ``application/yaml`` MIME type for YAML files (``.yaml`` and " -"``.yml``)" +":rfc:`9512` ``application/yaml`` MIME type for YAML files (``.yaml`` and ``." +"yml``)" msgstr "" #: ../../whatsnew/3.14.rst:1574 @@ -2371,17 +2361,17 @@ msgid "" "On Unix platforms other than macOS, :ref:`'forkserver' ` is now the default :ref:`start method " "` (replacing :ref:`'fork' `). This change does not affect Windows or macOS, " -"where :ref:`'spawn' ` remains the " -"default start method." +"start-method-fork>`). This change does not affect Windows or macOS, where :" +"ref:`'spawn' ` remains the default start " +"method." msgstr "" #: ../../whatsnew/3.14.rst:1613 msgid "" "If the threading incompatible *fork* method is required, you must explicitly " "request it via a context from :func:`~multiprocessing.get_context` " -"(preferred) or change the default " -"via :func:`~multiprocessing.set_start_method`." +"(preferred) or change the default via :func:`~multiprocessing." +"set_start_method`." msgstr "" #: ../../whatsnew/3.14.rst:1624 @@ -2421,11 +2411,11 @@ msgstr "" #: ../../whatsnew/3.14.rst:1644 msgid "" -"Add the :meth:`~multiprocessing.Process.interrupt` " -"to :class:`multiprocessing.Process` objects, which terminates the child " -"process by sending :py:const:`~signal.SIGINT`. This " -"enables :keyword:`finally` clauses to print a stack trace for the terminated " -"process. (Contributed by Artem Pulkin in :gh:`131913`.)" +"Add the :meth:`~multiprocessing.Process.interrupt` to :class:" +"`multiprocessing.Process` objects, which terminates the child process by " +"sending :py:const:`~signal.SIGINT`. This enables :keyword:`finally` clauses " +"to print a stack trace for the terminated process. (Contributed by Artem " +"Pulkin in :gh:`131913`.)" msgstr "" #: ../../whatsnew/3.14.rst:1652 @@ -2447,9 +2437,9 @@ msgstr "os" #: ../../whatsnew/3.14.rst:1664 msgid "" "Add the :func:`~os.reload_environ` function to update :data:`os.environ` " -"and :data:`os.environb` with changes to the environment made " -"by :func:`os.putenv`, by :func:`os.unsetenv`, or made outside Python in the " -"same process. (Contributed by Victor Stinner in :gh:`120057`.)" +"and :data:`os.environb` with changes to the environment made by :func:`os." +"putenv`, by :func:`os.unsetenv`, or made outside Python in the same process. " +"(Contributed by Victor Stinner in :gh:`120057`.)" msgstr "" #: ../../whatsnew/3.14.rst:1670 @@ -2461,8 +2451,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:1674 msgid "" "Add the :func:`~os.readinto` function to read into a :ref:`buffer object " -"` from a file descriptor. (Contributed by Cody Maloney " -"in :gh:`129205`.)" +"` from a file descriptor. (Contributed by Cody Maloney in :gh:" +"`129205`.)" msgstr "" #: ../../whatsnew/3.14.rst:1680 @@ -2471,11 +2461,11 @@ msgstr "os.path" #: ../../whatsnew/3.14.rst:1682 msgid "" -"The *strict* parameter to :func:`~os.path.realpath` accepts a new " -"value, :data:`~os.path.ALLOW_MISSING`. If used, errors other " -"than :exc:`FileNotFoundError` will be re-raised; the resulting path can be " -"missing but it will be free of symlinks. (Contributed by Petr Viktorin " -"for :cve:`2025-4517`.)" +"The *strict* parameter to :func:`~os.path.realpath` accepts a new value, :" +"data:`~os.path.ALLOW_MISSING`. If used, errors other than :exc:" +"`FileNotFoundError` will be re-raised; the resulting path can be missing but " +"it will be free of symlinks. (Contributed by Petr Viktorin for :cve:" +"`2025-4517`.)" msgstr "" #: ../../whatsnew/3.14.rst:1690 ../../whatsnew/3.14.rst:2279 @@ -2546,9 +2536,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:1727 msgid "" -"This feature uses :ref:`PEP 768 ` and the " -"new :func:`sys.remote_exec` function to attach to the remote process and " -"send the PDB commands to it." +"This feature uses :ref:`PEP 768 ` and the new :" +"func:`sys.remote_exec` function to attach to the remote process and send the " +"PDB commands to it." msgstr "" #: ../../whatsnew/3.14.rst:1731 @@ -2558,18 +2548,18 @@ msgstr "" #: ../../whatsnew/3.14.rst:1733 msgid "" "Hardcoded breakpoints (:func:`breakpoint` and :func:`~pdb.set_trace`) now " -"reuse the most recent :class:`~pdb.Pdb` instance that " -"calls :meth:`~pdb.Pdb.set_trace`, instead of creating a new one each time. " -"As a result, all the instance specific data like :pdbcmd:`display` " -"and :pdbcmd:`commands` are preserved across hardcoded breakpoints. " -"(Contributed by Tian Gao in :gh:`121450`.)" +"reuse the most recent :class:`~pdb.Pdb` instance that calls :meth:`~pdb.Pdb." +"set_trace`, instead of creating a new one each time. As a result, all the " +"instance specific data like :pdbcmd:`display` and :pdbcmd:`commands` are " +"preserved across hardcoded breakpoints. (Contributed by Tian Gao in :gh:" +"`121450`.)" msgstr "" #: ../../whatsnew/3.14.rst:1740 msgid "" "Add a new argument *mode* to :class:`pdb.Pdb`. Disable the ``restart`` " -"command when :mod:`pdb` is in ``inline`` mode. (Contributed by Tian Gao " -"in :gh:`123757`.)" +"command when :mod:`pdb` is in ``inline`` mode. (Contributed by Tian Gao in :" +"gh:`123757`.)" msgstr "" #: ../../whatsnew/3.14.rst:1744 @@ -2618,9 +2608,8 @@ msgstr "" msgid "" "Source code displayed in :mod:`pdb` will be syntax-highlighted. This feature " "can be controlled using the same methods as the default :term:`interactive` " -"shell, in addition to the newly added ``colorize`` argument " -"of :class:`pdb.Pdb`. (Contributed by Tian Gao and Łukasz Langa " -"in :gh:`133355`.)" +"shell, in addition to the newly added ``colorize`` argument of :class:`pdb." +"Pdb`. (Contributed by Tian Gao and Łukasz Langa in :gh:`133355`.)" msgstr "" #: ../../whatsnew/3.14.rst:1778 @@ -2646,8 +2635,8 @@ msgstr "platform" #: ../../whatsnew/3.14.rst:1791 msgid "" "Add :func:`~platform.invalidate_caches`, a function to invalidate cached " -"results in the :mod:`!platform` module. (Contributed by Bénédikt Tran " -"in :gh:`122549`.)" +"results in the :mod:`!platform` module. (Contributed by Bénédikt Tran in :gh:" +"`122549`.)" msgstr "" #: ../../whatsnew/3.14.rst:1797 @@ -2708,9 +2697,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:1828 msgid "" -"Add support for *cid* and *bdaddr_type* in the address " -"for :const:`~socket.BTPROTO_L2CAP` on FreeBSD. (Contributed by Serhiy " -"Storchaka in :gh:`132429`.)" +"Add support for *cid* and *bdaddr_type* in the address for :const:`~socket." +"BTPROTO_L2CAP` on FreeBSD. (Contributed by Serhiy Storchaka in :gh:`132429`.)" msgstr "" #: ../../whatsnew/3.14.rst:1831 @@ -2727,9 +2715,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:1837 msgid "" -"Return *cid* in :meth:`~socket.socket.getsockname` " -"for :const:`~socket.BTPROTO_L2CAP`. (Contributed by Serhiy Storchaka " -"in :gh:`132429`.)" +"Return *cid* in :meth:`~socket.socket.getsockname` for :const:`~socket." +"BTPROTO_L2CAP`. (Contributed by Serhiy Storchaka in :gh:`132429`.)" msgstr "" #: ../../whatsnew/3.14.rst:1840 @@ -2797,8 +2784,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:1881 msgid "" -"Add :func:`sys._is_immortal` for determining if an object " -"is :term:`immortal`. (Contributed by Peter Bierma in :gh:`128509`.)" +"Add :func:`sys._is_immortal` for determining if an object is :term:" +"`immortal`. (Contributed by Peter Bierma in :gh:`128509`.)" msgstr "" #: ../../whatsnew/3.14.rst:1884 @@ -2834,19 +2821,18 @@ msgstr "sys.monitoring" #: ../../whatsnew/3.14.rst:1904 msgid "" -"Add two new monitoring events, :monitoring-event:`BRANCH_LEFT` " -"and :monitoring-event:`BRANCH_RIGHT`. These replace and deprecate " -"the :monitoring-event:`!BRANCH` event. (Contributed by Mark Shannon " -"in :gh:`122548`.)" +"Add two new monitoring events, :monitoring-event:`BRANCH_LEFT` and :" +"monitoring-event:`BRANCH_RIGHT`. These replace and deprecate the :monitoring-" +"event:`!BRANCH` event. (Contributed by Mark Shannon in :gh:`122548`.)" msgstr "" #: ../../whatsnew/3.14.rst:1909 msgid "" "Add :func:`sys.monitoring.clear_tool_id` to unregister all events and " -"callback functions associated with a tool " -"identifier. :func:`sys.monitoring.free_tool_id` now calls it before " -"releasing the tool identifier, instead of leaving its events and callbacks " -"registered. (Contributed by Tian Gao in :gh:`116750`.)" +"callback functions associated with a tool identifier. :func:`sys.monitoring." +"free_tool_id` now calls it before releasing the tool identifier, instead of " +"leaving its events and callbacks registered. (Contributed by Tian Gao in :gh:" +"`116750`.)" msgstr "" #: ../../whatsnew/3.14.rst:1917 @@ -2866,8 +2852,8 @@ msgstr "tarfile" #: ../../whatsnew/3.14.rst:1926 msgid "" ":func:`~tarfile.data_filter` now normalizes symbolic link targets in order " -"to avoid path traversal attacks. (Contributed by Petr Viktorin " -"in :gh:`127987` and :cve:`2025-4138`.)" +"to avoid path traversal attacks. (Contributed by Petr Viktorin in :gh:" +"`127987` and :cve:`2025-4138`.)" msgstr "" ":func:`~tarfile.data_filter` normalisiert jetzt die Ziele symbolischer " "Links, um Path-Traversal-Angriffe zu verhindern. (Beigetragen von Petr " @@ -2881,17 +2867,17 @@ msgid "" msgstr "" ":func:`~tarfile.TarFile.extractall` überspringt jetzt das Korrigieren von " "Verzeichnisattributen, wenn ein Verzeichnis entfernt oder durch eine andere " -"Dateiart ersetzt wurde. (Beigetragen von Petr Viktorin in :gh:`127987` " -"und :cve:`2024-12718`.)" +"Dateiart ersetzt wurde. (Beigetragen von Petr Viktorin in :gh:`127987` und :" +"cve:`2024-12718`.)" #: ../../whatsnew/3.14.rst:1934 msgid "" ":func:`~tarfile.TarFile.extract` and :func:`~tarfile.TarFile.extractall` now " "(re-)apply the extraction filter when substituting a link (hard or symbolic) " "with a copy of another archive member, and when fixing up directory " -"attributes. The former raises a new " -"exception, :exc:`~tarfile.LinkFallbackError`. (Contributed by Petr Viktorin " -"for :cve:`2025-4330` and :cve:`2024-12718`.)" +"attributes. The former raises a new exception, :exc:`~tarfile." +"LinkFallbackError`. (Contributed by Petr Viktorin for :cve:`2025-4330` and :" +"cve:`2024-12718`.)" msgstr "" ":func:`~tarfile.TarFile.extract` und :func:`~tarfile.TarFile.extractall` " "wenden den Extraktionsfilter jetzt (erneut) an, wenn ein Link (hart oder " @@ -2904,13 +2890,13 @@ msgstr "" msgid "" ":func:`~tarfile.TarFile.extract` and :func:`~tarfile.TarFile.extractall` no " "longer extract rejected members when :func:`~tarfile.TarFile.errorlevel` is " -"zero. (Contributed by Matt Prodani and Petr Viktorin in :gh:`112887` " -"and :cve:`2025-4435`.)" +"zero. (Contributed by Matt Prodani and Petr Viktorin in :gh:`112887` and :" +"cve:`2025-4435`.)" msgstr "" ":func:`~tarfile.TarFile.extract` und :func:`~tarfile.TarFile.extractall` " -"extrahieren abgelehnte Elemente nicht mehr, " -"wenn :func:`~tarfile.TarFile.errorlevel` null ist. (Beigetragen von Matt " -"Prodani und Petr Viktorin in :gh:`112887` und :cve:`2025-4435`.)" +"extrahieren abgelehnte Elemente nicht mehr, wenn :func:`~tarfile.TarFile." +"errorlevel` null ist. (Beigetragen von Matt Prodani und Petr Viktorin in :gh:" +"`112887` und :cve:`2025-4435`.)" #: ../../whatsnew/3.14.rst:1949 msgid "threading" @@ -2918,9 +2904,8 @@ msgstr "threading" #: ../../whatsnew/3.14.rst:1951 msgid "" -":meth:`threading.Thread.start` now sets the operating system thread name " -"to :attr:`threading.Thread.name`. (Contributed by Victor Stinner " -"in :gh:`59705`.)" +":meth:`threading.Thread.start` now sets the operating system thread name to :" +"attr:`threading.Thread.name`. (Contributed by Victor Stinner in :gh:`59705`.)" msgstr "" #: ../../whatsnew/3.14.rst:1957 @@ -2945,9 +2930,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:1971 msgid "" -"Add context managers for :func:`turtle.fill`, :func:`turtle.poly`, " -"and :func:`turtle.no_animation`. (Contributed by Marie Roald and Yngve " -"Mardal Moe in :gh:`126350`.)" +"Add context managers for :func:`turtle.fill`, :func:`turtle.poly`, and :func:" +"`turtle.no_animation`. (Contributed by Marie Roald and Yngve Mardal Moe in :" +"gh:`126350`.)" msgstr "" #: ../../whatsnew/3.14.rst:1977 @@ -2956,9 +2941,9 @@ msgstr "types" #: ../../whatsnew/3.14.rst:1979 msgid "" -":class:`types.UnionType` is now an alias for :class:`typing.Union`. " -"See :ref:`below ` for more details. (Contributed " -"by Jelle Zijlstra in :gh:`105499`.)" +":class:`types.UnionType` is now an alias for :class:`typing.Union`. See :ref:" +"`below ` for more details. (Contributed by Jelle " +"Zijlstra in :gh:`105499`.)" msgstr "" #: ../../whatsnew/3.14.rst:1985 @@ -3051,16 +3036,16 @@ msgstr "unittest" #: ../../whatsnew/3.14.rst:2055 msgid "" -":mod:`unittest` output is now colored by default. This can be controlled " -"by :ref:`environment variables `. (Contributed " -"by Hugo van Kemenade in :gh:`127221`.)" +":mod:`unittest` output is now colored by default. This can be controlled by :" +"ref:`environment variables `. (Contributed by " +"Hugo van Kemenade in :gh:`127221`.)" msgstr "" #: ../../whatsnew/3.14.rst:2060 msgid "" "unittest discovery supports :term:`namespace package` as start directory " -"again. It was removed in Python 3.11. (Contributed by Jacob Walls " -"in :gh:`80958`.)" +"again. It was removed in Python 3.11. (Contributed by Jacob Walls in :gh:" +"`80958`.)" msgstr "" #: ../../whatsnew/3.14.rst:2064 @@ -3071,23 +3056,23 @@ msgstr "" #: ../../whatsnew/3.14.rst:2067 msgid "" -":meth:`~unittest.TestCase.assertHasAttr` " -"and :meth:`~unittest.TestCase.assertNotHasAttr` check whether the object has " -"a particular attribute." +":meth:`~unittest.TestCase.assertHasAttr` and :meth:`~unittest.TestCase." +"assertNotHasAttr` check whether the object has a particular attribute." msgstr "" #: ../../whatsnew/3.14.rst:2070 msgid "" -":meth:`~unittest.TestCase.assertIsSubclass` " -"and :meth:`~unittest.TestCase.assertNotIsSubclass` check whether the object " -"is a subclass of a particular class, or of one of a tuple of classes." +":meth:`~unittest.TestCase.assertIsSubclass` and :meth:`~unittest.TestCase." +"assertNotIsSubclass` check whether the object is a subclass of a particular " +"class, or of one of a tuple of classes." msgstr "" #: ../../whatsnew/3.14.rst:2073 msgid "" -":meth:`~unittest.TestCase.assertStartsWith`, :meth:`~unittest.TestCase.assertNotStartsWith`, :meth:`~unittest.TestCase.assertEndsWith` " -"and :meth:`~unittest.TestCase.assertNotEndsWith` check whether the Unicode " -"or byte string starts or ends with particular strings." +":meth:`~unittest.TestCase.assertStartsWith`, :meth:`~unittest.TestCase." +"assertNotStartsWith`, :meth:`~unittest.TestCase.assertEndsWith` and :meth:" +"`~unittest.TestCase.assertNotEndsWith` check whether the Unicode or byte " +"string starts or ends with particular strings." msgstr "" #: ../../whatsnew/3.14.rst:2079 @@ -3107,8 +3092,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:2089 msgid "" -"Improve ergonomics and standards compliance when parsing and emitting " -"``file:`` URLs." +"Improve ergonomics and standards compliance when parsing and emitting ``file:" +"`` URLs." msgstr "" #: ../../whatsnew/3.14.rst:2092 @@ -3172,10 +3157,9 @@ msgstr "uuid" #: ../../whatsnew/3.14.rst:2119 msgid "" -"Add support for UUID versions 6, 7, and 8 " -"via :func:`~uuid.uuid6`, :func:`~uuid.uuid7`, and :func:`~uuid.uuid8` " -"respectively, as specified in :rfc:`9562`. (Contributed by Bénédikt Tran " -"in :gh:`89083`.)" +"Add support for UUID versions 6, 7, and 8 via :func:`~uuid.uuid6`, :func:" +"`~uuid.uuid7`, and :func:`~uuid.uuid8` respectively, as specified in :rfc:" +"`9562`. (Contributed by Bénédikt Tran in :gh:`89083`.)" msgstr "" #: ../../whatsnew/3.14.rst:2124 @@ -3187,9 +3171,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:2128 msgid "" -"Allow generating multiple UUIDs simultaneously on the command-line " -"via :option:`python -m uuid --count `. (Contributed by Simon " -"Legner in :gh:`131236`.)" +"Allow generating multiple UUIDs simultaneously on the command-line via :" +"option:`python -m uuid --count `. (Contributed by Simon Legner " +"in :gh:`131236`.)" msgstr "" #: ../../whatsnew/3.14.rst:2134 @@ -3235,8 +3219,12 @@ msgstr "Optimierungen" #: ../../whatsnew/3.14.rst:2163 msgid "" "The import time for several standard library modules has been improved, " -"including :mod:`annotationlib`, :mod:`ast`, :mod:`asyncio`, :mod:`base64`, :mod:`cmd`, :mod:`csv`, :mod:`gettext`, :mod:`importlib.util`, :mod:`locale`, :mod:`mimetypes`, :mod:`optparse`, :mod:`pickle`, :mod:`pprint`, :mod:`pstats`, :mod:`shlex`, :mod:`socket`, :mod:`string`, :mod:`subprocess`, :mod:`threading`, :mod:`tomllib`, :mod:`types`, " -"and :mod:`zipfile`." +"including :mod:`annotationlib`, :mod:`ast`, :mod:`asyncio`, :mod:`base64`, :" +"mod:`cmd`, :mod:`csv`, :mod:`gettext`, :mod:`importlib.util`, :mod:" +"`locale`, :mod:`mimetypes`, :mod:`optparse`, :mod:`pickle`, :mod:`pprint`, :" +"mod:`pstats`, :mod:`shlex`, :mod:`socket`, :mod:`string`, :mod:" +"`subprocess`, :mod:`threading`, :mod:`tomllib`, :mod:`types`, and :mod:" +"`zipfile`." msgstr "" #: ../../whatsnew/3.14.rst:2170 @@ -3320,9 +3308,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:2241 msgid "" -"Because of this optimization, the meaning of the results " -"of :meth:`~gc.get_threshold` and :meth:`~gc.set_threshold` have changed, " -"along with :meth:`~gc.get_count` and :meth:`~gc.get_stats`." +"Because of this optimization, the meaning of the results of :meth:`~gc." +"get_threshold` and :meth:`~gc.set_threshold` have changed, along with :meth:" +"`~gc.get_count` and :meth:`~gc.get_stats`." msgstr "" #: ../../whatsnew/3.14.rst:2245 @@ -3371,11 +3359,11 @@ msgstr "" #: ../../whatsnew/3.14.rst:2289 msgid "" ":mod:`pdb` now supports two backends, based on either :func:`sys.settrace` " -"or :mod:`sys.monitoring`. Using the :ref:`pdb CLI ` " -"or :func:`breakpoint` will always use the :mod:`sys.monitoring` backend. " -"Explicitly instantiating :class:`pdb.Pdb` and its derived classes will use " -"the :func:`sys.settrace` backend by default, which is configurable. " -"(Contributed by Tian Gao in :gh:`124533`.)" +"or :mod:`sys.monitoring`. Using the :ref:`pdb CLI ` or :func:" +"`breakpoint` will always use the :mod:`sys.monitoring` backend. Explicitly " +"instantiating :class:`pdb.Pdb` and its derived classes will use the :func:" +"`sys.settrace` backend by default, which is configurable. (Contributed by " +"Tian Gao in :gh:`124533`.)" msgstr "" #: ../../whatsnew/3.14.rst:2299 @@ -3399,8 +3387,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:2315 msgid "" -":func:`~uuid.uuid4` is now c. 30% faster. (Contributed by Bénédikt Tran " -"in :gh:`128150`.)" +":func:`~uuid.uuid4` is now c. 30% faster. (Contributed by Bénédikt Tran in :" +"gh:`128150`.)" msgstr "" #: ../../whatsnew/3.14.rst:2320 @@ -3441,21 +3429,20 @@ msgstr "" #: ../../whatsnew/3.14.rst:2347 msgid "" "Calling :meth:`~argparse.ArgumentParser.add_argument_group` on an argument " -"group now raises a :exc:`ValueError`. " -"Similarly, :meth:`~argparse.ArgumentParser.add_argument_group` " -"or :meth:`~argparse.ArgumentParser.add_mutually_exclusive_group` on a " -"mutually exclusive group now both raise :exc:`ValueError`\\ s. This " -"'nesting' was never supported, often failed to work correctly, and was " -"unintentionally exposed through inheritance. This functionality has been " -"deprecated since Python 3.11. (Contributed by Savannah Ostrowski " -"in :gh:`127186`.)" +"group now raises a :exc:`ValueError`. Similarly, :meth:`~argparse." +"ArgumentParser.add_argument_group` or :meth:`~argparse.ArgumentParser." +"add_mutually_exclusive_group` on a mutually exclusive group now both raise :" +"exc:`ValueError`\\ s. This 'nesting' was never supported, often failed to " +"work correctly, and was unintentionally exposed through inheritance. This " +"functionality has been deprecated since Python 3.11. (Contributed by " +"Savannah Ostrowski in :gh:`127186`.)" msgstr "" #: ../../whatsnew/3.14.rst:2361 msgid "" -"Remove the following classes, which have been deprecated aliases " -"of :class:`~ast.Constant` since Python 3.8 and have emitted deprecation " -"warnings since Python 3.12:" +"Remove the following classes, which have been deprecated aliases of :class:" +"`~ast.Constant` since Python 3.8 and have emitted deprecation warnings since " +"Python 3.12:" msgstr "" #: ../../whatsnew/3.14.rst:2365 @@ -3507,8 +3494,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:2385 msgid "" -"Use :attr:`!Constant.value` instead. (Contributed by Alex Waygood " -"in :gh:`119562`.)" +"Use :attr:`!Constant.value` instead. (Contributed by Alex Waygood in :gh:" +"`119562`.)" msgstr "" #: ../../whatsnew/3.14.rst:2392 @@ -3695,8 +3682,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:2520 msgid "" -":class:`!ResourceReader` " -"(use :class:`~importlib.resources.abc.TraversableResources`)" +":class:`!ResourceReader` (use :class:`~importlib.resources.abc." +"TraversableResources`)" msgstr "" #: ../../whatsnew/3.14.rst:2522 @@ -3706,8 +3693,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:2524 msgid "" -":class:`!TraversableResources` " -"(use :class:`~importlib.resources.abc.TraversableResources`)" +":class:`!TraversableResources` (use :class:`~importlib.resources.abc." +"TraversableResources`)" msgstr "" #: ../../whatsnew/3.14.rst:2527 @@ -3721,26 +3708,24 @@ msgstr "itertools" #: ../../whatsnew/3.14.rst:2533 msgid "" -"Remove support for copy, deepcopy, and pickle operations " -"from :mod:`itertools` iterators. These have emitted " -"a :exc:`DeprecationWarning` since Python 3.12. (Contributed by Raymond " -"Hettinger in :gh:`101588`.)" +"Remove support for copy, deepcopy, and pickle operations from :mod:" +"`itertools` iterators. These have emitted a :exc:`DeprecationWarning` since " +"Python 3.12. (Contributed by Raymond Hettinger in :gh:`101588`.)" msgstr "" #: ../../whatsnew/3.14.rst:2542 msgid "" -"Remove support for passing additional keyword arguments " -"to :class:`~pathlib.Path`. In previous versions, any such arguments are " -"ignored. (Contributed by Barney Gale in :gh:`74033`.)" +"Remove support for passing additional keyword arguments to :class:`~pathlib." +"Path`. In previous versions, any such arguments are ignored. (Contributed by " +"Barney Gale in :gh:`74033`.)" msgstr "" #: ../../whatsnew/3.14.rst:2547 msgid "" -"Remove support for passing additional positional arguments " -"to :meth:`.PurePath.relative_to` " -"and :meth:`~pathlib.PurePath.is_relative_to`. In previous versions, any such " -"arguments are joined onto *other*. (Contributed by Barney Gale " -"in :gh:`78707`.)" +"Remove support for passing additional positional arguments to :meth:`." +"PurePath.relative_to` and :meth:`~pathlib.PurePath.is_relative_to`. In " +"previous versions, any such arguments are joined onto *other*. (Contributed " +"by Barney Gale in :gh:`78707`.)" msgstr "" #: ../../whatsnew/3.14.rst:2554 @@ -3750,8 +3735,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:2556 msgid "" "Remove the :func:`!get_loader` and :func:`!find_loader` functions, which " -"have been deprecated since Python 3.12. (Contributed by Bénédikt Tran " -"in :gh:`97850`.)" +"have been deprecated since Python 3.12. (Contributed by Bénédikt Tran in :gh:" +"`97850`.)" msgstr "" #: ../../whatsnew/3.14.rst:2562 @@ -3772,40 +3757,38 @@ msgstr "sqlite3" #: ../../whatsnew/3.14.rst:2573 msgid "" "Remove :data:`!version` and :data:`!version_info` from the :mod:`sqlite3` " -"module; use :data:`~sqlite3.sqlite_version` " -"and :data:`~sqlite3.sqlite_version_info` for the actual version number of " -"the runtime SQLite library. (Contributed by Hugo van Kemenade " -"in :gh:`118924`.)" +"module; use :data:`~sqlite3.sqlite_version` and :data:`~sqlite3." +"sqlite_version_info` for the actual version number of the runtime SQLite " +"library. (Contributed by Hugo van Kemenade in :gh:`118924`.)" msgstr "" #: ../../whatsnew/3.14.rst:2579 msgid "" -"Using a sequence of parameters with named placeholders now raises " -"a :exc:`~sqlite3.ProgrammingError`, having been deprecated since Python " -"3.12. (Contributed by Erlend E. Aasland in :gh:`118928` and :gh:`101693`.)" +"Using a sequence of parameters with named placeholders now raises a :exc:" +"`~sqlite3.ProgrammingError`, having been deprecated since Python 3.12. " +"(Contributed by Erlend E. Aasland in :gh:`118928` and :gh:`101693`.)" msgstr "" #: ../../whatsnew/3.14.rst:2588 msgid "" "Remove the :class:`!Quoter` class from :mod:`urllib.parse`, which has been " -"deprecated since Python 3.11. (Contributed by Nikita Sobolev " -"in :gh:`118827`.)" +"deprecated since Python 3.11. (Contributed by Nikita Sobolev in :gh:" +"`118827`.)" msgstr "" #: ../../whatsnew/3.14.rst:2592 msgid "" -"Remove the :class:`!URLopener` and :class:`!FancyURLopener` classes " -"from :mod:`urllib.request`, which have been deprecated since Python 3.3." +"Remove the :class:`!URLopener` and :class:`!FancyURLopener` classes from :" +"mod:`urllib.request`, which have been deprecated since Python 3.3." msgstr "" #: ../../whatsnew/3.14.rst:2596 msgid "" "``myopener.open()`` can be replaced with :func:`~urllib.request.urlopen`. " -"``myopener.retrieve()`` can be replaced " -"with :func:`~urllib.request.urlretrieve`. Customisations to the opener " -"classes can be replaced by passing customized handlers " -"to :func:`~urllib.request.build_opener`. (Contributed by Barney Gale " -"in :gh:`84850`.)" +"``myopener.retrieve()`` can be replaced with :func:`~urllib.request." +"urlretrieve`. Customisations to the opener classes can be replaced by " +"passing customized handlers to :func:`~urllib.request.build_opener`. " +"(Contributed by Barney Gale in :gh:`84850`.)" msgstr "" #: ../../whatsnew/3.14.rst:2605 @@ -3818,10 +3801,10 @@ msgstr "Neu als veraltet markiert" #: ../../whatsnew/3.14.rst:2610 msgid "" -"Passing a complex number as the *real* or *imag* argument in " -"the :func:`complex` constructor is now deprecated; complex numbers should " -"only be passed as a single positional argument. (Contributed by Serhiy " -"Storchaka in :gh:`109218`.)" +"Passing a complex number as the *real* or *imag* argument in the :func:" +"`complex` constructor is now deprecated; complex numbers should only be " +"passed as a single positional argument. (Contributed by Serhiy Storchaka in :" +"gh:`109218`.)" msgstr "" #: ../../whatsnew/3.14.rst:2615 @@ -3831,9 +3814,9 @@ msgstr ":mod:`argparse`:" #: ../../whatsnew/3.14.rst:2617 msgid "" -"Passing the undocumented keyword argument *prefix_chars* to " -"the :meth:`~argparse.ArgumentParser.add_argument_group` method is now " -"deprecated. (Contributed by Savannah Ostrowski in :gh:`125563`.)" +"Passing the undocumented keyword argument *prefix_chars* to the :meth:" +"`~argparse.ArgumentParser.add_argument_group` method is now deprecated. " +"(Contributed by Savannah Ostrowski in :gh:`125563`.)" msgstr "" #: ../../whatsnew/3.14.rst:2621 @@ -3939,15 +3922,15 @@ msgstr ":mod:`ctypes`:" #: ../../whatsnew/3.14.rst:2668 msgid "" "On non-Windows platforms, setting :attr:`.Structure._pack_` to use a MSVC-" -"compatible default memory layout is now deprecated in favor of " -"setting :attr:`.Structure._layout_` to ``'ms'``, and will be removed in " -"Python 3.19. (Contributed by Petr Viktorin in :gh:`131747`.)" +"compatible default memory layout is now deprecated in favor of setting :attr:" +"`.Structure._layout_` to ``'ms'``, and will be removed in Python 3.19. " +"(Contributed by Petr Viktorin in :gh:`131747`.)" msgstr "" #: ../../whatsnew/3.14.rst:2673 msgid "" -"Calling :func:`ctypes.POINTER` on a string is now deprecated. " -"Use :ref:`incomplete types ` for self-referential " +"Calling :func:`ctypes.POINTER` on a string is now deprecated. Use :ref:" +"`incomplete types ` for self-referential " "structures. Also, the internal ``ctypes._pointer_type_cache`` is deprecated. " "See :func:`ctypes.POINTER` for updated implementation details. (Contributed " "by Sergey Myrianov in :gh:`100926`.)" @@ -3955,18 +3938,18 @@ msgstr "" #: ../../whatsnew/3.14.rst:2680 msgid "" -":mod:`functools`: Calling the Python implementation " -"of :func:`functools.reduce` with *function* or *sequence* as keyword " -"arguments is now deprecated; the parameters will be made positional-only in " -"Python 3.16. (Contributed by Kirill Podoprigora in :gh:`121676`.)" +":mod:`functools`: Calling the Python implementation of :func:`functools." +"reduce` with *function* or *sequence* as keyword arguments is now " +"deprecated; the parameters will be made positional-only in Python 3.16. " +"(Contributed by Kirill Podoprigora in :gh:`121676`.)" msgstr "" #: ../../whatsnew/3.14.rst:2686 msgid "" ":mod:`logging`: Support for custom logging handlers with the *strm* argument " "is now deprecated and scheduled for removal in Python 3.16. Define handlers " -"with the *stream* argument instead. (Contributed by Mariusz Felisiak " -"in :gh:`115032`.)" +"with the *stream* argument instead. (Contributed by Mariusz Felisiak in :gh:" +"`115032`.)" msgstr "" #: ../../whatsnew/3.14.rst:2692 @@ -3979,10 +3962,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:2699 msgid "" -":mod:`!nturl2path`: This module is now deprecated. " -"Call :func:`urllib.request.url2pathname` " -"and :func:`~urllib.request.pathname2url` instead. (Contributed by Barney " -"Gale in :gh:`125866`.)" +":mod:`!nturl2path`: This module is now deprecated. Call :func:`urllib." +"request.url2pathname` and :func:`~urllib.request.pathname2url` instead. " +"(Contributed by Barney Gale in :gh:`125866`.)" msgstr "" #: ../../whatsnew/3.14.rst:2704 @@ -4006,8 +3988,8 @@ msgid "" "deprecated read-only property, which will be removed in a future version of " "Python. The low overhead dynamic frame locals access added in Python 3.13 " "by :pep:`667` means the frame locals cache reference previously stored in " -"this attribute is no longer needed. Derived debuggers should access " -"``pdb.Pdb.curframe.f_locals`` directly in Python 3.13 and later versions. " +"this attribute is no longer needed. Derived debuggers should access ``pdb." +"Pdb.curframe.f_locals`` directly in Python 3.13 and later versions. " "(Contributed by Tian Gao in :gh:`124369` and :gh:`125951`.)" msgstr "" @@ -4029,8 +4011,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:2737 msgid "" ":mod:`urllib.parse`: Accepting objects with false values (like ``0`` and " -"``[]``) except empty strings, bytes-like objects and ``None`` " -"in :func:`~urllib.parse.parse_qsl` and :func:`~urllib.parse.parse_qs` is now " +"``[]``) except empty strings, bytes-like objects and ``None`` in :func:" +"`~urllib.parse.parse_qsl` and :func:`~urllib.parse.parse_qs` is now " "deprecated. (Contributed by Serhiy Storchaka in :gh:`116897`.)" msgstr "" @@ -4046,19 +4028,18 @@ msgstr "Das Importsystem:" #: ../../deprecations/pending-removal-in-3.15.rst:6 msgid "" -"Setting ``__cached__`` on a module while failing to " -"set :attr:`__spec__.cached ` is " -"deprecated. In Python 3.15, ``__cached__`` will cease to be set or take into " -"consideration by the import system or standard library. (:gh:`97879`)" +"Setting ``__cached__`` on a module while failing to set :attr:`__spec__." +"cached ` is deprecated. In Python " +"3.15, ``__cached__`` will cease to be set or take into consideration by the " +"import system or standard library. (:gh:`97879`)" msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:11 msgid "" -"Setting :attr:`~module.__package__` on a module while failing to " -"set :attr:`__spec__.parent ` is " -"deprecated. In Python 3.15, :attr:`!__package__` will cease to be set or " -"take into consideration by the import system or standard library. " -"(:gh:`97879`)" +"Setting :attr:`~module.__package__` on a module while failing to set :attr:" +"`__spec__.parent ` is deprecated. In " +"Python 3.15, :attr:`!__package__` will cease to be set or take into " +"consideration by the import system or standard library. (:gh:`97879`)" msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:18 @@ -4099,8 +4080,8 @@ msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:38 msgid "" -":meth:`!.PurePath.is_reserved` has been deprecated since Python 3.13. " -"Use :func:`os.path.isreserved` to detect reserved paths on Windows." +":meth:`!.PurePath.is_reserved` has been deprecated since Python 3.13. Use :" +"func:`os.path.isreserved` to detect reserved paths on Windows." msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:42 @@ -4157,10 +4138,10 @@ msgstr ":mod:`typing`:" #: ../../deprecations/pending-removal-in-3.15.rst:72 msgid "" -"The undocumented keyword argument syntax for " -"creating :class:`~typing.NamedTuple` classes (for example, ``Point = " -"NamedTuple(\"Point\", x=int, y=int)``) has been deprecated since Python " -"3.13. Use the class-based syntax or the functional syntax instead." +"The undocumented keyword argument syntax for creating :class:`~typing." +"NamedTuple` classes (for example, ``Point = NamedTuple(\"Point\", x=int, " +"y=int)``) has been deprecated since Python 3.13. Use the class-based syntax " +"or the functional syntax instead." msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:78 @@ -4190,9 +4171,9 @@ msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:94 msgid "" -"The ``getmark()``, ``setmark()`` and ``getmarkers()`` methods of " -"the :class:`~wave.Wave_read` and :class:`~wave.Wave_write` classes have been " -"deprecated since Python 3.13." +"The ``getmark()``, ``setmark()`` and ``getmarkers()`` methods of the :class:" +"`~wave.Wave_read` and :class:`~wave.Wave_write` classes have been deprecated " +"since Python 3.13." msgstr "" #: ../../deprecations/pending-removal-in-3.15.rst:98 @@ -4212,15 +4193,15 @@ msgstr "Geplante Entfernung in Python 3.16" #: ../../deprecations/pending-removal-in-3.16.rst:6 msgid "" -"Setting :attr:`~module.__loader__` on a module while failing to " -"set :attr:`__spec__.loader ` is " -"deprecated. In Python 3.16, :attr:`!__loader__` will cease to be set or " -"taken into consideration by the import system or the standard library." +"Setting :attr:`~module.__loader__` on a module while failing to set :attr:" +"`__spec__.loader ` is deprecated. In " +"Python 3.16, :attr:`!__loader__` will cease to be set or taken into " +"consideration by the import system or the standard library." msgstr "" -"Das Setzen von :attr:`~module.__loader__` für ein Modul, " -"ohne :attr:`__spec__.loader ` zu " -"setzen, ist veraltet. In Python 3.16 wird :attr:`!__loader__` vom " -"Importsystem und der Standardbibliothek weder gesetzt noch berücksichtigt." +"Das Setzen von :attr:`~module.__loader__` für ein Modul, ohne :attr:" +"`__spec__.loader ` zu setzen, ist " +"veraltet. In Python 3.16 wird :attr:`!__loader__` vom Importsystem und der " +"Standardbibliothek weder gesetzt noch berücksichtigt." #: ../../deprecations/pending-removal-in-3.16.rst:11 msgid ":mod:`array`:" @@ -4315,8 +4296,8 @@ msgid "" msgstr "" "Die Unterstützung eigener Logging-Handler mit dem Argument *strm* ist " "veraltet und soll in Python 3.16 entfernt werden. Definiere Handler " -"stattdessen mit dem Argument *stream*. (Beigetragen von Mariusz Felisiak " -"in :gh:`115032`.)" +"stattdessen mit dem Argument *stream*. (Beigetragen von Mariusz Felisiak in :" +"gh:`115032`.)" #: ../../deprecations/pending-removal-in-3.16.rst:70 msgid ":mod:`mimetypes`:" @@ -4324,15 +4305,15 @@ msgstr ":mod:`mimetypes`:" #: ../../deprecations/pending-removal-in-3.16.rst:72 msgid "" -"Valid extensions start with a '.' or are empty " -"for :meth:`mimetypes.MimeTypes.add_type`. Undotted extensions are deprecated " -"and will raise a :exc:`ValueError` in Python 3.16. (Contributed by Hugo van " -"Kemenade in :gh:`75223`.)" +"Valid extensions start with a '.' or are empty for :meth:`mimetypes." +"MimeTypes.add_type`. Undotted extensions are deprecated and will raise a :" +"exc:`ValueError` in Python 3.16. (Contributed by Hugo van Kemenade in :gh:" +"`75223`.)" msgstr "" "Gültige Endungen für :meth:`mimetypes.MimeTypes.add_type` beginnen mit einem " "„.“ oder sind leer. Endungen ohne Punkt sind veraltet und lösen in Python " -"3.16 einen :exc:`ValueError` aus. (Beigetragen von Hugo van Kemenade " -"in :gh:`75223`.)" +"3.16 einen :exc:`ValueError` aus. (Beigetragen von Hugo van Kemenade in :gh:" +"`75223`.)" #: ../../deprecations/pending-removal-in-3.16.rst:78 msgid ":mod:`shutil`:" @@ -4371,8 +4352,8 @@ msgid "" "environment variable instead." msgstr "" "Die Funktion :func:`~sys._enablelegacywindowsfsencoding` ist seit Python " -"3.13 veraltet. Verwende stattdessen die " -"Umgebungsvariable :envvar:`PYTHONLEGACYWINDOWSFSENCODING`." +"3.13 veraltet. Verwende stattdessen die Umgebungsvariable :envvar:" +"`PYTHONLEGACYWINDOWSFSENCODING`." #: ../../deprecations/pending-removal-in-3.16.rst:98 msgid "" @@ -4381,8 +4362,8 @@ msgid "" "instead." msgstr "" "Die Funktion :func:`!sysconfig.expand_makefile_vars` ist seit Python 3.14 " -"veraltet. Verwende stattdessen das Argument ``vars`` " -"von :func:`sysconfig.get_paths`." +"veraltet. Verwende stattdessen das Argument ``vars`` von :func:`sysconfig." +"get_paths`." #: ../../deprecations/pending-removal-in-3.16.rst:102 msgid ":mod:`tarfile`:" @@ -4436,10 +4417,9 @@ msgid "" msgstr "" "Verwende ``isinstance(obj, collections.abc.Buffer)``, um zur Laufzeit zu " "prüfen, ob ``obj`` das :ref:`Buffer-Protokoll ` " -"implementiert. Für Typannotationen verwende " -"entweder :class:`~collections.abc.Buffer` oder eine Union, die explizit die " -"von deinem Code unterstützten Typen angibt (z. B. ``bytes | bytearray | " -"memoryview``)." +"implementiert. Für Typannotationen verwende entweder :class:`~collections." +"abc.Buffer` oder eine Union, die explizit die von deinem Code unterstützten " +"Typen angibt (z. B. ``bytes | bytearray | memoryview``)." #: ../../deprecations/pending-removal-in-3.17.rst:22 #: ../../deprecations/pending-removal-in-3.17.rst:68 @@ -4479,9 +4459,9 @@ msgid "" "is deprecated and scheduled for removal in Python 3.17. (Contributed by Stan " "Ulbrych in :gh:`136702`.)" msgstr "" -"Die Übergabe von Namen für *encoding*, die nicht ASCII sind, " -"an :func:`encodings.normalize_encoding` ist veraltet und soll in Python 3.17 " -"entfernt werden. (Beigetragen von Stan Ulbrych in :gh:`136702`.)" +"Die Übergabe von Namen für *encoding*, die nicht ASCII sind, an :func:" +"`encodings.normalize_encoding` ist veraltet und soll in Python 3.17 entfernt " +"werden. (Beigetragen von Stan Ulbrych in :gh:`136702`.)" #: ../../deprecations/pending-removal-in-3.17.rst:40 msgid ":mod:`profile`:" @@ -4490,9 +4470,9 @@ msgstr ":mod:`profile`:" #: ../../deprecations/pending-removal-in-3.17.rst:42 msgid "" "The :mod:`!profile` module is deprecated and will be removed in Python 3.17. " -"Use :mod:`profiling.tracing` instead, which provides a compatible API. " -"See :pep:`799` for details. (Contributed by Pablo Galindo and László Kiss " -"Kollár in :gh:`138122`.)" +"Use :mod:`profiling.tracing` instead, which provides a compatible API. See :" +"pep:`799` for details. (Contributed by Pablo Galindo and László Kiss Kollár " +"in :gh:`138122`.)" msgstr "" "Das Modul :mod:`!profile` ist veraltet und wird in Python 3.17 entfernt. " "Verwende stattdessen :mod:`profiling.tracing`, das eine kompatible API " @@ -4508,8 +4488,8 @@ msgid "" ":class:`!webbrowser.MacOSXOSAScript` is deprecated in favour of :class:`!" "webbrowser.MacOS`. (:gh:`137586`)" msgstr "" -":class:`!webbrowser.MacOSXOSAScript` ist zugunsten von :class:`!" -"webbrowser.MacOS` veraltet. (:gh:`137586`)" +":class:`!webbrowser.MacOSXOSAScript` ist zugunsten von :class:`!webbrowser." +"MacOS` veraltet. (:gh:`137586`)" #: ../../deprecations/pending-removal-in-3.17.rst:54 msgid "" @@ -4520,13 +4500,13 @@ msgid "" "helpers like :func:`typing.get_origin` and :func:`typing.get_args` instead " "of relying on private implementation details." msgstr "" -"Vor Python 3.14 wurden Unions im alten Stil mit der privaten Klasse " -"``typing._UnionGenericAlias`` implementiert. Diese Klasse wird für die " +"Vor Python 3.14 wurden Unions im alten Stil mit der privaten Klasse ``typing." +"_UnionGenericAlias`` implementiert. Diese Klasse wird für die " "Implementierung nicht mehr benötigt, wurde aber aus Gründen der " "Abwärtskompatibilität beibehalten; ihre Entfernung ist für Python 3.17 " -"geplant. Verwende dokumentierte Hilfsfunktionen zur Introspektion " -"wie :func:`typing.get_origin` und :func:`typing.get_args`, statt dich auf " -"private Implementierungsdetails zu verlassen." +"geplant. Verwende dokumentierte Hilfsfunktionen zur Introspektion wie :func:" +"`typing.get_origin` und :func:`typing.get_args`, statt dich auf private " +"Implementierungsdetails zu verlassen." #: ../../deprecations/pending-removal-in-3.17.rst:59 msgid "" @@ -4543,18 +4523,17 @@ msgstr ":mod:`tkinter`:" #: ../../deprecations/pending-removal-in-3.17.rst:81 msgid "" "The :class:`!tkinter.Variable` methods :meth:`!trace_variable`, :meth:`!" -"trace` (an alias of :meth:`!trace_variable`), :meth:`!trace_vdelete` " -"and :meth:`!trace_vinfo`, deprecated since Python 3.14, are scheduled for " -"removal in Python 3.17. Use :meth:`!trace_add`, :meth:`!trace_remove` " -"and :meth:`!trace_info` instead. (Contributed by Serhiy Storchaka " -"in :gh:`120220`.)" +"trace` (an alias of :meth:`!trace_variable`), :meth:`!trace_vdelete` and :" +"meth:`!trace_vinfo`, deprecated since Python 3.14, are scheduled for removal " +"in Python 3.17. Use :meth:`!trace_add`, :meth:`!trace_remove` and :meth:`!" +"trace_info` instead. (Contributed by Serhiy Storchaka in :gh:`120220`.)" msgstr "" "Bei :class:`!tkinter.Variable` sollen die seit Python 3.14 veralteten " "Methoden :meth:`!trace_variable`, :meth:`!trace` (ein Alias von :meth:`!" "trace_variable`), :meth:`!trace_vdelete` und :meth:`!trace_vinfo` in Python " "3.17 entfernt werden. Verwende stattdessen :meth:`!trace_add`, :meth:`!" -"trace_remove` und :meth:`!trace_info`. (Beigetragen von Serhiy Storchaka " -"in :gh:`120220`.)" +"trace_remove` und :meth:`!trace_info`. (Beigetragen von Serhiy Storchaka in :" +"gh:`120220`.)" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:2 #: ../../deprecations/pending-removal-in-3.18.rst:2 @@ -4580,10 +4559,10 @@ msgid "" "implementation, has been deprecated since Python 3.13. (Contributed by " "Serhiy Storchaka in :gh:`89902`.)" msgstr "" -"Der nicht standardkonforme und undokumentierte Formatbezeichner ``'N'`` " -"für :class:`~decimal.Decimal`, der nur in der C-Implementierung des " -"Moduls :mod:`!decimal` unterstützt wird, ist seit Python 3.13 veraltet. " -"(Beigetragen von Serhiy Storchaka in :gh:`89902`.)" +"Der nicht standardkonforme und undokumentierte Formatbezeichner ``'N'`` für :" +"class:`~decimal.Decimal`, der nur in der C-Implementierung des Moduls :mod:`!" +"decimal` unterstützt wird, ist seit Python 3.13 veraltet. (Beigetragen von " +"Serhiy Storchaka in :gh:`89902`.)" #: ../../deprecations/pending-removal-in-3.18.rst:14 #: ../../deprecations/pending-removal-in-3.20.rst:42 @@ -4607,13 +4586,13 @@ msgstr "Geplante Entfernung in Python 3.19" #: ../../deprecations/pending-removal-in-3.19.rst:6 msgid "" -"Implicitly switching to the MSVC-compatible struct layout by " -"setting :attr:`~ctypes.Structure._pack_` but " -"not :attr:`~ctypes.Structure._layout_` on non-Windows platforms." +"Implicitly switching to the MSVC-compatible struct layout by setting :attr:" +"`~ctypes.Structure._pack_` but not :attr:`~ctypes.Structure._layout_` on non-" +"Windows platforms." msgstr "" "Das implizite Umschalten auf das MSVC-kompatible Struct-Layout, wenn auf " -"Nicht-Windows-Plattformen :attr:`~ctypes.Structure._pack_`, aber " -"nicht :attr:`~ctypes.Structure._layout_` gesetzt wird." +"Nicht-Windows-Plattformen :attr:`~ctypes.Structure._pack_`, aber nicht :attr:" +"`~ctypes.Structure._layout_` gesetzt wird." #: ../../deprecations/pending-removal-in-3.19.rst:10 msgid ":mod:`hashlib`:" @@ -4622,15 +4601,15 @@ msgstr ":mod:`hashlib`:" #: ../../deprecations/pending-removal-in-3.19.rst:12 msgid "" "In hash function constructors such as :func:`~hashlib.new` or the direct " -"hash-named constructors such as :func:`~hashlib.md5` " -"and :func:`~hashlib.sha256`, their optional initial data parameter could " -"also be passed a keyword argument named ``data=`` or ``string=`` in " -"various :mod:`!hashlib` implementations." +"hash-named constructors such as :func:`~hashlib.md5` and :func:`~hashlib." +"sha256`, their optional initial data parameter could also be passed a " +"keyword argument named ``data=`` or ``string=`` in various :mod:`!hashlib` " +"implementations." msgstr "" "Bei Konstruktoren von Hash-Funktionen wie :func:`~hashlib.new` oder den " -"direkt nach dem Hash benannten Konstruktoren wie :func:`~hashlib.md5` " -"und :func:`~hashlib.sha256` konnte dem optionalen Parameter für die " -"Anfangsdaten in verschiedenen Implementierungen von :mod:`!hashlib` auch ein " +"direkt nach dem Hash benannten Konstruktoren wie :func:`~hashlib.md5` und :" +"func:`~hashlib.sha256` konnte dem optionalen Parameter für die Anfangsdaten " +"in verschiedenen Implementierungen von :mod:`!hashlib` auch ein " "Schlüsselwortargument namens ``data=`` oder ``string=`` übergeben werden." #: ../../deprecations/pending-removal-in-3.19.rst:18 @@ -4706,9 +4685,8 @@ msgstr "Geplante Entfernung in Python 3.20" msgid "" "Calling the ``__new__()`` method of :class:`struct.Struct` without the " "*format* argument is deprecated and will be removed in Python 3.20. " -"Calling :meth:`~object.__init__` method on " -"initialized :class:`~struct.Struct` objects is deprecated and will be " -"removed in Python 3.20." +"Calling :meth:`~object.__init__` method on initialized :class:`~struct." +"Struct` objects is deprecated and will be removed in Python 3.20." msgstr "" "Der Aufruf der Methode ``__new__()`` von :class:`struct.Struct` ohne das " "Argument *format* ist veraltet und wird in Python 3.20 entfernt. Der Aufruf " @@ -4854,8 +4832,8 @@ msgstr ":mod:`ast`:" #: ../../deprecations/pending-removal-in-3.20.rst:54 msgid "" -"Creating instances of abstract AST nodes (such as :class:`ast.AST` " -"or :class:`!ast.expr`) is deprecated and will raise an error in Python 3.20." +"Creating instances of abstract AST nodes (such as :class:`ast.AST` or :class:" +"`!ast.expr`) is deprecated and will raise an error in Python 3.20." msgstr "" "Das Erzeugen von Instanzen abstrakter AST-Knoten (etwa :class:`ast.AST` " "oder :class:`!ast.expr`) ist veraltet und wird in Python 3.20 einen Fehler " @@ -4900,11 +4878,11 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:11 msgid "" -"Passing the undocumented keyword argument *prefix_chars* " -"to :meth:`~argparse.ArgumentParser.add_argument_group` is now deprecated." +"Passing the undocumented keyword argument *prefix_chars* to :meth:`~argparse." +"ArgumentParser.add_argument_group` is now deprecated." msgstr "" -"Die Übergabe des undokumentierten Schlüsselwortarguments *prefix_chars* " -"an :meth:`~argparse.ArgumentParser.add_argument_group` ist jetzt veraltet." +"Die Übergabe des undokumentierten Schlüsselwortarguments *prefix_chars* an :" +"meth:`~argparse.ArgumentParser.add_argument_group` ist jetzt veraltet." #: ../../deprecations/pending-removal-in-future.rst:14 msgid "The :class:`argparse.FileType` type converter is deprecated." @@ -4926,20 +4904,20 @@ msgid "" "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]``). A syntax 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 a future release it will be changed to a syntax " -"error. (:gh:`87999`)" +"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 a future release it will be changed to a " +"syntax error. (:gh:`87999`)" msgstr "" "Derzeit akzeptiert Python numerische Literale, auf die unmittelbar " "Schlüsselwörter folgen, zum Beispiel ``0in x``, ``1or x``, ``0if 1else 2``. " "Das ermöglicht verwirrende und mehrdeutige Ausdrücke wie ``[0x1for x in y]`` " "(was als ``[0x1 for x in y]`` oder als ``[0x1f or x in y]`` interpretiert " "werden kann). Eine Syntaxwarnung wird ausgelöst, wenn auf das numerische " -"Literal unmittelbar eines der " -"Schlüsselwörter :keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` " -"und :keyword:`or` folgt. In einer künftigen Version wird daraus ein " -"Syntaxfehler. (:gh:`87999`)" +"Literal unmittelbar eines der Schlüsselwörter :keyword:`and`, :keyword:" +"`else`, :keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` und :" +"keyword:`or` folgt. In einer künftigen Version wird daraus ein Syntaxfehler. " +"(:gh:`87999`)" #: ../../deprecations/pending-removal-in-future.rst:29 msgid "" @@ -4953,9 +4931,9 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:32 msgid "" -"Support for ``__float__()`` method returning a strict subclass " -"of :class:`float`: these methods will be required to return an instance " -"of :class:`float`." +"Support for ``__float__()`` method returning a strict subclass of :class:" +"`float`: these methods will be required to return an instance of :class:" +"`float`." msgstr "" "Unterstützung dafür, dass die Methode ``__float__()`` eine strikte " "Unterklasse von :class:`float` zurückgibt: Diese Methoden müssen künftig " @@ -4963,9 +4941,9 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:35 msgid "" -"Support for ``__complex__()`` method returning a strict subclass " -"of :class:`complex`: these methods will be required to return an instance " -"of :class:`complex`." +"Support for ``__complex__()`` method returning a strict subclass of :class:" +"`complex`: these methods will be required to return an instance of :class:" +"`complex`." msgstr "" "Unterstützung dafür, dass die Methode ``__complex__()`` eine strikte " "Unterklasse von :class:`complex` zurückgibt: Diese Methoden müssen künftig " @@ -4973,59 +4951,57 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:38 msgid "" -"Passing a complex number as the *real* or *imag* argument in " -"the :func:`complex` constructor is now deprecated; it should only be passed " -"as a single positional argument. (Contributed by Serhiy Storchaka " -"in :gh:`109218`.)" +"Passing a complex number as the *real* or *imag* argument in the :func:" +"`complex` constructor is now deprecated; it should only be passed as a " +"single positional argument. (Contributed by Serhiy Storchaka in :gh:" +"`109218`.)" msgstr "" "Die Übergabe einer komplexen Zahl als Argument *real* oder *imag* an den " "Konstruktor :func:`complex` ist jetzt veraltet; sie sollte nur als einziges " -"Positionsargument übergeben werden. (Beigetragen von Serhiy Storchaka " -"in :gh:`109218`.)" +"Positionsargument übergeben werden. (Beigetragen von Serhiy Storchaka in :gh:" +"`109218`.)" #: ../../deprecations/pending-removal-in-future.rst:43 msgid "" ":mod:`calendar`: ``calendar.January`` and ``calendar.February`` constants " -"are deprecated and replaced by :data:`calendar.JANUARY` " -"and :data:`calendar.FEBRUARY`. (Contributed by Prince Roshan " -"in :gh:`103636`.)" +"are deprecated and replaced by :data:`calendar.JANUARY` and :data:`calendar." +"FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" msgstr "" -":mod:`calendar`: Die Konstanten ``calendar.January`` und " -"``calendar.February`` sind veraltet und werden " -"durch :data:`calendar.JANUARY` und :data:`calendar.FEBRUARY` ersetzt. " -"(Beigetragen von Prince Roshan in :gh:`103636`.)" +":mod:`calendar`: Die Konstanten ``calendar.January`` und ``calendar." +"February`` sind veraltet und werden durch :data:`calendar.JANUARY` und :data:" +"`calendar.FEBRUARY` ersetzt. (Beigetragen von Prince Roshan in :gh:`103636`.)" #: ../../deprecations/pending-removal-in-future.rst:48 msgid "" -":mod:`codecs`: use :func:`open` instead of :func:`codecs.open`. " -"(:gh:`133038`)" +":mod:`codecs`: use :func:`open` instead of :func:`codecs.open`. (:gh:" +"`133038`)" msgstr "" -":mod:`codecs`: Verwende :func:`open` statt :func:`codecs.open`. " -"(:gh:`133038`)" +":mod:`codecs`: Verwende :func:`open` statt :func:`codecs.open`. (:gh:" +"`133038`)" #: ../../deprecations/pending-removal-in-future.rst:50 msgid "" ":attr:`!codeobject.co_lnotab`: use the :meth:`codeobject.co_lines` method " "instead." msgstr "" -":attr:`!codeobject.co_lnotab`: Verwende stattdessen die " -"Methode :meth:`codeobject.co_lines`." +":attr:`!codeobject.co_lnotab`: Verwende stattdessen die Methode :meth:" +"`codeobject.co_lines`." #: ../../deprecations/pending-removal-in-future.rst:55 msgid "" -":meth:`~datetime.datetime.utcnow`: use " -"``datetime.datetime.now(tz=datetime.UTC)``." +":meth:`~datetime.datetime.utcnow`: use ``datetime.datetime.now(tz=datetime." +"UTC)``." msgstr "" -":meth:`~datetime.datetime.utcnow`: Verwende " -"``datetime.datetime.now(tz=datetime.UTC)``." +":meth:`~datetime.datetime.utcnow`: Verwende ``datetime.datetime." +"now(tz=datetime.UTC)``." #: ../../deprecations/pending-removal-in-future.rst:57 msgid "" -":meth:`~datetime.datetime.utcfromtimestamp`: use " -"``datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC)``." +":meth:`~datetime.datetime.utcfromtimestamp`: use ``datetime.datetime." +"fromtimestamp(timestamp, tz=datetime.UTC)``." msgstr "" -":meth:`~datetime.datetime.utcfromtimestamp`: Verwende " -"``datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC)``." +":meth:`~datetime.datetime.utcfromtimestamp`: Verwende ``datetime.datetime." +"fromtimestamp(timestamp, tz=datetime.UTC)``." #: ../../deprecations/pending-removal-in-future.rst:60 msgid ":mod:`gettext`: Plural value must be an integer." @@ -5076,21 +5052,20 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:80 msgid "" -":mod:`os.path`: :func:`os.path.commonprefix` is deprecated, " -"use :func:`os.path.commonpath` for path prefixes. " -"The :func:`os.path.commonprefix` function is being deprecated due to having " -"a misleading name and module. The function is not safe to use for path " -"prefixes despite being included in a module about path manipulation, meaning " -"it is easy to accidentally introduce path traversal vulnerabilities into " -"Python programs by using this function." -msgstr "" -":mod:`os.path`: :func:`os.path.commonprefix` ist veraltet, " -"verwende :func:`os.path.commonpath` für Pfadpräfixe. Die " -"Funktion :func:`os.path.commonprefix` wird als veraltet markiert, weil ihr " -"Name und ihr Modul irreführend sind. Die Funktion ist für Pfadpräfixe nicht " -"sicher, obwohl sie in einem Modul zur Pfadbearbeitung enthalten ist. Dadurch " -"lassen sich mit ihr leicht versehentlich Path-Traversal-Schwachstellen in " -"Python-Programme einbauen." +":mod:`os.path`: :func:`os.path.commonprefix` is deprecated, use :func:`os." +"path.commonpath` for path prefixes. The :func:`os.path.commonprefix` " +"function is being deprecated due to having a misleading name and module. The " +"function is not safe to use for path prefixes despite being included in a " +"module about path manipulation, meaning it is easy to accidentally introduce " +"path traversal vulnerabilities into Python programs by using this function." +msgstr "" +":mod:`os.path`: :func:`os.path.commonprefix` ist veraltet, verwende :func:" +"`os.path.commonpath` für Pfadpräfixe. Die Funktion :func:`os.path." +"commonprefix` wird als veraltet markiert, weil ihr Name und ihr Modul " +"irreführend sind. Die Funktion ist für Pfadpräfixe nicht sicher, obwohl sie " +"in einem Modul zur Pfadbearbeitung enthalten ist. Dadurch lassen sich mit " +"ihr leicht versehentlich Path-Traversal-Schwachstellen in Python-Programme " +"einbauen." #: ../../deprecations/pending-removal-in-future.rst:88 msgid "" @@ -5112,8 +5087,8 @@ msgstr "" "Ausdrücken gelten jetzt strengere Regeln. Als numerische Referenz wird jetzt " "nur noch eine Folge von ASCII-Ziffern akzeptiert. Der Gruppenname in Bytes-" "Mustern und Ersetzungszeichenketten darf jetzt nur noch ASCII-Buchstaben, " -"Ziffern und Unterstriche enthalten. (Beigetragen von Serhiy Storchaka " -"in :gh:`91760`.)" +"Ziffern und Unterstriche enthalten. (Beigetragen von Serhiy Storchaka in :gh:" +"`91760`.)" #: ../../deprecations/pending-removal-in-future.rst:98 msgid "" @@ -5133,11 +5108,11 @@ msgstr ":class:`ssl.SSLContext` ohne Protokollargument ist veraltet." #: ../../deprecations/pending-removal-in-future.rst:104 msgid "" -":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` " -"and :meth:`!selected_npn_protocol` are deprecated: use ALPN instead." +":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` and :meth:" +"`!selected_npn_protocol` are deprecated: use ALPN instead." msgstr "" -":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` " -"und :meth:`!selected_npn_protocol` sind veraltet: Verwende stattdessen ALPN." +":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` und :meth:" +"`!selected_npn_protocol` sind veraltet: Verwende stattdessen ALPN." #: ../../deprecations/pending-removal-in-future.rst:107 msgid "``ssl.OP_NO_SSL*`` options" @@ -5185,11 +5160,11 @@ msgstr "Methoden von :mod:`threading`:" #: ../../deprecations/pending-removal-in-future.rst:120 msgid "" -":meth:`!threading.Condition.notifyAll`: " -"use :meth:`~threading.Condition.notify_all`." +":meth:`!threading.Condition.notifyAll`: use :meth:`~threading.Condition." +"notify_all`." msgstr "" -":meth:`!threading.Condition.notifyAll`: " -"Verwende :meth:`~threading.Condition.notify_all`." +":meth:`!threading.Condition.notifyAll`: Verwende :meth:`~threading.Condition." +"notify_all`." #: ../../deprecations/pending-removal-in-future.rst:121 msgid ":meth:`!threading.Event.isSet`: use :meth:`~threading.Event.is_set`." @@ -5198,16 +5173,16 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:122 msgid "" -":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: " -"use :attr:`threading.Thread.daemon` attribute." +":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use :" +"attr:`threading.Thread.daemon` attribute." msgstr "" ":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: " "Verwende das Attribut :attr:`threading.Thread.daemon`." #: ../../deprecations/pending-removal-in-future.rst:124 msgid "" -":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: " -"use :attr:`threading.Thread.name` attribute." +":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use :" +"attr:`threading.Thread.name` attribute." msgstr "" ":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: " "Verwende das Attribut :attr:`threading.Thread.name`." @@ -5252,8 +5227,8 @@ msgid "" ":mod:`urllib.parse` deprecated functions: :func:`~urllib.parse.urlparse` " "instead" msgstr "" -"Veraltete Funktionen in :mod:`urllib.parse`: Verwende " -"stattdessen :func:`~urllib.parse.urlparse`" +"Veraltete Funktionen in :mod:`urllib.parse`: Verwende stattdessen :func:" +"`~urllib.parse.urlparse`" #: ../../deprecations/pending-removal-in-future.rst:141 msgid "``splitattr()``" @@ -5309,23 +5284,23 @@ msgstr "" #: ../../deprecations/pending-removal-in-future.rst:156 msgid "" -":mod:`xml.etree.ElementTree`: Testing the truth value of " -"an :class:`~xml.etree.ElementTree.Element` is deprecated. In a future " -"release it will always return ``True``. Prefer explicit ``len(elem)`` or " -"``elem is not None`` tests instead." +":mod:`xml.etree.ElementTree`: Testing the truth value of an :class:`~xml." +"etree.ElementTree.Element` is deprecated. In a future release it will always " +"return ``True``. Prefer explicit ``len(elem)`` or ``elem is not None`` tests " +"instead." msgstr "" -":mod:`xml.etree.ElementTree`: Das Prüfen des Wahrheitswerts " -"eines :class:`~xml.etree.ElementTree.Element` ist veraltet. In einer " -"künftigen Version wird es immer ``True`` zurückgeben. Verwende stattdessen " -"explizite Prüfungen mit ``len(elem)`` oder ``elem is not None``." +":mod:`xml.etree.ElementTree`: Das Prüfen des Wahrheitswerts eines :class:" +"`~xml.etree.ElementTree.Element` ist veraltet. In einer künftigen Version " +"wird es immer ``True`` zurückgeben. Verwende stattdessen explizite Prüfungen " +"mit ``len(elem)`` oder ``elem is not None``." #: ../../deprecations/pending-removal-in-future.rst:161 msgid "" -":func:`sys._clear_type_cache` is deprecated: " -"use :func:`sys._clear_internal_caches` instead." +":func:`sys._clear_type_cache` is deprecated: use :func:`sys." +"_clear_internal_caches` instead." msgstr "" -":func:`sys._clear_type_cache` ist veraltet: Verwende " -"stattdessen :func:`sys._clear_internal_caches`." +":func:`sys._clear_type_cache` ist veraltet: Verwende stattdessen :func:`sys." +"_clear_internal_caches`." #: ../../whatsnew/3.14.rst:2761 msgid "CPython bytecode changes" @@ -5334,18 +5309,17 @@ msgstr "CPython Bytecode Änderungen" #: ../../whatsnew/3.14.rst:2763 msgid "" "Replaced the opcode :opcode:`!BINARY_SUBSCR` by the :opcode:`BINARY_OP` " -"opcode with the ``NB_SUBSCR`` oparg. (Contributed by Irit Katriel " -"in :gh:`100239`.)" +"opcode with the ``NB_SUBSCR`` oparg. (Contributed by Irit Katriel in :gh:" +"`100239`.)" msgstr "" #: ../../whatsnew/3.14.rst:2767 msgid "" "Add the :opcode:`BUILD_INTERPOLATION` and :opcode:`BUILD_TEMPLATE` opcodes " -"to construct new :class:`~string.templatelib.Interpolation` " -"and :class:`~string.templatelib.Template` instances, respectively. " -"(Contributed by Lysandros Nikolaou and others in :gh:`132661`; see " -"also :ref:`PEP 750: Template strings `)." +"to construct new :class:`~string.templatelib.Interpolation` and :class:" +"`~string.templatelib.Template` instances, respectively. (Contributed by " +"Lysandros Nikolaou and others in :gh:`132661`; see also :ref:`PEP 750: " +"Template strings `)." msgstr "" #: ../../whatsnew/3.14.rst:2773 @@ -5356,18 +5330,18 @@ msgstr "" #: ../../whatsnew/3.14.rst:2777 msgid "" -"Replace the :opcode:`!LOAD_ASSERTION_ERROR` opcode " -"with :opcode:`LOAD_COMMON_CONSTANT` and add support for " -"loading :exc:`NotImplementedError`." +"Replace the :opcode:`!LOAD_ASSERTION_ERROR` opcode with :opcode:" +"`LOAD_COMMON_CONSTANT` and add support for loading :exc:" +"`NotImplementedError`." msgstr "" #: ../../whatsnew/3.14.rst:2781 msgid "" -"Add the :opcode:`LOAD_FAST_BORROW` " -"and :opcode:`LOAD_FAST_BORROW_LOAD_FAST_BORROW` opcodes to reduce reference " -"counting overhead when the interpreter can prove that the reference in the " -"frame outlives the reference loaded onto the stack. (Contributed by Matt " -"Page in :gh:`130704`.)" +"Add the :opcode:`LOAD_FAST_BORROW` and :opcode:" +"`LOAD_FAST_BORROW_LOAD_FAST_BORROW` opcodes to reduce reference counting " +"overhead when the interpreter can prove that the reference in the frame " +"outlives the reference loaded onto the stack. (Contributed by Matt Page in :" +"gh:`130704`.)" msgstr "" #: ../../whatsnew/3.14.rst:2786 @@ -5379,11 +5353,10 @@ msgstr "" #: ../../whatsnew/3.14.rst:2791 msgid "" -"Add the new :opcode:`LOAD_SPECIAL` instruction. Generate code " -"for :keyword:`with` and :keyword:`async with` statements using the new " -"instruction. Removed the :opcode:`!BEFORE_WITH` and :opcode:`!" -"BEFORE_ASYNC_WITH` instructions. (Contributed by Mark Shannon " -"in :gh:`120507`.)" +"Add the new :opcode:`LOAD_SPECIAL` instruction. Generate code for :keyword:" +"`with` and :keyword:`async with` statements using the new instruction. " +"Removed the :opcode:`!BEFORE_WITH` and :opcode:`!BEFORE_ASYNC_WITH` " +"instructions. (Contributed by Mark Shannon in :gh:`120507`.)" msgstr "" #: ../../whatsnew/3.14.rst:2797 @@ -5442,9 +5415,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:2833 msgid "" -"Add the :opcode:`NOT_TAKEN` pseudo instruction, used " -"by :mod:`sys.monitoring` to record branch events (such as :monitoring-" -"event:`BRANCH_LEFT`). (Contributed by Mark Shannon in :gh:`122548`.)" +"Add the :opcode:`NOT_TAKEN` pseudo instruction, used by :mod:`sys." +"monitoring` to record branch events (such as :monitoring-event:" +"`BRANCH_LEFT`). (Contributed by Mark Shannon in :gh:`122548`.)" msgstr "" #: ../../whatsnew/3.14.rst:2839 @@ -5464,9 +5437,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:2850 msgid "" -"Complete the :pep:`587` :ref:`PyConfig C API ` by " -"adding :c:func:`PyInitConfig_AddModule` which can be used to add a built-in " -"extension module; a feature previously referred to as the \"inittab\"." +"Complete the :pep:`587` :ref:`PyConfig C API ` by adding :c:" +"func:`PyInitConfig_AddModule` which can be used to add a built-in extension " +"module; a feature previously referred to as the \"inittab\"." msgstr "" #: ../../whatsnew/3.14.rst:2854 @@ -5516,8 +5489,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:2883 msgid "" "Add :c:func:`PyBytes_Join(sep, iterable) ` function, similar " -"to ``sep.join(iterable)`` in Python. (Contributed by Victor Stinner " -"in :gh:`121645`.)" +"to ``sep.join(iterable)`` in Python. (Contributed by Victor Stinner in :gh:" +"`121645`.)" msgstr "" #: ../../whatsnew/3.14.rst:2887 @@ -5622,17 +5595,17 @@ msgstr "" #: ../../whatsnew/3.14.rst:2929 msgid "" -"Add :c:func:`PyImport_ImportModuleAttr` " -"and :c:func:`PyImport_ImportModuleAttrString` helper functions to import a " -"module and get an attribute of the module. (Contributed by Victor Stinner " -"in :gh:`128911`.)" +"Add :c:func:`PyImport_ImportModuleAttr` and :c:func:" +"`PyImport_ImportModuleAttrString` helper functions to import a module and " +"get an attribute of the module. (Contributed by Victor Stinner in :gh:" +"`128911`.)" msgstr "" #: ../../whatsnew/3.14.rst:2934 msgid "" "Add :c:func:`PyIter_NextItem` to replace :c:func:`PyIter_Next`, which has an " -"ambiguous return value. (Contributed by Irit Katriel and Erlend Aasland " -"in :gh:`105201`.)" +"ambiguous return value. (Contributed by Irit Katriel and Erlend Aasland in :" +"gh:`105201`.)" msgstr "" #: ../../whatsnew/3.14.rst:2938 @@ -5643,16 +5616,16 @@ msgstr "" #: ../../whatsnew/3.14.rst:2941 msgid "" -"Add :c:func:`PyLong_IsPositive`, :c:func:`PyLong_IsNegative` " -"and :c:func:`PyLong_IsZero` for checking if :c:type:`PyLongObject` is " -"positive, negative, or zero, respectively. (Contributed by James Roy and " -"Sergey B Kirpichev in :gh:`126061`.)" +"Add :c:func:`PyLong_IsPositive`, :c:func:`PyLong_IsNegative` and :c:func:" +"`PyLong_IsZero` for checking if :c:type:`PyLongObject` is positive, " +"negative, or zero, respectively. (Contributed by James Roy and Sergey B " +"Kirpichev in :gh:`126061`.)" msgstr "" #: ../../whatsnew/3.14.rst:2946 msgid "" -"Add new functions to convert C ```` numbers to/from " -"Python :class:`int` objects:" +"Add new functions to convert C ```` numbers to/from Python :class:" +"`int` objects:" msgstr "" #: ../../whatsnew/3.14.rst:2949 @@ -5726,10 +5699,10 @@ msgstr "" #: ../../whatsnew/3.14.rst:2972 msgid "" -"Add :c:func:`PyMonitoring_FireBranchLeftEvent` " -"and :c:func:`PyMonitoring_FireBranchRightEvent` for generating :monitoring-" -"event:`BRANCH_LEFT` and :monitoring-event:`BRANCH_RIGHT` events, " -"respectively. (Contributed by Mark Shannon in :gh:`122548`.)" +"Add :c:func:`PyMonitoring_FireBranchLeftEvent` and :c:func:" +"`PyMonitoring_FireBranchRightEvent` for generating :monitoring-event:" +"`BRANCH_LEFT` and :monitoring-event:`BRANCH_RIGHT` events, respectively. " +"(Contributed by Mark Shannon in :gh:`122548`.)" msgstr "" #: ../../whatsnew/3.14.rst:2978 @@ -5831,9 +5804,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:3019 msgid "" -"Add :c:func:`PyUnstable_IsImmortal` for determining if an object " -"is :term:`immortal`, for debugging purposes. (Contributed by Peter Bierma " -"in :gh:`128509`.)" +"Add :c:func:`PyUnstable_IsImmortal` for determining if an object is :term:" +"`immortal`, for debugging purposes. (Contributed by Peter Bierma in :gh:" +"`128509`.)" msgstr "" #: ../../whatsnew/3.14.rst:3023 @@ -5853,9 +5826,9 @@ msgstr "" msgid "" "Add :c:func:`PyUnstable_Object_IsUniqueReferencedTemporary` to determine if " "an object is a unique temporary object on the interpreter's operand stack. " -"This can be used in some cases as a replacement for checking " -"if :c:func:`Py_REFCNT` is ``1`` for Python objects passed as arguments to C " -"API functions. (Contributed by Sam Gross in :gh:`133164`.)" +"This can be used in some cases as a replacement for checking if :c:func:" +"`Py_REFCNT` is ``1`` for Python objects passed as arguments to C API " +"functions. (Contributed by Sam Gross in :gh:`133164`.)" msgstr "" #: ../../whatsnew/3.14.rst:3041 @@ -5864,19 +5837,18 @@ msgstr "" #: ../../whatsnew/3.14.rst:3043 msgid "" -"In the limited C API version 3.14 and newer, :c:func:`Py_TYPE` " -"and :c:func:`Py_REFCNT` are now implemented as an opaque function call to " -"hide implementation details. (Contributed by Victor Stinner in :gh:`120600` " -"and :gh:`124127`.)" +"In the limited C API version 3.14 and newer, :c:func:`Py_TYPE` and :c:func:" +"`Py_REFCNT` are now implemented as an opaque function call to hide " +"implementation details. (Contributed by Victor Stinner in :gh:`120600` and :" +"gh:`124127`.)" msgstr "" #: ../../whatsnew/3.14.rst:3048 msgid "" -"Remove " -"the :c:macro:`PySequence_Fast_GET_SIZE`, :c:macro:`PySequence_Fast_GET_ITEM`, " -"and :c:macro:`PySequence_Fast_ITEMS` macros from the limited C API, since " -"they have always been broken in the limited C API. (Contributed by Victor " -"Stinner in :gh:`91417`.)" +"Remove the :c:macro:`PySequence_Fast_GET_SIZE`, :c:macro:" +"`PySequence_Fast_GET_ITEM`, and :c:macro:`PySequence_Fast_ITEMS` macros from " +"the limited C API, since they have always been broken in the limited C API. " +"(Contributed by Victor Stinner in :gh:`91417`.)" msgstr "" #: ../../whatsnew/3.14.rst:3059 @@ -5899,18 +5871,18 @@ msgstr "" #: ../../whatsnew/3.14.rst:3071 msgid "" -"Remove the private ``_Py_InitializeMain()`` function. It was " -"a :term:`provisional API` added to Python 3.8 by :pep:`587`. (Contributed by " -"Victor Stinner in :gh:`129033`.)" +"Remove the private ``_Py_InitializeMain()`` function. It was a :term:" +"`provisional API` added to Python 3.8 by :pep:`587`. (Contributed by Victor " +"Stinner in :gh:`129033`.)" msgstr "" #: ../../whatsnew/3.14.rst:3075 msgid "" -"Remove the undocumented APIs :c:macro:`!Py_C_RECURSION_LIMIT` " -"and :c:member:`!PyThreadState.c_recursion_remaining`. These were added in " -"3.13 and have been removed without deprecation. " -"Use :c:func:`Py_EnterRecursiveCall` to guard against runaway recursion in C " -"code. (Removed by Petr Viktorin in :gh:`133079`, see also :gh:`130396`.)" +"Remove the undocumented APIs :c:macro:`!Py_C_RECURSION_LIMIT` and :c:member:" +"`!PyThreadState.c_recursion_remaining`. These were added in 3.13 and have " +"been removed without deprecation. Use :c:func:`Py_EnterRecursiveCall` to " +"guard against runaway recursion in C code. (Removed by Petr Viktorin in :gh:" +"`133079`, see also :gh:`130396`.)" msgstr "" #: ../../whatsnew/3.14.rst:3086 @@ -5919,63 +5891,62 @@ msgstr "Veraltete C-APIs" #: ../../whatsnew/3.14.rst:3088 msgid "" -"The :c:macro:`!Py_HUGE_VAL` macro is now :term:`soft deprecated`. " -"Use :c:macro:`!INFINITY` instead. (Contributed by Sergey B Kirpichev " -"in :gh:`120026`.)" +"The :c:macro:`!Py_HUGE_VAL` macro is now :term:`soft deprecated`. Use :c:" +"macro:`!INFINITY` instead. (Contributed by Sergey B Kirpichev in :gh:" +"`120026`.)" msgstr "" #: ../../whatsnew/3.14.rst:3092 msgid "" "The :c:macro:`!Py_IS_NAN`, :c:macro:`!Py_IS_INFINITY`, and :c:macro:`!" "Py_IS_FINITE` macros are now :term:`soft deprecated`. Use :c:macro:`!" -"isnan`, :c:macro:`!isinf` and :c:macro:`!isfinite` instead, available " -"from :file:`math.h` since C99. (Contributed by Sergey B Kirpichev " -"in :gh:`119613`.)" +"isnan`, :c:macro:`!isinf` and :c:macro:`!isfinite` instead, available from :" +"file:`math.h` since C99. (Contributed by Sergey B Kirpichev in :gh:`119613`.)" msgstr "" #: ../../whatsnew/3.14.rst:3098 msgid "" "Non-tuple sequences are now deprecated as argument for the ``(items)`` " "format unit in :c:func:`PyArg_ParseTuple` and other :ref:`argument parsing " -"` functions if *items* contains format units which store " -"a :ref:`borrowed buffer ` or a :term:`borrowed " -"reference`. (Contributed by Serhiy Storchaka in :gh:`50333`.)" +"` functions if *items* contains format units which store a :ref:" +"`borrowed buffer ` or a :term:`borrowed reference`. " +"(Contributed by Serhiy Storchaka in :gh:`50333`.)" msgstr "" #: ../../whatsnew/3.14.rst:3105 msgid "" "The ``_PyMonitoring_FireBranchEvent`` function is now deprecated and should " -"be replaced with calls to :c:func:`PyMonitoring_FireBranchLeftEvent` " -"and :c:func:`PyMonitoring_FireBranchRightEvent`." +"be replaced with calls to :c:func:`PyMonitoring_FireBranchLeftEvent` and :c:" +"func:`PyMonitoring_FireBranchRightEvent`." msgstr "" #: ../../whatsnew/3.14.rst:3110 msgid "" -"The previously undocumented function :c:func:`PySequence_In` is " -"now :term:`soft deprecated`. Use :c:func:`PySequence_Contains` instead. " -"(Contributed by Yuki Kobayashi in :gh:`127896`.)" +"The previously undocumented function :c:func:`PySequence_In` is now :term:" +"`soft deprecated`. Use :c:func:`PySequence_Contains` instead. (Contributed " +"by Yuki Kobayashi in :gh:`127896`.)" msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:4 msgid "" -"The :c:func:`!PyImport_ImportModuleNoBlock`: " -"Use :c:func:`PyImport_ImportModule` instead." +"The :c:func:`!PyImport_ImportModuleNoBlock`: Use :c:func:" +"`PyImport_ImportModule` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:6 msgid "" -":c:func:`!PyWeakref_GetObject` and :c:func:`!PyWeakref_GET_OBJECT`: " -"Use :c:func:`PyWeakref_GetRef` instead. The `pythoncapi-compat project " -"`__ can be used to " -"get :c:func:`PyWeakref_GetRef` on Python 3.12 and older." +":c:func:`!PyWeakref_GetObject` and :c:func:`!PyWeakref_GET_OBJECT`: Use :c:" +"func:`PyWeakref_GetRef` instead. The `pythoncapi-compat project `__ can be used to get :c:func:" +"`PyWeakref_GetRef` on Python 3.12 and older." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:10 msgid "" ":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." msgstr "" -":c:func:`!PyUnicode_AsDecodedObject`: Verwende " -"stattdessen :c:func:`PyCodec_Decode`." +":c:func:`!PyUnicode_AsDecodedObject`: Verwende stattdessen :c:func:" +"`PyCodec_Decode`." #: ../../deprecations/c-api-pending-removal-in-3.15.rst:12 msgid "" @@ -5988,8 +5959,8 @@ msgstr "" msgid "" ":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." msgstr "" -":c:func:`!PyUnicode_AsEncodedObject`: Verwende " -"stattdessen :c:func:`PyCodec_Encode`." +":c:func:`!PyUnicode_AsEncodedObject`: Verwende stattdessen :c:func:" +"`PyCodec_Encode`." #: ../../deprecations/c-api-pending-removal-in-3.15.rst:17 msgid "" @@ -6011,18 +5982,17 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:25 msgid "" ":c:func:`!Py_GetPrefix`: Use :c:func:`PyConfig_Get(\"base_prefix\") " -"` (:data:`sys.base_prefix`) instead. " -"Use :c:func:`PyConfig_Get(\"prefix\") ` (:data:`sys.prefix`) " -"if :ref:`virtual environments ` need to be handled." +"` (:data:`sys.base_prefix`) instead. Use :c:func:" +"`PyConfig_Get(\"prefix\") ` (:data:`sys.prefix`) if :ref:" +"`virtual environments ` need to be handled." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:30 msgid "" ":c:func:`!Py_GetExecPrefix`: Use :c:func:`PyConfig_Get(\"base_exec_prefix\") " -"` (:data:`sys.base_exec_prefix`) instead. " -"Use :c:func:`PyConfig_Get(\"exec_prefix\") ` " -"(:data:`sys.exec_prefix`) if :ref:`virtual environments ` need to " -"be handled." +"` (:data:`sys.base_exec_prefix`) instead. Use :c:func:" +"`PyConfig_Get(\"exec_prefix\") ` (:data:`sys.exec_prefix`) if :" +"ref:`virtual environments ` need to be handled." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:36 @@ -6080,8 +6050,8 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:63 msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used " -"with :c:type:`PyConfig` instead." +"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" +"`PyConfig` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:66 @@ -6090,56 +6060,56 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:68 msgid "" -":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` " -"or :c:func:`PyConfig_Get(\"parser_debug\") ` instead." +":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` or :c:func:" +"`PyConfig_Get(\"parser_debug\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:71 msgid "" -":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` " -"or :c:func:`PyConfig_Get(\"verbose\") ` instead." +":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` or :c:func:" +"`PyConfig_Get(\"verbose\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:74 msgid "" -":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` " -"or :c:func:`PyConfig_Get(\"quiet\") ` instead." +":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` or :c:func:" +"`PyConfig_Get(\"quiet\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:77 msgid "" -":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` " -"or :c:func:`PyConfig_Get(\"interactive\") ` instead." +":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` or :c:func:" +"`PyConfig_Get(\"interactive\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:80 msgid "" -":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` " -"or :c:func:`PyConfig_Get(\"inspect\") ` instead." +":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` or :c:func:" +"`PyConfig_Get(\"inspect\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:83 msgid "" -":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` " -"or :c:func:`PyConfig_Get(\"optimization_level\") ` instead." +":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` or :c:" +"func:`PyConfig_Get(\"optimization_level\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:86 msgid "" -":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` " -"or :c:func:`PyConfig_Get(\"site_import\") ` instead." +":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` or :c:func:" +"`PyConfig_Get(\"site_import\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:89 msgid "" -":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` " -"or :c:func:`PyConfig_Get(\"bytes_warning\") ` instead." +":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` or :c:" +"func:`PyConfig_Get(\"bytes_warning\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:92 msgid "" -":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` " -"or :c:func:`PyConfig_Get(\"pathconfig_warnings\") ` instead." +":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` or :c:" +"func:`PyConfig_Get(\"pathconfig_warnings\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:95 @@ -6156,15 +6126,15 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:101 msgid "" -":c:var:`Py_NoUserSiteDirectory`: " -"Use :c:member:`PyConfig.user_site_directory` " -"or :c:func:`PyConfig_Get(\"user_site_directory\") ` instead." +":c:var:`Py_NoUserSiteDirectory`: Use :c:member:`PyConfig." +"user_site_directory` or :c:func:`PyConfig_Get(\"user_site_directory\") " +"` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:104 msgid "" -":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` " -"or :c:func:`PyConfig_Get(\"buffered_stdio\") ` instead." +":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` or :" +"c:func:`PyConfig_Get(\"buffered_stdio\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:107 @@ -6176,52 +6146,51 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:111 msgid "" -":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` " -"or :c:func:`PyConfig_Get(\"isolated\") ` instead." +":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` or :c:func:" +"`PyConfig_Get(\"isolated\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:114 msgid "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: " -"Use :c:member:`PyPreConfig.legacy_windows_fs_encoding` " -"or :c:func:`PyConfig_Get(\"legacy_windows_fs_encoding\") ` " -"instead." +":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use :c:member:`PyPreConfig." +"legacy_windows_fs_encoding` or :c:func:" +"`PyConfig_Get(\"legacy_windows_fs_encoding\") ` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:117 msgid "" -":c:var:`Py_LegacyWindowsStdioFlag`: " -"Use :c:member:`PyConfig.legacy_windows_stdio` " -"or :c:func:`PyConfig_Get(\"legacy_windows_stdio\") ` instead." +":c:var:`Py_LegacyWindowsStdioFlag`: Use :c:member:`PyConfig." +"legacy_windows_stdio` or :c:func:`PyConfig_Get(\"legacy_windows_stdio\") " +"` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:120 msgid "" ":c:var:`!Py_FileSystemDefaultEncoding`, :c:var:`!" -"Py_HasFileSystemDefaultEncoding`: " -"Use :c:member:`PyConfig.filesystem_encoding` " -"or :c:func:`PyConfig_Get(\"filesystem_encoding\") ` instead." +"Py_HasFileSystemDefaultEncoding`: Use :c:member:`PyConfig." +"filesystem_encoding` or :c:func:`PyConfig_Get(\"filesystem_encoding\") " +"` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:123 msgid "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: " -"Use :c:member:`PyConfig.filesystem_errors` " -"or :c:func:`PyConfig_Get(\"filesystem_errors\") ` instead." +":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use :c:member:`PyConfig." +"filesystem_errors` or :c:func:`PyConfig_Get(\"filesystem_errors\") " +"` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:126 msgid "" -":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` " -"or :c:func:`PyConfig_Get(\"utf8_mode\") ` instead. " -"(see :c:func:`Py_PreInitialize`)" +":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` or :c:func:" +"`PyConfig_Get(\"utf8_mode\") ` instead. (see :c:func:" +"`Py_PreInitialize`)" msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.15.rst:131 msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used " -"with :c:type:`PyConfig` to set these options. Or :c:func:`PyConfig_Get` can " -"be used to get these options at runtime." +"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" +"`PyConfig` to set these options. Or :c:func:`PyConfig_Get` can be used to " +"get these options at runtime." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.16.rst:4 @@ -6240,8 +6209,8 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:8 msgid "" -":c:func:`!_PyDict_GetItemStringWithError`: " -"use :c:func:`PyDict_GetItemStringRef`." +":c:func:`!_PyDict_GetItemStringWithError`: use :c:func:" +"`PyDict_GetItemStringRef`." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:9 @@ -6254,14 +6223,14 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:11 msgid "" -":c:func:`!_PyLong_FromDigits` and :c:func:`!_PyLong_New`: " -"use :c:func:`PyLongWriter_Create`." +":c:func:`!_PyLong_FromDigits` and :c:func:`!_PyLong_New`: use :c:func:" +"`PyLongWriter_Create`." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:13 msgid "" -":c:func:`!_PyThreadState_UncheckedGet`: " -"use :c:func:`PyThreadState_GetUnchecked`." +":c:func:`!_PyThreadState_UncheckedGet`: use :c:func:" +"`PyThreadState_GetUnchecked`." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:14 @@ -6277,55 +6246,51 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:18 msgid "" ":c:func:`!_PyUnicodeWriter_Finish`: replace " -"``_PyUnicodeWriter_Finish(&writer)`` " -"with :c:func:`PyUnicodeWriter_Finish(writer) `." +"``_PyUnicodeWriter_Finish(&writer)`` with :c:func:" +"`PyUnicodeWriter_Finish(writer) `." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:21 msgid "" ":c:func:`!_PyUnicodeWriter_Dealloc`: replace " -"``_PyUnicodeWriter_Dealloc(&writer)`` " -"with :c:func:`PyUnicodeWriter_Discard(writer) `." +"``_PyUnicodeWriter_Dealloc(&writer)`` with :c:func:" +"`PyUnicodeWriter_Discard(writer) `." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:24 msgid "" ":c:func:`!_PyUnicodeWriter_WriteChar`: replace " -"``_PyUnicodeWriter_WriteChar(&writer, ch)`` " -"with :c:func:`PyUnicodeWriter_WriteChar(writer, ch) " -"`." +"``_PyUnicodeWriter_WriteChar(&writer, ch)`` with :c:func:" +"`PyUnicodeWriter_WriteChar(writer, ch) `." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:27 msgid "" ":c:func:`!_PyUnicodeWriter_WriteStr`: replace " -"``_PyUnicodeWriter_WriteStr(&writer, str)`` " -"with :c:func:`PyUnicodeWriter_WriteStr(writer, str) " -"`." +"``_PyUnicodeWriter_WriteStr(&writer, str)`` with :c:func:" +"`PyUnicodeWriter_WriteStr(writer, str) `." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:30 msgid "" ":c:func:`!_PyUnicodeWriter_WriteSubstring`: replace " -"``_PyUnicodeWriter_WriteSubstring(&writer, str, start, end)`` " -"with :c:func:`PyUnicodeWriter_WriteSubstring(writer, str, start, end) " +"``_PyUnicodeWriter_WriteSubstring(&writer, str, start, end)`` with :c:func:" +"`PyUnicodeWriter_WriteSubstring(writer, str, start, end) " "`." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:33 msgid "" ":c:func:`!_PyUnicodeWriter_WriteASCIIString`: replace " -"``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` " -"with :c:func:`PyUnicodeWriter_WriteASCII(writer, str) " -"`." +"``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` with :c:func:" +"`PyUnicodeWriter_WriteASCII(writer, str) `." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:36 msgid "" ":c:func:`!_PyUnicodeWriter_WriteLatin1String`: replace " -"``_PyUnicodeWriter_WriteLatin1String(&writer, str)`` " -"with :c:func:`PyUnicodeWriter_WriteUTF8(writer, str) " -"`." +"``_PyUnicodeWriter_WriteLatin1String(&writer, str)`` with :c:func:" +"`PyUnicodeWriter_WriteUTF8(writer, str) `." msgstr "" #: ../../deprecations/c-api-pending-removal-in-3.18.rst:39 @@ -6388,8 +6353,8 @@ msgstr "" #: ../../deprecations/c-api-pending-removal-in-future.rst:19 msgid "" -":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` " -"and :c:func:`PySlice_AdjustIndices` instead." +":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and :c:func:" +"`PySlice_AdjustIndices` instead." msgstr "" #: ../../deprecations/c-api-pending-removal-in-future.rst:21 @@ -6453,11 +6418,10 @@ msgstr "Änderungen am Build" msgid "" ":pep:`776`: Emscripten is now an officially supported platform at :pep:`tier " "3 <11#tier-3>`. As a part of this effort, more than 25 bugs in `Emscripten " -"libc`__ were fixed. Emscripten now includes support " -"for :mod:`ctypes`, :mod:`termios`, and :mod:`fcntl`, as well as experimental " -"support for the new :ref:`default interactive shell `. " -"(Contributed by R. Hood Chatham in :gh:`127146`, :gh:`127683`, " -"and :gh:`136931`.)" +"libc`__ were fixed. Emscripten now includes support for :mod:`ctypes`, :mod:" +"`termios`, and :mod:`fcntl`, as well as experimental support for the new :" +"ref:`default interactive shell `. (Contributed by R. Hood " +"Chatham in :gh:`127146`, :gh:`127683`, and :gh:`136931`.)" msgstr "" #: ../../whatsnew/3.14.rst:3141 @@ -6473,8 +6437,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:3148 msgid "" "``wasm32-unknown-emscripten`` is now a :pep:`11` tier 3 platform. " -"(Contributed by R. Hood Chatham in :gh:`127146`, :gh:`127683`, " -"and :gh:`136931`.)" +"(Contributed by R. Hood Chatham in :gh:`127146`, :gh:`127683`, and :gh:" +"`136931`.)" msgstr "" #: ../../whatsnew/3.14.rst:3151 @@ -6575,8 +6539,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:3224 msgid "" "The free-threaded build of Python is now supported and no longer " -"experimental. This is the start of `phase II `__ where free-threaded Python is officially supported but still " +"experimental. This is the start of `phase II `__ where free-threaded Python is officially supported but still " "optional." msgstr "" @@ -6597,8 +6561,8 @@ msgstr "" #: ../../whatsnew/3.14.rst:3237 msgid "" -"Any decision to transition to `phase III `__, with free-threading as the default or sole build of Python is " +"Any decision to transition to `phase III `__, with free-threading as the default or sole build of Python is " "still undecided, and dependent on many factors both within CPython itself " "and the community. This decision is for the future." msgstr "" @@ -6619,10 +6583,10 @@ msgstr "" msgid "" "The official macOS and Windows release binaries now include an " "*experimental* just-in-time (JIT) compiler. Although it is **not** " -"recommended for production use, it can be tested by " -"setting :envvar:`PYTHON_JIT=1 ` as an environment variable. " -"Downstream source builds and redistributors can use the :option:`--enable-" -"experimental-jit=yes-off` configuration option for similar behavior." +"recommended for production use, it can be tested by setting :envvar:" +"`PYTHON_JIT=1 ` as an environment variable. Downstream source " +"builds and redistributors can use the :option:`--enable-experimental-jit=yes-" +"off` configuration option for similar behavior." msgstr "" #: ../../whatsnew/3.14.rst:3261 @@ -6632,18 +6596,18 @@ msgid "" "faster, depending on workload. To aid in testing and evaluation, a set of " "introspection functions has been provided in the :data:`sys._jit` " "namespace. :func:`sys._jit.is_available` can be used to determine if the " -"current executable supports JIT compilation, " -"while :func:`sys._jit.is_enabled` can be used to tell if JIT compilation has " -"been enabled for the current process." +"current executable supports JIT compilation, while :func:`sys._jit." +"is_enabled` can be used to tell if JIT compilation has been enabled for the " +"current process." msgstr "" #: ../../whatsnew/3.14.rst:3269 msgid "" "Currently, the most significant missing functionality is that native " "debuggers and profilers like ``gdb`` and ``perf`` are unable to unwind " -"through JIT frames (Python debuggers and profilers, like :mod:`pdb` " -"or :mod:`profile`, continue to work without modification). Free-threaded " -"builds do not support JIT compilation." +"through JIT frames (Python debuggers and profilers, like :mod:`pdb` or :mod:" +"`profile`, continue to work without modification). Free-threaded builds do " +"not support JIT compilation." msgstr "" #: ../../whatsnew/3.14.rst:3274 @@ -6673,9 +6637,8 @@ msgstr "Änderungen in der Python API" #: ../../whatsnew/3.14.rst:3289 msgid "" -"On Unix platforms other than macOS, *forkserver* is now the " -"default :ref:`start method ` " -"for :mod:`multiprocessing` " +"On Unix platforms other than macOS, *forkserver* is now the default :ref:" +"`start method ` for :mod:`multiprocessing` " "and :class:`~concurrent.futures.ProcessPoolExecutor`, instead of *fork*." msgstr "" @@ -6687,9 +6650,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:3296 msgid "" -"If you encounter :exc:`NameError`\\s or pickling errors coming out " -"of :mod:`multiprocessing` or :mod:`concurrent.futures`, see " -"the :ref:`forkserver restrictions `." +"If you encounter :exc:`NameError`\\s or pickling errors coming out of :mod:" +"`multiprocessing` or :mod:`concurrent.futures`, see the :ref:`forkserver " +"restrictions `." msgstr "" #: ../../whatsnew/3.14.rst:3300 @@ -6700,9 +6663,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:3303 msgid "" -":class:`functools.partial` is now a method descriptor. Wrap it " -"in :func:`staticmethod` if you want to preserve the old behavior. " -"(Contributed by Serhiy Storchaka and Dominykas Grigonis in :gh:`121027`.)" +":class:`functools.partial` is now a method descriptor. Wrap it in :func:" +"`staticmethod` if you want to preserve the old behavior. (Contributed by " +"Serhiy Storchaka and Dominykas Grigonis in :gh:`121027`.)" msgstr "" #: ../../whatsnew/3.14.rst:3307 @@ -6720,14 +6683,14 @@ msgstr "" #: ../../whatsnew/3.14.rst:3319 msgid "" -":func:`pickle.dump` and :func:`pickle.dumps` now " -"raise :exc:`~pickle.PicklingError` for some failures that previously " -"raised :exc:`AttributeError`, :exc:`ImportError`, :exc:`ValueError`, :exc:`UnicodeEncodeError` " -"or :exc:`!PicklingError`, depending on the implementation (for example, " -"pickling a local object, or an object whose module cannot be imported). The " -"original exception is chained to the :exc:`!PicklingError`. Code that caught " -"these exceptions should also catch :exc:`!PicklingError`. (Contributed by " -"Serhiy Storchaka in :gh:`122311`.)" +":func:`pickle.dump` and :func:`pickle.dumps` now raise :exc:`~pickle." +"PicklingError` for some failures that previously raised :exc:" +"`AttributeError`, :exc:`ImportError`, :exc:`ValueError`, :exc:" +"`UnicodeEncodeError` or :exc:`!PicklingError`, depending on the " +"implementation (for example, pickling a local object, or an object whose " +"module cannot be imported). The original exception is chained to the :exc:`!" +"PicklingError`. Code that caught these exceptions should also catch :exc:`!" +"PicklingError`. (Contributed by Serhiy Storchaka in :gh:`122311`.)" msgstr "" #: ../../whatsnew/3.14.rst:3329 @@ -6739,10 +6702,10 @@ msgstr "" #: ../../whatsnew/3.14.rst:3334 msgid "" -"The runtime behavior of annotations has changed in various ways; " -"see :ref:`above ` for details. While most " -"code that interacts with annotations should continue to work, some " -"undocumented details may behave differently." +"The runtime behavior of annotations has changed in various ways; see :ref:" +"`above ` for details. While most code that " +"interacts with annotations should continue to work, some undocumented " +"details may behave differently." msgstr "" #: ../../whatsnew/3.14.rst:3339 @@ -6811,20 +6774,18 @@ msgstr "" msgid "" "If your code reads the :attr:`~object.__annotations__` attribute on objects, " "you may want to make changes in order to support code that relies on " -"deferred evaluation of annotations. For example, you may want to " -"use :func:`annotationlib.get_annotations` with " -"the :attr:`~annotationlib.Format.FORWARDREF` format, as " -"the :mod:`dataclasses` module now does." +"deferred evaluation of annotations. For example, you may want to use :func:" +"`annotationlib.get_annotations` with the :attr:`~annotationlib.Format." +"FORWARDREF` format, as the :mod:`dataclasses` module now does." msgstr "" #: ../../whatsnew/3.14.rst:3390 msgid "" "The external :pypi:`typing_extensions` package provides partial backports of " -"some of the functionality of the :mod:`annotationlib` module, such as " -"the :class:`~annotationlib.Format` enum and " -"the :func:`~annotationlib.get_annotations` function. These can be used to " -"write cross-version code that takes advantage of the new behavior in Python " -"3.14." +"some of the functionality of the :mod:`annotationlib` module, such as the :" +"class:`~annotationlib.Format` enum and the :func:`~annotationlib." +"get_annotations` function. These can be used to write cross-version code " +"that takes advantage of the new behavior in Python 3.14." msgstr "" #: ../../whatsnew/3.14.rst:3399 @@ -6846,9 +6807,9 @@ msgstr "" #: ../../whatsnew/3.14.rst:3410 msgid "" "In particular, do not read annotations directly from the namespace " -"dictionary attribute of type objects. " -"Use :func:`annotationlib.get_annotate_from_class_namespace` during class " -"construction and :func:`annotationlib.get_annotations` afterwards." +"dictionary attribute of type objects. Use :func:`annotationlib." +"get_annotate_from_class_namespace` during class construction and :func:" +"`annotationlib.get_annotations` afterwards." msgstr "" #: ../../whatsnew/3.14.rst:3415 @@ -6891,19 +6852,19 @@ msgstr "" msgid "" ":c:func:`Py_Finalize` now deletes all interned strings. This is backwards " "incompatible to any C extension that holds onto an interned string after a " -"call to :c:func:`Py_Finalize` and is then reused after a call " -"to :c:func:`Py_Initialize`. Any issues arising from this behavior will " -"normally result in crashes during the execution of the subsequent call " -"to :c:func:`Py_Initialize` from accessing uninitialized memory. To fix, use " -"an address sanitizer to identify any use-after-free coming from an interned " -"string and deallocate it during module shutdown. (Contributed by Eddie " -"Elizondo in :gh:`113601`.)" +"call to :c:func:`Py_Finalize` and is then reused after a call to :c:func:" +"`Py_Initialize`. Any issues arising from this behavior will normally result " +"in crashes during the execution of the subsequent call to :c:func:" +"`Py_Initialize` from accessing uninitialized memory. To fix, use an address " +"sanitizer to identify any use-after-free coming from an interned string and " +"deallocate it during module shutdown. (Contributed by Eddie Elizondo in :gh:" +"`113601`.)" msgstr "" #: ../../whatsnew/3.14.rst:3449 msgid "" -"The :ref:`Unicode Exception Objects ` C API now raises " -"a :exc:`TypeError` if its exception argument is not a :exc:`UnicodeError` " +"The :ref:`Unicode Exception Objects ` C API now raises a :" +"exc:`TypeError` if its exception argument is not a :exc:`UnicodeError` " "object. (Contributed by Bénédikt Tran in :gh:`127691`.)" msgstr "" @@ -6914,9 +6875,8 @@ msgid "" "reference>` references when possible. This can lead to smaller reference " "count values compared to previous Python versions. C API extensions that " "checked :c:func:`Py_REFCNT` of ``1`` to determine if an function argument is " -"not referenced by any other code should instead " -"use :c:func:`PyUnstable_Object_IsUniqueReferencedTemporary` as a safer " -"replacement." +"not referenced by any other code should instead use :c:func:" +"`PyUnstable_Object_IsUniqueReferencedTemporary` as a safer replacement." msgstr "" #: ../../whatsnew/3.14.rst:3465 @@ -6972,7 +6932,9 @@ msgid "``_PyUnicodeWriter_WriteStr()``: :c:func:`PyUnicodeWriter_WriteStr`" msgstr "" #: ../../whatsnew/3.14.rst:3479 -msgid "``_PyUnicodeWriter_WriteSubstring()``: :c:func:`PyUnicodeWriter_WriteSubstring`" +msgid "" +"``_PyUnicodeWriter_WriteSubstring()``: :c:func:" +"`PyUnicodeWriter_WriteSubstring`" msgstr "" #: ../../whatsnew/3.14.rst:3480 @@ -7015,6 +6977,6 @@ msgid "" "The incremental garbage collector shipped in Python 3.14.0-3.14.4 has been " "reverted back to the generational garbage collector from 3.13, due to a " "number of `reports `__ of " -"significant memory pressure in production environments. " -"See :ref:`whatsnew314-incremental-gc` for details." +"significant memory pressure in production environments. See :ref:" +"`whatsnew314-incremental-gc` for details." msgstr "" diff --git a/whatsnew/3.15.po b/whatsnew/3.15.po index b3d0a428..76b1ee11 100644 --- a/whatsnew/3.15.po +++ b/whatsnew/3.15.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2026-09-22 21:21+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -31,40 +31,30 @@ msgstr "Hugo van Kemenade" #: ../../whatsnew/3.15.rst:48 msgid "" -"This article explains the new features in Python 3.15, compared to 3.14." +"This article explains the new features in Python 3.15, compared to 3.14. " +"Python 3.15 was released on 9 October 2026. For full details, see the :ref:" +"`changelog `." msgstr "" -"Dieser Artikel erläutert die neuen Features in Python 3.15 im Vergleich zu " -"3.14." - -#: ../../whatsnew/3.15.rst:50 -msgid "For full details, see the :ref:`changelog `." -msgstr "Ausführliche Informationen findest du im :ref:`Changelog `." #: ../../whatsnew/3.15.rst:54 -msgid "" -"Prerelease users should be aware that this document is currently in draft " -"form. It will be updated substantially as Python 3.15 moves towards release, " -"so it's worth checking back even after reading earlier versions." +msgid ":pep:`790` -- Python 3.15 release schedule" msgstr "" -"Wenn du eine Vorabversion verwendest, beachte bitte, dass sich dieses " -"Dokument derzeit im Entwurfsstadium befindet. Es wird auf dem Weg zur " -"Veröffentlichung von Python 3.15 noch wesentlich überarbeitet, daher lohnt " -"es sich, auch nach dem Lesen früherer Fassungen erneut hineinzuschauen." -#: ../../whatsnew/3.15.rst:60 +#: ../../whatsnew/3.15.rst:58 msgid "Summary -- Release highlights" msgstr "Zusammenfassung -- Highlights des Releases" -#: ../../whatsnew/3.15.rst:65 +#: ../../whatsnew/3.15.rst:63 +#, fuzzy msgid "" -"Python 3.15 will be the latest stable release of the Python programming " -"language, with a mix of changes to the language, the implementation, and the " -"standard library. The biggest changes include :ref:`lazy imports " -"`, :ref:`frozendict ` and :" -"ref:`sentinel ` builtins, :ref:`UTF-8 as the default " -"encoding `, :ref:`unpacking in comprehensions " -"`, and a :ref:`stable ABI for free-" -"threaded builds `." +"Python 3.15 is the latest stable release of the Python programming language, " +"with a mix of changes to the language, the implementation, and the standard " +"library. The biggest changes include :ref:`lazy imports `, :ref:`frozendict ` and :ref:`sentinel " +"` builtins, :ref:`UTF-8 as the default encoding " +"`, :ref:`unpacking in comprehensions `, and a :ref:`stable ABI for free-threaded " +"builds `." msgstr "" "Python 3.15 wird die neueste stabile Version der Programmiersprache Python " "sein, mit einer Mischung aus Änderungen an der Sprache, der Implementierung " @@ -75,7 +65,7 @@ msgstr "" "Comprehensions ` sowie eine :ref:" "`stabile ABI für Builds mit freien Threads `." -#: ../../whatsnew/3.15.rst:76 +#: ../../whatsnew/3.15.rst:74 msgid "" "The library changes include a new :ref:`profiling package ` with :ref:`Tachyon `, a " @@ -90,7 +80,7 @@ msgstr "" "üblichen Abkündigungen und Entfernungen und Verbesserungen bei " "Benutzerfreundlichkeit und Korrektheit." -#: ../../whatsnew/3.15.rst:84 +#: ../../whatsnew/3.15.rst:82 msgid "" "This article doesn't attempt to provide a complete specification of all new " "features, but instead gives a convenient overview. For full details refer to " @@ -109,7 +99,7 @@ msgstr "" "jeweiligen neuen Feature; beachte aber, dass PEPs in der Regel nicht mehr " "aktualisiert werden, sobald ein Feature vollständig implementiert ist." -#: ../../whatsnew/3.15.rst:94 +#: ../../whatsnew/3.15.rst:92 msgid "" "See `Porting to Python 3.15`_ for guidance on upgrading from earlier " "versions of Python." @@ -117,16 +107,16 @@ msgstr "" "Unter `Porting to Python 3.15`_ findest du Hinweise zum Upgrade von früheren " "Python-Versionen." -#: ../../whatsnew/3.15.rst:101 +#: ../../whatsnew/3.15.rst:99 msgid "Interpreter improvements:" msgstr "Verbesserungen am Interpreter:" -#: ../../whatsnew/3.15.rst:103 +#: ../../whatsnew/3.15.rst:101 msgid ":pep:`661`: :ref:`Add sentinel built-in type `" msgstr "" ":pep:`661`: :ref:`Neuer integrierter Typ sentinel `" -#: ../../whatsnew/3.15.rst:105 +#: ../../whatsnew/3.15.rst:103 msgid "" ":pep:`686`: :ref:`Python now uses UTF-8 as the default encoding `" @@ -134,7 +124,7 @@ msgstr "" ":pep:`686`: :ref:`Python verwendet jetzt standardmäßig UTF-8 als Kodierung " "`" -#: ../../whatsnew/3.15.rst:107 +#: ../../whatsnew/3.15.rst:105 msgid "" ":pep:`798`: :ref:`Unpacking in comprehensions `" @@ -142,7 +132,7 @@ msgstr "" ":pep:`798`: :ref:`Entpacken in Comprehensions `" -#: ../../whatsnew/3.15.rst:109 +#: ../../whatsnew/3.15.rst:107 msgid "" ":pep:`810`: :ref:`Explicit lazy imports for faster startup times " "`" @@ -150,13 +140,13 @@ msgstr "" ":pep:`810`: :ref:`Explizite Lazy Imports für schnellere Startzeiten " "`" -#: ../../whatsnew/3.15.rst:111 +#: ../../whatsnew/3.15.rst:109 msgid "" ":pep:`814`: :ref:`Add frozendict built-in type `" msgstr "" ":pep:`814`: :ref:`Neuer integrierter Typ frozendict `" -#: ../../whatsnew/3.15.rst:113 +#: ../../whatsnew/3.15.rst:111 msgid "" ":pep:`829`: :ref:`Package startup configuration files `" @@ -164,7 +154,7 @@ msgstr "" ":pep:`829`: :ref:`Startkonfigurationsdateien für Pakete `" -#: ../../whatsnew/3.15.rst:114 +#: ../../whatsnew/3.15.rst:112 msgid "" ":ref:`The experimental JIT compiler has been significantly upgraded " "`" @@ -172,16 +162,16 @@ msgstr "" ":ref:`Der experimentelle JIT-Compiler wurde erheblich verbessert " "`" -#: ../../whatsnew/3.15.rst:115 +#: ../../whatsnew/3.15.rst:113 msgid ":ref:`Improved error messages `" msgstr "" ":ref:`Verbesserte Fehlermeldungen `" -#: ../../whatsnew/3.15.rst:117 +#: ../../whatsnew/3.15.rst:115 msgid "Significant improvements in the standard library:" msgstr "Wesentliche Verbesserungen in der Standardbibliothek:" -#: ../../whatsnew/3.15.rst:119 +#: ../../whatsnew/3.15.rst:117 msgid "" ":pep:`799`: :ref:`A dedicated profiling package for organizing Python " "profiling tools `" @@ -189,7 +179,7 @@ msgstr "" ":pep:`799`: :ref:`Ein eigenes Profiling-Paket zur Organisation der Python-" "Profiling-Werkzeuge `" -#: ../../whatsnew/3.15.rst:121 +#: ../../whatsnew/3.15.rst:119 msgid "" ":pep:`799`: :ref:`Tachyon: High-frequency statistical sampling profiler " "`" @@ -197,29 +187,29 @@ msgstr "" ":pep:`799`: :ref:`Tachyon: Hochfrequenter statistischer Sampling-Profiler " "`" -#: ../../whatsnew/3.15.rst:123 +#: ../../whatsnew/3.15.rst:121 msgid ":ref:`More color `" msgstr ":ref:`Mehr Farbe `" -#: ../../whatsnew/3.15.rst:125 +#: ../../whatsnew/3.15.rst:123 msgid "New typing features:" msgstr "Neue Typing-Features:" -#: ../../whatsnew/3.15.rst:127 +#: ../../whatsnew/3.15.rst:125 msgid "" ":pep:`728`: :ref:`TypedDict with typed extra items `" msgstr "" ":pep:`728`: :ref:`TypedDict mit typisierten zusätzlichen Einträgen " "`" -#: ../../whatsnew/3.15.rst:128 +#: ../../whatsnew/3.15.rst:126 msgid "" ":pep:`747`: :ref:`Annotating type forms with TypeForm `" msgstr "" ":pep:`747`: :ref:`Annotieren von Typformen mit TypeForm `" -#: ../../whatsnew/3.15.rst:130 +#: ../../whatsnew/3.15.rst:128 msgid "" ":pep:`800`: :ref:`Disjoint bases in the type system `" @@ -227,11 +217,11 @@ msgstr "" ":pep:`800`: :ref:`Disjunkte Basisklassen im Typsystem `" -#: ../../whatsnew/3.15.rst:132 +#: ../../whatsnew/3.15.rst:130 msgid "C API improvements:" msgstr "Verbesserungen der C-API:" -#: ../../whatsnew/3.15.rst:134 +#: ../../whatsnew/3.15.rst:132 msgid "" ":pep:`782`: :ref:`A new PyBytesWriter C API to create a Python bytes object " "`" @@ -239,7 +229,7 @@ msgstr "" ":pep:`782`: :ref:`Eine neue C-API PyBytesWriter zum Erzeugen eines Python-" "bytes-Objekts `" -#: ../../whatsnew/3.15.rst:136 +#: ../../whatsnew/3.15.rst:134 msgid "" ":pep:`788`: :ref:`Protection against finalization in the C API `" @@ -247,7 +237,7 @@ msgstr "" ":pep:`788`: :ref:`Schutz vor der Finalisierung in der C-API `" -#: ../../whatsnew/3.15.rst:137 +#: ../../whatsnew/3.15.rst:135 msgid "" ":pep:`803`, :pep:`820 <820>`, :pep:`793 <793>`: :ref:`Stable ABI for free-" "threaded builds ` and related C API" @@ -255,11 +245,11 @@ msgstr "" ":pep:`803`, :pep:`820 <820>`, :pep:`793 <793>`: :ref:`Stabile ABI für Builds " "mit freien Threads ` und zugehörige C-API" -#: ../../whatsnew/3.15.rst:141 +#: ../../whatsnew/3.15.rst:139 msgid "Build changes:" msgstr "Änderungen am Build:" -#: ../../whatsnew/3.15.rst:143 +#: ../../whatsnew/3.15.rst:141 msgid "" ":pep:`831`: :ref:`Frame pointers are enabled by default for improved system-" "level observability `" @@ -267,11 +257,11 @@ msgstr "" ":pep:`831`: :ref:`Frame-Pointer sind standardmäßig aktiviert, um die " "Beobachtbarkeit auf Systemebene zu verbessern `" -#: ../../whatsnew/3.15.rst:146 +#: ../../whatsnew/3.15.rst:144 msgid "Release changes:" msgstr "Änderungen an den Releases:" -#: ../../whatsnew/3.15.rst:148 +#: ../../whatsnew/3.15.rst:146 msgid "" ":ref:`The official Windows 64-bit binaries now use the tail-calling " "interpreter `" @@ -279,15 +269,20 @@ msgstr "" ":ref:`Die offiziellen 64-Bit-Binärdateien für Windows verwenden jetzt den " "Tail-Calling-Interpreter `" -#: ../../whatsnew/3.15.rst:153 ../../whatsnew/3.15.rst:2493 +#: ../../whatsnew/3.15.rst:148 +msgid "" +"The official macOS binaries now install free-threading support by default" +msgstr "" + +#: ../../whatsnew/3.15.rst:152 ../../whatsnew/3.15.rst:2495 msgid "New features" msgstr "Neue Features" -#: ../../whatsnew/3.15.rst:158 +#: ../../whatsnew/3.15.rst:157 msgid ":pep:`810`: Explicit lazy imports" msgstr ":pep:`810`: Explizite Lazy Imports" -#: ../../whatsnew/3.15.rst:160 +#: ../../whatsnew/3.15.rst:159 msgid "" "Large Python applications often suffer from slow startup times. A " "significant contributor to this problem is the import system: when a module " @@ -304,7 +299,7 @@ msgstr "" "dauern, selbst wenn der größte Teil des importierten Codes während eines " "bestimmten Laufs nie tatsächlich verwendet wird." -#: ../../whatsnew/3.15.rst:167 +#: ../../whatsnew/3.15.rst:166 msgid "" "Developers have worked around this by moving imports inside functions, " "using :mod:`importlib` to load modules on demand, or restructuring code to " @@ -319,7 +314,7 @@ msgstr "" "Import-Anweisungen über die gesamte Codebasis und erfordern Disziplin, um " "konsequent angewendet zu werden." -#: ../../whatsnew/3.15.rst:173 +#: ../../whatsnew/3.15.rst:172 msgid "" "Python now provides a cleaner solution through explicit :keyword:`lazy` " "imports using the new ``lazy`` soft keyword. When you mark an import as " @@ -335,7 +330,7 @@ msgstr "" "organisatorischen Vorteil, alle Importe am Anfang der Datei zu deklarieren, " "zahlst die Ladekosten aber nur für Module, die du tatsächlich verwendest." -#: ../../whatsnew/3.15.rst:180 +#: ../../whatsnew/3.15.rst:179 msgid "" "The ``lazy`` keyword works with both ``import`` and ``from ... import`` " "statements. When you write ``lazy import heavy_module``, Python does not " @@ -350,15 +345,16 @@ msgstr "" "Moduls geschieht transparent, sobald du zum ersten Mal auf den Namen " "zugreifst:" -#: ../../whatsnew/3.15.rst:186 +#: ../../whatsnew/3.15.rst:185 +#, fuzzy msgid "" "lazy import json\n" "lazy from pathlib import Path\n" "\n" -"print(\"Starting up...\") # json and pathlib not loaded yet\n" +"print(\"Starting up...\") # json and pathlib are not fully imported yet\n" "\n" -"data = json.loads('{\"key\": \"value\"}') # json loads here\n" -"p = Path(\".\") # pathlib loads here" +"data = json.loads('{\"key\": \"value\"}') # json gets fully imported here\n" +"p = Path(\".\") # pathlib gets fully imported here" msgstr "" "lazy import json\n" "lazy from pathlib import Path\n" @@ -368,7 +364,7 @@ msgstr "" "data = json.loads('{\"key\": \"value\"}') # json loads here\n" "p = Path(\".\") # pathlib loads here" -#: ../../whatsnew/3.15.rst:196 +#: ../../whatsnew/3.15.rst:195 msgid "" "This mechanism is particularly useful for applications that import many " "modules at the top level but may only use a subset of them in any given run. " @@ -381,7 +377,7 @@ msgstr "" "verringert die Startlatenz, ohne dass Code umstrukturiert oder bedingte " "Importe über die gesamte Codebasis verteilt werden müssen." -#: ../../whatsnew/3.15.rst:201 +#: ../../whatsnew/3.15.rst:200 msgid "" "In the case where loading a lazily imported module fails (for example, if " "the module does not exist), Python raises the exception at the point of " @@ -396,7 +392,7 @@ msgstr "" "die ursprüngliche Import-Anweisung, sodass sich der Fehler einfach " "diagnostizieren und debuggen lässt." -#: ../../whatsnew/3.15.rst:207 +#: ../../whatsnew/3.15.rst:206 msgid "" "For cases where you want to enable lazy loading globally without modifying " "source code, Python provides the :option:`-X lazy_imports <-X>` command-line " @@ -414,7 +410,7 @@ msgstr "" "Quellcode. Mit den Funktionen :func:`sys.set_lazy_imports` und :func:`sys." "get_lazy_imports` lässt sich dieser Modus zur Laufzeit ändern und abfragen." -#: ../../whatsnew/3.15.rst:215 +#: ../../whatsnew/3.15.rst:214 msgid "" "For more selective control, :func:`sys.set_lazy_imports_filter` accepts a " "callable that determines whether a specific module should be loaded lazily. " @@ -435,7 +431,7 @@ msgstr "" "eigenen Anwendung lazy sind, während Abhängigkeiten von Drittanbietern " "sofort geladen werden:" -#: ../../whatsnew/3.15.rst:224 +#: ../../whatsnew/3.15.rst:223 msgid "" "import sys\n" "\n" @@ -457,7 +453,7 @@ msgstr "" "import myapp.slow_module # lazy (matches filter)\n" "import json # eager (does not match filter)" -#: ../../whatsnew/3.15.rst:236 +#: ../../whatsnew/3.15.rst:235 msgid "" "The proxy type itself is available as :class:`types.LazyImportType` for code " "that needs to detect lazy imports programmatically." @@ -465,7 +461,7 @@ msgstr "" "Der Proxy-Typ selbst steht als :class:`types.LazyImportType` für Code zur " "Verfügung, der Lazy Imports programmatisch erkennen muss." -#: ../../whatsnew/3.15.rst:239 +#: ../../whatsnew/3.15.rst:238 msgid "" "There are some restrictions on where the ``lazy`` keyword can be used. Lazy " "imports are only permitted at module scope; using ``lazy`` inside a " @@ -482,7 +478,7 @@ msgstr "" "import *`` und ``lazy from __future__ import ...`` lösen beide einen :exc:" "`SyntaxError` aus)." -#: ../../whatsnew/3.15.rst:246 +#: ../../whatsnew/3.15.rst:245 msgid "" "For code that cannot use the ``lazy`` keyword directly (for example, when " "supporting Python versions older than 3.15 while still using lazy imports on " @@ -499,7 +495,7 @@ msgstr "" "werden dann als lazy behandelt, mit derselben Semantik wie beim " "Schlüsselwort ``lazy``::" -#: ../../whatsnew/3.15.rst:253 +#: ../../whatsnew/3.15.rst:252 msgid "" "__lazy_modules__ = [\"json\", \"pathlib\"]\n" "\n" @@ -511,21 +507,21 @@ msgstr "" "import json # lazy\n" "import os # still eager" -#: ../../whatsnew/3.15.rst:258 +#: ../../whatsnew/3.15.rst:257 msgid "" "(Contributed by Pablo Galindo Salgado and Dino Viehland in :gh:`142349`.)" msgstr "" "(Beigetragen von Pablo Galindo Salgado und Dino Viehland in :gh:`142349`.)" -#: ../../whatsnew/3.15.rst:260 +#: ../../whatsnew/3.15.rst:259 msgid ":pep:`810` for the full specification and rationale." msgstr ":pep:`810` enthält die vollständige Spezifikation und Begründung." -#: ../../whatsnew/3.15.rst:266 +#: ../../whatsnew/3.15.rst:265 msgid ":pep:`814`: Add frozendict built-in type" msgstr ":pep:`814`: Neuer integrierter Typ frozendict" -#: ../../whatsnew/3.15.rst:268 +#: ../../whatsnew/3.15.rst:267 msgid "" "A new :term:`immutable` type, :class:`frozendict`, is added to the :mod:" "`builtins` module. It does not allow modification after creation. A :class:`!" @@ -542,11 +538,11 @@ msgstr "" "Ein :class:`!frozendict` behält die Einfügereihenfolge bei, beim Vergleich " "wird die Reihenfolge jedoch nicht berücksichtigt." -#: ../../whatsnew/3.15.rst:274 +#: ../../whatsnew/3.15.rst:273 msgid "For example::" msgstr "Zum Beispiel::" -#: ../../whatsnew/3.15.rst:276 +#: ../../whatsnew/3.15.rst:275 msgid "" ">>> a = frozendict(x=1, y=2)\n" ">>> a\n" @@ -578,7 +574,7 @@ msgstr "" ">>> a == b\n" "True" -#: ../../whatsnew/3.15.rst:291 +#: ../../whatsnew/3.15.rst:290 msgid "" "The following standard library modules have been updated to accept :class:`!" "frozendict`: :mod:`copy`, :mod:`decimal`, :mod:`json`, :mod:`marshal`, :mod:" @@ -590,7 +586,7 @@ msgstr "" "mod:`marshal`, :mod:`plistlib` (nur für die Serialisierung), :mod:`pickle`, :" "mod:`pprint` und :mod:`xml.etree.ElementTree`." -#: ../../whatsnew/3.15.rst:296 +#: ../../whatsnew/3.15.rst:295 msgid "" ":func:`eval` and :func:`exec` accept :class:`!frozendict` for *globals*, " "and :func:`type` and :meth:`str.maketrans` accept :class:`!frozendict` for " @@ -600,7 +596,7 @@ msgstr "" "*globals*, und :func:`type` sowie :meth:`str.maketrans` akzeptieren :class:`!" "frozendict` für *dict*." -#: ../../whatsnew/3.15.rst:299 +#: ../../whatsnew/3.15.rst:298 msgid "" "Code checking for :class:`dict` type using ``isinstance(arg, dict)`` can be " "updated to ``isinstance(arg, (dict, frozendict))`` to accept also the :class:" @@ -613,19 +609,19 @@ msgstr "" "collections.abc.Mapping)``, um auch andere Mapping-Typen wie :class:`~types." "MappingProxyType` zu akzeptieren." -#: ../../whatsnew/3.15.rst:304 +#: ../../whatsnew/3.15.rst:303 msgid "(Contributed by Victor Stinner and Donghee Na in :gh:`141510`.)" msgstr "(Beigetragen von Victor Stinner und Donghee Na in :gh:`141510`.)" -#: ../../whatsnew/3.15.rst:306 +#: ../../whatsnew/3.15.rst:305 msgid ":pep:`814` for the full specification and rationale." msgstr ":pep:`814` enthält die vollständige Spezifikation und Begründung." -#: ../../whatsnew/3.15.rst:312 +#: ../../whatsnew/3.15.rst:311 msgid ":pep:`661`: Add sentinel built-in type" msgstr ":pep:`661`: Neuer integrierter Typ sentinel" -#: ../../whatsnew/3.15.rst:314 +#: ../../whatsnew/3.15.rst:313 msgid "" "A new :class:`sentinel` type is added to the :mod:`builtins` module for " "creating unique sentinel values with a concise representation. Sentinel " @@ -640,7 +636,7 @@ msgstr "" "sich mit pickle serialisieren, wenn sie über Modul und Namen importierbar " "sind." -#: ../../whatsnew/3.15.rst:320 +#: ../../whatsnew/3.15.rst:319 msgid "" "(Contributed by Jelle Zijlstra in :gh:`148829`; PEP 661 written by Tal " "Einat.)" @@ -648,15 +644,15 @@ msgstr "" "(Beigetragen von Jelle Zijlstra in :gh:`148829`; PEP 661 verfasst von Tal " "Einat.)" -#: ../../whatsnew/3.15.rst:322 +#: ../../whatsnew/3.15.rst:321 msgid ":pep:`661` for further details." msgstr ":pep:`661` enthält weitere Details." -#: ../../whatsnew/3.15.rst:328 +#: ../../whatsnew/3.15.rst:327 msgid ":pep:`799`: A dedicated profiling package" msgstr ":pep:`799`: Ein eigenes Profiling-Paket" -#: ../../whatsnew/3.15.rst:330 +#: ../../whatsnew/3.15.rst:329 msgid "" "A new :mod:`profiling` module has been added to organize Python's built-in " "profiling tools under a single, coherent namespace. This module contains:" @@ -665,7 +661,7 @@ msgstr "" "Profiling-Werkzeuge von Python unter einem einzigen, kohärenten Namensraum " "zusammenzufassen. Dieses Modul enthält:" -#: ../../whatsnew/3.15.rst:333 +#: ../../whatsnew/3.15.rst:332 msgid "" ":mod:`profiling.tracing`: deterministic function-call tracing (relocated " "from ``cProfile``)." @@ -673,7 +669,7 @@ msgstr "" ":mod:`profiling.tracing`: deterministisches Tracing von Funktionsaufrufen " "(verschoben aus ``cProfile``)." -#: ../../whatsnew/3.15.rst:335 +#: ../../whatsnew/3.15.rst:334 msgid "" ":mod:`profiling.sampling`: a new statistical sampling profiler (named " "Tachyon)." @@ -681,7 +677,7 @@ msgstr "" ":mod:`profiling.sampling`: ein neuer statistischer Sampling-Profiler (namens " "Tachyon)." -#: ../../whatsnew/3.15.rst:337 +#: ../../whatsnew/3.15.rst:336 msgid "" "The ``cProfile`` module remains as an alias for backwards compatibility. " "The :mod:`profile` module is deprecated and will be removed in Python 3.17." @@ -690,24 +686,24 @@ msgstr "" "Alias erhalten. Das Modul :mod:`profile` ist veraltet und wird in Python " "3.17 entfernt." -#: ../../whatsnew/3.15.rst:340 +#: ../../whatsnew/3.15.rst:339 msgid "(Contributed by Pablo Galindo and László Kiss Kollár in :gh:`138122`.)" msgstr "" "(Beigetragen von Pablo Galindo und László Kiss Kollár in :gh:`138122`.)" -#: ../../whatsnew/3.15.rst:342 +#: ../../whatsnew/3.15.rst:341 msgid ":pep:`799` for further details." msgstr ":pep:`799` enthält weitere Details." -#: ../../whatsnew/3.15.rst:348 +#: ../../whatsnew/3.15.rst:347 msgid "Tachyon: High-frequency statistical sampling profiler" msgstr "Tachyon: Hochfrequenter statistischer Sampling-Profiler" -#: ../../whatsnew/3.15.rst:350 +#: ../../whatsnew/3.15.rst:349 msgid "Tachyon profiler logo" msgstr "Logo des Tachyon-Profilers" -#: ../../whatsnew/3.15.rst:356 +#: ../../whatsnew/3.15.rst:355 msgid "" "A new statistical sampling profiler (Tachyon) has been added as :mod:" "`profiling.sampling`. This profiler enables low-overhead performance " @@ -719,7 +715,7 @@ msgstr "" "Performance-Analyse laufender Python-Prozesse mit geringem Overhead, ohne " "dass Code geändert oder der Prozess neu gestartet werden muss." -#: ../../whatsnew/3.15.rst:360 +#: ../../whatsnew/3.15.rst:359 msgid "" "Unlike deterministic profilers (such as :mod:`profiling.tracing`) that " "instrument every function call, the sampling profiler periodically captures " @@ -742,11 +738,11 @@ msgstr "" "Produktivsystemen, in denen herkömmliche Profiling-Ansätze zu stark " "eingreifen würden." -#: ../../whatsnew/3.15.rst:369 +#: ../../whatsnew/3.15.rst:368 msgid "Key features include:" msgstr "Zu den wichtigsten Features gehören:" -#: ../../whatsnew/3.15.rst:371 +#: ../../whatsnew/3.15.rst:370 msgid "" "**Zero-overhead profiling**: Attach to any running Python process without " "affecting its performance. Ideal for production debugging where you can't " @@ -757,7 +753,7 @@ msgstr "" "Produktion, wenn du es dir nicht leisten kannst, deine Anwendung neu zu " "starten oder zu verlangsamen." -#: ../../whatsnew/3.15.rst:375 +#: ../../whatsnew/3.15.rst:374 msgid "" "**No code modification required**: Profile existing applications without " "restart. Simply point the profiler at a running process by PID and start " @@ -767,11 +763,11 @@ msgstr "" "Neustart. Richte den Profiler einfach über die PID auf einen laufenden " "Prozess und beginne mit dem Sammeln von Daten." -#: ../../whatsnew/3.15.rst:378 +#: ../../whatsnew/3.15.rst:377 msgid "**Flexible target modes**:" msgstr "**Flexible Zielmodi**:" -#: ../../whatsnew/3.15.rst:380 +#: ../../whatsnew/3.15.rst:379 msgid "" "Profile running processes by PID (``attach``) - attach to already-running " "applications" @@ -779,7 +775,7 @@ msgstr "" "Laufende Prozesse über die PID profilen (``attach``) - an bereits laufende " "Anwendungen anhängen" -#: ../../whatsnew/3.15.rst:381 +#: ../../whatsnew/3.15.rst:380 msgid "" "Run and profile scripts directly (``run``) - profile from the very start of " "execution" @@ -787,7 +783,7 @@ msgstr "" "Skripte direkt ausführen und profilen (``run``) - Profiling ab dem " "allerersten Moment der Ausführung" -#: ../../whatsnew/3.15.rst:382 +#: ../../whatsnew/3.15.rst:381 msgid "" "Execute and profile modules (``run -m``) - profile packages run as ``python -" "m module``" @@ -795,7 +791,7 @@ msgstr "" "Module ausführen und profilen (``run -m``) - Pakete profilen, die als " "``python -m module`` ausgeführt werden" -#: ../../whatsnew/3.15.rst:383 +#: ../../whatsnew/3.15.rst:382 msgid "" "Capture a one-shot snapshot of a running process (``dump``) - print a " "traceback-style stack of every thread (or all asyncio tasks with ``--async-" @@ -806,7 +802,7 @@ msgstr "" "asyncio-Tasks mit ``--async-aware``). Nützlich, um hängende Prozesse zu " "untersuchen." -#: ../../whatsnew/3.15.rst:387 +#: ../../whatsnew/3.15.rst:386 msgid "" "**Multiple profiling modes**: Choose what to measure based on your " "performance investigation:" @@ -814,7 +810,7 @@ msgstr "" "**Mehrere Profiling-Modi**: Wähle je nach Performance-Untersuchung aus, was " "gemessen werden soll:" -#: ../../whatsnew/3.15.rst:389 +#: ../../whatsnew/3.15.rst:388 msgid "" "**Wall-clock time** (``--mode wall``, default): Measures real elapsed time " "including I/O, network waits, and blocking operations. Use this to " @@ -826,7 +822,7 @@ msgstr "" "blockierender Operationen. Verwende diesen Modus, um zu verstehen, wo dein " "Programm reale Zeit verbringt, auch beim Warten auf externe Ressourcen." -#: ../../whatsnew/3.15.rst:392 +#: ../../whatsnew/3.15.rst:391 msgid "" "**CPU time** (``--mode cpu``): Measures only active CPU execution time, " "excluding I/O waits and blocking. Use this to identify CPU-bound bottlenecks " @@ -836,7 +832,7 @@ msgstr "" "ohne I/O-Wartezeiten und Blockierungen. Verwende diesen Modus, um CPU-" "gebundene Engpässe zu finden und Rechenarbeit zu optimieren." -#: ../../whatsnew/3.15.rst:394 +#: ../../whatsnew/3.15.rst:393 msgid "" "**GIL-holding time** (``--mode gil``): Measures time spent holding Python's " "Global Interpreter Lock. Use this to identify which threads dominate GIL " @@ -846,7 +842,7 @@ msgstr "" "Interpreter Lock gehalten wird. Verwende diesen Modus, um herauszufinden, " "welche Threads die GIL-Nutzung in Multithread-Anwendungen dominieren." -#: ../../whatsnew/3.15.rst:396 +#: ../../whatsnew/3.15.rst:395 msgid "" "**Exception handling time** (``--mode exception``): Captures samples only " "from threads with an active exception. Use this to analyze exception " @@ -856,7 +852,7 @@ msgstr "" "von Threads mit einer aktiven Ausnahme. Verwende diesen Modus, um den " "Overhead der Ausnahmebehandlung zu analysieren." -#: ../../whatsnew/3.15.rst:399 +#: ../../whatsnew/3.15.rst:398 msgid "" "**Thread-aware profiling**: Option to profile all threads (``-a``) or just " "the main thread, essential for understanding multi-threaded application " @@ -866,7 +862,7 @@ msgstr "" "Haupt-Thread zu profilen – unverzichtbar, um das Verhalten von Multithread-" "Anwendungen zu verstehen." -#: ../../whatsnew/3.15.rst:402 +#: ../../whatsnew/3.15.rst:401 msgid "" "**Multiple output formats**: Choose the visualization that best fits your " "workflow:" @@ -874,7 +870,7 @@ msgstr "" "**Mehrere Ausgabeformate**: Wähle die Visualisierung, die am besten zu " "deinem Workflow passt:" -#: ../../whatsnew/3.15.rst:404 +#: ../../whatsnew/3.15.rst:403 msgid "" "``--pstats``: Detailed tabular statistics compatible with :mod:`pstats`. " "Shows function-level timing with direct and cumulative samples. Best for " @@ -885,7 +881,7 @@ msgstr "" "Samples. Am besten geeignet für detaillierte Analysen und die Integration " "mit bestehenden Python-Profiling-Werkzeugen." -#: ../../whatsnew/3.15.rst:407 +#: ../../whatsnew/3.15.rst:406 msgid "" "``--collapsed``: Generates collapsed stack traces (one line per stack). This " "format is specifically designed for creating flame graphs with external " @@ -896,7 +892,7 @@ msgstr "" "Werkzeugen wie den FlameGraph-Skripten von Brendan Gregg oder speedscope zu " "erstellen." -#: ../../whatsnew/3.15.rst:410 +#: ../../whatsnew/3.15.rst:409 msgid "" "``--flamegraph``: Generates a self-contained interactive HTML flame graph " "using D3.js. Opens directly in your browser for immediate visual analysis. " @@ -909,7 +905,7 @@ msgstr "" "die verbrauchte Zeit darstellt; so lassen sich Engpässe auf einen Blick " "erkennen." -#: ../../whatsnew/3.15.rst:413 +#: ../../whatsnew/3.15.rst:412 msgid "" "``--gecko``: Generates Gecko Profiler format compatible with `Firefox " "Profiler `__. Upload the output to Firefox " @@ -921,7 +917,7 @@ msgstr "" "Profiler hoch, um erweiterte zeitleistenbasierte Analysen mit Features wie " "Stack-Charts, Markern und Netzwerkaktivität durchzuführen." -#: ../../whatsnew/3.15.rst:416 +#: ../../whatsnew/3.15.rst:415 msgid "" "``--heatmap``: Generates an interactive HTML heatmap visualization with line-" "level sample counts. Creates a directory with per-file heatmaps showing " @@ -931,7 +927,7 @@ msgstr "" "Zeile. Legt ein Verzeichnis mit Heatmaps pro Datei an, die genau zeigen, wo " "auf Quellcodeebene Zeit verbraucht wird." -#: ../../whatsnew/3.15.rst:420 +#: ../../whatsnew/3.15.rst:419 msgid "" "**Live interactive mode**: Real-time TUI profiler with a top-like interface " "(``--live``). Monitor performance as your application runs with interactive " @@ -941,7 +937,7 @@ msgstr "" "ähnlich wie top (``--live``). Beobachte die Performance, während deine " "Anwendung läuft, mit interaktivem Sortieren und Filtern." -#: ../../whatsnew/3.15.rst:423 +#: ../../whatsnew/3.15.rst:422 msgid "" "**Async-aware profiling**: Profile async/await code with task-based stack " "reconstruction (``--async-aware``). See which coroutines are consuming time, " @@ -952,7 +948,7 @@ msgstr "" "Koroutinen Zeit verbrauchen, mit Optionen, nur laufende Tasks oder alle " "Tasks einschließlich wartender anzuzeigen." -#: ../../whatsnew/3.15.rst:427 +#: ../../whatsnew/3.15.rst:426 msgid "" "**Opcode-level profiling**: Gather bytecode opcode information for " "instruction-level profiling (``--opcodes``). Shows which bytecode " @@ -964,7 +960,7 @@ msgstr "" "Instruktionen ausgeführt werden, einschließlich der Spezialisierungen des " "adaptiven Interpreters." -#: ../../whatsnew/3.15.rst:431 +#: ../../whatsnew/3.15.rst:430 msgid "" "See :mod:`profiling.sampling` for the complete documentation, including all " "available output formats, profiling modes, and configuration options." @@ -973,7 +969,7 @@ msgstr "" "Profiling-Modi und Konfigurationsoptionen findest du unter :mod:`profiling." "sampling`." -#: ../../whatsnew/3.15.rst:434 +#: ../../whatsnew/3.15.rst:433 msgid "" "(Contributed by Pablo Galindo and László Kiss Kollár in :gh:`135953` and :gh:" "`138122`.)" @@ -981,11 +977,11 @@ msgstr "" "(Beigetragen von Pablo Galindo und László Kiss Kollár in :gh:`135953` und :" "gh:`138122`.)" -#: ../../whatsnew/3.15.rst:440 +#: ../../whatsnew/3.15.rst:439 msgid ":pep:`831`: Frame pointers enabled by default" msgstr ":pep:`831`: Frame-Pointer standardmäßig aktiviert" -#: ../../whatsnew/3.15.rst:442 +#: ../../whatsnew/3.15.rst:441 msgid "" "CPython is now built with frame pointers by default on platforms that " "support them. This uses the compiler flags ``-fno-omit-frame-pointer`` and " @@ -999,7 +995,7 @@ msgstr "" "Stack-Unwinding für System-Profiler, Debugger, Werkzeuge zur Absturzanalyse " "und eBPF-basierte Observability-Werkzeuge schneller und zuverlässiger wird." -#: ../../whatsnew/3.15.rst:448 +#: ../../whatsnew/3.15.rst:447 msgid "" "The flags are exposed through :mod:`sysconfig`, so extension modules built " "by tools that consume Python's build configuration inherit frame pointers by " @@ -1014,7 +1010,7 @@ msgstr "" "benötigt eine lückenlose Kette von Frame-Pointern durch den Interpreter, " "Erweiterungsmodule, einbettende Anwendungen und native Bibliotheken." -#: ../../whatsnew/3.15.rst:456 +#: ../../whatsnew/3.15.rst:455 msgid "" "Third-party build backends and native build systems should preserve these " "flags when they consume Python's :mod:`sysconfig` values. Build systems " @@ -1031,7 +1027,7 @@ msgstr "" "Komponente, die ohne Frame-Pointer gebaut wurde, kann das Stack-Unwinding " "für den gesamten Python-Prozess unterbrechen." -#: ../../whatsnew/3.15.rst:463 +#: ../../whatsnew/3.15.rst:462 msgid "" "(Contributed by Pablo Galindo Salgado and Savannah Ostrowski in :gh:" "`149201`; PEP 831 written by Pablo Galindo Salgado, Ken Jin, Savannah " @@ -1041,15 +1037,15 @@ msgstr "" "`149201`; PEP 831 verfasst von Pablo Galindo Salgado, Ken Jin, Savannah " "Ostrowski und Diego Russo.)" -#: ../../whatsnew/3.15.rst:467 +#: ../../whatsnew/3.15.rst:466 msgid ":pep:`831` for further details." msgstr ":pep:`831` enthält weitere Details." -#: ../../whatsnew/3.15.rst:473 +#: ../../whatsnew/3.15.rst:472 msgid ":pep:`798`: Unpacking in comprehensions" msgstr ":pep:`798`: Entpacken in Comprehensions" -#: ../../whatsnew/3.15.rst:475 +#: ../../whatsnew/3.15.rst:474 msgid "" "List, set, and dictionary comprehensions, as well as generator expressions, " "now support unpacking with ``*`` and ``**``. This extends the unpacking " @@ -1067,7 +1063,7 @@ msgstr "" "eine direkte Alternative zu verschachtelten Comprehensions, :func:`itertools." "chain` und :meth:`itertools.chain.from_iterable`. Zum Beispiel::" -#: ../../whatsnew/3.15.rst:483 +#: ../../whatsnew/3.15.rst:482 msgid "" ">>> lists = [[1, 2], [3, 4], [5]]\n" ">>> [*L for L in lists] # equivalent to [x for L in lists for x in L]\n" @@ -1095,7 +1091,7 @@ msgstr "" "items()}\n" "{'a': 3, 'b': 2}" -#: ../../whatsnew/3.15.rst:495 +#: ../../whatsnew/3.15.rst:494 msgid "" "Generator expressions can similarly use unpacking to yield values from " "multiple iterables::" @@ -1103,7 +1099,7 @@ msgstr "" "Generator-Ausdrücke können das Entpacken auf ähnliche Weise nutzen, um Werte " "aus mehreren iterierbaren Objekten zu liefern::" -#: ../../whatsnew/3.15.rst:498 +#: ../../whatsnew/3.15.rst:497 msgid "" ">>> gen = (*L for L in lists) # equivalent to (x for L in lists for x in " "L)\n" @@ -1115,7 +1111,7 @@ msgstr "" ">>> list(gen)\n" "[1, 2, 3, 4, 5]" -#: ../../whatsnew/3.15.rst:502 +#: ../../whatsnew/3.15.rst:501 msgid "" "This change also extends to asynchronous generator expressions, such that, " "for example, ``(*a async for a in agen())`` is equivalent to ``(x async for " @@ -1125,19 +1121,19 @@ msgstr "" "Beispiel ``(*a async for a in agen())`` gleichwertig zu ``(x async for a in " "agen() for x in a)``." -#: ../../whatsnew/3.15.rst:506 +#: ../../whatsnew/3.15.rst:505 msgid "(Contributed by Adam Hartz in :gh:`143055`.)" msgstr "(Beigetragen von Adam Hartz in :gh:`143055`.)" -#: ../../whatsnew/3.15.rst:508 +#: ../../whatsnew/3.15.rst:507 msgid ":pep:`798` for further details." msgstr ":pep:`798` enthält weitere Details." -#: ../../whatsnew/3.15.rst:514 +#: ../../whatsnew/3.15.rst:513 msgid ":pep:`829`: Package startup configuration files" msgstr ":pep:`829`: Startkonfigurationsdateien für Pakete" -#: ../../whatsnew/3.15.rst:516 +#: ../../whatsnew/3.15.rst:515 msgid "" "Loaded by the :mod:`site` module when ``-S`` is not given, :ref:`.pth files " "` can contain lines that both extend :data:`sys.path` and " @@ -1152,7 +1148,7 @@ msgstr "" "Funktionalität kann problematisch sein, da schwer nachzuvollziehen ist, was " "genau beim Start von Python ausgeführt wird." -#: ../../whatsnew/3.15.rst:522 +#: ../../whatsnew/3.15.rst:521 msgid "" "As a step towards improving the ability to audit pre-start executable code, " "Python 3.15 introduces :ref:`.start files ` which contain " @@ -1167,7 +1163,7 @@ msgstr "" "Objekt ist. Beim Start von Python wird das aufrufbare Objekt gesucht und " "ohne Argumente aufgerufen." -#: ../../whatsnew/3.15.rst:528 +#: ../../whatsnew/3.15.rst:527 msgid "" "``import`` lines in :file:`.pth` files are silently deprecated. When a " "matching :file:`.start` file is found, ``import`` lines in :file:`.pth` " @@ -1180,7 +1176,7 @@ msgstr "" "die :data:`sys.path` erweitern, ändert sich in Dateien vom Typ :file:`.pth` " "nichts." -#: ../../whatsnew/3.15.rst:533 +#: ../../whatsnew/3.15.rst:532 msgid "" "The :mod:`site` module also provides :class:`site.StartupState` to batch " "startup processing for multiple site directories, ensuring all static path " @@ -1205,15 +1201,15 @@ msgstr "" "addsitepackages` steuern und am Ende einmal :meth:`~site.StartupState." "process` aufrufen." -#: ../../whatsnew/3.15.rst:544 +#: ../../whatsnew/3.15.rst:543 msgid "(Contributed by Barry Warsaw in :gh:`148641` and :gh:`150228`.)" msgstr "(Beigetragen von Barry Warsaw in :gh:`148641` und :gh:`150228`.)" -#: ../../whatsnew/3.15.rst:550 +#: ../../whatsnew/3.15.rst:549 msgid ":pep:`803`: Stable ABI for free-threaded builds" msgstr ":pep:`803`: Stabile ABI für Builds mit freien Threads" -#: ../../whatsnew/3.15.rst:552 +#: ../../whatsnew/3.15.rst:551 msgid "" "C extensions that target the :ref:`Stable ABI ` can now be " "compiled for the new *Stable ABI for Free-Threaded Builds* (also known as " @@ -1228,7 +1224,7 @@ msgstr "" "erfordert in der Regel einige nicht triviale Änderungen am Quellcode, und " "zwar:" -#: ../../whatsnew/3.15.rst:559 +#: ../../whatsnew/3.15.rst:558 msgid "" "Switching to API introduced in :pep:`697` (Python 3.12), such as negative :c:" "member:`~PyType_Spec.basicsize` and :c:func:`PyObject_GetTypeData`, rather " @@ -1239,7 +1235,7 @@ msgstr "" "`PyObject_GetTypeData`, statt :c:type:`PyObject` zum Teil der Instanz-" "Struktur zu machen; und" -#: ../../whatsnew/3.15.rst:563 +#: ../../whatsnew/3.15.rst:562 msgid "" "Switching from a ``PyInit_`` function to a new export hook, :c:func:" "`PyModExport_* `, introduced for this purpose in :" @@ -1250,7 +1246,7 @@ msgstr "" "eingeführt wurde, mit einer neuen Struktur :c:type:`PySlot`, die in :pep:" "`820` eingeführt wurde." -#: ../../whatsnew/3.15.rst:568 +#: ../../whatsnew/3.15.rst:567 msgid "" "Note that Stable ABI does not offer all the functionality that CPython has " "to offer. Extensions that cannot switch to ``abi3t`` should continue to " @@ -1262,15 +1258,16 @@ msgstr "" "können, sollten weiterhin getrennt für die bestehende stabile ABI (``abi3``) " "und die versionsspezifische ABI für freie Threads (``cp315t``) gebaut werden." -#: ../../whatsnew/3.15.rst:574 +#: ../../whatsnew/3.15.rst:573 +#, fuzzy msgid "" "Stable ABI for Free-Threaded Builds should typically be selected in a build " -"tool (such as, for example, Setuptools, meson-python, scikit-build-core, or " -"Maturin). At the time of writing, these tools do **not** support ``abi3t``. " -"If this is the case for your tool, compile for ``cp315t`` separately. If not " -"using a build tool -- or when writing such a tool -- you can select " -"``abi3t`` by setting the macro :c:macro:`!Py_TARGET_ABI3T` as discussed in :" -"ref:`abi3-compiling`." +"tool. Tools with ``abi3t`` support include meson-python, scikit-build-core, " +"and Maturin; see :ref:`abi3t-migration-build` for links to their " +"documentation on ``abi3t`` builds. If your build tool does not support " +"``abi3t``, compile for ``cp315t`` separately. If not using a build tool -- " +"or when writing such a tool -- you can select ``abi3t`` by setting the " +"macro :c:macro:`!Py_TARGET_ABI3T` as discussed in :ref:`abi3-compiling`." msgstr "" "Die stabile ABI für Builds mit freien Threads sollte normalerweise in einem " "Build-Werkzeug ausgewählt werden (zum Beispiel Setuptools, meson-python, " @@ -1281,23 +1278,23 @@ msgstr "" "``abi3t`` auswählen, indem du das Makro :c:macro:`!Py_TARGET_ABI3T` setzt, " "wie in :ref:`abi3-compiling` beschrieben." -#: ../../whatsnew/3.15.rst:583 +#: ../../whatsnew/3.15.rst:582 msgid "" "A practical :ref:`migration guide ` for switching to " -"``abi3t`` is available." +"``abi3t`` is available. The community-maintained `Python Free-Threading " +"Guide `__ provides examples of " +"building and testing ``abi3t`` wheels." msgstr "" -"Ein praktischer :ref:`Migrationsleitfaden ` für den " -"Umstieg auf ``abi3t`` ist verfügbar." -#: ../../whatsnew/3.15.rst:586 +#: ../../whatsnew/3.15.rst:588 msgid ":pep:`803` for further details." msgstr ":pep:`803` enthält weitere Details." -#: ../../whatsnew/3.15.rst:592 +#: ../../whatsnew/3.15.rst:594 msgid ":pep:`788`: Protecting the C API from interpreter finalization" msgstr ":pep:`788`: Schutz der C-API vor der Finalisierung des Interpreters" -#: ../../whatsnew/3.15.rst:594 +#: ../../whatsnew/3.15.rst:596 msgid "" "In the C API, :term:`interpreter finalization ` can be " "problematic for many extensions, because :term:`attaching `, which prevent an interpreter " "from finalizing." @@ -1328,7 +1325,7 @@ msgstr "" ":ref:`Interpreter-Guards `, die verhindern, dass ein " "Interpreter finalisiert wird." -#: ../../whatsnew/3.15.rst:606 +#: ../../whatsnew/3.15.rst:608 msgid "" ":ref:`Interpreter views `, which allow thread-safe access " "to an interpreter that may be concurrently finalizing or deleted." @@ -1337,7 +1334,7 @@ msgstr "" "Zugriff auf einen Interpreter ermöglichen, der möglicherweise gleichzeitig " "finalisiert oder gelöscht wird." -#: ../../whatsnew/3.15.rst:608 +#: ../../whatsnew/3.15.rst:610 msgid "" ":ref:`New APIs ` to automatically attach and detach " "thread states that come with built-in protection against finalization." @@ -1346,7 +1343,7 @@ msgstr "" "von Thread-Zuständen, die einen integrierten Schutz vor der Finalisierung " "mitbringen." -#: ../../whatsnew/3.15.rst:611 +#: ../../whatsnew/3.15.rst:613 msgid "" "In addition, APIs in the ``PyGILState`` family (most notably :c:func:" "`PyGILState_Ensure` and :c:func:`PyGILState_Release`) have been :term:`soft " @@ -1361,19 +1358,19 @@ msgstr "" "Python-Versionen wird es keine neuen APIs der Familie ``PyGILState`` mehr " "geben." -#: ../../whatsnew/3.15.rst:617 +#: ../../whatsnew/3.15.rst:619 msgid "(Contributed by Peter Bierma in :gh:`149101`.)" msgstr "(Beigetragen von Peter Bierma in :gh:`149101`.)" -#: ../../whatsnew/3.15.rst:619 +#: ../../whatsnew/3.15.rst:621 msgid ":pep:`788` for further details." msgstr ":pep:`788` enthält weitere Details." -#: ../../whatsnew/3.15.rst:625 +#: ../../whatsnew/3.15.rst:627 msgid "Improved error messages" msgstr "Verbesserte Fehlermeldungen" -#: ../../whatsnew/3.15.rst:627 +#: ../../whatsnew/3.15.rst:629 msgid "" "The interpreter now provides more helpful suggestions in :exc:" "`AttributeError` exceptions when accessing an attribute on an object that " @@ -1385,7 +1382,7 @@ msgstr "" "Objekts zugegriffen wird, ein ähnliches Attribut aber über eines seiner " "Member verfügbar ist." -#: ../../whatsnew/3.15.rst:631 +#: ../../whatsnew/3.15.rst:633 msgid "" "For example, if the object has an attribute that itself exposes the " "requested name, the error message will suggest accessing it via that inner " @@ -1395,7 +1392,7 @@ msgstr "" "Namen bereitstellt, schlägt die Fehlermeldung vor, über dieses innere " "Attribut darauf zuzugreifen:" -#: ../../whatsnew/3.15.rst:634 +#: ../../whatsnew/3.15.rst:636 msgid "" "from dataclasses import dataclass\n" "from math import pi\n" @@ -1435,12 +1432,12 @@ msgstr "" "container = Container(circle)\n" "print(container.area)" -#: ../../whatsnew/3.15.rst:655 +#: ../../whatsnew/3.15.rst:657 msgid "Running this code now produces a clearer suggestion:" msgstr "" "Wenn du diesen Code ausführst, erhältst du jetzt einen klareren Vorschlag:" -#: ../../whatsnew/3.15.rst:657 +#: ../../whatsnew/3.15.rst:659 msgid "" "Traceback (most recent call last):\n" " File \"example.py\", line 18, in \n" @@ -1456,7 +1453,7 @@ msgstr "" "AttributeError: 'Container' object has no attribute 'area'. Did you mean '." "inner.area' instead of '.area'?" -#: ../../whatsnew/3.15.rst:665 +#: ../../whatsnew/3.15.rst:667 msgid "" "When an :exc:`AttributeError` on a builtin type has no close match via " "Levenshtein distance, the error message now checks a static table of common " @@ -1468,7 +1465,7 @@ msgstr "" "jetzt eine statische Tabelle gängiger Methodennamen aus anderen Sprachen " "(JavaScript, Java, Ruby, C#) und schlägt die Python-Entsprechung vor:" -#: ../../whatsnew/3.15.rst:670 +#: ../../whatsnew/3.15.rst:672 msgid "" ">>> [1, 2, 3].push(4)\n" "Traceback (most recent call last):\n" @@ -1494,7 +1491,7 @@ msgstr "" "AttributeError: 'str' object has no attribute 'toUpperCase'. Did you mean '." "upper'?" -#: ../../whatsnew/3.15.rst:682 +#: ../../whatsnew/3.15.rst:684 msgid "" "When the Python equivalent is a language construct rather than a method, the " "hint describes the construct directly:" @@ -1502,7 +1499,7 @@ msgstr "" "Wenn die Python-Entsprechung ein Sprachkonstrukt statt einer Methode ist, " "beschreibt der Hinweis das Konstrukt direkt:" -#: ../../whatsnew/3.15.rst:685 +#: ../../whatsnew/3.15.rst:687 msgid "" ">>> {}.put(\"a\", 1)\n" "Traceback (most recent call last):\n" @@ -1514,7 +1511,7 @@ msgstr "" "...\n" "AttributeError: 'dict' object has no attribute 'put'. Use d[k] = v." -#: ../../whatsnew/3.15.rst:692 +#: ../../whatsnew/3.15.rst:694 msgid "" "When a mutable method is called on an immutable type, the hint suggests the " "mutable counterpart:" @@ -1522,7 +1519,7 @@ msgstr "" "Wenn auf einem unveränderlichen Typ eine verändernde Methode aufgerufen " "wird, schlägt der Hinweis das veränderliche Gegenstück vor:" -#: ../../whatsnew/3.15.rst:695 +#: ../../whatsnew/3.15.rst:697 msgid "" ">>> (1, 2, 3).append(4)\n" "Traceback (most recent call last):\n" @@ -1536,15 +1533,15 @@ msgstr "" "AttributeError: 'tuple' object has no attribute 'append'. Did you mean to " "use a 'list' object?" -#: ../../whatsnew/3.15.rst:702 +#: ../../whatsnew/3.15.rst:704 msgid "These hints also work for subclasses of builtin types." msgstr "Diese Hinweise funktionieren auch für Unterklassen integrierter Typen." -#: ../../whatsnew/3.15.rst:704 +#: ../../whatsnew/3.15.rst:706 msgid "(Contributed by Matt Van Horn in :gh:`146406`.)" msgstr "(Beigetragen von Matt Van Horn in :gh:`146406`.)" -#: ../../whatsnew/3.15.rst:706 +#: ../../whatsnew/3.15.rst:708 msgid "" "The interpreter now tries to provide a suggestion when :func:`delattr` fails " "due to a missing attribute. When an attribute name that closely resembles an " @@ -1557,7 +1554,7 @@ msgstr "" "Interpreter in der Fehlermeldung den korrekten Attributnamen vor. Zum " "Beispiel:" -#: ../../whatsnew/3.15.rst:712 +#: ../../whatsnew/3.15.rst:714 msgid "" ">>> class A:\n" "... pass\n" @@ -1577,12 +1574,12 @@ msgstr "" "...\n" "AttributeError: 'A' object has no attribute 'abcdf'. Did you mean: 'abcde'?" -#: ../../whatsnew/3.15.rst:723 +#: ../../whatsnew/3.15.rst:725 msgid "(Contributed by Nikita Sobolev and Pranjal Prajapati in :gh:`136588`.)" msgstr "" "(Beigetragen von Nikita Sobolev und Pranjal Prajapati in :gh:`136588`.)" -#: ../../whatsnew/3.15.rst:725 +#: ../../whatsnew/3.15.rst:727 msgid "" "Several error messages incorrectly using the term \"argument\" have been " "corrected. (Contributed by Stan Ulbrych in :gh:`133382`.)" @@ -1590,11 +1587,11 @@ msgstr "" "Mehrere Fehlermeldungen, die den Begriff „argument“ falsch verwendeten, " "wurden korrigiert. (Beigetragen von Stan Ulbrych in :gh:`133382`.)" -#: ../../whatsnew/3.15.rst:730 +#: ../../whatsnew/3.15.rst:732 msgid "Other language changes" msgstr "Weitere Sprachänderungen" -#: ../../whatsnew/3.15.rst:734 +#: ../../whatsnew/3.15.rst:736 msgid "" "Python now uses UTF-8_ as the default encoding, independent of the system's " "environment. This means that I/O operations without an explicit encoding, " @@ -1611,7 +1608,7 @@ msgstr "" "nahezu jeder Webseite im Internet, in vielen gängigen Dateiformaten, " "Programmiersprachen und mehr." -#: ../../whatsnew/3.15.rst:741 +#: ../../whatsnew/3.15.rst:743 msgid "" "This only applies when no ``encoding`` argument is given. For best " "compatibility between versions of Python, ensure that an explicit " @@ -1628,7 +1625,7 @@ msgstr "" "verwendet die Kodierung des aktuellen Gebietsschemas und wird seit Python " "3.10 unterstützt." -#: ../../whatsnew/3.15.rst:748 +#: ../../whatsnew/3.15.rst:750 msgid "" "To retain the previous behaviour, Python's UTF-8 mode may be disabled with " "the :envvar:`PYTHONUTF8=0 ` environment variable or the :option:" @@ -1638,18 +1635,18 @@ msgstr "" "mit der Umgebungsvariable :envvar:`PYTHONUTF8=0 ` oder der " "Kommandozeilenoption :option:`-X utf8=0 <-X>` deaktiviert werden." -#: ../../whatsnew/3.15.rst:752 +#: ../../whatsnew/3.15.rst:754 msgid "" "(Contributed by Adam Turner in :gh:`133711`; PEP 686 written by Inada Naoki.)" msgstr "" "(Beigetragen von Adam Turner in :gh:`133711`; PEP 686 verfasst von Inada " "Naoki.)" -#: ../../whatsnew/3.15.rst:754 +#: ../../whatsnew/3.15.rst:756 msgid ":pep:`686` for further details." msgstr ":pep:`686` enthält weitere Details." -#: ../../whatsnew/3.15.rst:761 +#: ../../whatsnew/3.15.rst:763 msgid "" "The interpreter help (such as ``python --help``) is now in color. This can " "be controlled by :ref:`environment variables `. " @@ -1659,7 +1656,7 @@ msgstr "" "lässt sich über :ref:`Umgebungsvariablen ` " "steuern. (Beigetragen von Hugo van Kemenade in :gh:`148766`.)" -#: ../../whatsnew/3.15.rst:768 +#: ../../whatsnew/3.15.rst:770 msgid "" "Unraisable exceptions are now highlighted with color by default. This can be " "controlled by :ref:`environment variables `. " @@ -1670,7 +1667,7 @@ msgstr "" "`Umgebungsvariablen ` steuern. (Beigetragen von " "Peter Bierma in :gh:`134170`.)" -#: ../../whatsnew/3.15.rst:774 +#: ../../whatsnew/3.15.rst:776 msgid "" "More color in :ref:`argparse `, :ref:`ast " "`, :ref:`calendar `, :ref:" @@ -1697,7 +1694,7 @@ msgstr "" "sampling, random, regrtest, sqlite3, timeit, tokenize, trace, unittest, " "uuid, zipapp, zipfile)." -#: ../../whatsnew/3.15.rst:791 +#: ../../whatsnew/3.15.rst:793 msgid "" "The :meth:`~object.__repr__` of :class:`ImportError` and :class:" "`ModuleNotFoundError` now shows \"name\" and \"path\" as ``name=`` and " @@ -1711,7 +1708,7 @@ msgstr "" "Schlüsselwortargumente übergeben wurden. (Beigetragen von Serhiy Storchaka, " "Oleg Iarygin und Yoav Nir in :gh:`74185`.)" -#: ../../whatsnew/3.15.rst:796 +#: ../../whatsnew/3.15.rst:798 msgid "" "The :attr:`~object.__dict__` and :attr:`!__weakref__` descriptors now use a " "single descriptor instance per interpreter, shared across all types that " @@ -1724,7 +1721,7 @@ msgstr "" "von Klassen und hilft, Referenzzyklen zu vermeiden. (Beigetragen von Petr " "Viktorin in :gh:`135228`.)" -#: ../../whatsnew/3.15.rst:802 +#: ../../whatsnew/3.15.rst:804 msgid "" "The :option:`-W` option and the :envvar:`PYTHONWARNINGS` environment " "variable can now specify regular expressions instead of literal strings to " @@ -1738,7 +1735,7 @@ msgstr "" "Feld mit einem Schrägstrich (``/``) beginnt und endet. (Beigetragen von " "Serhiy Storchaka in :gh:`134716`.)" -#: ../../whatsnew/3.15.rst:808 +#: ../../whatsnew/3.15.rst:810 msgid "" "Functions that take timestamp or timeout arguments now accept any real " "numbers (such as :class:`~decimal.Decimal` and :class:`~fractions." @@ -1751,7 +1748,7 @@ msgstr "" "Gleitkommazahlen, wobei sich die Genauigkeit dadurch nicht verbessert. " "(Beigetragen von Serhiy Storchaka in :gh:`67795`.)" -#: ../../whatsnew/3.15.rst:815 +#: ../../whatsnew/3.15.rst:817 msgid "" "Added :meth:`bytearray.take_bytes(n=None, /) ` to take " "bytes out of a :class:`bytearray` without copying. This enables optimizing " @@ -1768,29 +1765,29 @@ msgstr "" "Dekodieren und Komprimieren. Gängige Codemuster, die sich mit :func:" "`~bytearray.take_bytes` optimieren lassen, sind unten aufgeführt." -#: ../../whatsnew/3.15.rst:822 +#: ../../whatsnew/3.15.rst:824 msgid "Suggested optimizing refactors" msgstr "Vorgeschlagene Refactorings zur Optimierung" -#: ../../whatsnew/3.15.rst:825 +#: ../../whatsnew/3.15.rst:827 msgid "Description" msgstr "Beschreibung" -#: ../../whatsnew/3.15.rst:826 +#: ../../whatsnew/3.15.rst:828 msgid "Old" msgstr "Alt" -#: ../../whatsnew/3.15.rst:827 +#: ../../whatsnew/3.15.rst:829 msgid "New" msgstr "Neu" -#: ../../whatsnew/3.15.rst:829 +#: ../../whatsnew/3.15.rst:831 msgid "Return :class:`bytes` after working with :class:`bytearray`" msgstr "" ":class:`bytes` zurückgeben, nachdem mit einem :class:`bytearray` gearbeitet " "wurde" -#: ../../whatsnew/3.15.rst:830 +#: ../../whatsnew/3.15.rst:832 msgid "" "def read() -> bytes:\n" " buffer = bytearray(1024)\n" @@ -1802,7 +1799,7 @@ msgstr "" " ...\n" " return bytes(buffer)" -#: ../../whatsnew/3.15.rst:837 +#: ../../whatsnew/3.15.rst:839 msgid "" "def read() -> bytes:\n" " buffer = bytearray(1024)\n" @@ -1814,11 +1811,11 @@ msgstr "" " ...\n" " return buffer.take_bytes()" -#: ../../whatsnew/3.15.rst:844 +#: ../../whatsnew/3.15.rst:846 msgid "Empty a buffer getting the bytes" msgstr "Einen Puffer leeren und dabei die Bytes erhalten" -#: ../../whatsnew/3.15.rst:845 +#: ../../whatsnew/3.15.rst:847 msgid "" "buffer = bytearray(1024)\n" "...\n" @@ -1830,7 +1827,7 @@ msgstr "" "data = bytes(buffer)\n" "buffer.clear()" -#: ../../whatsnew/3.15.rst:852 +#: ../../whatsnew/3.15.rst:854 msgid "" "buffer = bytearray(1024)\n" "...\n" @@ -1840,11 +1837,11 @@ msgstr "" "...\n" "data = buffer.take_bytes()" -#: ../../whatsnew/3.15.rst:858 +#: ../../whatsnew/3.15.rst:860 msgid "Split a buffer at a specific separator" msgstr "Einen Puffer an einem bestimmten Trennzeichen aufteilen" -#: ../../whatsnew/3.15.rst:859 +#: ../../whatsnew/3.15.rst:861 msgid "" "buffer = bytearray(b'abc\\ndef')\n" "n = buffer.find(b'\\n')\n" @@ -1860,7 +1857,7 @@ msgstr "" "assert data == b'abc\\n'\n" "assert buffer == bytearray(b'def')" -#: ../../whatsnew/3.15.rst:868 +#: ../../whatsnew/3.15.rst:870 msgid "" "buffer = bytearray(b'abc\\ndef')\n" "n = buffer.find(b'\\n')\n" @@ -1870,13 +1867,13 @@ msgstr "" "n = buffer.find(b'\\n')\n" "data = buffer.take_bytes(n + 1)" -#: ../../whatsnew/3.15.rst:874 +#: ../../whatsnew/3.15.rst:876 msgid "Split a buffer at a specific separator; discard after the separator" msgstr "" "Einen Puffer an einem bestimmten Trennzeichen aufteilen; den Rest nach dem " "Trennzeichen verwerfen" -#: ../../whatsnew/3.15.rst:875 +#: ../../whatsnew/3.15.rst:877 msgid "" "buffer = bytearray(b'abc\\ndef')\n" "n = buffer.find(b'\\n')\n" @@ -1892,7 +1889,7 @@ msgstr "" "assert data == b'abc'\n" "assert len(buffer) == 0" -#: ../../whatsnew/3.15.rst:884 +#: ../../whatsnew/3.15.rst:886 msgid "" "buffer = bytearray(b'abc\\ndef')\n" "n = buffer.find(b'\\n')\n" @@ -1904,11 +1901,11 @@ msgstr "" "buffer.resize(n)\n" "data = buffer.take_bytes()" -#: ../../whatsnew/3.15.rst:891 +#: ../../whatsnew/3.15.rst:893 msgid "(Contributed by Cody Maloney in :gh:`139871`.)" msgstr "(Beigetragen von Cody Maloney in :gh:`139871`.)" -#: ../../whatsnew/3.15.rst:893 +#: ../../whatsnew/3.15.rst:895 msgid "" "Many functions related to compiling or parsing Python code, such as :func:" "`compile`, :func:`ast.parse`, :func:`symtable.symtable`, and :func:" @@ -1924,7 +1921,7 @@ msgstr "" "zu :ref:`filtern `. (Beigetragen von Serhiy Storchaka in :gh:" "`135801`.)" -#: ../../whatsnew/3.15.rst:900 +#: ../../whatsnew/3.15.rst:902 msgid "" "Allowed defining the *__dict__* and *__weakref__* :ref:`__slots__ ` " "for any class. (Contributed by Serhiy Storchaka in :gh:`41779`.)" @@ -1933,7 +1930,7 @@ msgstr "" "`__slots__ ` definiert werden. (Beigetragen von Serhiy Storchaka in :" "gh:`41779`.)" -#: ../../whatsnew/3.15.rst:904 +#: ../../whatsnew/3.15.rst:906 msgid "" "Allowed defining any :ref:`__slots__ ` for a class derived from :" "class:`tuple` (including classes created by :func:`collections.namedtuple`). " @@ -1944,7 +1941,7 @@ msgstr "" "`collections.namedtuple` erzeugten Klassen). (Beigetragen von Serhiy " "Storchaka in :gh:`41779`.)" -#: ../../whatsnew/3.15.rst:908 +#: ../../whatsnew/3.15.rst:910 msgid "" "The :class:`slice` type now supports subscription, making it a :term:" "`generic type`. (Contributed by James Hilton-Balfe in :gh:`128335`.)" @@ -1953,7 +1950,7 @@ msgstr "" "ein :term:`generischer Typ `. (Beigetragen von James Hilton-" "Balfe in :gh:`128335`.)" -#: ../../whatsnew/3.15.rst:912 +#: ../../whatsnew/3.15.rst:914 msgid "" "The class :class:`memoryview` now supports the :c:expr:`float complex` and :" "c:expr:`double complex` C types: formatting characters ``'Zf'`` and ``'Zd'`` " @@ -1965,7 +1962,7 @@ msgstr "" "beziehungsweise ``'Zd'``. (Beigetragen von Victor Stinner in :gh:`146151` " "und :gh:`148675`.)" -#: ../../whatsnew/3.15.rst:917 +#: ../../whatsnew/3.15.rst:919 msgid "" "Allow the *count* argument of :meth:`bytes.replace` to be a keyword. " "(Contributed by Stan Ulbrych in :gh:`147856`.)" @@ -1974,7 +1971,7 @@ msgstr "" "Schlüsselwortargument übergeben werden. (Beigetragen von Stan Ulbrych in :gh:" "`147856`.)" -#: ../../whatsnew/3.15.rst:920 +#: ../../whatsnew/3.15.rst:922 msgid "" "Unary plus is now accepted in :keyword:`match` literal patterns, mirroring " "the existing support for unary minus. (Contributed by Bartosz Sławecki in :" @@ -1984,7 +1981,7 @@ msgstr "" "analog zur bestehenden Unterstützung für das unäre Minus. (Beigetragen von " "Bartosz Sławecki in :gh:`145239`.)" -#: ../../whatsnew/3.15.rst:924 +#: ../../whatsnew/3.15.rst:926 msgid "" "The import system now acquires per-module locks in hierarchical order " "(parent packages before their submodules). This fixes a long-standing " @@ -1999,7 +1996,7 @@ msgstr "" "gegenseitig blockieren konnten, wenn ``pkg/sub/__init__.py`` das Modul ``pkg." "sub.mod`` importiert. (Beigetragen von Gregory P. Smith in :gh:`83065`.)" -#: ../../whatsnew/3.15.rst:931 +#: ../../whatsnew/3.15.rst:933 msgid "" "File names of Stable ABI extensions that use the ``.so`` suffix may now " "include a multiarch tuple, for example, ``foo.abi3-x86-64-linux-gnu.so``. " @@ -2016,7 +2013,7 @@ msgstr "" "Erweiterungen bereits möglich ist. (Beigetragen von Stefano Rivera in :gh:" "`122931`.)" -#: ../../whatsnew/3.15.rst:938 +#: ../../whatsnew/3.15.rst:940 msgid "" "The ``__cached__`` attribute on modules, which was deprecated since version " "3.13, is no longer set or taken into consideration by the import system or " @@ -2028,7 +2025,7 @@ msgstr "" "berücksichtigt. Verwende stattdessen :attr:`__spec__.cached `. (Beigetragen von Brett Cannon in :gh:`97879`.)" -#: ../../whatsnew/3.15.rst:944 +#: ../../whatsnew/3.15.rst:946 msgid "" "Note that the :attr:`~module.__loader__` and :attr:`~module.__package__` " "attributes are also deprecated and scheduled for removal." @@ -2036,11 +2033,11 @@ msgstr "" "Beachte, dass die Attribute :attr:`~module.__loader__` und :attr:`~module." "__package__` ebenfalls veraltet sind und entfernt werden sollen." -#: ../../whatsnew/3.15.rst:949 +#: ../../whatsnew/3.15.rst:951 msgid "Default interactive shell" msgstr "Interaktive Standard-Shell" -#: ../../whatsnew/3.15.rst:953 +#: ../../whatsnew/3.15.rst:955 msgid "" "Tab completions are now colored by object kind, based on :pypi:" "`fancycompleter`. Set :envvar:`PYTHON_BASIC_COMPLETER` to fall back to :mod:" @@ -2055,7 +2052,7 @@ msgstr "" "color>` steuern. (Beigetragen von Antonio Cuni und Pablo Galindo in :gh:" "`130472`.)" -#: ../../whatsnew/3.15.rst:960 +#: ../../whatsnew/3.15.rst:962 msgid "" "Tab completion now suggests module attributes in ``from ... import`` " "statements. Attributes can only be suggested once the module is imported, " @@ -2070,15 +2067,15 @@ msgstr "" "anbietet, sie zu importieren, wenn :kbd:`Tab` ein zweites Mal gedrückt wird. " "(Beigetragen von Loïc Simon und Pablo Galindo in :gh:`140870`.)" -#: ../../whatsnew/3.15.rst:969 +#: ../../whatsnew/3.15.rst:971 msgid "New modules" msgstr "Neue Module" -#: ../../whatsnew/3.15.rst:972 +#: ../../whatsnew/3.15.rst:974 msgid "math.integer" msgstr "math.integer" -#: ../../whatsnew/3.15.rst:974 +#: ../../whatsnew/3.15.rst:976 msgid "" "This module provides access to the mathematical functions for integer " "arguments (:pep:`791`). (Contributed by Serhiy Storchaka in :gh:`81313`.)" @@ -2087,15 +2084,15 @@ msgstr "" "ganzzahlige Argumente (:pep:`791`). (Beigetragen von Serhiy Storchaka in :gh:" "`81313`.)" -#: ../../whatsnew/3.15.rst:980 +#: ../../whatsnew/3.15.rst:982 msgid "Improved modules" msgstr "Verbesserte Module" -#: ../../whatsnew/3.15.rst:983 +#: ../../whatsnew/3.15.rst:985 msgid "argparse" msgstr "argparse" -#: ../../whatsnew/3.15.rst:985 +#: ../../whatsnew/3.15.rst:987 msgid "" "The :class:`~argparse.BooleanOptionalAction` action now supports single-dash " "long options and alternate prefix characters. (Contributed by Serhiy " @@ -2105,7 +2102,7 @@ msgstr "" "Optionen mit einfachem Bindestrich und alternative Präfixzeichen. " "(Beigetragen von Serhiy Storchaka in :gh:`138525`.)" -#: ../../whatsnew/3.15.rst:989 +#: ../../whatsnew/3.15.rst:991 msgid "" "Changed the *suggest_on_error* parameter of :class:`argparse.ArgumentParser` " "to default to ``True``. This enables suggestions for mistyped arguments by " @@ -2116,7 +2113,7 @@ msgstr "" "für falsch geschriebene Argumente angezeigt. (Beigetragen von Jakob Schluse " "in :gh:`140450`.)" -#: ../../whatsnew/3.15.rst:995 +#: ../../whatsnew/3.15.rst:997 msgid "" "Added backtick markup support in :class:`~argparse.ArgumentParser` " "description and epilog text to highlight inline code when color output is " @@ -2127,7 +2124,7 @@ msgstr "" "die farbige Ausgabe aktiviert ist. (Beigetragen von Savannah Ostrowski in :" "gh:`142390`.)" -#: ../../whatsnew/3.15.rst:999 +#: ../../whatsnew/3.15.rst:1001 msgid "" "Extended backtick markup to argument ``help`` text and added support for " "double backticks (RST inline-literal style). (Contributed by Hugo van " @@ -2137,11 +2134,11 @@ msgstr "" "erweitert, und doppelte Backticks (im Stil von RST-Inline-Literalen) werden " "jetzt unterstützt. (Beigetragen von Hugo van Kemenade in :gh:`149375`.)" -#: ../../whatsnew/3.15.rst:1005 +#: ../../whatsnew/3.15.rst:1007 msgid "array" msgstr "array" -#: ../../whatsnew/3.15.rst:1007 +#: ../../whatsnew/3.15.rst:1009 msgid "" "Support the :c:expr:`float complex` and :c:expr:`double complex` C types: " "formatting characters ``'Zf'`` and ``'Zd'`` respectively. (Contributed by " @@ -2151,7 +2148,7 @@ msgstr "" "complex` mit den Formatzeichen ``'Zf'`` beziehungsweise ``'Zd'``. " "(Beigetragen von Victor Stinner in :gh:`146151` und :gh:`148675`.)" -#: ../../whatsnew/3.15.rst:1011 +#: ../../whatsnew/3.15.rst:1013 msgid "" "Support half-floats (16-bit IEEE 754 binary interchange format): formatting " "character ``'e'``. (Contributed by Sergey B Kirpichev in :gh:`146238`.)" @@ -2160,7 +2157,7 @@ msgstr "" "Austauschformat nach IEEE 754) mit dem Formatzeichen ``'e'``. (Beigetragen " "von Sergey B Kirpichev in :gh:`146238`.)" -#: ../../whatsnew/3.15.rst:1015 +#: ../../whatsnew/3.15.rst:1017 msgid "" "The :data:`array.typecodes` type changed from :class:`str` to :class:`tuple` " "to support type codes longer than 1 character (``Zf`` and ``Zd``). " @@ -2170,11 +2167,11 @@ msgstr "" "geändert, um Typcodes zu unterstützen, die länger als ein Zeichen sind " "(``Zf`` und ``Zd``). (Beigetragen von Victor Stinner in :gh:`148675`.)" -#: ../../whatsnew/3.15.rst:1021 ../../whatsnew/3.15.rst:2128 +#: ../../whatsnew/3.15.rst:1023 ../../whatsnew/3.15.rst:2130 msgid "ast" msgstr "ast" -#: ../../whatsnew/3.15.rst:1025 +#: ../../whatsnew/3.15.rst:1027 msgid "" "Add *color* parameter to :func:`~ast.dump`. If ``True``, the returned string " "is syntax highlighted using ANSI escape sequences. If ``False`` (the " @@ -2186,7 +2183,7 @@ msgstr "" "hervorgehoben. Bei ``False`` (Standard) ist die farbige Ausgabe immer " "deaktiviert. (Beigetragen von Stan Ulbrych in :gh:`148981`.)" -#: ../../whatsnew/3.15.rst:1031 +#: ../../whatsnew/3.15.rst:1033 msgid "" "The :ref:`command-line ` output is now syntax highlighted by " "default. This can be :ref:`controlled using environment variables `. (Beigetragen von Stan Ulbrych in :gh:" "`148981`.)" -#: ../../whatsnew/3.15.rst:1037 +#: ../../whatsnew/3.15.rst:1039 msgid "asyncio" msgstr "asyncio" -#: ../../whatsnew/3.15.rst:1039 +#: ../../whatsnew/3.15.rst:1041 msgid "" "Added :meth:`TaskGroup.cancel ` to allow early " "termination of a task group, for instance, when the goal of the tasks has " @@ -2217,11 +2214,11 @@ msgstr "" "eigene Ausnahme auslöst, die dann beim Verlassen der Task-Gruppe unterdrückt " "wird. (Beigetragen von John Belmonte in :gh:`127214`.)" -#: ../../whatsnew/3.15.rst:1048 +#: ../../whatsnew/3.15.rst:1050 msgid "base64" msgstr "base64" -#: ../../whatsnew/3.15.rst:1050 +#: ../../whatsnew/3.15.rst:1052 msgid "" "Added the *pad* parameter in :func:`~base64.z85encode`. (Contributed by " "Hauke Dämpfling in :gh:`143103`.)" @@ -2229,7 +2226,7 @@ msgstr "" "Parameter *pad* in :func:`~base64.z85encode` hinzugefügt. (Beigetragen von " "Hauke Dämpfling in :gh:`143103`.)" -#: ../../whatsnew/3.15.rst:1053 +#: ../../whatsnew/3.15.rst:1055 msgid "" "Added the *padded* parameter in :func:`~base64.b32encode`, :func:`~base64." "b32decode`, :func:`~base64.b32hexencode`, :func:`~base64.b32hexdecode`, :" @@ -2243,7 +2240,7 @@ msgstr "" "und :func:`~base64.urlsafe_b64decode` hinzugefügt. (Beigetragen von Serhiy " "Storchaka in :gh:`73613`.)" -#: ../../whatsnew/3.15.rst:1060 +#: ../../whatsnew/3.15.rst:1062 msgid "" "Added the *wrapcol* parameter in :func:`~base64.b16encode`, :func:`~base64." "b32encode`, :func:`~base64.b32hexencode`, :func:`~base64.b64encode`, :func:" @@ -2255,7 +2252,7 @@ msgstr "" "`~base64.b85encode` und :func:`~base64.z85encode` hinzugefügt. (Beigetragen " "von Serhiy Storchaka in :gh:`143214` und :gh:`146431`.)" -#: ../../whatsnew/3.15.rst:1066 +#: ../../whatsnew/3.15.rst:1068 msgid "" "Added the *ignorechars* parameter in :func:`~base64.b16decode`, :func:" "`~base64.b32decode`, :func:`~base64.b32hexdecode`, :func:`~base64." @@ -2267,7 +2264,7 @@ msgstr "" "`~base64.b85decode` und :func:`~base64.z85decode` hinzugefügt. (Beigetragen " "von Serhiy Storchaka in :gh:`144001` und :gh:`146431`.)" -#: ../../whatsnew/3.15.rst:1072 +#: ../../whatsnew/3.15.rst:1074 msgid "" "Added the *canonical* parameter in :func:`~base64.b32decode`, :func:`~base64." "b32hexdecode`, :func:`~base64.b64decode`, :func:`~base64.a85decode`, :func:" @@ -2282,39 +2279,39 @@ msgstr "" "kanonischen Formen abzulehnen. (Beigetragen von Gregory P. Smith in :gh:" "`146311`.)" -#: ../../whatsnew/3.15.rst:1083 +#: ../../whatsnew/3.15.rst:1085 msgid "binascii" msgstr "binascii" -#: ../../whatsnew/3.15.rst:1085 +#: ../../whatsnew/3.15.rst:1087 msgid "Added functions for Base32 encoding:" msgstr "Funktionen für die Base32-Kodierung hinzugefügt:" -#: ../../whatsnew/3.15.rst:1087 +#: ../../whatsnew/3.15.rst:1089 msgid ":func:`~binascii.b2a_base32` and :func:`~binascii.a2b_base32`" msgstr ":func:`~binascii.b2a_base32` und :func:`~binascii.a2b_base32`" -#: ../../whatsnew/3.15.rst:1089 +#: ../../whatsnew/3.15.rst:1091 msgid "(Contributed by James Seo in :gh:`146192`.)" msgstr "(Beigetragen von James Seo in :gh:`146192`.)" -#: ../../whatsnew/3.15.rst:1091 +#: ../../whatsnew/3.15.rst:1093 msgid "Added functions for Ascii85, Base85, and Z85 encoding:" msgstr "Funktionen für die Kodierungen Ascii85, Base85 und Z85 hinzugefügt:" -#: ../../whatsnew/3.15.rst:1093 +#: ../../whatsnew/3.15.rst:1095 msgid ":func:`~binascii.b2a_ascii85` and :func:`~binascii.a2b_ascii85`" msgstr ":func:`~binascii.b2a_ascii85` und :func:`~binascii.a2b_ascii85`" -#: ../../whatsnew/3.15.rst:1094 +#: ../../whatsnew/3.15.rst:1096 msgid ":func:`~binascii.b2a_base85` and :func:`~binascii.a2b_base85`" msgstr ":func:`~binascii.b2a_base85` und :func:`~binascii.a2b_base85`" -#: ../../whatsnew/3.15.rst:1096 +#: ../../whatsnew/3.15.rst:1098 msgid "(Contributed by James Seo and Serhiy Storchaka in :gh:`101178`.)" msgstr "(Beigetragen von James Seo und Serhiy Storchaka in :gh:`101178`.)" -#: ../../whatsnew/3.15.rst:1098 +#: ../../whatsnew/3.15.rst:1100 msgid "" "Added the *padded* parameter in :func:`~binascii.b2a_base32`, :func:" "`~binascii.a2b_base32`, :func:`~binascii.b2a_base64`, and :func:`~binascii." @@ -2324,7 +2321,7 @@ msgstr "" "a2b_base32`, :func:`~binascii.b2a_base64` und :func:`~binascii.a2b_base64` " "hinzugefügt. (Beigetragen von Serhiy Storchaka in :gh:`73613`.)" -#: ../../whatsnew/3.15.rst:1103 +#: ../../whatsnew/3.15.rst:1105 msgid "" "Added the *wrapcol* parameter in :func:`~binascii.b2a_base64`. (Contributed " "by Serhiy Storchaka in :gh:`143214`.)" @@ -2332,7 +2329,7 @@ msgstr "" "Parameter *wrapcol* in :func:`~binascii.b2a_base64` hinzugefügt. " "(Beigetragen von Serhiy Storchaka in :gh:`143214`.)" -#: ../../whatsnew/3.15.rst:1106 +#: ../../whatsnew/3.15.rst:1108 msgid "" "Added the *alphabet* parameter in :func:`~binascii.b2a_base64` and :func:" "`~binascii.a2b_base64`. (Contributed by Serhiy Storchaka in :gh:`145980`.)" @@ -2340,7 +2337,7 @@ msgstr "" "Parameter *alphabet* in :func:`~binascii.b2a_base64` und :func:`~binascii." "a2b_base64` hinzugefügt. (Beigetragen von Serhiy Storchaka in :gh:`145980`.)" -#: ../../whatsnew/3.15.rst:1110 +#: ../../whatsnew/3.15.rst:1112 msgid "" "Added the *ignorechars* parameter in :func:`~binascii.a2b_hex`, :func:" "`~binascii.unhexlify`, and :func:`~binascii.a2b_base64`. (Contributed by " @@ -2350,7 +2347,7 @@ msgstr "" "unhexlify` und :func:`~binascii.a2b_base64` hinzugefügt. (Beigetragen von " "Serhiy Storchaka in :gh:`144001` und :gh:`146431`.)" -#: ../../whatsnew/3.15.rst:1114 +#: ../../whatsnew/3.15.rst:1116 msgid "" "Added the *canonical* parameter in :func:`~binascii.a2b_base64`, to reject " "encodings with non-zero padding bits. (Contributed by Gregory P. Smith in :" @@ -2360,11 +2357,11 @@ msgstr "" "Kodierungen mit von null verschiedenen Füllbits abzulehnen. (Beigetragen von " "Gregory P. Smith in :gh:`146311`.)" -#: ../../whatsnew/3.15.rst:1120 +#: ../../whatsnew/3.15.rst:1122 msgid "calendar" msgstr "calendar" -#: ../../whatsnew/3.15.rst:1124 +#: ../../whatsnew/3.15.rst:1126 msgid "" ":mod:`calendar`'s :ref:`command-line ` text output has more " "color. This can be controlled with :ref:`environment variables ` steuern. (Beigetragen von Hugo van Kemenade " "in :gh:`148352`.)" -#: ../../whatsnew/3.15.rst:1129 +#: ../../whatsnew/3.15.rst:1131 msgid "" "The :mod:`calendar`'s :ref:`command-line ` HTML output now " "accepts the year-month option: ``python -m calendar -t html 2009 06``. " @@ -2385,7 +2382,7 @@ msgstr "" "cli>` akzeptiert jetzt die Angabe von Jahr und Monat: ``python -m calendar -" "t html 2009 06``. (Beigetragen von Pål Grønås Drange in :gh:`140212`.)" -#: ../../whatsnew/3.15.rst:1133 +#: ../../whatsnew/3.15.rst:1135 msgid "" "Calendar pages generated by the :class:`calendar.HTMLCalendar` class now " "support dark mode and have been migrated to the HTML5 standard for improved " @@ -2397,11 +2394,11 @@ msgstr "" "Barrierefreiheit auf den HTML5-Standard umgestellt. (Beigetragen von Jiahao " "Li und Hugo van Kemenade in :gh:`137634`.)" -#: ../../whatsnew/3.15.rst:1139 +#: ../../whatsnew/3.15.rst:1141 msgid "collections" msgstr "collections" -#: ../../whatsnew/3.15.rst:1141 +#: ../../whatsnew/3.15.rst:1143 msgid "" "Added :meth:`!collections.Counter.__xor__` and :meth:`!collections.Counter." "__ixor__` to compute the symmetric difference between :class:`~collections." @@ -2412,11 +2409,11 @@ msgstr "" "Objekten vom Typ :class:`~collections.Counter` zu berechnen. (Beigetragen " "von Raymond Hettinger in :gh:`138682`.)" -#: ../../whatsnew/3.15.rst:1148 +#: ../../whatsnew/3.15.rst:1150 msgid "concurrent.futures" msgstr "concurrent.futures" -#: ../../whatsnew/3.15.rst:1150 +#: ../../whatsnew/3.15.rst:1152 msgid "" "Improved error reporting when a child process in a :class:`concurrent." "futures.ProcessPoolExecutor` terminates abruptly. The resulting traceback " @@ -2428,11 +2425,11 @@ msgstr "" "resultierende Traceback nennt jetzt die PID und den Exit-Code des beendeten " "Prozesses. (Beigetragen von Jonathan Berg in :gh:`139486`.)" -#: ../../whatsnew/3.15.rst:1158 +#: ../../whatsnew/3.15.rst:1160 msgid "contextlib" msgstr "contextlib" -#: ../../whatsnew/3.15.rst:1160 +#: ../../whatsnew/3.15.rst:1162 msgid "" "Added support for arbitrary descriptors :meth:`!__enter__`, :meth:`!" "__exit__`, :meth:`!__aenter__`, and :meth:`!__aexit__` in :class:" @@ -2446,7 +2443,7 @@ msgstr "" "Konsistenz mit den Anweisungen :keyword:`with` und :keyword:`async with`. " "(Beigetragen von Serhiy Storchaka in :gh:`144386`.)" -#: ../../whatsnew/3.15.rst:1166 +#: ../../whatsnew/3.15.rst:1168 msgid "" ":class:`~contextlib.ContextDecorator` and :class:`~contextlib." "AsyncContextDecorator` (and therefore :func:`~contextlib.contextmanager` " @@ -2466,11 +2463,11 @@ msgstr "" "verlassen, sobald das Generator- oder Koroutinenobjekt erzeugt wurde. " "(Beigetragen von Alex Grönholm und Gregory P. Smith in :gh:`125862`.)" -#: ../../whatsnew/3.15.rst:1177 ../../whatsnew/3.15.rst:2147 +#: ../../whatsnew/3.15.rst:1179 ../../whatsnew/3.15.rst:2149 msgid "ctypes" msgstr "ctypes" -#: ../../whatsnew/3.15.rst:1179 +#: ../../whatsnew/3.15.rst:1181 msgid "" "Change the :py:attr:`~ctypes._SimpleCData._type_` of :class:`~ctypes." "c_float_complex`, :class:`~ctypes.c_double_complex` and :class:`~ctypes." @@ -2484,11 +2481,11 @@ msgstr "" "``D`` und ``G`` zu ``Zf``, ``Zd`` und ``Zg`` geändert. (Beigetragen von " "Victor Stinner in :gh:`148675`.)" -#: ../../whatsnew/3.15.rst:1187 +#: ../../whatsnew/3.15.rst:1189 msgid "dataclasses" msgstr "dataclasses" -#: ../../whatsnew/3.15.rst:1189 +#: ../../whatsnew/3.15.rst:1191 msgid "" "Annotations for generated ``__init__`` methods no longer include internal " "type names. (Contributed by David Ellis in :gh:`137530`.)" @@ -2496,11 +2493,11 @@ msgstr "" "Annotationen für generierte Methoden ``__init__`` enthalten keine internen " "Typnamen mehr. (Beigetragen von David Ellis in :gh:`137530`.)" -#: ../../whatsnew/3.15.rst:1195 +#: ../../whatsnew/3.15.rst:1197 msgid "dbm" msgstr "dbm" -#: ../../whatsnew/3.15.rst:1197 +#: ../../whatsnew/3.15.rst:1199 msgid "" "Added new :meth:`!reorganize` methods to :mod:`dbm.dumb` and :mod:`dbm." "sqlite3` to recover unused free space previously occupied by deleted " @@ -2511,11 +2508,11 @@ msgstr "" "von gelöschten Einträgen belegt war. (Beigetragen von Andrea Oliveri in :gh:" "`134004`.)" -#: ../../whatsnew/3.15.rst:1203 +#: ../../whatsnew/3.15.rst:1205 msgid "difflib" msgstr "difflib" -#: ../../whatsnew/3.15.rst:1207 +#: ../../whatsnew/3.15.rst:1209 msgid "" "Introduced the optional *color* parameter to :func:`difflib.unified_diff`, " "enabling color output similar to :program:`git diff`. This can be controlled " @@ -2527,7 +2524,7 @@ msgstr "" "Dies lässt sich über :ref:`Umgebungsvariablen ` " "steuern. (Beigetragen von Douglas Thor in :gh:`133725`.)" -#: ../../whatsnew/3.15.rst:1213 +#: ../../whatsnew/3.15.rst:1215 msgid "" "Improved the styling of HTML diff pages generated by the :class:`difflib." "HtmlDiff` class, and migrated the output to the HTML5 standard. (Contributed " @@ -2537,11 +2534,11 @@ msgstr "" "Seiten wurde verbessert und die Ausgabe auf den HTML5-Standard umgestellt. " "(Beigetragen von Jiahao Li in :gh:`134580`.)" -#: ../../whatsnew/3.15.rst:1219 +#: ../../whatsnew/3.15.rst:1221 msgid "email" msgstr "email" -#: ../../whatsnew/3.15.rst:1221 +#: ../../whatsnew/3.15.rst:1223 msgid "" "Email generators now raise an error when an :class:`.EmailMessage` cannot be " "accurately flattened due to a non-ASCII email address (mailbox) in an " @@ -2557,11 +2554,11 @@ msgstr "" "beschrieben. (Beigetragen von R David Murray und Mike Edmunds in :gh:" "`122540`.)" -#: ../../whatsnew/3.15.rst:1229 +#: ../../whatsnew/3.15.rst:1231 msgid "faulthandler" msgstr "faulthandler" -#: ../../whatsnew/3.15.rst:1231 +#: ../../whatsnew/3.15.rst:1233 msgid "" "Added the *max_threads* parameter in :func:`faulthandler.enable`, :func:" "`faulthandler.dump_traceback`, :func:`faulthandler.dump_traceback_later`, " @@ -2573,11 +2570,11 @@ msgstr "" "`faulthandler.register` hinzugefügt. (Beigetragen von Eric Froemling in :gh:" "`149085`.)" -#: ../../whatsnew/3.15.rst:1238 +#: ../../whatsnew/3.15.rst:1240 msgid "functools" msgstr "functools" -#: ../../whatsnew/3.15.rst:1240 +#: ../../whatsnew/3.15.rst:1242 msgid "" ":func:`~functools.singledispatchmethod` now supports non-:term:`descriptor` " "callables. (Contributed by Serhiy Storchaka in :gh:`140873`.)" @@ -2586,7 +2583,7 @@ msgstr "" "Objekte, die keine :term:`Deskriptoren ` sind. (Beigetragen von " "Serhiy Storchaka in :gh:`140873`.)" -#: ../../whatsnew/3.15.rst:1244 +#: ../../whatsnew/3.15.rst:1246 msgid "" ":func:`~functools.singledispatchmethod` now dispatches on the second " "argument if it wraps a regular method and is called as a class attribute. " @@ -2597,11 +2594,11 @@ msgstr "" "als Klassenattribut aufgerufen wird. (Beigetragen von Bartosz Sławecki in :" "gh:`143535`.)" -#: ../../whatsnew/3.15.rst:1250 +#: ../../whatsnew/3.15.rst:1252 msgid "gc" msgstr "gc" -#: ../../whatsnew/3.15.rst:1252 +#: ../../whatsnew/3.15.rst:1254 msgid "" "Python 3.14.0-3.14.4 shipped with a new incremental garbage collector. " "However, due to a number of `reports `, is colored by default. This " @@ -2673,7 +2670,7 @@ msgstr "" "on-controlling-color>` steuern. (Beigetragen von Hugo van Kemenade in :gh:" "`146292`.)" -#: ../../whatsnew/3.15.rst:1294 +#: ../../whatsnew/3.15.rst:1296 msgid "" "Added :attr:`~http.server.SimpleHTTPRequestHandler.default_content_type` and " "the :option:`--content-type ` command-line " @@ -2687,7 +2684,7 @@ msgstr "" "unbekannter Endung anpassen zu können. (Beigetragen von John Comeau und Hugo " "van Kemenade in :gh:`113471`.)" -#: ../../whatsnew/3.15.rst:1300 +#: ../../whatsnew/3.15.rst:1302 msgid "" "Add a new ``extra_response_headers`` keyword argument to :class:`~http." "server.SimpleHTTPRequestHandler` to support custom headers in HTTP " @@ -2697,7 +2694,7 @@ msgstr "" "server.SimpleHTTPRequestHandler`, um eigene Header in HTTP-Antworten zu " "unterstützen. (Beigetragen von Anton I. Sipos in :gh:`135057`.)" -#: ../../whatsnew/3.15.rst:1305 +#: ../../whatsnew/3.15.rst:1307 msgid "" "Add a :option:`-H/--header ` option to the :program:" "`python -m http.server` command-line interface to support custom headers in " @@ -2708,11 +2705,11 @@ msgstr "" "Header in HTTP-Antworten zu unterstützen. (Beigetragen von Anton I. Sipos " "in :gh:`135057`.)" -#: ../../whatsnew/3.15.rst:1311 +#: ../../whatsnew/3.15.rst:1313 msgid "importlib.metadata" msgstr "importlib.metadata" -#: ../../whatsnew/3.15.rst:1313 +#: ../../whatsnew/3.15.rst:1315 msgid "" "Previously, when accessing a distribution metadata directory not containing " "a metadata file, ``metadata()`` and ``Distribution.metadata`` would return " @@ -2730,11 +2727,11 @@ msgstr "" "github.com/python/importlib_metadata/issues/493>`_, die Begründung zu den " "Kompatibilitätsbedenken in :gh:`143387`. (Beigetragen von Jason R. Coombs.)" -#: ../../whatsnew/3.15.rst:1324 +#: ../../whatsnew/3.15.rst:1326 msgid "inspect" msgstr "inspect" -#: ../../whatsnew/3.15.rst:1326 +#: ../../whatsnew/3.15.rst:1328 msgid "" "Add parameters *inherit_class_doc* and *fallback_to_class_doc* for :func:" "`~inspect.getdoc`. (Contributed by Serhiy Storchaka in :gh:`132686`.)" @@ -2743,11 +2740,11 @@ msgstr "" "`~inspect.getdoc` hinzugefügt. (Beigetragen von Serhiy Storchaka in :gh:" "`132686`.)" -#: ../../whatsnew/3.15.rst:1332 +#: ../../whatsnew/3.15.rst:1334 msgid "json" msgstr "json" -#: ../../whatsnew/3.15.rst:1334 +#: ../../whatsnew/3.15.rst:1336 msgid "" "Add the *array_hook* parameter to :func:`~json.load` and :func:`~json.loads` " "functions: allow a callback for JSON literal array types to customize Python " @@ -2764,11 +2761,11 @@ msgstr "" "Python-Struktur, die die JSON-Daten darstellt. (Beigetragen von Joao S. O. " "Bueno in :gh:`146440`.)" -#: ../../whatsnew/3.15.rst:1344 +#: ../../whatsnew/3.15.rst:1346 msgid "locale" msgstr "locale" -#: ../../whatsnew/3.15.rst:1346 +#: ../../whatsnew/3.15.rst:1348 msgid "" ":func:`~locale.setlocale` now supports language codes with ``@``-modifiers. " "``@``-modifiers are no longer silently removed in :func:`~locale.getlocale`, " @@ -2780,7 +2777,7 @@ msgstr "" "getlocale` nicht mehr stillschweigend entfernt, sondern in den Sprachcode " "aufgenommen. (Beigetragen von Serhiy Storchaka in :gh:`137729`.)" -#: ../../whatsnew/3.15.rst:1351 +#: ../../whatsnew/3.15.rst:1353 msgid "" "Undeprecate the :func:`locale.getdefaultlocale` function. (Contributed by " "Victor Stinner in :gh:`130796`.)" @@ -2788,11 +2785,11 @@ msgstr "" "Die Funktion :func:`locale.getdefaultlocale` ist nicht mehr veraltet. " "(Beigetragen von Victor Stinner in :gh:`130796`.)" -#: ../../whatsnew/3.15.rst:1356 +#: ../../whatsnew/3.15.rst:1358 msgid "math" msgstr "math" -#: ../../whatsnew/3.15.rst:1358 +#: ../../whatsnew/3.15.rst:1360 msgid "" "Add :func:`math.isnormal` and :func:`math.issubnormal` functions. " "(Contributed by Sergey B Kirpichev in :gh:`132908`.)" @@ -2800,7 +2797,7 @@ msgstr "" "Funktionen :func:`math.isnormal` und :func:`math.issubnormal` hinzugefügt. " "(Beigetragen von Sergey B Kirpichev in :gh:`132908`.)" -#: ../../whatsnew/3.15.rst:1361 +#: ../../whatsnew/3.15.rst:1363 msgid "" "Add :func:`math.fmax`, :func:`math.fmin` and :func:`math.signbit` functions. " "(Contributed by Bénédikt Tran in :gh:`135853`.)" @@ -2808,11 +2805,11 @@ msgstr "" "Funktionen :func:`math.fmax`, :func:`math.fmin` und :func:`math.signbit` " "hinzugefügt. (Beigetragen von Bénédikt Tran in :gh:`135853`.)" -#: ../../whatsnew/3.15.rst:1366 +#: ../../whatsnew/3.15.rst:1368 msgid "mimetypes" msgstr "mimetypes" -#: ../../whatsnew/3.15.rst:1368 +#: ../../whatsnew/3.15.rst:1370 msgid "" "Add more MIME types. (Contributed by Benedikt Johannes, Charlie Lin, " "Foolbar, Gil Forcada and John Franey in :gh:`144217`, :gh:`145720`, :gh:" @@ -2824,7 +2821,7 @@ msgstr "" "`140937`, :gh:`139959`, :gh:`145698`, :gh:`145718`, :gh:`145918` und :gh:" "`144213`.)" -#: ../../whatsnew/3.15.rst:1374 +#: ../../whatsnew/3.15.rst:1376 msgid "" "Rename ``application/x-texinfo`` to ``application/texinfo``. (Contributed by " "Charlie Lin in :gh:`140165`.)" @@ -2832,7 +2829,7 @@ msgstr "" "``application/x-texinfo`` in ``application/texinfo`` umbenannt. (Beigetragen " "von Charlie Lin in :gh:`140165`.)" -#: ../../whatsnew/3.15.rst:1377 +#: ../../whatsnew/3.15.rst:1379 msgid "" "Changed the MIME type for ``.ai`` files to ``application/pdf``. (Contributed " "by Stan Ulbrych in :gh:`141239`.)" @@ -2840,11 +2837,11 @@ msgstr "" "Der MIME-Typ für Dateien mit der Endung ``.ai`` wurde zu ``application/pdf`` " "geändert. (Beigetragen von Stan Ulbrych in :gh:`141239`.)" -#: ../../whatsnew/3.15.rst:1382 +#: ../../whatsnew/3.15.rst:1384 msgid "mmap" msgstr "mmap" -#: ../../whatsnew/3.15.rst:1384 +#: ../../whatsnew/3.15.rst:1386 msgid "" ":class:`mmap.mmap` now has a *trackfd* parameter on Windows; if it is " "``False``, the file handle corresponding to *fileno* will not be duplicated. " @@ -2854,7 +2851,7 @@ msgstr "" "``False``, wird das zu *fileno* gehörende Datei-Handle nicht dupliziert. " "(Beigetragen von Serhiy Storchaka in :gh:`78502`.)" -#: ../../whatsnew/3.15.rst:1389 +#: ../../whatsnew/3.15.rst:1391 msgid "" "Added the :meth:`mmap.mmap.set_name` method to annotate an anonymous memory " "mapping if Linux kernel supports :manpage:`PR_SET_VMA_ANON_NAME " @@ -2866,11 +2863,11 @@ msgstr "" "`PR_SET_VMA_ANON_NAME ` unterstützt (Linux 5.17 oder " "neuer). (Beigetragen von Donghee Na in :gh:`142419`.)" -#: ../../whatsnew/3.15.rst:1396 +#: ../../whatsnew/3.15.rst:1398 msgid "os" msgstr "os" -#: ../../whatsnew/3.15.rst:1398 +#: ../../whatsnew/3.15.rst:1400 msgid "" "Add :func:`os.statx` on Linux kernel versions 4.11 and later with glibc " "versions 2.28 and later. (Contributed by Jeffrey Bosboom and Victor Stinner " @@ -2880,7 +2877,7 @@ msgstr "" "hinzugefügt. (Beigetragen von Jeffrey Bosboom und Victor Stinner in :gh:" "`83714`.)" -#: ../../whatsnew/3.15.rst:1402 +#: ../../whatsnew/3.15.rst:1404 msgid "" ":func:`os.makedirs` function now has a *parent_mode* parameter that allows " "specifying the mode for intermediate directories. This can be used to match " @@ -2893,11 +2890,11 @@ msgstr "" "3.6 und früher nachbilden. (Beigetragen von Zackery Spytz und Gregory P. " "Smith in :gh:`86533`.)" -#: ../../whatsnew/3.15.rst:1408 +#: ../../whatsnew/3.15.rst:1410 msgid "os.path" msgstr "os.path" -#: ../../whatsnew/3.15.rst:1410 +#: ../../whatsnew/3.15.rst:1412 msgid "" "Add support of the all-but-last mode in :func:`~os.path.realpath`. " "(Contributed by Serhiy Storchaka in :gh:`71189`.)" @@ -2905,7 +2902,7 @@ msgstr "" "Unterstützung für den Modus „alle außer der letzten“ in :func:`~os.path." "realpath` hinzugefügt. (Beigetragen von Serhiy Storchaka in :gh:`71189`.)" -#: ../../whatsnew/3.15.rst:1413 +#: ../../whatsnew/3.15.rst:1415 msgid "" "The *strict* parameter to :func:`os.path.realpath` accepts a new value, :" "data:`os.path.ALLOW_MISSING`. If used, errors other than :exc:" @@ -2919,11 +2916,11 @@ msgstr "" "fehlen, enthält aber keine symbolischen Links. (Beigetragen von Petr " "Viktorin für :cve:`2025-4517`.)" -#: ../../whatsnew/3.15.rst:1421 ../../whatsnew/3.15.rst:2201 +#: ../../whatsnew/3.15.rst:1423 ../../whatsnew/3.15.rst:2203 msgid "pathlib" msgstr "pathlib" -#: ../../whatsnew/3.15.rst:1423 +#: ../../whatsnew/3.15.rst:1425 msgid "" ":meth:`pathlib.Path.mkdir` now has a *parent_mode* parameter that allows " "specifying the mode for intermediate directories when ``parents=True``. " @@ -2933,11 +2930,11 @@ msgstr "" "sich bei ``parents=True`` der Modus für Zwischenverzeichnisse festlegen " "lässt. (Beigetragen von Gregory P. Smith in :gh:`86533`.)" -#: ../../whatsnew/3.15.rst:1429 +#: ../../whatsnew/3.15.rst:1431 msgid "pdb" msgstr "pdb" -#: ../../whatsnew/3.15.rst:1431 +#: ../../whatsnew/3.15.rst:1433 msgid "" "Use the new interactive shell as the default input shell for :mod:`pdb`. " "(Contributed by Tian Gao in :gh:`145379`.)" @@ -2945,11 +2942,11 @@ msgstr "" "Die neue interaktive Shell wird jetzt als Standard-Eingabeshell für :mod:" "`pdb` verwendet. (Beigetragen von Tian Gao in :gh:`145379`.)" -#: ../../whatsnew/3.15.rst:1436 +#: ../../whatsnew/3.15.rst:1438 msgid "pickle" msgstr "pickle" -#: ../../whatsnew/3.15.rst:1438 +#: ../../whatsnew/3.15.rst:1440 msgid "" "Add support for pickling private methods and nested classes. (Contributed by " "Zackery Spytz and Serhiy Storchaka in :gh:`77188`.)" @@ -2958,11 +2955,11 @@ msgstr "" "hinzugefügt. (Beigetragen von Zackery Spytz und Serhiy Storchaka in :gh:" "`77188`.)" -#: ../../whatsnew/3.15.rst:1443 +#: ../../whatsnew/3.15.rst:1445 msgid "pickletools" msgstr "pickletools" -#: ../../whatsnew/3.15.rst:1447 +#: ../../whatsnew/3.15.rst:1449 msgid "" "The output of the :mod:`pickletools` command-line interface is colored by " "default. This can be controlled with :ref:`environment variables ` steuern. (Beigetragen von Hugo van Kemenade in :gh:" "`149026`.)" -#: ../../whatsnew/3.15.rst:1454 +#: ../../whatsnew/3.15.rst:1456 msgid "pprint" msgstr "pprint" -#: ../../whatsnew/3.15.rst:1456 +#: ../../whatsnew/3.15.rst:1458 msgid "" "Add an *expand* keyword argument for :func:`pprint.pprint`, :func:`pprint." "pformat`, :func:`pprint.pp`. If true, the output will be formatted similar " @@ -2990,7 +2987,7 @@ msgstr "" "(Beigetragen von Stefan Todoran, Semyon Moroz und Hugo van Kemenade in :gh:" "`112632`.)" -#: ../../whatsnew/3.15.rst:1463 +#: ../../whatsnew/3.15.rst:1465 msgid "" "Add t-string support to :mod:`pprint`. (Contributed by Loïc Simon and Hugo " "van Kemenade in :gh:`134551`.)" @@ -2998,11 +2995,11 @@ msgstr "" "Unterstützung für T-Strings in :mod:`pprint` hinzugefügt. (Beigetragen von " "Loïc Simon und Hugo van Kemenade in :gh:`134551`.)" -#: ../../whatsnew/3.15.rst:1468 +#: ../../whatsnew/3.15.rst:1470 msgid "re" msgstr "re" -#: ../../whatsnew/3.15.rst:1470 +#: ../../whatsnew/3.15.rst:1472 msgid "" ":func:`re.prefixmatch` and a corresponding :meth:`re.Pattern.prefixmatch` " "have been added as alternate, more explicit names for the existing and now :" @@ -3023,11 +3020,11 @@ msgstr "" "in Python schon immer *search* heißt. (Beigetragen von Gregory P. Smith in :" "gh:`86519`.)" -#: ../../whatsnew/3.15.rst:1482 +#: ../../whatsnew/3.15.rst:1484 msgid "resource" msgstr "resource" -#: ../../whatsnew/3.15.rst:1484 +#: ../../whatsnew/3.15.rst:1486 msgid "" "Add new constants: :data:`~resource.RLIMIT_NTHR`, :data:`~resource." "RLIMIT_UMTXP`, :data:`~resource.RLIMIT_THREADS`, :data:`~resource." @@ -3039,11 +3036,11 @@ msgstr "" "RLIM_SAVED_CUR` und :data:`~resource.RLIM_SAVED_MAX`. (Beigetragen von " "Serhiy Storchaka in :gh:`137512`.)" -#: ../../whatsnew/3.15.rst:1491 +#: ../../whatsnew/3.15.rst:1493 msgid "shelve" msgstr "shelve" -#: ../../whatsnew/3.15.rst:1493 +#: ../../whatsnew/3.15.rst:1495 msgid "" "Added new :meth:`!reorganize` method to :mod:`shelve` used to recover unused " "free space previously occupied by deleted entries. (Contributed by Andrea " @@ -3053,7 +3050,7 @@ msgstr "" "ungenutzten freien Speicherplatz zurückzugewinnen, der zuvor von gelöschten " "Einträgen belegt war. (Beigetragen von Andrea Oliveri in :gh:`134004`.)" -#: ../../whatsnew/3.15.rst:1497 +#: ../../whatsnew/3.15.rst:1499 msgid "" "Add support for custom serialization and deserialization functions in the :" "mod:`shelve` module. (Contributed by Furkan Onder in :gh:`99631`.)" @@ -3062,11 +3059,11 @@ msgstr "" "Modul :mod:`shelve` hinzugefügt. (Beigetragen von Furkan Onder in :gh:" "`99631`.)" -#: ../../whatsnew/3.15.rst:1503 +#: ../../whatsnew/3.15.rst:1505 msgid "socket" msgstr "socket" -#: ../../whatsnew/3.15.rst:1505 +#: ../../whatsnew/3.15.rst:1507 msgid "" "Add constants for the ISO-TP CAN protocol. (Contributed by Patrick Menschel " "and Stefan Tatschner in :gh:`86819`.)" @@ -3074,18 +3071,18 @@ msgstr "" "Konstanten für das CAN-Protokoll ISO-TP hinzugefügt. (Beigetragen von " "Patrick Menschel und Stefan Tatschner in :gh:`86819`.)" -#: ../../whatsnew/3.15.rst:1510 +#: ../../whatsnew/3.15.rst:1512 msgid "sqlite3" msgstr "sqlite3" -#: ../../whatsnew/3.15.rst:1512 +#: ../../whatsnew/3.15.rst:1514 msgid "" "The :ref:`command-line interface ` has several new features:" msgstr "" "Die :ref:`Kommandozeilenschnittstelle ` hat mehrere neue " "Features:" -#: ../../whatsnew/3.15.rst:1514 +#: ../../whatsnew/3.15.rst:1516 msgid "" "SQL keyword completion on :kbd:`Tab`. (Contributed by Long Tan in :gh:" "`133393`.)" @@ -3093,7 +3090,7 @@ msgstr "" "Vervollständigung von SQL-Schlüsselwörtern mit :kbd:`Tab`. (Beigetragen von " "Long Tan in :gh:`133393`.)" -#: ../../whatsnew/3.15.rst:1519 +#: ../../whatsnew/3.15.rst:1521 msgid "" "Prompts, error messages, and help text are now colored. This is enabled by " "default, see :ref:`using-on-controlling-color` for details. (Contributed by " @@ -3104,7 +3101,7 @@ msgstr "" "controlling-color`. (Beigetragen von Stan Ulbrych und Łukasz Langa in :gh:" "`133461`.)" -#: ../../whatsnew/3.15.rst:1524 +#: ../../whatsnew/3.15.rst:1526 msgid "" "Table, index, trigger, view, column, function, and schema completion on :kbd:" "`Tab`. (Contributed by Long Tan in :gh:`136101`.)" @@ -3113,11 +3110,11 @@ msgstr "" "Funktionen und Schemas mit :kbd:`Tab`. (Beigetragen von Long Tan in :gh:" "`136101`.)" -#: ../../whatsnew/3.15.rst:1529 +#: ../../whatsnew/3.15.rst:1531 msgid "ssl" msgstr "ssl" -#: ../../whatsnew/3.15.rst:1531 +#: ../../whatsnew/3.15.rst:1533 msgid "" "Indicate through :data:`ssl.HAS_PSK_TLS13` whether the :mod:`ssl` module " "supports \"External PSKs\" in TLSv1.3, as described in :rfc:`9258`. " @@ -3127,13 +3124,13 @@ msgstr "" "„External PSKs“ in TLSv1.3 unterstützt, wie in :rfc:`9258` beschrieben. " "(Beigetragen von Will Childs-Klein in :gh:`133624`.)" -#: ../../whatsnew/3.15.rst:1535 +#: ../../whatsnew/3.15.rst:1537 msgid "Added new methods for managing groups used for SSL key agreement:" msgstr "" "Neue Methoden zur Verwaltung der Gruppen für die SSL-Schlüsselvereinbarung " "hinzugefügt:" -#: ../../whatsnew/3.15.rst:1537 +#: ../../whatsnew/3.15.rst:1539 msgid "" ":meth:`ssl.SSLContext.set_groups` sets the groups allowed for doing key " "agreement, extending the previous :meth:`ssl.SSLContext.set_ecdh_curve` " @@ -3149,7 +3146,7 @@ msgstr "" "Quanten-Gruppen. Mit dieser Methode lässt sich außerdem steuern, welche Key " "Shares im TLS-Handshake gesendet werden." -#: ../../whatsnew/3.15.rst:1544 +#: ../../whatsnew/3.15.rst:1546 msgid "" ":meth:`ssl.SSLSocket.group` returns the group selected for doing key " "agreement on the current connection after the TLS handshake completes. This " @@ -3159,7 +3156,7 @@ msgstr "" "TLS-Handshakes für die Schlüsselvereinbarung auf der aktuellen Verbindung " "ausgewählt wurde. Dieser Aufruf erfordert OpenSSL 3.2 oder neuer." -#: ../../whatsnew/3.15.rst:1547 +#: ../../whatsnew/3.15.rst:1549 msgid "" ":meth:`ssl.SSLContext.get_groups` returns a list of all available key " "agreement groups compatible with the minimum and maximum TLS versions " @@ -3170,11 +3167,11 @@ msgstr "" "eingestellten minimalen und maximalen TLS-Version kompatibel sind. Dieser " "Aufruf erfordert OpenSSL 3.5 oder neuer." -#: ../../whatsnew/3.15.rst:1551 +#: ../../whatsnew/3.15.rst:1553 msgid "(Contributed by Ron Frederick in :gh:`136306`.)" msgstr "(Beigetragen von Ron Frederick in :gh:`136306`.)" -#: ../../whatsnew/3.15.rst:1553 +#: ../../whatsnew/3.15.rst:1555 msgid "" "Added a new method :meth:`ssl.SSLContext.set_ciphersuites` for setting TLS " "1.3 ciphers. For TLS 1.2 or earlier, :meth:`ssl.SSLContext.set_ciphers` " @@ -3189,11 +3186,11 @@ msgstr "" "der TLS-Version ab, die beim Verbindungsaufbau ausgehandelt wird. " "(Beigetragen von Ron Frederick in :gh:`137197`.)" -#: ../../whatsnew/3.15.rst:1560 +#: ../../whatsnew/3.15.rst:1562 msgid "Added new methods for managing signature algorithms:" msgstr "Neue Methoden zur Verwaltung von Signaturalgorithmen hinzugefügt:" -#: ../../whatsnew/3.15.rst:1562 +#: ../../whatsnew/3.15.rst:1564 msgid "" ":func:`ssl.get_sigalgs` returns a list of all available TLS signature " "algorithms. This call requires OpenSSL 3.4 or later." @@ -3201,7 +3198,7 @@ msgstr "" ":func:`ssl.get_sigalgs` gibt eine Liste aller verfügbaren TLS-" "Signaturalgorithmen zurück. Dieser Aufruf erfordert OpenSSL 3.4 oder neuer." -#: ../../whatsnew/3.15.rst:1564 +#: ../../whatsnew/3.15.rst:1566 msgid "" ":meth:`ssl.SSLContext.set_client_sigalgs` sets the signature algorithms " "allowed for certificate-based client authentication." @@ -3209,7 +3206,7 @@ msgstr "" ":meth:`ssl.SSLContext.set_client_sigalgs` legt die Signaturalgorithmen fest, " "die für die zertifikatsbasierte Client-Authentifizierung zulässig sind." -#: ../../whatsnew/3.15.rst:1566 +#: ../../whatsnew/3.15.rst:1568 msgid "" ":meth:`ssl.SSLContext.set_server_sigalgs` sets the signature algorithms " "allowed for the server to complete the TLS handshake." @@ -3217,7 +3214,7 @@ msgstr "" ":meth:`ssl.SSLContext.set_server_sigalgs` legt die Signaturalgorithmen fest, " "die der Server zum Abschluss des TLS-Handshakes verwenden darf." -#: ../../whatsnew/3.15.rst:1568 +#: ../../whatsnew/3.15.rst:1570 msgid "" ":meth:`ssl.SSLSocket.client_sigalg` returns the signature algorithm selected " "for client authentication on the current connection. This call requires " @@ -3227,7 +3224,7 @@ msgstr "" "für die Client-Authentifizierung auf der aktuellen Verbindung ausgewählt " "wurde. Dieser Aufruf erfordert OpenSSL 3.5 oder neuer." -#: ../../whatsnew/3.15.rst:1571 +#: ../../whatsnew/3.15.rst:1573 msgid "" ":meth:`ssl.SSLSocket.server_sigalg` returns the signature algorithm selected " "for the server to complete the TLS handshake on the current connection. This " @@ -3237,15 +3234,15 @@ msgstr "" "für den Server zum Abschluss des TLS-Handshakes auf der aktuellen Verbindung " "ausgewählt wurde. Dieser Aufruf erfordert OpenSSL 3.5 oder neuer." -#: ../../whatsnew/3.15.rst:1575 +#: ../../whatsnew/3.15.rst:1577 msgid "(Contributed by Ron Frederick in :gh:`138252`.)" msgstr "(Beigetragen von Ron Frederick in :gh:`138252`.)" -#: ../../whatsnew/3.15.rst:1579 +#: ../../whatsnew/3.15.rst:1581 msgid "subprocess" msgstr "subprocess" -#: ../../whatsnew/3.15.rst:1581 +#: ../../whatsnew/3.15.rst:1583 msgid "" ":meth:`subprocess.Popen.wait`: when ``timeout`` is not ``None`` and the " "platform supports it, an efficient event-driven mechanism is used to wait " @@ -3255,11 +3252,11 @@ msgstr "" "Plattform es unterstützt, wird ein effizienter ereignisgesteuerter " "Mechanismus verwendet, um auf das Prozessende zu warten:" -#: ../../whatsnew/3.15.rst:1585 +#: ../../whatsnew/3.15.rst:1587 msgid "Linux >= 5.3 uses :func:`os.pidfd_open` + :func:`select.poll`." msgstr "Linux >= 5.3 verwendet :func:`os.pidfd_open` + :func:`select.poll`." -#: ../../whatsnew/3.15.rst:1586 +#: ../../whatsnew/3.15.rst:1588 msgid "" "macOS and other BSD variants use :func:`select.kqueue` + ``KQ_FILTER_PROC`` " "+ ``KQ_NOTE_EXIT``." @@ -3267,11 +3264,11 @@ msgstr "" "macOS und andere BSD-Varianten verwenden :func:`select.kqueue` + " "``KQ_FILTER_PROC`` + ``KQ_NOTE_EXIT``." -#: ../../whatsnew/3.15.rst:1587 +#: ../../whatsnew/3.15.rst:1589 msgid "Windows keeps using ``WaitForSingleObject`` (unchanged)." msgstr "Windows verwendet weiterhin ``WaitForSingleObject`` (unverändert)." -#: ../../whatsnew/3.15.rst:1589 +#: ../../whatsnew/3.15.rst:1591 msgid "" "If none of these mechanisms are available, the function falls back to the " "traditional busy loop (non-blocking call and short sleeps). (Contributed by " @@ -3281,11 +3278,11 @@ msgstr "" "herkömmliche Busy-Loop zurück (nicht blockierender Aufruf und kurze Pausen). " "(Beigetragen von Giampaolo Rodola in :gh:`83069`.)" -#: ../../whatsnew/3.15.rst:1595 +#: ../../whatsnew/3.15.rst:1597 msgid "symtable" msgstr "symtable" -#: ../../whatsnew/3.15.rst:1597 +#: ../../whatsnew/3.15.rst:1599 msgid "" "Add :meth:`symtable.Function.get_cells` and :meth:`symtable.Symbol.is_cell` " "methods. (Contributed by Yashp002 in :gh:`143504`.)" @@ -3293,11 +3290,11 @@ msgstr "" "Methoden :meth:`symtable.Function.get_cells` und :meth:`symtable.Symbol." "is_cell` hinzugefügt. (Beigetragen von Yashp002 in :gh:`143504`.)" -#: ../../whatsnew/3.15.rst:1602 +#: ../../whatsnew/3.15.rst:1604 msgid "sys" msgstr "sys" -#: ../../whatsnew/3.15.rst:1604 +#: ../../whatsnew/3.15.rst:1606 msgid "" "Add :data:`sys.abi_info` namespace to improve access to ABI information. " "(Contributed by Klaus Zimmermann in :gh:`137476`.)" @@ -3306,11 +3303,11 @@ msgstr "" "Informationen zu verbessern. (Beigetragen von Klaus Zimmermann in :gh:" "`137476`.)" -#: ../../whatsnew/3.15.rst:1609 +#: ../../whatsnew/3.15.rst:1611 msgid "sys.monitoring" msgstr "sys.monitoring" -#: ../../whatsnew/3.15.rst:1611 +#: ../../whatsnew/3.15.rst:1613 msgid "" "The :ref:`other events ` (:monitoring-event:" "`PY_THROW`, :monitoring-event:`PY_UNWIND`, :monitoring-event:`RAISE`, :" @@ -3330,11 +3327,11 @@ msgstr "" "statt wie in früheren Versionen einen :exc:`ValueError` auszulösen. " "(Beigetragen von Gabriele N. Tornetta in :gh:`146182`.)" -#: ../../whatsnew/3.15.rst:1622 +#: ../../whatsnew/3.15.rst:1624 msgid "tarfile" msgstr "tarfile" -#: ../../whatsnew/3.15.rst:1624 +#: ../../whatsnew/3.15.rst:1626 msgid "" ":func:`~tarfile.data_filter` now normalizes symbolic link targets in order " "to avoid path traversal attacks. (Contributed by Petr Viktorin in :gh:" @@ -3344,7 +3341,7 @@ msgstr "" "Links, um Path-Traversal-Angriffe zu verhindern. (Beigetragen von Petr " "Viktorin in :gh:`127987` und :cve:`2025-4138`.)" -#: ../../whatsnew/3.15.rst:1628 +#: ../../whatsnew/3.15.rst:1630 msgid "" ":func:`~tarfile.TarFile.extractall` now skips fixing up directory attributes " "when a directory was removed or replaced by another kind of file. " @@ -3355,7 +3352,7 @@ msgstr "" "Dateiart ersetzt wurde. (Beigetragen von Petr Viktorin in :gh:`127987` und :" "cve:`2024-12718`.)" -#: ../../whatsnew/3.15.rst:1632 +#: ../../whatsnew/3.15.rst:1634 msgid "" ":func:`~tarfile.TarFile.extract` and :func:`~tarfile.TarFile.extractall` now " "(re-)apply the extraction filter when substituting a link (hard or symbolic) " @@ -3371,7 +3368,7 @@ msgstr "" "Ausnahme :exc:`~tarfile.LinkFallbackError` ausgelöst. (Beigetragen von Petr " "Viktorin für :cve:`2025-4330` und :cve:`2024-12718`.)" -#: ../../whatsnew/3.15.rst:1639 +#: ../../whatsnew/3.15.rst:1641 msgid "" ":func:`~tarfile.TarFile.extract` and :func:`~tarfile.TarFile.extractall` no " "longer extract rejected members when :func:`~tarfile.TarFile.errorlevel` is " @@ -3383,7 +3380,7 @@ msgstr "" "errorlevel` null ist. (Beigetragen von Matt Prodani und Petr Viktorin in :gh:" "`112887` und :cve:`2025-4435`.)" -#: ../../whatsnew/3.15.rst:1645 +#: ../../whatsnew/3.15.rst:1647 msgid "" ":func:`~tarfile.TarFile.extract` and :func:`~tarfile.TarFile.extractall` now " "replace slashes with backslashes in symlink targets on Windows to prevent " @@ -3395,7 +3392,7 @@ msgstr "" "symbolischer Links, um das Erzeugen beschädigter Links zu verhindern. " "(Beigetragen von Christoph Walcher in :gh:`57911`.)" -#: ../../whatsnew/3.15.rst:1650 +#: ../../whatsnew/3.15.rst:1652 msgid "" ":func:`~tarfile.TarFile.gettarinfo` now replaces backslashes with slashes in " "symlink targets on Windows to conform to the tar format standard. " @@ -3406,11 +3403,11 @@ msgstr "" "tar-Formats zu entsprechen. (Beigetragen von Daniele Nicolodi in :gh:" "`151669`.)" -#: ../../whatsnew/3.15.rst:1656 ../../whatsnew/3.15.rst:2231 +#: ../../whatsnew/3.15.rst:1658 ../../whatsnew/3.15.rst:2233 msgid "threading" msgstr "threading" -#: ../../whatsnew/3.15.rst:1658 +#: ../../whatsnew/3.15.rst:1660 msgid "" "Added :class:`~threading.serialize_iterator`, :func:`~threading." "synchronized_iterator`, and :func:`~threading.concurrent_tee` to support " @@ -3422,11 +3419,11 @@ msgstr "" "hinzugefügt, um den nebenläufigen Zugriff auf Generatoren und Iteratoren zu " "unterstützen. (Beigetragen von Raymond Hettinger in :gh:`124397`.)" -#: ../../whatsnew/3.15.rst:1666 +#: ../../whatsnew/3.15.rst:1668 msgid "timeit" msgstr "timeit" -#: ../../whatsnew/3.15.rst:1670 +#: ../../whatsnew/3.15.rst:1672 msgid "" "The output of the :mod:`timeit` command-line interface is colored by " "default. This can be controlled with :ref:`environment variables ` steuern. (Beigetragen von Hugo van Kemenade in :gh:" "`146609`.)" -#: ../../whatsnew/3.15.rst:1675 +#: ../../whatsnew/3.15.rst:1677 msgid "" "The command-line interface now colorizes error tracebacks by default. This " "can be controlled with :ref:`environment variables ` steuern. (Beigetragen von Yi Hong in :gh:`139374`.)" -#: ../../whatsnew/3.15.rst:1680 +#: ../../whatsnew/3.15.rst:1682 msgid "" "Make the target time of :meth:`timeit.Timer.autorange` configurable and add " "``--target-time`` option to the command-line interface. (Contributed by " @@ -3457,11 +3454,11 @@ msgstr "" "und die Kommandozeilenschnittstelle hat eine neue Option ``--target-time``. " "(Beigetragen von Alessandro Cucci und Miikka Koskinen in :gh:`80642`.)" -#: ../../whatsnew/3.15.rst:1686 +#: ../../whatsnew/3.15.rst:1688 msgid "tkinter" msgstr "tkinter" -#: ../../whatsnew/3.15.rst:1688 +#: ../../whatsnew/3.15.rst:1690 msgid "" "The :meth:`!tkinter.Text.search` method now supports two additional " "arguments: *nolinestop* which allows the search to continue across line " @@ -3474,7 +3471,7 @@ msgstr "" "angegebenen Bereich beschränkt. (Beigetragen von Rihaan Meher in :gh:" "`130848`.)" -#: ../../whatsnew/3.15.rst:1694 +#: ../../whatsnew/3.15.rst:1696 msgid "" "A new method :meth:`!tkinter.Text.search_all` has been introduced. This " "method allows for searching for all matches of a pattern using Tcl's ``-" @@ -3485,7 +3482,7 @@ msgstr "" "lassen sich über die Tcl-Optionen ``-all`` und ``-overlap`` alle Treffer " "eines Musters suchen. (Beigetragen von Rihaan Meher in :gh:`130848`.)" -#: ../../whatsnew/3.15.rst:1699 +#: ../../whatsnew/3.15.rst:1701 msgid "" "Added new methods :meth:`!pack_content`, :meth:`!place_content` and :meth:`!" "grid_content` which use Tk commands with new names (introduced in Tk 8.6) " @@ -3498,7 +3495,7 @@ msgstr "" "veralteten Namen verwenden. (Beigetragen von Serhiy Storchaka in :gh:" "`143754`.)" -#: ../../whatsnew/3.15.rst:1705 +#: ../../whatsnew/3.15.rst:1707 msgid "" "Added :class:`!Event` attributes :attr:`!user_data` for Tk virtual events " "and :attr:`!detail` for ``Enter``, ``Leave``, ``FocusIn``, ``FocusOut``, and " @@ -3510,11 +3507,11 @@ msgstr "" "``FocusIn``, ``FocusOut`` und ``ConfigureRequest``. (Beigetragen von " "Matthias Kievernagel und Serhiy Storchaka in :gh:`47655`.)" -#: ../../whatsnew/3.15.rst:1712 +#: ../../whatsnew/3.15.rst:1714 msgid "tokenize" msgstr "tokenize" -#: ../../whatsnew/3.15.rst:1716 +#: ../../whatsnew/3.15.rst:1718 msgid "" "The output of the :mod:`tokenize` :ref:`command-line interface ` is colored by default. This can be controlled with :ref:`environment " @@ -3526,11 +3523,11 @@ msgstr "" "`Umgebungsvariablen ` steuern. (Beigetragen von " "Hugo van Kemenade in :gh:`148991`.)" -#: ../../whatsnew/3.15.rst:1725 +#: ../../whatsnew/3.15.rst:1727 msgid "tomllib" msgstr "tomllib" -#: ../../whatsnew/3.15.rst:1727 +#: ../../whatsnew/3.15.rst:1729 msgid "" "The :mod:`tomllib` module now supports TOML 1.1.0. This is a backwards " "compatible update, meaning that all valid TOML 1.0.0 documents are parsed " @@ -3540,16 +3537,16 @@ msgstr "" "abwärtskompatible Aktualisierung, das heißt, alle gültigen TOML-1.0.0-" "Dokumente werden auf dieselbe Weise geparst." -#: ../../whatsnew/3.15.rst:1731 +#: ../../whatsnew/3.15.rst:1733 msgid "The changes, according to the `official TOML changelog`_, are:" msgstr "Laut dem `official TOML changelog`_ gibt es folgende Änderungen:" -#: ../../whatsnew/3.15.rst:1733 +#: ../../whatsnew/3.15.rst:1735 msgid "Allow newlines and trailing commas in inline tables." msgstr "" "Zeilenumbrüche und nachgestellte Kommas in Inline-Tabellen sind erlaubt." -#: ../../whatsnew/3.15.rst:1735 +#: ../../whatsnew/3.15.rst:1737 msgid "" "Previously an inline table had to be on a single line and couldn't end with " "a trailing comma. This is now relaxed so that the following is valid:" @@ -3558,7 +3555,7 @@ msgstr "" "nicht mit einem nachgestellten Komma enden. Diese Einschränkung wurde " "gelockert, sodass Folgendes gültig ist:" -#: ../../whatsnew/3.15.rst:1738 +#: ../../whatsnew/3.15.rst:1740 msgid "" "tbl = {\n" " key = \"a string\",\n" @@ -3574,7 +3571,7 @@ msgstr "" " },\n" "}" -#: ../../whatsnew/3.15.rst:1747 +#: ../../whatsnew/3.15.rst:1749 msgid "" "Add ``\\xHH`` notation to basic strings for codepoints under 255, and the " "``\\e`` escape for the escape character:" @@ -3582,7 +3579,7 @@ msgstr "" "Die Notation ``\\xHH`` für einfache Zeichenketten für Codepoints unter 255 " "und das Escape ``\\e`` für das Escape-Zeichen wurden hinzugefügt:" -#: ../../whatsnew/3.15.rst:1750 +#: ../../whatsnew/3.15.rst:1752 msgid "" "null = \"null byte: \\x00; letter a: \\x61\"\n" "csi = \"\\e[\"" @@ -3590,7 +3587,7 @@ msgstr "" "null = \"null byte: \\x00; letter a: \\x61\"\n" "csi = \"\\e[\"" -#: ../../whatsnew/3.15.rst:1755 +#: ../../whatsnew/3.15.rst:1757 msgid "" "Seconds in datetime and time values are now optional. The following are now " "valid:" @@ -3598,7 +3595,7 @@ msgstr "" "Sekunden in Datums-/Zeit- und Zeitwerten sind jetzt optional. Folgendes ist " "jetzt gültig:" -#: ../../whatsnew/3.15.rst:1758 +#: ../../whatsnew/3.15.rst:1760 msgid "" "dt = 2010-02-03 14:15\n" "t = 14:15" @@ -3606,15 +3603,15 @@ msgstr "" "dt = 2010-02-03 14:15\n" "t = 14:15" -#: ../../whatsnew/3.15.rst:1763 +#: ../../whatsnew/3.15.rst:1765 msgid "(Contributed by Taneli Hukkinen in :gh:`142956`.)" msgstr "(Beigetragen von Taneli Hukkinen in :gh:`142956`.)" -#: ../../whatsnew/3.15.rst:1769 ../../whatsnew/3.15.rst:2240 +#: ../../whatsnew/3.15.rst:1771 ../../whatsnew/3.15.rst:2242 msgid "types" msgstr "types" -#: ../../whatsnew/3.15.rst:1771 +#: ../../whatsnew/3.15.rst:1773 msgid "" "Expose the write-through :func:`locals` proxy type as :class:`types." "FrameLocalsProxyType`. This represents the type of the :attr:`frame." @@ -3626,11 +3623,11 @@ msgstr "" "`frame.f_locals` dar, wie in :pep:`667` beschrieben. (Beigetragen von Peter " "Bierma in :gh:`136492`.)" -#: ../../whatsnew/3.15.rst:1779 ../../whatsnew/3.15.rst:2248 +#: ../../whatsnew/3.15.rst:1781 ../../whatsnew/3.15.rst:2250 msgid "typing" msgstr "typing" -#: ../../whatsnew/3.15.rst:1783 +#: ../../whatsnew/3.15.rst:1785 msgid "" ":pep:`747`: Add :data:`~typing.TypeForm`, a new special form for annotating " "values that are themselves type expressions. ``TypeForm[T]`` means \"a type " @@ -3645,7 +3642,7 @@ msgstr "" "``x`` zurück, was eine explizite Annotation von Typform-Werten ermöglicht, " "ohne das Verhalten zu ändern." -#: ../../whatsnew/3.15.rst:1790 +#: ../../whatsnew/3.15.rst:1792 msgid "" "This helps libraries that accept user-provided type expressions (for example " "``int``, ``str | None``, :class:`~typing.TypedDict` classes, or " @@ -3655,7 +3652,7 @@ msgstr "" "(zum Beispiel ``int``, ``str | None``, Klassen vom Typ :class:`~typing." "TypedDict` oder ``list[int]``), präzise Signaturen bereitzustellen:" -#: ../../whatsnew/3.15.rst:1794 +#: ../../whatsnew/3.15.rst:1796 msgid "" "from typing import Any, TypeForm\n" "\n" @@ -3665,11 +3662,11 @@ msgstr "" "\n" "def cast[T](typ: TypeForm[T], value: Any) -> T: ..." -#: ../../whatsnew/3.15.rst:1800 +#: ../../whatsnew/3.15.rst:1802 msgid "(Contributed by Jelle Zijlstra in :gh:`145033`.)" msgstr "(Beigetragen von Jelle Zijlstra in :gh:`145033`.)" -#: ../../whatsnew/3.15.rst:1804 +#: ../../whatsnew/3.15.rst:1806 msgid "" ":pep:`728`: Add support in :class:`~typing.TypedDict` for the *closed* and " "*extra_items* class arguments. A closed :class:`~typing.TypedDict` does not " @@ -3685,7 +3682,7 @@ msgstr "" "``extra_items`` beliebige zusätzliche Einträge erlaubt, deren Werte vom " "angegebenen Typ sind. (Beigetragen von Angela Liss in :gh:`137840`.)" -#: ../../whatsnew/3.15.rst:1811 +#: ../../whatsnew/3.15.rst:1813 msgid "" "Code like ``class ExtraTypeVars(P1[S], Protocol[T, T2]): ...`` now raises a :" "exc:`TypeError`, because ``S`` is not listed in ``Protocol`` parameters. " @@ -3696,7 +3693,7 @@ msgstr "" "``Protocol`` aufgeführt ist. (Beigetragen von Nikita Sobolev in :gh:" "`137191`.)" -#: ../../whatsnew/3.15.rst:1815 +#: ../../whatsnew/3.15.rst:1817 msgid "" "Code like ``class B2(A[T2], Protocol[T1, T2]): ...`` now correctly handles " "type parameters order: it is ``(T1, T2)``, not ``(T2, T1)`` as it was " @@ -3708,7 +3705,7 @@ msgstr "" "nicht ``(T2, T1)``, wie sie zuvor zur Laufzeit fälschlicherweise abgeleitet " "wurde. (Beigetragen von Nikita Sobolev in :gh:`137191`.)" -#: ../../whatsnew/3.15.rst:1822 +#: ../../whatsnew/3.15.rst:1824 msgid "" ":pep:`800`: Add :deco:`typing.disjoint_base`, a new decorator marking a " "class as a disjoint base. This is an advanced feature primarily intended to " @@ -3727,7 +3724,7 @@ msgstr "" "disjunkten Basen erben, die weder Eltern- noch Kindklassen von ``C`` sind. " "(Beigetragen von Jelle Zijlstra in :gh:`148639`.)" -#: ../../whatsnew/3.15.rst:1829 +#: ../../whatsnew/3.15.rst:1831 msgid "" ":class:`~typing.TypeVarTuple` now accepts ``bound``, ``covariant``, " "``contravariant``, and ``infer_variance`` keyword arguments, matching the " @@ -3740,11 +3737,11 @@ msgstr "" "ParamSpec`. Die Semantik von ``bound`` bleibt in der Spezifikation " "undefiniert." -#: ../../whatsnew/3.15.rst:1836 +#: ../../whatsnew/3.15.rst:1838 msgid "unicodedata" msgstr "unicodedata" -#: ../../whatsnew/3.15.rst:1838 +#: ../../whatsnew/3.15.rst:1840 msgid "" "The Unicode database has been updated to Unicode 17.0.0. (Contributed by " "Benjamin Peterson in :gh:`138706`.)" @@ -3752,7 +3749,7 @@ msgstr "" "Die Unicode-Datenbank wurde auf Unicode 17.0.0 aktualisiert. (Beigetragen " "von Benjamin Peterson in :gh:`138706`.)" -#: ../../whatsnew/3.15.rst:1841 +#: ../../whatsnew/3.15.rst:1843 msgid "" "Add :func:`unicodedata.isxidstart` and :func:`unicodedata.isxidcontinue` " "functions to check whether a character can start or continue a `Unicode " @@ -3765,7 +3762,7 @@ msgstr "" "beginnen oder fortsetzen kann. (Beigetragen von Stan Ulbrych in :gh:" "`129117`.)" -#: ../../whatsnew/3.15.rst:1846 +#: ../../whatsnew/3.15.rst:1848 msgid "" "Add the :func:`~unicodedata.iter_graphemes` function to iterate over " "grapheme clusters according to rules defined in `Unicode Standard Annex #29, " @@ -3785,7 +3782,7 @@ msgstr "" "eines Zeichens abzufragen. (Beigetragen von Serhiy Storchaka und Guillaume " "Sanchez in :gh:`74902`.)" -#: ../../whatsnew/3.15.rst:1856 +#: ../../whatsnew/3.15.rst:1858 msgid "" "Add :func:`~unicodedata.block` function to return the `Unicode block " "`_ zurückgibt. (Beigetragen von Stan Ulbrych in :" "gh:`66802`.)" -#: ../../whatsnew/3.15.rst:1863 +#: ../../whatsnew/3.15.rst:1865 msgid "unittest" msgstr "unittest" -#: ../../whatsnew/3.15.rst:1865 +#: ../../whatsnew/3.15.rst:1867 msgid "" ":meth:`unittest.TestCase.assertLogs` will now accept a formatter to control " "how messages are formatted. (Contributed by Garry Cairns in :gh:`134567`.)" @@ -3810,7 +3807,7 @@ msgstr "" "dem sich die Formatierung der Meldungen steuern lässt. (Beigetragen von " "Garry Cairns in :gh:`134567`.)" -#: ../../whatsnew/3.15.rst:1869 +#: ../../whatsnew/3.15.rst:1871 msgid "" ":meth:`unittest.TestCase.assertWarns` and :meth:`unittest.TestCase." "assertWarnsRegex` no longer swallow warnings that do not match the specified " @@ -3823,11 +3820,11 @@ msgstr "" "Verschachtelte Kontextmanager werden jetzt unterstützt. (Beigetragen von " "Serhiy Storchaka in :gh:`143231`.)" -#: ../../whatsnew/3.15.rst:1877 +#: ../../whatsnew/3.15.rst:1879 msgid "urllib.parse" msgstr "urllib.parse" -#: ../../whatsnew/3.15.rst:1879 +#: ../../whatsnew/3.15.rst:1881 msgid "" "Add the *missing_as_none* parameter to :func:`~urllib.parse.urlsplit`, :func:" "`~urllib.parse.urlparse` and :func:`~urllib.parse.urldefrag` functions. Add " @@ -3844,11 +3841,11 @@ msgstr "" "unterscheiden, und leere Komponenten bleiben erhalten. (Beigetragen von " "Serhiy Storchaka in :gh:`67041`.)" -#: ../../whatsnew/3.15.rst:1889 +#: ../../whatsnew/3.15.rst:1891 msgid "venv" msgstr "venv" -#: ../../whatsnew/3.15.rst:1891 +#: ../../whatsnew/3.15.rst:1893 msgid "" "On POSIX platforms, platlib directories will be created if needed when " "creating virtual environments, instead of using a ``lib64 -> lib`` symlink. " @@ -3863,11 +3860,11 @@ msgstr "" "``lib`` ist, nicht mehr dasselbe Verzeichnis ``lib`` teilen. (Beigetragen " "von Rui Xi in :gh:`133951`.)" -#: ../../whatsnew/3.15.rst:1900 +#: ../../whatsnew/3.15.rst:1902 msgid "warnings" msgstr "warnings" -#: ../../whatsnew/3.15.rst:1902 +#: ../../whatsnew/3.15.rst:1904 msgid "" "Improve filtering by module in :func:`warnings.warn_explicit` if no *module* " "argument is passed. It now tests the module regular expression in the " @@ -3884,11 +3881,11 @@ msgstr "" "__init__.py``, ``.py`` und unter Windows ``.pyw``). (Beigetragen von Serhiy " "Storchaka in :gh:`135801`.)" -#: ../../whatsnew/3.15.rst:1912 ../../whatsnew/3.15.rst:2272 +#: ../../whatsnew/3.15.rst:1914 ../../whatsnew/3.15.rst:2274 msgid "wave" msgstr "wave" -#: ../../whatsnew/3.15.rst:1914 +#: ../../whatsnew/3.15.rst:1916 msgid "" "Added support for IEEE floating-point WAVE audio " "(``WAVE_FORMAT_IEEE_FLOAT``) in :mod:`wave`." @@ -3896,7 +3893,7 @@ msgstr "" "Unterstützung für WAVE-Audio im IEEE-Gleitkommaformat " "(``WAVE_FORMAT_IEEE_FLOAT``) in :mod:`wave` hinzugefügt." -#: ../../whatsnew/3.15.rst:1917 +#: ../../whatsnew/3.15.rst:1919 msgid "" "Added :meth:`wave.Wave_read.getformat`, :meth:`wave.Wave_write.getformat`, " "and :meth:`wave.Wave_write.setformat` for explicit frame format handling." @@ -3905,7 +3902,7 @@ msgstr "" "meth:`wave.Wave_write.setformat` für die explizite Behandlung des Frame-" "Formats hinzugefügt." -#: ../../whatsnew/3.15.rst:1920 +#: ../../whatsnew/3.15.rst:1922 msgid "" ":meth:`wave.Wave_write.setparams` accepts both 7-item tuples including " "``format`` and 6-item tuples for backwards compatibility (defaulting to " @@ -3915,7 +3912,7 @@ msgstr "" "einschließlich ``format`` als auch aus Gründen der Abwärtskompatibilität 6-" "elementige Tupel (mit ``WAVE_FORMAT_PCM`` als Standard)." -#: ../../whatsnew/3.15.rst:1924 +#: ../../whatsnew/3.15.rst:1926 msgid "" "``WAVE_FORMAT_IEEE_FLOAT`` output now includes a ``fact`` chunk, as required " "for non-PCM WAVE formats." @@ -3923,15 +3920,15 @@ msgstr "" "Die Ausgabe mit ``WAVE_FORMAT_IEEE_FLOAT`` enthält jetzt einen Chunk " "``fact``, wie er für WAVE-Formate außer PCM erforderlich ist." -#: ../../whatsnew/3.15.rst:1927 +#: ../../whatsnew/3.15.rst:1929 msgid "(Contributed by Lionel Koenig and Michiel W. Beijen in :gh:`60729`.)" msgstr "(Beigetragen von Lionel Koenig und Michiel W. Beijen in :gh:`60729`.)" -#: ../../whatsnew/3.15.rst:1931 +#: ../../whatsnew/3.15.rst:1933 msgid "webbrowser" msgstr "webbrowser" -#: ../../whatsnew/3.15.rst:1933 +#: ../../whatsnew/3.15.rst:1935 msgid "" "On macOS, the new :class:`!webbrowser.MacOS` class opens URLs via :program:`/" "usr/bin/open` instead of constructing and executing AppleScript via :program:" @@ -3952,11 +3949,11 @@ msgstr "" "das verhindert Angriffe durch Einschleusen von Dateien. (Beigetragen von " "Jeff Lyon in :gh:`137586`.)" -#: ../../whatsnew/3.15.rst:1945 +#: ../../whatsnew/3.15.rst:1947 msgid "xml" msgstr "xml" -#: ../../whatsnew/3.15.rst:1947 +#: ../../whatsnew/3.15.rst:1949 msgid "" "Add the :func:`xml.is_valid_name` function to check whether a string can be " "used as an element or attribute name in XML. (Contributed by Serhiy " @@ -3966,7 +3963,7 @@ msgstr "" "Zeichenkette als Element- oder Attributname in XML verwendet werden kann. " "(Beigetragen von Serhiy Storchaka in :gh:`139489`.)" -#: ../../whatsnew/3.15.rst:1951 +#: ../../whatsnew/3.15.rst:1953 msgid "" "Add the :func:`xml.is_valid_text` function to check whether a string can be " "used in an XML document. (Contributed by Serhiy Storchaka in :gh:`139489`.)" @@ -3975,11 +3972,11 @@ msgstr "" "Zeichenkette in einem XML-Dokument verwendet werden kann. (Beigetragen von " "Serhiy Storchaka in :gh:`139489`.)" -#: ../../whatsnew/3.15.rst:1957 +#: ../../whatsnew/3.15.rst:1959 msgid "xml.parsers.expat" msgstr "xml.parsers.expat" -#: ../../whatsnew/3.15.rst:1959 +#: ../../whatsnew/3.15.rst:1961 msgid "" "Add :meth:`~xml.parsers.expat.xmlparser.SetAllocTrackerActivationThreshold` " "and :meth:`~xml.parsers.expat.xmlparser.SetAllocTrackerMaximumAmplification` " @@ -3994,7 +3991,7 @@ msgstr "" "Speicherverbrauch innerhalb eines Expat-Parsers einzustellen. (Beigetragen " "von Bénédikt Tran in :gh:`90949`.)" -#: ../../whatsnew/3.15.rst:1965 +#: ../../whatsnew/3.15.rst:1967 msgid "" "Add :meth:`~xml.parsers.expat.xmlparser." "SetBillionLaughsAttackProtectionActivationThreshold` and :meth:`~xml.parsers." @@ -4009,11 +4006,11 @@ msgstr "" "den Schutz vor Angriffen vom Typ `billion laughs`_ einzustellen. " "(Beigetragen von Bénédikt Tran in :gh:`90949`.)" -#: ../../whatsnew/3.15.rst:1975 +#: ../../whatsnew/3.15.rst:1977 msgid "zlib" msgstr "zlib" -#: ../../whatsnew/3.15.rst:1977 +#: ../../whatsnew/3.15.rst:1979 msgid "" "Allow combining two Adler-32 checksums via :func:`~zlib.adler32_combine`. " "(Contributed by Callum Attryde and Bénédikt Tran in :gh:`134635`.)" @@ -4022,7 +4019,7 @@ msgstr "" "kombinieren. (Beigetragen von Callum Attryde und Bénédikt Tran in :gh:" "`134635`.)" -#: ../../whatsnew/3.15.rst:1980 +#: ../../whatsnew/3.15.rst:1982 msgid "" "Allow combining two CRC-32 checksums via :func:`~zlib.crc32_combine`. " "(Contributed by Bénédikt Tran in :gh:`134635`.)" @@ -4030,11 +4027,11 @@ msgstr "" "Zwei CRC-32-Prüfsummen lassen sich jetzt mit :func:`~zlib.crc32_combine` " "kombinieren. (Beigetragen von Bénédikt Tran in :gh:`134635`.)" -#: ../../whatsnew/3.15.rst:1987 +#: ../../whatsnew/3.15.rst:1989 msgid "Optimizations" msgstr "Optimierungen" -#: ../../whatsnew/3.15.rst:1989 +#: ../../whatsnew/3.15.rst:1991 msgid "" "``mimalloc`` is now used as the default allocator for raw memory allocations " "such as via :c:func:`PyMem_RawMalloc` for better performance on :term:`free-" @@ -4046,11 +4043,11 @@ msgstr "" "Performance in :term:`Builds mit freien Threads ` zu " "verbessern. (Beigetragen von Kumar Aditya in :gh:`144914`.)" -#: ../../whatsnew/3.15.rst:1996 +#: ../../whatsnew/3.15.rst:1998 msgid "base64 & binascii" msgstr "base64 & binascii" -#: ../../whatsnew/3.15.rst:1998 +#: ../../whatsnew/3.15.rst:2000 msgid "" "CPython's underlying base64 implementation now encodes 2x faster and decodes " "3x faster thanks to simple CPU pipelining optimizations. (Contributed by " @@ -4061,7 +4058,7 @@ msgstr "" "dekodiert dreimal so schnell. (Beigetragen von Gregory P. Smith und Serhiy " "Storchaka in :gh:`143262`.)" -#: ../../whatsnew/3.15.rst:2002 +#: ../../whatsnew/3.15.rst:2004 msgid "" "Implementation for Ascii85, Base85, and Z85 encoding has been rewritten in " "C. Encoding and decoding is now two orders of magnitude faster and consumes " @@ -4073,7 +4070,7 @@ msgstr "" "schneller und verbrauchen zwei Größenordnungen weniger Speicher. " "(Beigetragen von James Seo und Serhiy Storchaka in :gh:`101178`.)" -#: ../../whatsnew/3.15.rst:2007 +#: ../../whatsnew/3.15.rst:2009 msgid "" "Implementation for Base32 has been rewritten in C. Encoding and decoding is " "now two orders of magnitude faster. (Contributed by James Seo in :gh:" @@ -4083,11 +4080,11 @@ msgstr "" "Dekodieren sind jetzt um zwei Größenordnungen schneller. (Beigetragen von " "James Seo in :gh:`146192`.)" -#: ../../whatsnew/3.15.rst:2013 +#: ../../whatsnew/3.15.rst:2015 msgid "csv" msgstr "csv" -#: ../../whatsnew/3.15.rst:2015 +#: ../../whatsnew/3.15.rst:2017 msgid "" ":meth:`csv.Sniffer.sniff` delimiter detection is now up to 1.6x faster. " "(Contributed by Maurycy Pawłowski-Wieroński in :gh:`137628`.)" @@ -4096,11 +4093,11 @@ msgstr "" "zu 1,6-mal schneller. (Beigetragen von Maurycy Pawłowski-Wieroński in :gh:" "`137628`.)" -#: ../../whatsnew/3.15.rst:2022 +#: ../../whatsnew/3.15.rst:2024 msgid "Upgraded experimental JIT compiler" msgstr "Verbesserter experimenteller JIT-Compiler" -#: ../../whatsnew/3.15.rst:2024 +#: ../../whatsnew/3.15.rst:2026 msgid "" "Results from the `pyperformance `__ " "benchmark suite report a `7-8% `__. " "(Beigetragen von Savannah Ostrowski in :gh:`140973`.)" -#: ../../whatsnew/3.15.rst:2057 +#: ../../whatsnew/3.15.rst:2059 msgid "A new tracing frontend" msgstr "Ein neues Tracing-Frontend" -#: ../../whatsnew/3.15.rst:2058 +#: ../../whatsnew/3.15.rst:2060 msgid "" "The JIT compiler now supports significantly more bytecode operations and " "control flow than in Python 3.14, enabling speedups on a wider variety of " @@ -4195,7 +4192,7 @@ msgstr "" "Implementierung zu schätzen. (Beigetragen von Ken Jin in :gh:`139109`. " "Unterstützung für Windows hinzugefügt von Mark Shannon in :gh:`141703`.)" -#: ../../whatsnew/3.15.rst:2070 +#: ../../whatsnew/3.15.rst:2072 msgid "" "A basic form of register allocation has been added to the JIT compiler's " "optimizer. This allows the JIT compiler to avoid certain stack operations " @@ -4209,7 +4206,7 @@ msgstr "" "der JIT effizientere Traces erzeugen, weil Lese- und Schreibzugriffe auf den " "Speicher entfallen. (Beigetragen von Mark Shannon in :gh:`135379`.)" -#: ../../whatsnew/3.15.rst:2078 +#: ../../whatsnew/3.15.rst:2080 msgid "" "More `constant-propagation `__ is now performed. This means when the JIT compiler " @@ -4223,7 +4220,7 @@ msgstr "" "vereinfachen. (Beigetragen von Ken Jin und Savannah Ostrowski in :gh:" "`132732`.)" -#: ../../whatsnew/3.15.rst:2083 +#: ../../whatsnew/3.15.rst:2085 msgid "" ":term:`Reference counts ` are avoided whenever it is safe " "to do so. This generally reduces the cost of most operations in Python. " @@ -4237,7 +4234,7 @@ msgstr "" "Zhu, Savannah Ostrowski, Reiden Ong, Noam Cohen, Tomas Roun, PuQing, Cajetan " "Rodrigues und Sacul in :gh:`134584`.)" -#: ../../whatsnew/3.15.rst:2088 +#: ../../whatsnew/3.15.rst:2090 msgid "" "By tracking unique references to objects, the JIT optimizer can now " "eliminate reference count updates and perform in-place operations on ints " @@ -4249,7 +4246,7 @@ msgstr "" "Operationen auf Ganzzahlen und Gleitkommazahlen durchführen. (Beigetragen " "von Reiden Ong und Pieter Eendebak in :gh:`143414` und :gh:`146306`.)" -#: ../../whatsnew/3.15.rst:2092 +#: ../../whatsnew/3.15.rst:2094 msgid "" "The JIT optimizer now supports significantly more operations than in 3.14. " "(Contributed by Kumar Aditya, Ken Jin, Jiahao Li, and Sacul in :gh:`131798`.)" @@ -4257,7 +4254,7 @@ msgstr "" "Der JIT-Optimierer unterstützt jetzt deutlich mehr Operationen als in 3.14. " "(Beigetragen von Kumar Aditya, Ken Jin, Jiahao Li und Sacul in :gh:`131798`.)" -#: ../../whatsnew/3.15.rst:2097 +#: ../../whatsnew/3.15.rst:2099 msgid "" "The JIT compiler now publishes unwind information for generated machine code " "to the GDB interface on supported Linux ELF platforms. When libgcc frame " @@ -4276,7 +4273,7 @@ msgstr "" "abwickeln, statt am generierten Code anzuhalten. (Beigetragen von Diego " "Russo und Pablo Galindo Salgado in :gh:`146071` und :gh:`149104`.)" -#: ../../whatsnew/3.15.rst:2108 +#: ../../whatsnew/3.15.rst:2110 msgid "" "The JIT compiler's machine code generator now produces better machine code " "for x86-64 and AArch64 macOS and Linux targets. In general, users should " @@ -4295,11 +4292,11 @@ msgstr "" "Zusätzliche Optimierungen für AArch64 beigetragen von Mark Shannon und Diego " "Russo in :gh:`140683` und :gh:`142305`.)" -#: ../../whatsnew/3.15.rst:2118 +#: ../../whatsnew/3.15.rst:2120 msgid "Maintainability" msgstr "Wartbarkeit" -#: ../../whatsnew/3.15.rst:2119 +#: ../../whatsnew/3.15.rst:2121 msgid "" "The JIT optimizer's operations have been simplified. This was made possible " "by a refactoring of JIT data structures. (Contributed by Zhongtian Zheng in :" @@ -4309,11 +4306,11 @@ msgstr "" "durch ein Refactoring der Datenstrukturen des JIT. (Beigetragen von " "Zhongtian Zheng in :gh:`148211` und Hai Zhu in :gh:`143421`.)" -#: ../../whatsnew/3.15.rst:2125 +#: ../../whatsnew/3.15.rst:2127 msgid "Removed" msgstr "Entfernt" -#: ../../whatsnew/3.15.rst:2130 +#: ../../whatsnew/3.15.rst:2132 msgid "" "The constructors of :ref:`AST nodes ` now raise a :exc:" "`TypeError` when a required argument is omitted or when a keyword argument " @@ -4329,11 +4326,11 @@ msgstr "" "`DeprecationWarning` ausgelöst. (Beigetragen von Brian Schubert und Jelle " "Zijlstra in :gh:`137600` und :gh:`105858`.)" -#: ../../whatsnew/3.15.rst:2138 +#: ../../whatsnew/3.15.rst:2140 msgid "collections.abc" msgstr "collections.abc" -#: ../../whatsnew/3.15.rst:2140 +#: ../../whatsnew/3.15.rst:2142 msgid "" ":class:`collections.abc.ByteString` has been removed from ``collections.abc." "__all__``. :class:`!collections.abc.ByteString` has been deprecated since " @@ -4345,7 +4342,7 @@ msgstr "" "und soll in Python 3.17 entfernt werden. (Beigetragen von Alex Waygood in :" "gh:`118803`.)" -#: ../../whatsnew/3.15.rst:2149 +#: ../../whatsnew/3.15.rst:2151 msgid "" "Removed the undocumented function :func:`!ctypes.SetPointerType`, which has " "been deprecated since Python 3.13. (Contributed by Bénédikt Tran in :gh:" @@ -4355,11 +4352,11 @@ msgstr "" "3.13 veraltet war, wurde entfernt. (Beigetragen von Bénédikt Tran in :gh:" "`133866`.)" -#: ../../whatsnew/3.15.rst:2155 +#: ../../whatsnew/3.15.rst:2157 msgid "datetime" msgstr "datetime" -#: ../../whatsnew/3.15.rst:2157 +#: ../../whatsnew/3.15.rst:2159 msgid "" ":meth:`~datetime.datetime.strptime` now raises :exc:`ValueError` when the " "format string contains ``%d`` (day of month) without a year directive. This " @@ -4371,11 +4368,11 @@ msgstr "" "enthält. Dies war seit Python 3.13 veraltet. (Beigetragen von Stan Ulbrych " "und Gregory P. Smith in :gh:`70647`.)" -#: ../../whatsnew/3.15.rst:2164 +#: ../../whatsnew/3.15.rst:2166 msgid "glob" msgstr "glob" -#: ../../whatsnew/3.15.rst:2166 +#: ../../whatsnew/3.15.rst:2168 msgid "" "Removed the undocumented :func:`!glob.glob0` and :func:`!glob.glob1` " "functions, which have been deprecated since Python 3.13. Use :func:`glob." @@ -4387,7 +4384,7 @@ msgstr "" "func:`glob.glob` und übergib ein Verzeichnis an dessen Argument *root_dir*. " "(Beigetragen von Barney Gale in :gh:`137466`.)" -#: ../../whatsnew/3.15.rst:2175 +#: ../../whatsnew/3.15.rst:2177 msgid "" "Removed the :class:`!CGIHTTPRequestHandler` class and the ``--cgi`` flag " "from the :program:`python -m http.server` command-line interface. They were " @@ -4398,11 +4395,11 @@ msgstr "" "entfernt. Sie waren seit Python 3.13 veraltet. (Beigetragen von Bénédikt " "Tran in :gh:`133810`.)" -#: ../../whatsnew/3.15.rst:2182 +#: ../../whatsnew/3.15.rst:2184 msgid "importlib" msgstr "importlib" -#: ../../whatsnew/3.15.rst:2184 +#: ../../whatsnew/3.15.rst:2186 msgid "" "The ``load_module()`` methods of :class:`~importlib.abc.Loader` and its " "subclasses is removed. The import system will no longer call it when defined " @@ -4416,11 +4413,11 @@ msgstr "" "zugunsten von :meth:`~importlib.abc.Loader.exec_module` veraltet. " "(Beigetragen von Brett Cannon in :gh:`97850`.)" -#: ../../whatsnew/3.15.rst:2193 +#: ../../whatsnew/3.15.rst:2195 msgid "importlib.resources" msgstr "importlib.resources" -#: ../../whatsnew/3.15.rst:2195 +#: ../../whatsnew/3.15.rst:2197 msgid "" "Removed deprecated ``package`` parameter from :func:`importlib.resources." "files` function. (Contributed by Semyon Moroz in :gh:`138044`.)" @@ -4428,7 +4425,7 @@ msgstr "" "Den veralteten Parameter ``package`` der Funktion :func:`importlib.resources." "files` entfernt. (Beigetragen von Semyon Moroz in :gh:`138044`.)" -#: ../../whatsnew/3.15.rst:2203 +#: ../../whatsnew/3.15.rst:2205 msgid "" "Removed deprecated :meth:`!pathlib.PurePath.is_reserved`. Use :func:`os.path." "isreserved` to detect reserved paths on Windows. (Contributed by Nikita " @@ -4438,11 +4435,11 @@ msgstr "" "`os.path.isreserved`, um reservierte Pfade unter Windows zu erkennen. " "(Beigetragen von Nikita Sobolev in :gh:`133875`.)" -#: ../../whatsnew/3.15.rst:2209 +#: ../../whatsnew/3.15.rst:2211 msgid "platform" msgstr "platform" -#: ../../whatsnew/3.15.rst:2211 +#: ../../whatsnew/3.15.rst:2213 msgid "" "Removed the :func:`!platform.java_ver` function, which was deprecated since " "Python 3.13. (Contributed by Alexey Makridenko in :gh:`133604`.)" @@ -4450,11 +4447,11 @@ msgstr "" "Die Funktion :func:`!platform.java_ver`, die seit Python 3.13 veraltet war, " "wurde entfernt. (Beigetragen von Alexey Makridenko in :gh:`133604`.)" -#: ../../whatsnew/3.15.rst:2217 +#: ../../whatsnew/3.15.rst:2219 msgid "sre_*" msgstr "sre_*" -#: ../../whatsnew/3.15.rst:2219 +#: ../../whatsnew/3.15.rst:2221 msgid "" "Removed :mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse` " "modules. (Contributed by Stan Ulbrych in :gh:`135994`.)" @@ -4462,11 +4459,11 @@ msgstr "" "Die Module :mod:`!sre_compile`, :mod:`!sre_constants` und :mod:`!sre_parse` " "wurden entfernt. (Beigetragen von Stan Ulbrych in :gh:`135994`.)" -#: ../../whatsnew/3.15.rst:2224 +#: ../../whatsnew/3.15.rst:2226 msgid "sysconfig" msgstr "sysconfig" -#: ../../whatsnew/3.15.rst:2226 +#: ../../whatsnew/3.15.rst:2228 msgid "" "Removed the *check_home* parameter of :func:`sysconfig.is_python_build`. " "(Contributed by Filipe Laíns in :gh:`92897`.)" @@ -4474,7 +4471,7 @@ msgstr "" "Den Parameter *check_home* von :func:`sysconfig.is_python_build` entfernt. " "(Beigetragen von Filipe Laíns in :gh:`92897`.)" -#: ../../whatsnew/3.15.rst:2233 +#: ../../whatsnew/3.15.rst:2235 msgid "" "Remove support for arbitrary positional or keyword arguments in the C " "implementation of :class:`~threading.RLock` objects. This was deprecated in " @@ -4485,7 +4482,7 @@ msgstr "" "entfernt. Dies war seit Python 3.14 veraltet. (Beigetragen von Bénédikt Tran " "in :gh:`134087`.)" -#: ../../whatsnew/3.15.rst:2242 +#: ../../whatsnew/3.15.rst:2244 msgid "" "Removed :attr:`!codeobject.co_lnotab` from :class:`types.CodeType`, " "deprecated since Python 3.12 by :pep:`626`. (Contributed by Nikita Sobolev " @@ -4495,7 +4492,7 @@ msgstr "" "war seit Python 3.12 durch :pep:`626` veraltet. (Beigetragen von Nikita " "Sobolev in :gh:`134690`.)" -#: ../../whatsnew/3.15.rst:2250 +#: ../../whatsnew/3.15.rst:2252 msgid "" ":class:`typing.ByteString` has been removed from ``typing.__all__``. :class:" "`!typing.ByteString` has been deprecated since Python 3.9, and is scheduled " @@ -4505,7 +4502,7 @@ msgstr "" "typing.ByteString` ist seit Python 3.9 veraltet und soll in Python 3.17 " "entfernt werden. (Beigetragen von Alex Waygood in :gh:`118803`.)" -#: ../../whatsnew/3.15.rst:2255 +#: ../../whatsnew/3.15.rst:2257 msgid "" "The undocumented keyword argument syntax for creating :class:`~typing." "NamedTuple` classes (for example, ``Point = NamedTuple(\"Point\", x=int, " @@ -4518,7 +4515,7 @@ msgstr "" "stattdessen die klassenbasierte oder die funktionale Syntax. (Beigetragen " "von Bénédikt Tran in :gh:`133817`.)" -#: ../../whatsnew/3.15.rst:2261 +#: ../../whatsnew/3.15.rst:2263 msgid "" "Using ``TD = TypedDict(\"TD\")`` or ``TD = TypedDict(\"TD\", None)`` to " "construct a :class:`~typing.TypedDict` type with zero fields is no longer " @@ -4531,7 +4528,7 @@ msgstr "" "oder ``TD = TypedDict(\"TD\", {})``. (Beigetragen von Bénédikt Tran in :gh:" "`133823`.)" -#: ../../whatsnew/3.15.rst:2267 +#: ../../whatsnew/3.15.rst:2269 msgid "" "Deprecated :deco:`!typing.no_type_check_decorator` has been removed. " "(Contributed by Nikita Sobolev in :gh:`133601`.)" @@ -4539,7 +4536,7 @@ msgstr "" "Der veraltete Dekorator :deco:`!typing.no_type_check_decorator` wurde " "entfernt. (Beigetragen von Nikita Sobolev in :gh:`133601`.)" -#: ../../whatsnew/3.15.rst:2274 +#: ../../whatsnew/3.15.rst:2276 msgid "" "Removed the ``getmark()``, ``setmark()`` and ``getmarkers()`` methods of " "the :class:`~wave.Wave_read` and :class:`~wave.Wave_write` classes, which " @@ -4551,11 +4548,11 @@ msgstr "" "veraltet waren, wurden entfernt. (Beigetragen von Bénédikt Tran in :gh:" "`133873`.)" -#: ../../whatsnew/3.15.rst:2281 +#: ../../whatsnew/3.15.rst:2283 msgid "zipimport" msgstr "zipimport" -#: ../../whatsnew/3.15.rst:2283 +#: ../../whatsnew/3.15.rst:2285 msgid "" "Remove deprecated :meth:`!zipimport.zipimporter.load_module`. Use :meth:" "`zipimport.zipimporter.exec_module` instead. (Contributed by Jiahao Li in :" @@ -4565,20 +4562,20 @@ msgstr "" "stattdessen :meth:`zipimport.zipimporter.exec_module`. (Beigetragen von " "Jiahao Li in :gh:`133656`.)" -#: ../../whatsnew/3.15.rst:2289 +#: ../../whatsnew/3.15.rst:2291 msgid "Deprecated" msgstr "Als veraltet markiert" -#: ../../whatsnew/3.15.rst:2292 +#: ../../whatsnew/3.15.rst:2294 msgid "New deprecations" msgstr "Neu als veraltet markiert" -#: ../../whatsnew/3.15.rst:2294 +#: ../../whatsnew/3.15.rst:2296 #: ../../deprecations/pending-removal-in-3.20.rst:52 msgid ":mod:`ast`:" msgstr ":mod:`ast`:" -#: ../../whatsnew/3.15.rst:2296 +#: ../../whatsnew/3.15.rst:2298 #: ../../deprecations/pending-removal-in-3.20.rst:54 msgid "" "Creating instances of abstract AST nodes (such as :class:`ast.AST` or :class:" @@ -4588,15 +4585,15 @@ msgstr "" "oder :class:`!ast.expr`) ist veraltet und wird in Python 3.20 einen Fehler " "auslösen." -#: ../../whatsnew/3.15.rst:2299 +#: ../../whatsnew/3.15.rst:2301 msgid "(Contributed by Brian Schubert in :gh:`116021`.)" msgstr "(Beigetragen von Brian Schubert in :gh:`116021`.)" -#: ../../whatsnew/3.15.rst:2301 +#: ../../whatsnew/3.15.rst:2303 msgid ":mod:`base64`:" msgstr ":mod:`base64`:" -#: ../../whatsnew/3.15.rst:2303 +#: ../../whatsnew/3.15.rst:2305 msgid "" "Accepting the ``+`` and ``/`` characters with an alternative alphabet in :" "func:`~base64.b64decode` and :func:`~base64.urlsafe_b64decode` is now " @@ -4610,11 +4607,11 @@ msgstr "" "und werden im nicht strikten Modus verworfen. (Beigetragen von Serhiy " "Storchaka in :gh:`125346`.)" -#: ../../whatsnew/3.15.rst:2310 +#: ../../whatsnew/3.15.rst:2312 msgid "CLI:" msgstr "Kommandozeile:" -#: ../../whatsnew/3.15.rst:2312 +#: ../../whatsnew/3.15.rst:2314 msgid "" "Deprecate :option:`-b` and :option:`!-bb` command-line options and schedule " "them to become no-ops in Python 3.17. These were primarily helpers for the " @@ -4627,16 +4624,16 @@ msgstr "" "keine :exc:`BytesWarning` mehr ausgelöst; verwende stattdessen einen " "Typprüfer." -#: ../../whatsnew/3.15.rst:2318 +#: ../../whatsnew/3.15.rst:2320 msgid "(Contributed by Nikita Sobolev in :gh:`136355`.)" msgstr "(Beigetragen von Nikita Sobolev in :gh:`136355`.)" -#: ../../whatsnew/3.15.rst:2320 +#: ../../whatsnew/3.15.rst:2322 #: ../../deprecations/pending-removal-in-3.17.rst:12 msgid ":mod:`collections.abc`:" msgstr ":mod:`collections.abc`:" -#: ../../whatsnew/3.15.rst:2322 ../../whatsnew/3.15.rst:2413 +#: ../../whatsnew/3.15.rst:2324 ../../whatsnew/3.15.rst:2415 msgid "" "The following statements now cause ``DeprecationWarning``\\ s to be emitted " "at runtime:" @@ -4644,15 +4641,15 @@ msgstr "" "Die folgenden Anweisungen lösen jetzt zur Laufzeit ``DeprecationWarning`` " "aus:" -#: ../../whatsnew/3.15.rst:2325 +#: ../../whatsnew/3.15.rst:2327 msgid "``from collections.abc import ByteString``" msgstr "``from collections.abc import ByteString``" -#: ../../whatsnew/3.15.rst:2326 +#: ../../whatsnew/3.15.rst:2328 msgid "``import collections.abc; collections.abc.ByteString``." msgstr "``import collections.abc; collections.abc.ByteString``." -#: ../../whatsnew/3.15.rst:2328 +#: ../../whatsnew/3.15.rst:2330 msgid "" "``DeprecationWarning``\\ s were already emitted if :class:`collections.abc." "ByteString` was subclassed or used as the second argument to :func:" @@ -4667,12 +4664,12 @@ msgstr "" "mod:`!collections.abc` abgerufen wurde. (Beigetragen von Alex Waygood in :gh:" "`118803`.)" -#: ../../whatsnew/3.15.rst:2336 +#: ../../whatsnew/3.15.rst:2338 #: ../../deprecations/pending-removal-in-3.19.rst:10 msgid ":mod:`hashlib`:" msgstr ":mod:`hashlib`:" -#: ../../whatsnew/3.15.rst:2338 +#: ../../whatsnew/3.15.rst:2340 msgid "" "In hash function constructors such as :func:`~hashlib.new` or the direct " "hash-named constructors such as :func:`~hashlib.md5` and :func:`~hashlib." @@ -4686,7 +4683,7 @@ msgstr "" "in verschiedenen Implementierungen von :mod:`hashlib` auch als " "Schlüsselwortargument namens ``data=`` oder ``string=`` übergeben werden." -#: ../../whatsnew/3.15.rst:2344 +#: ../../whatsnew/3.15.rst:2346 msgid "" "Support for the ``string`` keyword argument name is now deprecated and is " "slated for removal in Python 3.19. Prefer passing the initial data as a " @@ -4696,16 +4693,16 @@ msgstr "" "und soll in Python 3.19 entfernt werden. Übergib die Anfangsdaten für die " "größtmögliche Abwärtskompatibilität am besten als Positionsargument." -#: ../../whatsnew/3.15.rst:2348 +#: ../../whatsnew/3.15.rst:2350 msgid "(Contributed by Bénédikt Tran in :gh:`134978`.)" msgstr "(Beigetragen von Bénédikt Tran in :gh:`134978`.)" -#: ../../whatsnew/3.15.rst:2351 +#: ../../whatsnew/3.15.rst:2353 #: ../../deprecations/pending-removal-in-3.19.rst:26 msgid ":mod:`http.cookies`:" msgstr ":mod:`http.cookies`:" -#: ../../whatsnew/3.15.rst:2353 +#: ../../whatsnew/3.15.rst:2355 msgid "" ":meth:`Morsel.js_output ` and :meth:" "`BaseCookie.js_output ` are deprecated " @@ -4719,12 +4716,12 @@ msgstr "" "` oder :meth:`BaseCookie.output `. (Beigetragen von kishorhange111 in :gh:`148849`.)" -#: ../../whatsnew/3.15.rst:2361 +#: ../../whatsnew/3.15.rst:2363 #: ../../deprecations/pending-removal-in-3.19.rst:34 msgid ":mod:`imaplib`:" msgstr ":mod:`imaplib`:" -#: ../../whatsnew/3.15.rst:2363 +#: ../../whatsnew/3.15.rst:2365 msgid "" "Altering :attr:`IMAP4.file ` is now deprecated and " "slated for removal in Python 3.19. This property is now unused and changing " @@ -4736,12 +4733,12 @@ msgstr "" "verwendet, und das Ändern ihres Werts schließt die aktuelle Datei *nicht* " "explizit. (Beigetragen von Bénédikt Tran in :gh:`142307`.)" -#: ../../whatsnew/3.15.rst:2369 +#: ../../whatsnew/3.15.rst:2371 #: ../../deprecations/pending-removal-in-3.17.rst:40 msgid ":mod:`profile`:" msgstr ":mod:`profile`:" -#: ../../whatsnew/3.15.rst:2371 +#: ../../whatsnew/3.15.rst:2373 #: ../../deprecations/pending-removal-in-3.17.rst:42 msgid "" "The :mod:`!profile` module is deprecated and will be removed in Python 3.17. " @@ -4754,11 +4751,11 @@ msgstr "" "bietet. Details findest du in :pep:`799`. (Beigetragen von Pablo Galindo und " "László Kiss Kollár in :gh:`138122`.)" -#: ../../whatsnew/3.15.rst:2377 +#: ../../whatsnew/3.15.rst:2379 msgid ":mod:`re`:" msgstr ":mod:`re`:" -#: ../../whatsnew/3.15.rst:2379 ../../deprecations/soft-deprecations.rst:6 +#: ../../whatsnew/3.15.rst:2381 ../../deprecations/soft-deprecations.rst:6 msgid "" ":func:`re.match` and :meth:`re.Pattern.match` are now :term:`soft " "deprecated` in favor of the new :func:`re.prefixmatch` and :meth:`re.Pattern." @@ -4777,7 +4774,7 @@ msgstr "" "reguläre Ausdrücke der meisten anderen Sprachen verwenden eine API namens " "*match* für das, was in Python schon immer *search* heißt." -#: ../../whatsnew/3.15.rst:2388 ../../deprecations/soft-deprecations.rst:15 +#: ../../whatsnew/3.15.rst:2390 ../../deprecations/soft-deprecations.rst:15 msgid "" "We **do not** plan to remove the older :func:`!match` name, as it has been " "used in code for over 30 years. Code supporting older versions of Python " @@ -4790,7 +4787,7 @@ msgstr "" "neuer Code :func:`!prefixmatch` bevorzugen sollte. Siehe :ref:`prefixmatch-" "vs-match`." -#: ../../whatsnew/3.15.rst:2393 ../../deprecations/soft-deprecations.rst:20 +#: ../../whatsnew/3.15.rst:2395 ../../deprecations/soft-deprecations.rst:20 msgid "" "(Contributed by Gregory P. Smith in :gh:`86519` and Hugo van Kemenade in :gh:" "`148100`.)" @@ -4798,11 +4795,11 @@ msgstr "" "(Beigetragen von Gregory P. Smith in :gh:`86519` und Hugo van Kemenade in :" "gh:`148100`.)" -#: ../../whatsnew/3.15.rst:2397 +#: ../../whatsnew/3.15.rst:2399 msgid ":mod:`struct`:" msgstr ":mod:`struct`:" -#: ../../whatsnew/3.15.rst:2399 +#: ../../whatsnew/3.15.rst:2401 msgid "" "Calling ``Struct.__new__()`` without a required argument is now deprecated " "and will be removed in Python 3.20. Calling the :meth:`~object.__init__` " @@ -4814,14 +4811,14 @@ msgstr "" "meth:`~object.__init__` auf einem bereits initialisierten Objekt :class:" "`~struct.Struct` ist veraltet und wird in Python 3.20 entfernt." -#: ../../whatsnew/3.15.rst:2404 +#: ../../whatsnew/3.15.rst:2406 #: ../../deprecations/pending-removal-in-3.20.rst:9 msgid "" "(Contributed by Sergey B Kirpichev and Serhiy Storchaka in :gh:`143715`.)" msgstr "" "(Beigetragen von Sergey B Kirpichev und Serhiy Storchaka in :gh:`143715`.)" -#: ../../whatsnew/3.15.rst:2406 +#: ../../whatsnew/3.15.rst:2408 msgid "" "The ``'F'`` and ``'D'`` type codes are now :term:`soft deprecated` in favor " "of the two-letter forms ``'Zf'`` and ``'Zd'``. (Contributed by Sergey B " @@ -4831,21 +4828,21 @@ msgstr "" "deprecated>` zugunsten der zweibuchstabigen Formen ``'Zf'`` und ``'Zd'``. " "(Beigetragen von Sergey B Kirpichev in :gh:`121249`.)" -#: ../../whatsnew/3.15.rst:2411 +#: ../../whatsnew/3.15.rst:2413 #: ../../deprecations/pending-removal-in-3.17.rst:52 #: ../../deprecations/pending-removal-in-3.20.rst:57 msgid ":mod:`typing`:" msgstr ":mod:`typing`:" -#: ../../whatsnew/3.15.rst:2416 +#: ../../whatsnew/3.15.rst:2418 msgid "``from typing import ByteString``" msgstr "``from typing import ByteString``" -#: ../../whatsnew/3.15.rst:2417 +#: ../../whatsnew/3.15.rst:2419 msgid "``import typing; typing.ByteString``." msgstr "``import typing; typing.ByteString``." -#: ../../whatsnew/3.15.rst:2419 +#: ../../whatsnew/3.15.rst:2421 msgid "" "``DeprecationWarning``\\ s were already emitted if :class:`typing." "ByteString` was subclassed or used as the second argument to :func:" @@ -4860,7 +4857,7 @@ msgstr "" "mod:`!typing` abgerufen wurde. (Beigetragen von Alex Waygood in :gh:" "`118803`.)" -#: ../../whatsnew/3.15.rst:2425 +#: ../../whatsnew/3.15.rst:2427 #: ../../deprecations/pending-removal-in-3.20.rst:59 msgid "" "It is deprecated to call :func:`isinstance` and :func:`issubclass` checks on " @@ -4874,17 +4871,17 @@ msgstr "" "Protokollklasse erben. In Python 3.20 wird dies einen :exc:`TypeError` " "auslösen." -#: ../../whatsnew/3.15.rst:2430 +#: ../../whatsnew/3.15.rst:2432 #: ../../deprecations/pending-removal-in-3.20.rst:64 msgid "(Contributed by Bartosz Sławecki in :gh:`132604`.)" msgstr "(Beigetragen von Bartosz Sławecki in :gh:`132604`.)" -#: ../../whatsnew/3.15.rst:2433 +#: ../../whatsnew/3.15.rst:2435 #: ../../deprecations/pending-removal-in-3.17.rst:47 msgid ":mod:`webbrowser`:" msgstr ":mod:`webbrowser`:" -#: ../../whatsnew/3.15.rst:2435 +#: ../../whatsnew/3.15.rst:2437 msgid "" ":class:`!webbrowser.MacOSXOSAScript` is deprecated in favour of :class:`!" "webbrowser.MacOS` and scheduled for removal in Python 3.17. (Contributed by " @@ -4894,11 +4891,11 @@ msgstr "" "MacOS` veraltet und soll in Python 3.17 entfernt werden. (Beigetragen von " "Jeff Lyon in :gh:`137586`.)" -#: ../../whatsnew/3.15.rst:2439 +#: ../../whatsnew/3.15.rst:2441 msgid "``__version__``:" msgstr "``__version__``:" -#: ../../whatsnew/3.15.rst:2441 +#: ../../whatsnew/3.15.rst:2443 #: ../../deprecations/pending-removal-in-3.20.rst:11 msgid "" "The ``__version__``, ``version`` and ``VERSION`` attributes have been " @@ -4909,127 +4906,127 @@ msgstr "" "Modulen der Standardbibliothek veraltet und werden in Python 3.20 entfernt. " "Verwende stattdessen :py:data:`sys.version_info`." -#: ../../whatsnew/3.15.rst:2445 +#: ../../whatsnew/3.15.rst:2447 #: ../../deprecations/pending-removal-in-3.20.rst:15 msgid ":mod:`argparse`" msgstr ":mod:`argparse`" -#: ../../whatsnew/3.15.rst:2446 +#: ../../whatsnew/3.15.rst:2448 #: ../../deprecations/pending-removal-in-3.20.rst:16 msgid ":mod:`csv`" msgstr ":mod:`csv`" -#: ../../whatsnew/3.15.rst:2447 +#: ../../whatsnew/3.15.rst:2449 #: ../../deprecations/pending-removal-in-3.20.rst:17 msgid ":mod:`ctypes`" msgstr ":mod:`ctypes`" -#: ../../whatsnew/3.15.rst:2448 +#: ../../whatsnew/3.15.rst:2450 #: ../../deprecations/pending-removal-in-3.20.rst:18 msgid ":mod:`!ctypes.macholib`" msgstr ":mod:`!ctypes.macholib`" -#: ../../whatsnew/3.15.rst:2449 +#: ../../whatsnew/3.15.rst:2451 #: ../../deprecations/pending-removal-in-3.20.rst:19 msgid ":mod:`decimal` (use :data:`decimal.SPEC_VERSION` instead)" msgstr ":mod:`decimal` (stattdessen :data:`decimal.SPEC_VERSION` verwenden)" -#: ../../whatsnew/3.15.rst:2450 +#: ../../whatsnew/3.15.rst:2452 #: ../../deprecations/pending-removal-in-3.20.rst:20 msgid ":mod:`http.server`" msgstr ":mod:`http.server`" -#: ../../whatsnew/3.15.rst:2451 +#: ../../whatsnew/3.15.rst:2453 #: ../../deprecations/pending-removal-in-3.20.rst:21 msgid ":mod:`imaplib`" msgstr ":mod:`imaplib`" -#: ../../whatsnew/3.15.rst:2452 +#: ../../whatsnew/3.15.rst:2454 #: ../../deprecations/pending-removal-in-3.20.rst:22 msgid ":mod:`ipaddress`" msgstr ":mod:`ipaddress`" -#: ../../whatsnew/3.15.rst:2453 +#: ../../whatsnew/3.15.rst:2455 #: ../../deprecations/pending-removal-in-3.20.rst:23 msgid ":mod:`json`" msgstr ":mod:`json`" -#: ../../whatsnew/3.15.rst:2454 +#: ../../whatsnew/3.15.rst:2456 #: ../../deprecations/pending-removal-in-3.20.rst:24 msgid ":mod:`logging` (``__date__`` also deprecated)" msgstr ":mod:`logging` (``__date__`` ist ebenfalls veraltet)" -#: ../../whatsnew/3.15.rst:2455 +#: ../../whatsnew/3.15.rst:2457 #: ../../deprecations/pending-removal-in-3.20.rst:25 msgid ":mod:`optparse`" msgstr ":mod:`optparse`" -#: ../../whatsnew/3.15.rst:2456 +#: ../../whatsnew/3.15.rst:2458 #: ../../deprecations/pending-removal-in-3.20.rst:26 msgid ":mod:`pickle`" msgstr ":mod:`pickle`" -#: ../../whatsnew/3.15.rst:2457 +#: ../../whatsnew/3.15.rst:2459 #: ../../deprecations/pending-removal-in-3.20.rst:27 msgid ":mod:`platform`" msgstr ":mod:`platform`" -#: ../../whatsnew/3.15.rst:2458 +#: ../../whatsnew/3.15.rst:2460 #: ../../deprecations/pending-removal-in-3.20.rst:28 msgid ":mod:`re`" msgstr ":mod:`re`" -#: ../../whatsnew/3.15.rst:2459 +#: ../../whatsnew/3.15.rst:2461 #: ../../deprecations/pending-removal-in-3.20.rst:29 msgid ":mod:`socketserver`" msgstr ":mod:`socketserver`" -#: ../../whatsnew/3.15.rst:2460 +#: ../../whatsnew/3.15.rst:2462 #: ../../deprecations/pending-removal-in-3.20.rst:30 msgid ":mod:`tabnanny`" msgstr ":mod:`tabnanny`" -#: ../../whatsnew/3.15.rst:2461 +#: ../../whatsnew/3.15.rst:2463 #: ../../deprecations/pending-removal-in-3.20.rst:31 msgid ":mod:`tarfile`" msgstr ":mod:`tarfile`" -#: ../../whatsnew/3.15.rst:2462 +#: ../../whatsnew/3.15.rst:2464 #: ../../deprecations/pending-removal-in-3.20.rst:32 msgid ":mod:`tkinter.font`" msgstr ":mod:`tkinter.font`" -#: ../../whatsnew/3.15.rst:2463 +#: ../../whatsnew/3.15.rst:2465 #: ../../deprecations/pending-removal-in-3.20.rst:33 msgid ":mod:`tkinter.ttk`" msgstr ":mod:`tkinter.ttk`" -#: ../../whatsnew/3.15.rst:2464 +#: ../../whatsnew/3.15.rst:2466 #: ../../deprecations/pending-removal-in-3.20.rst:34 msgid ":mod:`wsgiref.simple_server`" msgstr ":mod:`wsgiref.simple_server`" -#: ../../whatsnew/3.15.rst:2465 +#: ../../whatsnew/3.15.rst:2467 #: ../../deprecations/pending-removal-in-3.20.rst:35 msgid ":mod:`xml.etree.ElementTree`" msgstr ":mod:`xml.etree.ElementTree`" -#: ../../whatsnew/3.15.rst:2466 +#: ../../whatsnew/3.15.rst:2468 #: ../../deprecations/pending-removal-in-3.20.rst:36 msgid ":mod:`!xml.sax.expatreader`" msgstr ":mod:`!xml.sax.expatreader`" -#: ../../whatsnew/3.15.rst:2467 +#: ../../whatsnew/3.15.rst:2469 #: ../../deprecations/pending-removal-in-3.20.rst:37 msgid ":mod:`xml.sax.handler`" msgstr ":mod:`xml.sax.handler`" -#: ../../whatsnew/3.15.rst:2468 +#: ../../whatsnew/3.15.rst:2470 #: ../../deprecations/pending-removal-in-3.20.rst:38 msgid ":mod:`zlib`" msgstr ":mod:`zlib`" -#: ../../whatsnew/3.15.rst:2470 +#: ../../whatsnew/3.15.rst:2472 #: ../../deprecations/pending-removal-in-3.20.rst:40 msgid "(Contributed by Hugo van Kemenade and Stan Ulbrych in :gh:`76007`.)" msgstr "(Beigetragen von Hugo van Kemenade und Stan Ulbrych in :gh:`76007`.)" @@ -6054,11 +6051,11 @@ msgstr "" "zweibuchstabigen Formen ``'Zf'`` und ``'Zd'``. (Beigetragen von Sergey B " "Kirpichev in :gh:`121249`.)" -#: ../../whatsnew/3.15.rst:2490 +#: ../../whatsnew/3.15.rst:2492 msgid "C API changes" msgstr "Änderungen an der C-API" -#: ../../whatsnew/3.15.rst:2495 +#: ../../whatsnew/3.15.rst:2497 msgid "" "Add :c:func:`PyArg_ParseArray` and :c:func:`PyArg_ParseArrayAndKeywords` " "functions to parse arguments of functions using the :c:macro:`METH_FASTCALL` " @@ -6069,36 +6066,36 @@ msgstr "" "der Aufrufkonvention :c:macro:`METH_FASTCALL` zu parsen. (Beigetragen von " "Victor Stinner in :gh:`144175`.)" -#: ../../whatsnew/3.15.rst:2500 +#: ../../whatsnew/3.15.rst:2502 msgid "Add the following functions for the new :class:`frozendict` type:" msgstr "" "Die folgenden Funktionen für den neuen Typ :class:`frozendict` hinzugefügt:" -#: ../../whatsnew/3.15.rst:2502 +#: ../../whatsnew/3.15.rst:2504 msgid ":c:func:`PyAnyDict_Check`" msgstr ":c:func:`PyAnyDict_Check`" -#: ../../whatsnew/3.15.rst:2503 +#: ../../whatsnew/3.15.rst:2505 msgid ":c:func:`PyAnyDict_CheckExact`" msgstr ":c:func:`PyAnyDict_CheckExact`" -#: ../../whatsnew/3.15.rst:2504 +#: ../../whatsnew/3.15.rst:2506 msgid ":c:func:`PyFrozenDict_Check`" msgstr ":c:func:`PyFrozenDict_Check`" -#: ../../whatsnew/3.15.rst:2505 +#: ../../whatsnew/3.15.rst:2507 msgid ":c:func:`PyFrozenDict_CheckExact`" msgstr ":c:func:`PyFrozenDict_CheckExact`" -#: ../../whatsnew/3.15.rst:2506 +#: ../../whatsnew/3.15.rst:2508 msgid ":c:func:`PyFrozenDict_New`" msgstr ":c:func:`PyFrozenDict_New`" -#: ../../whatsnew/3.15.rst:2508 +#: ../../whatsnew/3.15.rst:2510 msgid "(Contributed by Victor Stinner in :gh:`141510`.)" msgstr "(Beigetragen von Victor Stinner in :gh:`141510`.)" -#: ../../whatsnew/3.15.rst:2510 +#: ../../whatsnew/3.15.rst:2512 msgid "" "Add :c:func:`PyObject_CallFinalizerFromDealloc` function to the limited C " "API. (Contributed by Victor Stinner in :gh:`146063`.)" @@ -6106,7 +6103,7 @@ msgstr "" "Funktion :c:func:`PyObject_CallFinalizerFromDealloc` zur eingeschränkten C-" "API hinzugefügt. (Beigetragen von Victor Stinner in :gh:`146063`.)" -#: ../../whatsnew/3.15.rst:2514 +#: ../../whatsnew/3.15.rst:2516 msgid "" "Add :c:func:`PySys_GetAttr`, :c:func:`PySys_GetAttrString`, :c:func:" "`PySys_GetOptionalAttr`, and :c:func:`PySys_GetOptionalAttrString` functions " @@ -6118,7 +6115,7 @@ msgstr "" "für :c:func:`PySys_GetObject` hinzugefügt. (Beigetragen von Serhiy Storchaka " "in :gh:`108512`.)" -#: ../../whatsnew/3.15.rst:2519 +#: ../../whatsnew/3.15.rst:2521 msgid "" "Add :c:func:`PyUnstable_Unicode_GET_CACHED_HASH` to get the cached hash of a " "string. See the documentation for caveats. (Contributed by Petr Viktorin in :" @@ -6129,7 +6126,7 @@ msgstr "" "sind in der Dokumentation beschrieben. (Beigetragen von Petr Viktorin in :gh:" "`131510`.)" -#: ../../whatsnew/3.15.rst:2523 +#: ../../whatsnew/3.15.rst:2525 msgid "" "Add API for checking an extension module's ABI compatibility: :c:data:" "`Py_mod_abi`, :c:func:`PyABIInfo_Check`, and :c:macro:`PyABIInfo_VAR`. " @@ -6139,7 +6136,7 @@ msgstr "" "hinzugefügt: :c:data:`Py_mod_abi`, :c:func:`PyABIInfo_Check` und :c:macro:" "`PyABIInfo_VAR`. (Beigetragen von Petr Viktorin in :gh:`137210`.)" -#: ../../whatsnew/3.15.rst:2530 +#: ../../whatsnew/3.15.rst:2532 msgid "" "Implement :pep:`782`, the :ref:`PyBytesWriter API `. Add " "functions:" @@ -6147,59 +6144,59 @@ msgstr "" ":pep:`782`, die :ref:`PyBytesWriter-API `, implementiert. " "Neue Funktionen:" -#: ../../whatsnew/3.15.rst:2533 +#: ../../whatsnew/3.15.rst:2535 msgid ":c:func:`PyBytesWriter_Create`" msgstr ":c:func:`PyBytesWriter_Create`" -#: ../../whatsnew/3.15.rst:2534 +#: ../../whatsnew/3.15.rst:2536 msgid ":c:func:`PyBytesWriter_Discard`" msgstr ":c:func:`PyBytesWriter_Discard`" -#: ../../whatsnew/3.15.rst:2535 +#: ../../whatsnew/3.15.rst:2537 msgid ":c:func:`PyBytesWriter_Finish`" msgstr ":c:func:`PyBytesWriter_Finish`" -#: ../../whatsnew/3.15.rst:2536 +#: ../../whatsnew/3.15.rst:2538 msgid ":c:func:`PyBytesWriter_FinishWithPointer`" msgstr ":c:func:`PyBytesWriter_FinishWithPointer`" -#: ../../whatsnew/3.15.rst:2537 +#: ../../whatsnew/3.15.rst:2539 msgid ":c:func:`PyBytesWriter_FinishWithSize`" msgstr ":c:func:`PyBytesWriter_FinishWithSize`" -#: ../../whatsnew/3.15.rst:2538 +#: ../../whatsnew/3.15.rst:2540 msgid ":c:func:`PyBytesWriter_Format`" msgstr ":c:func:`PyBytesWriter_Format`" -#: ../../whatsnew/3.15.rst:2539 +#: ../../whatsnew/3.15.rst:2541 msgid ":c:func:`PyBytesWriter_GetData`" msgstr ":c:func:`PyBytesWriter_GetData`" -#: ../../whatsnew/3.15.rst:2540 +#: ../../whatsnew/3.15.rst:2542 msgid ":c:func:`PyBytesWriter_GetSize`" msgstr ":c:func:`PyBytesWriter_GetSize`" -#: ../../whatsnew/3.15.rst:2541 +#: ../../whatsnew/3.15.rst:2543 msgid ":c:func:`PyBytesWriter_Grow`" msgstr ":c:func:`PyBytesWriter_Grow`" -#: ../../whatsnew/3.15.rst:2542 +#: ../../whatsnew/3.15.rst:2544 msgid ":c:func:`PyBytesWriter_GrowAndUpdatePointer`" msgstr ":c:func:`PyBytesWriter_GrowAndUpdatePointer`" -#: ../../whatsnew/3.15.rst:2543 +#: ../../whatsnew/3.15.rst:2545 msgid ":c:func:`PyBytesWriter_Resize`" msgstr ":c:func:`PyBytesWriter_Resize`" -#: ../../whatsnew/3.15.rst:2544 +#: ../../whatsnew/3.15.rst:2546 msgid ":c:func:`PyBytesWriter_WriteBytes`" msgstr ":c:func:`PyBytesWriter_WriteBytes`" -#: ../../whatsnew/3.15.rst:2546 +#: ../../whatsnew/3.15.rst:2548 msgid "(Contributed by Victor Stinner in :gh:`129813`.)" msgstr "(Beigetragen von Victor Stinner in :gh:`129813`.)" -#: ../../whatsnew/3.15.rst:2548 +#: ../../whatsnew/3.15.rst:2550 msgid "" ":c:type:`PyCriticalSection` and related functions are added to the Stable " "ABI. (Contributed by Petr Viktorin in :gh:`149225`.)" @@ -6207,7 +6204,7 @@ msgstr "" ":c:type:`PyCriticalSection` und zugehörige Funktionen wurden zur stabilen " "ABI hinzugefügt. (Beigetragen von Petr Viktorin in :gh:`149225`.)" -#: ../../whatsnew/3.15.rst:2552 +#: ../../whatsnew/3.15.rst:2554 msgid "" "Add a new :c:func:`PyImport_CreateModuleFromInitfunc` C API for creating a " "module from a *spec* and *initfunc*. (Contributed by Itamar Oren in :gh:" @@ -6217,7 +6214,7 @@ msgstr "" "Moduls aus *spec* und *initfunc* hinzugefügt. (Beigetragen von Itamar Oren " "in :gh:`116146`.)" -#: ../../whatsnew/3.15.rst:2556 +#: ../../whatsnew/3.15.rst:2558 msgid "" "Add :c:func:`PyTuple_FromArray` to create a :class:`tuple` from an array. " "(Contributed by Victor Stinner in :gh:`111489`.)" @@ -6225,7 +6222,7 @@ msgstr "" ":c:func:`PyTuple_FromArray` hinzugefügt, um ein :class:`tuple` aus einem " "Array zu erzeugen. (Beigetragen von Victor Stinner in :gh:`111489`.)" -#: ../../whatsnew/3.15.rst:2559 +#: ../../whatsnew/3.15.rst:2561 msgid "" "Add a new module export hook, :c:func:`PyModExport_* " "`." @@ -6233,11 +6230,11 @@ msgstr "" "Neuen Export-Hook für Module hinzugefügt: :c:func:`PyModExport_* " "`." -#: ../../whatsnew/3.15.rst:2562 +#: ../../whatsnew/3.15.rst:2564 msgid "(Contributed by Petr Viktorin in :pep:`793` and :gh:`140550`.)" msgstr "(Beigetragen von Petr Viktorin in :pep:`793` und :gh:`140550`.)" -#: ../../whatsnew/3.15.rst:2564 +#: ../../whatsnew/3.15.rst:2566 msgid "" "Add functions that are guaranteed to be safe for use in :c:member:" "`~PyTypeObject.tp_traverse` handlers: :c:func:" @@ -6257,7 +6254,7 @@ msgstr "" "func:`PyType_GetModuleByToken_DuringGC`. (Beigetragen von Petr Viktorin in :" "gh:`145925`.)" -#: ../../whatsnew/3.15.rst:2575 +#: ../../whatsnew/3.15.rst:2577 msgid "" "Add :c:func:`PyObject_Dump` to dump an object to ``stderr``. It should only " "be used for debugging. (Contributed by Victor Stinner in :gh:`141070`.)" @@ -6266,7 +6263,7 @@ msgstr "" "auszugeben. Sie sollte nur zum Debuggen verwendet werden. (Beigetragen von " "Victor Stinner in :gh:`141070`.)" -#: ../../whatsnew/3.15.rst:2579 +#: ../../whatsnew/3.15.rst:2581 msgid "" "Implement :pep:`820`: ``PySlot`` -- Unified slot system for the C API. See :" "ref:`capi-slots` for documentation." @@ -6274,19 +6271,19 @@ msgstr "" ":pep:`820` implementiert: ``PySlot`` -- Einheitliches Slot-System für die C-" "API. Die Dokumentation findest du unter :ref:`capi-slots`." -#: ../../whatsnew/3.15.rst:2582 +#: ../../whatsnew/3.15.rst:2584 msgid "This adds:" msgstr "Dies fügt hinzu:" -#: ../../whatsnew/3.15.rst:2584 +#: ../../whatsnew/3.15.rst:2586 msgid "The :c:type:`PySlot` struct;" msgstr "Die Struktur :c:type:`PySlot`;" -#: ../../whatsnew/3.15.rst:2585 +#: ../../whatsnew/3.15.rst:2587 msgid "the :c:func:`PyType_FromSlots` function;" msgstr "die Funktion :c:func:`PyType_FromSlots`;" -#: ../../whatsnew/3.15.rst:2586 +#: ../../whatsnew/3.15.rst:2588 msgid "" "new slot IDs: :c:macro:`Py_slot_end`, :c:macro:`Py_slot_invalid`; :c:macro:" "`Py_slot_subslots`, :c:macro:`Py_tp_slots`, :c:macro:`Py_mod_slots`; :c:" @@ -6300,7 +6297,7 @@ msgstr "" "`Py_tp_extra_basicsize`, :c:macro:`Py_tp_itemsize`, :c:macro:`Py_tp_flags`, :" "c:macro:`Py_tp_metaclass`, :c:macro:`Py_tp_module`;" -#: ../../whatsnew/3.15.rst:2593 +#: ../../whatsnew/3.15.rst:2595 msgid "" "convenience macros: :c:macro:`PySlot_DATA`, :c:macro:`PySlot_FUNC`, :c:macro:" "`PySlot_SIZE`, :c:macro:`PySlot_INT64`, :c:macro:`PySlot_UINT64`, :c:macro:" @@ -6312,7 +6309,7 @@ msgstr "" "`PySlot_STATIC_DATA`, :c:macro:`PySlot_END`, :c:macro:`PySlot_PTR`, :c:macro:" "`PySlot_PTR_STATIC`." -#: ../../whatsnew/3.15.rst:2598 +#: ../../whatsnew/3.15.rst:2600 msgid "" "The :c:func:`PyModule_FromSlotsAndSpec` function and ``PyModExport`` :ref:" "`module export hook ` also use the new :c:type:`!" @@ -6322,40 +6319,40 @@ msgstr "" "ref:`Export-Hook für Module ` verwenden ebenfalls die " "neue Struktur :c:type:`!PySlot`." -#: ../../whatsnew/3.15.rst:2602 +#: ../../whatsnew/3.15.rst:2604 msgid "The following functions are :term:`soft deprecated`:" msgstr "" "Die folgenden Funktionen sind :term:`sanft abgekündigt `:" -#: ../../whatsnew/3.15.rst:2604 +#: ../../whatsnew/3.15.rst:2606 msgid ":c:func:`PyType_FromSpec`" msgstr ":c:func:`PyType_FromSpec`" -#: ../../whatsnew/3.15.rst:2605 +#: ../../whatsnew/3.15.rst:2607 msgid ":c:func:`PyType_FromSpecWithBases`" msgstr ":c:func:`PyType_FromSpecWithBases`" -#: ../../whatsnew/3.15.rst:2606 +#: ../../whatsnew/3.15.rst:2608 msgid ":c:func:`PyType_FromModuleAndSpec`" msgstr ":c:func:`PyType_FromModuleAndSpec`" -#: ../../whatsnew/3.15.rst:2607 +#: ../../whatsnew/3.15.rst:2609 msgid ":c:func:`PyType_FromMetaclass`" msgstr ":c:func:`PyType_FromMetaclass`" -#: ../../whatsnew/3.15.rst:2608 +#: ../../whatsnew/3.15.rst:2610 msgid ":c:func:`PyModule_FromDefAndSpec`" msgstr ":c:func:`PyModule_FromDefAndSpec`" -#: ../../whatsnew/3.15.rst:2609 +#: ../../whatsnew/3.15.rst:2611 msgid ":c:func:`PyModule_FromDefAndSpec2`" msgstr ":c:func:`PyModule_FromDefAndSpec2`" -#: ../../whatsnew/3.15.rst:2610 +#: ../../whatsnew/3.15.rst:2612 msgid ":c:func:`PyModule_ExecDef`" msgstr ":c:func:`PyModule_ExecDef`" -#: ../../whatsnew/3.15.rst:2612 +#: ../../whatsnew/3.15.rst:2614 msgid "" "The slots :c:macro:`Py_tp_bases` and :c:macro:`Py_tp_base` are now " "equivalent: they can be set either to a single type or a tuple of types. " @@ -6367,11 +6364,11 @@ msgstr "" "von Typen gesetzt werden. Der Slot :c:macro:`Py_tp_bases` wird bevorzugt; " "der andere wird ignoriert, wenn beide angegeben sind." -#: ../../whatsnew/3.15.rst:2617 +#: ../../whatsnew/3.15.rst:2619 msgid "(Contributed by Petr Viktorin in :gh:`149044`.)" msgstr "(Beigetragen von Petr Viktorin in :gh:`149044`.)" -#: ../../whatsnew/3.15.rst:2619 +#: ../../whatsnew/3.15.rst:2621 msgid "" "Add :c:func:`PyUnstable_ThreadState_SetStackProtection` and :c:func:" "`PyUnstable_ThreadState_ResetStackProtection` functions to set the stack " @@ -6383,7 +6380,7 @@ msgstr "" "Basisadresse und die Größe des Stackschutzes eines Python-Thread-Zustands " "festzulegen. (Beigetragen von Victor Stinner in :gh:`139653`.)" -#: ../../whatsnew/3.15.rst:2625 +#: ../../whatsnew/3.15.rst:2627 msgid "" "Add :c:func:`PyUnstable_SetImmortal` C API function to mark objects as :term:" "`immortal`. (Contributed by Kumar Aditya in :gh:`143300`.)" @@ -6392,7 +6389,7 @@ msgstr "" "term:`unsterblich ` zu markieren. (Beigetragen von Kumar Aditya " "in :gh:`143300`.)" -#: ../../whatsnew/3.15.rst:2628 +#: ../../whatsnew/3.15.rst:2630 msgid "" "Restore private provisional ``_Py_InitializeMain()`` function removed in " "Python 3.14. (Contributed by Victor Stinner in :gh:`142417`.)" @@ -6401,7 +6398,7 @@ msgstr "" "3.14 entfernt worden war, wurde wiederhergestellt. (Beigetragen von Victor " "Stinner in :gh:`142417`.)" -#: ../../whatsnew/3.15.rst:2632 +#: ../../whatsnew/3.15.rst:2634 msgid "" "Add :c:func:`PyUnstable_DumpTraceback` and :c:func:" "`PyUnstable_DumpTracebackThreads` functions to output Python stacktraces. " @@ -6411,11 +6408,11 @@ msgstr "" "`PyUnstable_DumpTracebackThreads` hinzugefügt, um Python-Stacktraces " "auszugeben. (Beigetragen von Alex Malyshev in :gh:`145559`.)" -#: ../../whatsnew/3.15.rst:2638 +#: ../../whatsnew/3.15.rst:2640 msgid "Changed C APIs" msgstr "Geänderte C-APIs" -#: ../../whatsnew/3.15.rst:2640 +#: ../../whatsnew/3.15.rst:2642 msgid "" "If the :c:macro:`Py_TPFLAGS_MANAGED_DICT` or :c:macro:" "`Py_TPFLAGS_MANAGED_WEAKREF` flag is set then :c:macro:`Py_TPFLAGS_HAVE_GC` " @@ -6426,7 +6423,7 @@ msgstr "" "`Py_TPFLAGS_HAVE_GC` gesetzt sein. (Beigetragen von Sergey Miryanov in :gh:" "`134786`.)" -#: ../../whatsnew/3.15.rst:2644 +#: ../../whatsnew/3.15.rst:2646 msgid "" ":c:macro:`PyDateTime_IMPORT` is now thread safe. Code that directly checks " "``PyDateTimeAPI`` for ``NULL`` should be updated to call :c:macro:" @@ -6437,22 +6434,22 @@ msgstr "" "er stattdessen :c:macro:`PyDateTime_IMPORT` aufruft. (Beigetragen von Kumar " "Aditya in :gh:`141563`.)" -#: ../../whatsnew/3.15.rst:2650 +#: ../../whatsnew/3.15.rst:2652 msgid "Removed C APIs" msgstr "Entfernte C-APIs" -#: ../../whatsnew/3.15.rst:2652 +#: ../../whatsnew/3.15.rst:2654 msgid "Remove deprecated ``PyUnicode`` functions:" msgstr "Veraltete Funktionen von ``PyUnicode`` entfernt:" -#: ../../whatsnew/3.15.rst:2654 +#: ../../whatsnew/3.15.rst:2656 msgid "" ":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." msgstr "" ":c:func:`!PyUnicode_AsDecodedObject`: Verwende stattdessen :c:func:" "`PyCodec_Decode`." -#: ../../whatsnew/3.15.rst:2656 +#: ../../whatsnew/3.15.rst:2658 msgid "" ":c:func:`!PyUnicode_AsDecodedUnicode`: Use :c:func:`PyCodec_Decode` instead; " "note that some codecs (for example, \"base64\") may return a type other " @@ -6462,14 +6459,14 @@ msgstr "" "`PyCodec_Decode`; beachte, dass manche Codecs (zum Beispiel „base64“) einen " "anderen Typ als :class:`str` zurückgeben können, etwa :class:`bytes`." -#: ../../whatsnew/3.15.rst:2659 +#: ../../whatsnew/3.15.rst:2661 msgid "" ":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." msgstr "" ":c:func:`!PyUnicode_AsEncodedObject`: Verwende stattdessen :c:func:" "`PyCodec_Encode`." -#: ../../whatsnew/3.15.rst:2661 +#: ../../whatsnew/3.15.rst:2663 msgid "" ":c:func:`!PyUnicode_AsEncodedUnicode`: Use :c:func:`PyCodec_Encode` instead; " "note that some codecs (for example, \"base64\") may return a type other " @@ -6479,11 +6476,11 @@ msgstr "" "`PyCodec_Encode`; beachte, dass manche Codecs (zum Beispiel „base64“) einen " "anderen Typ als :class:`bytes` zurückgeben können, etwa :class:`str`." -#: ../../whatsnew/3.15.rst:2665 +#: ../../whatsnew/3.15.rst:2667 msgid "(Contributed by Stan Ulbrych in :gh:`133612`.)" msgstr "(Beigetragen von Stan Ulbrych in :gh:`133612`.)" -#: ../../whatsnew/3.15.rst:2667 +#: ../../whatsnew/3.15.rst:2669 msgid "" ":c:func:`!PyImport_ImportModuleNoBlock`: deprecated alias of :c:func:" "`PyImport_ImportModule`. (Contributed by Bénédikt Tran in :gh:`133644`.)" @@ -6491,7 +6488,7 @@ msgstr "" ":c:func:`!PyImport_ImportModuleNoBlock`: veralteter Alias von :c:func:" "`PyImport_ImportModule`. (Beigetragen von Bénédikt Tran in :gh:`133644`.)" -#: ../../whatsnew/3.15.rst:2671 +#: ../../whatsnew/3.15.rst:2673 msgid "" ":c:func:`!PyWeakref_GetObject` and :c:macro:`!PyWeakref_GET_OBJECT`: use :c:" "func:`PyWeakref_GetRef` instead. The |pythoncapi_compat_project| can be used " @@ -6504,7 +6501,7 @@ msgstr "" "Python 3.12 und älter nutzen. (Beigetragen von Bénédikt Tran in :gh:" "`133644`.)" -#: ../../whatsnew/3.15.rst:2676 +#: ../../whatsnew/3.15.rst:2678 msgid "" "Remove deprecated :c:func:`!PySys_ResetWarnOptions`. Clear :data:`sys." "warnoptions` and :data:`!warnings.filters` instead." @@ -6512,11 +6509,11 @@ msgstr "" "Das veraltete :c:func:`!PySys_ResetWarnOptions` entfernt. Leere stattdessen :" "data:`sys.warnoptions` und :data:`!warnings.filters`." -#: ../../whatsnew/3.15.rst:2679 +#: ../../whatsnew/3.15.rst:2681 msgid "(Contributed by Nikita Sobolev in :gh:`138886`.)" msgstr "(Beigetragen von Nikita Sobolev in :gh:`138886`.)" -#: ../../whatsnew/3.15.rst:2681 +#: ../../whatsnew/3.15.rst:2683 msgid "" "The following functions are removed in favor of :c:func:`PyConfig_Get`. The |" "pythoncapi_compat_project| can be used to get :c:func:`!PyConfig_Get` on " @@ -6526,11 +6523,11 @@ msgstr "" "entfernt. Mit dem |pythoncapi_compat_project| lässt sich :c:func:`!" "PyConfig_Get` unter Python 3.13 und älter nutzen." -#: ../../whatsnew/3.15.rst:2685 +#: ../../whatsnew/3.15.rst:2687 msgid "Python initialization functions:" msgstr "Funktionen zur Initialisierung von Python:" -#: ../../whatsnew/3.15.rst:2687 +#: ../../whatsnew/3.15.rst:2689 msgid "" ":c:func:`!Py_GetExecPrefix`: use :c:func:`PyConfig_Get(\"base_exec_prefix\") " "` (:data:`sys.base_exec_prefix`) instead. Use :c:func:" @@ -6543,7 +6540,7 @@ msgstr "" "` (:data:`sys.exec_prefix`), wenn :ref:`virtuelle Umgebungen " "` berücksichtigt werden müssen." -#: ../../whatsnew/3.15.rst:2693 +#: ../../whatsnew/3.15.rst:2695 msgid "" ":c:func:`!Py_GetPath`: use :c:func:`PyConfig_Get(\"module_search_paths\") " "` (:data:`sys.path`) instead." @@ -6551,7 +6548,7 @@ msgstr "" ":c:func:`!Py_GetPath`: Verwende stattdessen :c:func:" "`PyConfig_Get(\"module_search_paths\") ` (:data:`sys.path`)." -#: ../../whatsnew/3.15.rst:2696 +#: ../../whatsnew/3.15.rst:2698 msgid "" ":c:func:`!Py_GetPrefix`: use :c:func:`PyConfig_Get(\"base_prefix\") " "` (:data:`sys.base_prefix`) instead. Use :c:func:" @@ -6564,7 +6561,7 @@ msgstr "" "prefix`), wenn :ref:`virtuelle Umgebungen ` berücksichtigt werden " "müssen." -#: ../../whatsnew/3.15.rst:2702 +#: ../../whatsnew/3.15.rst:2704 msgid "" ":c:func:`!Py_GetProgramFullPath`: use :c:func:`PyConfig_Get(\"executable\") " "` (:data:`sys.executable`) instead." @@ -6572,7 +6569,7 @@ msgstr "" ":c:func:`!Py_GetProgramFullPath`: Verwende stattdessen :c:func:" "`PyConfig_Get(\"executable\") ` (:data:`sys.executable`)." -#: ../../whatsnew/3.15.rst:2705 +#: ../../whatsnew/3.15.rst:2707 msgid "" ":c:func:`!Py_GetProgramName`: use :c:func:`PyConfig_Get(\"executable\") " "` (:data:`sys.executable`) instead." @@ -6580,7 +6577,7 @@ msgstr "" ":c:func:`!Py_GetProgramName`: Verwende stattdessen :c:func:" "`PyConfig_Get(\"executable\") ` (:data:`sys.executable`)." -#: ../../whatsnew/3.15.rst:2708 +#: ../../whatsnew/3.15.rst:2710 msgid "" ":c:func:`!Py_GetPythonHome`: use :c:func:`PyConfig_Get(\"home\") " "` or the :envvar:`PYTHONHOME` environment variable instead." @@ -6589,15 +6586,15 @@ msgstr "" "`PyConfig_Get(\"home\") ` oder die Umgebungsvariable :envvar:" "`PYTHONHOME`." -#: ../../whatsnew/3.15.rst:2712 +#: ../../whatsnew/3.15.rst:2714 msgid "(Contributed by Bénédikt Tran in :gh:`133644`.)" msgstr "(Beigetragen von Bénédikt Tran in :gh:`133644`.)" -#: ../../whatsnew/3.15.rst:2720 +#: ../../whatsnew/3.15.rst:2722 msgid "Deprecated C APIs" msgstr "Veraltete C-APIs" -#: ../../whatsnew/3.15.rst:2722 +#: ../../whatsnew/3.15.rst:2724 msgid "" "Deprecate :pep:`456` support for providing an external definition of the " "string hashing scheme. Removal is scheduled for Python 3.19." @@ -6606,7 +6603,7 @@ msgstr "" "Verfahrens für Zeichenketten ist veraltet. Die Entfernung ist für Python " "3.19 geplant." -#: ../../whatsnew/3.15.rst:2725 +#: ../../whatsnew/3.15.rst:2727 msgid "" "Previously, embedders could define :c:macro:`Py_HASH_ALGORITHM` to be " "``Py_HASH_EXTERNAL`` to indicate that the hashing scheme was provided " @@ -6618,11 +6615,11 @@ msgstr "" "bereitgestellt wird. Diese Funktion war jedoch undokumentiert, ungetestet " "und wurde höchstwahrscheinlich nicht verwendet." -#: ../../whatsnew/3.15.rst:2730 +#: ../../whatsnew/3.15.rst:2732 msgid "(Contributed by Bénédikt Tran in :gh:`141226`.)" msgstr "(Beigetragen von Bénédikt Tran in :gh:`141226`.)" -#: ../../whatsnew/3.15.rst:2732 +#: ../../whatsnew/3.15.rst:2734 msgid "" "For unsigned integer formats in :c:func:`PyArg_ParseTuple`, accepting Python " "integers with value that is larger than the maximal value for the C type or " @@ -6636,7 +6633,7 @@ msgstr "" "vorzeichenbehafteten Ganzzahltyps gleicher Größe ist. (Beigetragen von " "Serhiy Storchaka in :gh:`132629`.)" -#: ../../whatsnew/3.15.rst:2738 +#: ../../whatsnew/3.15.rst:2740 msgid "" ":c:func:`PyBytes_FromStringAndSize(NULL, len) ` " "and :c:func:`_PyBytes_Resize` are :term:`soft deprecated`, use the :c:type:" @@ -6647,7 +6644,7 @@ msgstr "" "deprecated>`; verwende stattdessen die API :c:type:`PyBytesWriter`. " "(Beigetragen von Victor Stinner in :gh:`129813`.)" -#: ../../whatsnew/3.15.rst:2743 +#: ../../whatsnew/3.15.rst:2745 msgid "" ":c:func:`!_PyObject_CallMethodId`, :c:func:`!_PyObject_GetAttrId` and :c:" "func:`!_PyUnicode_FromId` are deprecated since Python 3.15 and will be " @@ -6663,7 +6660,7 @@ msgstr "" "zwischen und rufe dann :c:func:`PyObject_CallMethod` oder :c:func:" "`PyObject_GetAttr` auf. (Beigetragen von Victor Stinner in :gh:`141049`.)" -#: ../../whatsnew/3.15.rst:2750 +#: ../../whatsnew/3.15.rst:2752 msgid "" "Deprecate :c:member:`~PyComplexObject.cval` field of the :c:type:" "`PyComplexObject` type. Use :c:func:`PyComplex_AsCComplex` and :c:func:" @@ -6677,7 +6674,7 @@ msgstr "" "Darstellung :c:type:`Py_complex` bzw. aus ihr zu konvertieren. (Beigetragen " "von Sergey B Kirpichev in :gh:`128813`.)" -#: ../../whatsnew/3.15.rst:2757 +#: ../../whatsnew/3.15.rst:2759 msgid "" "Functions :c:func:`_Py_c_sum`, :c:func:`_Py_c_diff`, :c:func:`_Py_c_neg`, :c:" "func:`_Py_c_prod`, :c:func:`_Py_c_quot`, :c:func:`_Py_c_pow` and :c:func:" @@ -6689,7 +6686,7 @@ msgstr "" "und :c:func:`_Py_c_abs` sind :term:`sanft abgekündigt `. " "(Beigetragen von Sergey B Kirpichev in :gh:`128813`.)" -#: ../../whatsnew/3.15.rst:2762 +#: ../../whatsnew/3.15.rst:2764 msgid "" ":c:member:`~PyConfig.bytes_warning` is deprecated since Python 3.15 and will " "be removed in Python 3.17. (Contributed by Nikita Sobolev in :gh:`136355`.)" @@ -6697,7 +6694,7 @@ msgstr "" ":c:member:`~PyConfig.bytes_warning` ist seit Python 3.15 veraltet und wird " "in Python 3.17 entfernt. (Beigetragen von Nikita Sobolev in :gh:`136355`.)" -#: ../../whatsnew/3.15.rst:2766 +#: ../../whatsnew/3.15.rst:2768 msgid "" ":c:macro:`!Py_INFINITY` macro is :term:`soft deprecated`, use the C11 " "standard ```` :c:macro:`!INFINITY` instead. (Contributed by Sergey B " @@ -6707,19 +6704,19 @@ msgstr "" "deprecated>`; verwende stattdessen das ```` :c:macro:`!INFINITY` des " "C11-Standards. (Beigetragen von Sergey B Kirpichev in :gh:`141004`.)" -#: ../../whatsnew/3.15.rst:2770 +#: ../../whatsnew/3.15.rst:2772 msgid "The following macros are :term:`soft deprecated`:" msgstr "Die folgenden Makros sind :term:`sanft abgekündigt `:" -#: ../../whatsnew/3.15.rst:2772 +#: ../../whatsnew/3.15.rst:2774 msgid ":c:macro:`Py_ALIGNED`: Prefer ``alignas`` instead." msgstr ":c:macro:`Py_ALIGNED`: Verwende stattdessen ``alignas``." -#: ../../whatsnew/3.15.rst:2773 +#: ../../whatsnew/3.15.rst:2775 msgid ":c:macro:`PY_FORMAT_SIZE_T`: Use ``\"z\"`` directly." msgstr ":c:macro:`PY_FORMAT_SIZE_T`: Verwende direkt ``\"z\"``." -#: ../../whatsnew/3.15.rst:2774 +#: ../../whatsnew/3.15.rst:2776 msgid "" ":c:macro:`Py_LL` and :c:macro:`Py_ULL`: Use standard suffixes, ``LL`` and " "``ULL``." @@ -6727,7 +6724,7 @@ msgstr "" ":c:macro:`Py_LL` und :c:macro:`Py_ULL`: Verwende die Standardsuffixe ``LL`` " "und ``ULL``." -#: ../../whatsnew/3.15.rst:2776 +#: ../../whatsnew/3.15.rst:2778 msgid "" ":c:macro:`PY_LONG_LONG`, :c:macro:`PY_LLONG_MIN`, :c:macro:`PY_LLONG_MAX`, :" "c:macro:`PY_ULLONG_MAX`, :c:macro:`PY_INT32_T`, :c:macro:`PY_UINT32_T`, :c:" @@ -6739,15 +6736,15 @@ msgstr "" "macro:`PY_INT64_T`, :c:macro:`PY_UINT64_T`, :c:macro:`PY_SIZE_MAX`: Verwende " "die Typen und Grenzwerte von C99." -#: ../../whatsnew/3.15.rst:2780 +#: ../../whatsnew/3.15.rst:2782 msgid ":c:macro:`Py_UNICODE_SIZE`: Use ``sizeof(wchar_t)`` directly." msgstr ":c:macro:`Py_UNICODE_SIZE`: Verwende direkt ``sizeof(wchar_t)``." -#: ../../whatsnew/3.15.rst:2781 +#: ../../whatsnew/3.15.rst:2783 msgid ":c:macro:`Py_VA_COPY`: Use ``va_copy`` directly." msgstr ":c:macro:`Py_VA_COPY`: Verwende direkt ``va_copy``." -#: ../../whatsnew/3.15.rst:2783 +#: ../../whatsnew/3.15.rst:2785 msgid "" "The macro :c:macro:`Py_UNICODE_WIDE`, which was scheduled for removal, is :" "term:`soft deprecated` instead." @@ -6755,11 +6752,11 @@ msgstr "" "Das Makro :c:macro:`Py_UNICODE_WIDE`, dessen Entfernung geplant war, ist " "stattdessen :term:`sanft abgekündigt `." -#: ../../whatsnew/3.15.rst:2786 +#: ../../whatsnew/3.15.rst:2788 msgid "(Contributed by Petr Viktorin in :gh:`146175`.)" msgstr "(Beigetragen von Petr Viktorin in :gh:`146175`.)" -#: ../../whatsnew/3.15.rst:2788 +#: ../../whatsnew/3.15.rst:2790 msgid "" ":c:macro:`!Py_MATH_El` and :c:macro:`!Py_MATH_PIl` are deprecated since " "Python 3.15 and will be removed in Python 3.20. (Contributed by Sergey B " @@ -6769,11 +6766,11 @@ msgstr "" "veraltet und werden in Python 3.20 entfernt. (Beigetragen von Sergey B " "Kirpichev in :gh:`141004`.)" -#: ../../whatsnew/3.15.rst:2797 +#: ../../whatsnew/3.15.rst:2799 msgid "Build changes" msgstr "Änderungen am Build" -#: ../../whatsnew/3.15.rst:2799 +#: ../../whatsnew/3.15.rst:2801 msgid "" "Removed implicit fallback to the bundled copy of the ``libmpdec`` library. " "Now this should be explicitly enabled with :option:`--with-system-libmpdec` " @@ -6786,7 +6783,7 @@ msgstr "" "system-libmpdec` angegeben wird. (Beigetragen von Sergey B Kirpichev in :gh:" "`115119`.)" -#: ../../whatsnew/3.15.rst:2804 +#: ../../whatsnew/3.15.rst:2806 msgid "" "The new configure option :option:`--with-missing-stdlib-config=FILE` allows " "distributors to pass a `JSON `_ " @@ -6801,7 +6798,7 @@ msgstr "" "separat paketiert sind. (Beigetragen von Stan Ulbrych und Petr Viktorin in :" "gh:`139707`.)" -#: ../../whatsnew/3.15.rst:2810 +#: ../../whatsnew/3.15.rst:2812 msgid "" "The new configure option :option:`--with-pymalloc-hugepages` enables huge " "page support for :ref:`pymalloc ` arenas. When enabled, arena size " @@ -6822,7 +6819,7 @@ msgstr "" "`PYTHON_PYMALLOC_HUGEPAGES` auf ``1`` gesetzt wird. (Beigetragen von Pablo " "Galindo Salgado in :gh:`144319`.)" -#: ../../whatsnew/3.15.rst:2819 +#: ../../whatsnew/3.15.rst:2821 msgid "" "Annotating anonymous mmap usage is now supported if the Linux kernel " "supports :manpage:`PR_SET_VMA_ANON_NAME ` (Linux 5.17 or " @@ -6838,7 +6835,7 @@ msgstr "" "dev <-X>` gestartet oder im :ref:`Debug-Modus ` gebaut wurde. " "(Beigetragen von Donghee Na in :gh:`141770`.)" -#: ../../whatsnew/3.15.rst:2826 +#: ../../whatsnew/3.15.rst:2828 msgid "" "CPython is now built with frame pointers enabled by default (:pep:`831`). " "Pass :option:`--without-frame-pointers` to opt out." @@ -6846,7 +6843,7 @@ msgstr "" "CPython wird jetzt standardmäßig mit aktivierten Frame-Pointern gebaut (:pep:" "`831`). Übergib :option:`--without-frame-pointers`, um dies abzuschalten." -#: ../../whatsnew/3.15.rst:2829 +#: ../../whatsnew/3.15.rst:2831 msgid "" "Authors of C extensions and native libraries built with custom build systems " "should ensure the unwind chain is intact. This is usually done by adding ``-" @@ -6859,7 +6856,7 @@ msgstr "" "Flags zu ``CFLAGS`` hinzu. Die konkreten Flags, die Python verwendet, " "findest du in der Dokumentation zu :option:`--without-frame-pointers`." -#: ../../whatsnew/3.15.rst:2835 +#: ../../whatsnew/3.15.rst:2837 msgid "" "(Contributed by Pablo Galindo Salgado and Savannah Ostrowski in :gh:" "`149201`.)" @@ -6867,7 +6864,7 @@ msgstr "" "(Beigetragen von Pablo Galindo Salgado und Savannah Ostrowski in :gh:" "`149201`.)" -#: ../../whatsnew/3.15.rst:2839 +#: ../../whatsnew/3.15.rst:2841 msgid "" "64-bit builds using Visual Studio 2026 (MSVC 18) may now use the new :ref:" "`tail-calling interpreter `. Results on " @@ -6896,11 +6893,11 @@ msgstr "" "`143068`. Besonderer Dank an Steve Dower und das MSVC-Team einschließlich " "Hulon Jenkins.)" -#: ../../whatsnew/3.15.rst:2856 +#: ../../whatsnew/3.15.rst:2858 msgid "Porting to Python 3.15" msgstr "Portierung auf Python 3.15" -#: ../../whatsnew/3.15.rst:2858 +#: ../../whatsnew/3.15.rst:2860 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -6908,11 +6905,11 @@ msgstr "" "Dieser Abschnitt listet bereits beschriebene Änderungen und weitere " "Fehlerbehebungen auf, die Änderungen an deinem Code erfordern können." -#: ../../whatsnew/3.15.rst:2861 +#: ../../whatsnew/3.15.rst:2863 msgid ":class:`sqlite3.Connection` APIs have been cleaned up." msgstr "Die APIs von :class:`sqlite3.Connection` wurden bereinigt." -#: ../../whatsnew/3.15.rst:2863 +#: ../../whatsnew/3.15.rst:2865 msgid "" "All parameters of :func:`sqlite3.connect` except *database* are now keyword-" "only." @@ -6920,7 +6917,7 @@ msgstr "" "Alle Parameter von :func:`sqlite3.connect` außer *database* sind jetzt reine " "Schlüsselwortparameter." -#: ../../whatsnew/3.15.rst:2864 +#: ../../whatsnew/3.15.rst:2866 msgid "" "The first three parameters of methods :meth:`~sqlite3.Connection." "create_function` and :meth:`~sqlite3.Connection.create_aggregate` are now " @@ -6930,7 +6927,7 @@ msgstr "" "create_function` und :meth:`~sqlite3.Connection.create_aggregate` sind jetzt " "reine Positionsparameter." -#: ../../whatsnew/3.15.rst:2866 +#: ../../whatsnew/3.15.rst:2868 msgid "" "The first parameter of methods :meth:`~sqlite3.Connection.set_authorizer`, :" "meth:`~sqlite3.Connection.set_progress_handler` and :meth:`~sqlite3." @@ -6941,11 +6938,11 @@ msgstr "" "`~sqlite3.Connection.set_trace_callback` ist jetzt ein reiner " "Positionsparameter." -#: ../../whatsnew/3.15.rst:2870 +#: ../../whatsnew/3.15.rst:2872 msgid "(Contributed by Serhiy Storchaka in :gh:`133595`.)" msgstr "(Beigetragen von Serhiy Storchaka in :gh:`133595`.)" -#: ../../whatsnew/3.15.rst:2872 +#: ../../whatsnew/3.15.rst:2874 msgid "" ":data:`resource.RLIM_INFINITY` is now always positive. Passing a negative " "integer value that corresponded to its old value (such as ``-1`` or ``-3``, " @@ -6959,7 +6956,7 @@ msgstr "" "`resource.prlimit` ist jetzt veraltet. (Beigetragen von Serhiy Storchaka in :" "gh:`137044`.)" -#: ../../whatsnew/3.15.rst:2878 +#: ../../whatsnew/3.15.rst:2880 msgid "" ":meth:`mmap.mmap.resize` has been removed on platforms that don't support " "the underlying syscall, instead of raising a :exc:`SystemError`. " @@ -6969,7 +6966,7 @@ msgstr "" "Systemaufruf nicht unterstützen, entfernt, statt einen :exc:`SystemError` " "auszulösen. (Beigetragen von An Long in :gh:`138205`.)" -#: ../../whatsnew/3.15.rst:2882 +#: ../../whatsnew/3.15.rst:2884 msgid "" "A resource warning is now emitted for an unclosed :func:`xml.etree." "ElementTree.iterparse` iterator if it opened a file. Use its :meth:`!close` " @@ -6982,7 +6979,7 @@ msgstr "" "func:`contextlib.closing`, um ihn zu schließen. (Beigetragen von Osama " "Abdelkader und Serhiy Storchaka in :gh:`140601`.)" -#: ../../whatsnew/3.15.rst:2888 +#: ../../whatsnew/3.15.rst:2890 msgid "" "If a short option and a single-dash long option are passed to :meth:" "`argparse.ArgumentParser.add_argument`, *dest* is now inferred from the " @@ -6998,7 +6995,7 @@ msgstr "" "``'f'``. Übergib ein explizites Argument *dest*, um das alte Verhalten " "beizubehalten. (Beigetragen von Serhiy Storchaka in :gh:`138697`.)" -#: ../../whatsnew/3.15.rst:2895 +#: ../../whatsnew/3.15.rst:2897 msgid "" "Padding of input no longer required in :func:`base64.urlsafe_b64decode`. " "Pass a new argument ``padded=True`` or use :func:`base64.b64decode` with " @@ -7011,7 +7008,7 @@ msgstr "" "auch mit älteren Python-Versionen), um Padding vorauszusetzen. (Beigetragen " "von Serhiy Storchaka in :gh:`73613`.)" -#: ../../whatsnew/3.15.rst:2901 +#: ../../whatsnew/3.15.rst:2903 msgid "" "Since :meth:`unittest.TestCase.assertWarns` and :meth:`unittest.TestCase." "assertWarnsRegex` no longer swallow warnings that do not match the specified " @@ -7028,5 +7025,33 @@ msgstr "" "assertWarns*`, um sie abzufangen und zu prüfen. (Beigetragen von Serhiy " "Storchaka in :gh:`143231`.)" +#~ msgid "" +#~ "This article explains the new features in Python 3.15, compared to 3.14." +#~ msgstr "" +#~ "Dieser Artikel erläutert die neuen Features in Python 3.15 im Vergleich " +#~ "zu 3.14." + +#~ msgid "For full details, see the :ref:`changelog `." +#~ msgstr "" +#~ "Ausführliche Informationen findest du im :ref:`Changelog `." + +#~ msgid "" +#~ "Prerelease users should be aware that this document is currently in draft " +#~ "form. It will be updated substantially as Python 3.15 moves towards " +#~ "release, so it's worth checking back even after reading earlier versions." +#~ msgstr "" +#~ "Wenn du eine Vorabversion verwendest, beachte bitte, dass sich dieses " +#~ "Dokument derzeit im Entwurfsstadium befindet. Es wird auf dem Weg zur " +#~ "Veröffentlichung von Python 3.15 noch wesentlich überarbeitet, daher " +#~ "lohnt es sich, auch nach dem Lesen früherer Fassungen erneut " +#~ "hineinzuschauen." + +#~ msgid "" +#~ "A practical :ref:`migration guide ` for switching " +#~ "to ``abi3t`` is available." +#~ msgstr "" +#~ "Ein praktischer :ref:`Migrationsleitfaden ` für " +#~ "den Umstieg auf ``abi3t`` ist verfügbar." + #~ msgid "These results are not yet final." #~ msgstr "Diese Ergebnisse sind noch nicht endgültig." diff --git a/whatsnew/changelog.po b/whatsnew/changelog.po index 73c844e1..e9c7d657 100644 --- a/whatsnew/changelog.po +++ b/whatsnew/changelog.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 03:11+0000\n" +"POT-Creation-Date: 2026-10-12 03:18+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -33,75 +33,1386 @@ msgstr "" msgid "*Release date: XXXX-XX-XX*" msgstr "" -#: ../NEWS:8 ../NEWS:243 ../NEWS:481 ../NEWS:824 ../NEWS:1454 ../NEWS:1765 -#: ../NEWS:2092 ../NEWS:2957 ../NEWS:3600 ../NEWS:4057 ../NEWS:4954 -#: ../NEWS:5577 ../NEWS:6366 ../NEWS:8624 ../NEWS:9438 ../NEWS:9824 -#: ../NEWS:10387 ../NEWS:11286 ../NEWS:11748 ../NEWS:12488 ../NEWS:14768 -#: ../NEWS:15918 ../NEWS:16374 ../NEWS:16930 ../NEWS:18449 ../NEWS:20928 -#: ../NEWS:22146 ../NEWS:22467 ../NEWS:23161 ../NEWS:23503 ../NEWS:23945 -#: ../NEWS:26218 ../NEWS:29920 ../NEWS:31877 ../NEWS:32593 ../NEWS:33024 -#: ../NEWS:33270 ../NEWS:33912 ../NEWS:34502 ../NEWS:34858 ../NEWS:36112 -#: ../NEWS:36465 ../NEWS:36917 ../NEWS:37423 ../NEWS:38124 ../NEWS:38509 -#: ../NEWS:40462 ../NEWS:41220 ../NEWS:41764 ../NEWS:42295 ../NEWS:45825 -#: ../NEWS:46043 ../NEWS:47771 ../NEWS:50224 ../NEWS:50991 ../NEWS:51455 -#: ../NEWS:51482 ../NEWS:53526 ../NEWS:53737 ../NEWS:54028 ../NEWS:55324 -#: ../NEWS:55383 ../NEWS:55800 ../NEWS:56503 -msgid "Security" +#: ../NEWS:8 ../NEWS:709 ../NEWS:1033 ../NEWS:1254 ../NEWS:1621 ../NEWS:2237 +#: ../NEWS:2565 ../NEWS:2912 ../NEWS:3736 ../NEWS:4602 ../NEWS:5047 +#: ../NEWS:5433 ../NEWS:5651 ../NEWS:6071 ../NEWS:6681 ../NEWS:6711 +#: ../NEWS:6726 ../NEWS:6739 ../NEWS:6782 ../NEWS:6806 ../NEWS:8499 +#: ../NEWS:8543 ../NEWS:8586 ../NEWS:8616 ../NEWS:8639 ../NEWS:8764 +#: ../NEWS:8777 ../NEWS:8791 ../NEWS:8912 ../NEWS:8946 ../NEWS:8964 +#: ../NEWS:8996 ../NEWS:9103 ../NEWS:9132 ../NEWS:9813 ../NEWS:9854 +#: ../NEWS:9916 ../NEWS:10399 ../NEWS:10483 ../NEWS:10865 ../NEWS:10973 +#: ../NEWS:11033 ../NEWS:11441 ../NEWS:11477 ../NEWS:11578 ../NEWS:11868 +#: ../NEWS:11893 ../NEWS:11925 ../NEWS:12284 ../NEWS:12330 ../NEWS:12911 +#: ../NEWS:12931 ../NEWS:12948 ../NEWS:14528 ../NEWS:14552 ../NEWS:14647 +#: ../NEWS:14820 ../NEWS:14892 ../NEWS:14955 ../NEWS:14973 ../NEWS:15140 +#: ../NEWS:15541 ../NEWS:15569 ../NEWS:16183 ../NEWS:16294 ../NEWS:16698 +#: ../NEWS:16740 ../NEWS:16753 ../NEWS:17145 ../NEWS:17702 ../NEWS:18576 +#: ../NEWS:19237 ../NEWS:21715 ../NEWS:21845 ../NEWS:22612 ../NEWS:22653 +#: ../NEWS:22689 ../NEWS:22930 ../NEWS:23239 ../NEWS:23488 ../NEWS:23537 +#: ../NEWS:23602 ../NEWS:23938 ../NEWS:23976 ../NEWS:24286 ../NEWS:24419 +#: ../NEWS:24746 ../NEWS:24782 ../NEWS:24858 ../NEWS:24903 ../NEWS:25096 +#: ../NEWS:25114 ../NEWS:25131 ../NEWS:25256 ../NEWS:25379 ../NEWS:25394 +#: ../NEWS:26988 ../NEWS:27133 ../NEWS:27178 ../NEWS:27748 ../NEWS:27824 +#: ../NEWS:27849 ../NEWS:28361 ../NEWS:28444 ../NEWS:28496 ../NEWS:28521 +#: ../NEWS:28820 ../NEWS:28911 ../NEWS:28938 ../NEWS:29217 ../NEWS:29267 +#: ../NEWS:29291 ../NEWS:29356 ../NEWS:29669 ../NEWS:29727 ../NEWS:30157 +#: ../NEWS:30710 ../NEWS:30744 ../NEWS:30756 ../NEWS:30815 ../NEWS:30835 +#: ../NEWS:30867 ../NEWS:30997 ../NEWS:31048 ../NEWS:31068 ../NEWS:31167 +#: ../NEWS:32696 ../NEWS:32733 ../NEWS:32824 ../NEWS:33378 ../NEWS:33399 +#: ../NEWS:33794 ../NEWS:33839 ../NEWS:33864 ../NEWS:34039 ../NEWS:34092 +#: ../NEWS:34302 ../NEWS:34344 ../NEWS:34377 ../NEWS:34682 ../NEWS:34734 +#: ../NEWS:34779 ../NEWS:34790 ../NEWS:35276 ../NEWS:35355 ../NEWS:35642 +#: ../NEWS:35664 ../NEWS:35692 ../NEWS:35711 ../NEWS:35724 ../NEWS:35740 +#: ../NEWS:35754 ../NEWS:35766 ../NEWS:35784 ../NEWS:35825 ../NEWS:35844 +#: ../NEWS:35893 ../NEWS:35923 ../NEWS:36037 ../NEWS:36057 ../NEWS:36881 +#: ../NEWS:37243 ../NEWS:37687 ../NEWS:38197 ../NEWS:38538 ../NEWS:38905 +#: ../NEWS:39321 ../NEWS:41240 ../NEWS:42001 ../NEWS:42539 ../NEWS:42845 +#: ../NEWS:43106 ../NEWS:46086 ../NEWS:46198 ../NEWS:46411 ../NEWS:46602 +#: ../NEWS:46812 ../NEWS:47056 ../NEWS:47375 ../NEWS:47679 ../NEWS:48279 +#: ../NEWS:48568 ../NEWS:50660 ../NEWS:50997 ../NEWS:51314 ../NEWS:51763 +#: ../NEWS:52252 ../NEWS:52594 ../NEWS:52618 ../NEWS:52942 ../NEWS:52972 +#: ../NEWS:53036 ../NEWS:53150 ../NEWS:53274 ../NEWS:53542 ../NEWS:54051 +#: ../NEWS:54298 ../NEWS:54512 ../NEWS:54804 ../NEWS:56110 ../NEWS:56171 +#: ../NEWS:56572 ../NEWS:57245 ../NEWS:57288 ../NEWS:57996 ../NEWS:58014 +#: ../NEWS:58537 ../NEWS:58572 ../NEWS:58600 ../NEWS:58692 ../NEWS:58779 +#: ../NEWS:58884 ../NEWS:58927 ../NEWS:59203 ../NEWS:59438 ../NEWS:59624 +#: ../NEWS:59763 +msgid "Core and Builtins" msgstr "" #: ../NEWS:10 msgid "" +":gh:`158803`: Fix a crash in :meth:`bytes.join` and :meth:`bytearray.join` " +"in the :term:`free-threaded build` when another thread concurrently mutates " +"the list being joined. Patch by Christian Aurich Zanettini Martins." +msgstr "" + +#: ../NEWS:14 +msgid "" +":gh:`158820`: Fix a crash when a :ref:`lazy import ` is " +"declared or resolved by a finalizer running during interpreter shutdown." +msgstr "" + +#: ../NEWS:17 +msgid "" +":gh:`158592`: Skip the array reallocation when shrinking a small :class:" +"`list`. Patch by Donghee Na." +msgstr "" + +#: ../NEWS:20 +msgid "" +":gh:`158583`: :meth:`bytes.fromhex` and :meth:`bytearray.fromhex`: Fix " +"uninitialized memory read. Patch by Victor Stinner." +msgstr "" + +#: ../NEWS:23 +msgid "" +":gh:`158592`: ``del list[index]`` now triggers shrinking the list's internal " +"array." +msgstr "" + +#: ../NEWS:26 +msgid "" +":gh:`158486`: Fix the PowerSort mask calculation in :meth:`list.sort` for " +"very large lists." +msgstr "" + +#: ../NEWS:29 +msgid "" +":gh:`156091`: Fix a crash when compiling deeply nested inlined list, set, or " +"dict comprehensions. A :exc:`SyntaxError` is now raised when the nesting " +"exceeds the compiler's static block limit." +msgstr "" + +#: ../NEWS:33 +msgid "" +":gh:`156459`: Fix cleanup on error in ``compiler_set_qualname``. Previously " +"it was called in ``_PyCompile_EnterScope``, after the scope had been " +"entered, and this was not reversed in case of an error." +msgstr "" + +#: ../NEWS:37 +msgid "" +":gh:`156371`: Fix missing ``PyRefTracer_DESTROY`` events for trashcan " +"deferred objects. Patch by Donghee Na." +msgstr "" + +#: ../NEWS:40 +msgid "" +":gh:`156204`: Fix a crash in :c:func:`PyErr_GivenExceptionMatches` when " +"evaluating deeply nested exception tuples. The recursion is now bounded, and " +"exceeding the limit is reported as an unraisable exception." +msgstr "" + +#: ../NEWS:44 +msgid "" +":gh:`155504`: Fix a crash when thread state creation fails before the thread " +"state is fully initialized." +msgstr "" + +#: ../NEWS:47 +msgid "" +":gh:`155315`: Fix :mod:`marshal` so that a ``frozendict`` referenced more " +"than once in the serialized data round-trips correctly, instead of failing " +"to load with :exc:`ValueError`. Patch by tonghuaroot." +msgstr "" + +#: ../NEWS:51 +msgid "" +":gh:`154937`: Fix a data race on thread handle identifiers when ``_thread." +"_shutdown()`` runs concurrently with the startup of non-daemon threads in " +"the :term:`free-threaded build`." +msgstr "" + +#: ../NEWS:55 +msgid "" +":gh:`152075`: Reduced lock contention during LOAD_GLOBAL bytecode " +"specialization under free threading." +msgstr "" + +#: ../NEWS:58 +msgid "" +":gh:`153578`: Fix an out-of-bounds write in :meth:`bytearray.extend` when " +"the bytearray is resized while the argument's :meth:`~object.__buffer__` is " +"being acquired, for example by another thread. Patch by tonghuaroot." +msgstr "" + +#: ../NEWS:62 +msgid "" +":gh:`151895`: Fixed a crash in :func:`marshal.loads` when an allocation " +"failed while loading a reference-tracked dictionary; it now raises :exc:" +"`MemoryError`." +msgstr "" + +#: ../NEWS:67 ../NEWS:808 ../NEWS:1097 ../NEWS:1307 ../NEWS:1730 ../NEWS:2326 +#: ../NEWS:2631 ../NEWS:3112 ../NEWS:3917 ../NEWS:4374 ../NEWS:4847 +#: ../NEWS:5239 ../NEWS:5568 ../NEWS:5739 ../NEWS:6352 ../NEWS:6705 +#: ../NEWS:6720 ../NEWS:6732 ../NEWS:6773 ../NEWS:6798 ../NEWS:7209 +#: ../NEWS:8537 ../NEWS:8580 ../NEWS:8610 ../NEWS:8629 ../NEWS:8755 +#: ../NEWS:8772 ../NEWS:8785 ../NEWS:8902 ../NEWS:8940 ../NEWS:8958 +#: ../NEWS:8990 ../NEWS:9097 ../NEWS:9126 ../NEWS:9397 ../NEWS:9848 +#: ../NEWS:9910 ../NEWS:10057 ../NEWS:10216 ../NEWS:10477 ../NEWS:10595 +#: ../NEWS:10968 ../NEWS:11026 ../NEWS:11178 ../NEWS:11471 ../NEWS:11571 +#: ../NEWS:11585 ../NEWS:11691 ../NEWS:11886 ../NEWS:11918 ../NEWS:12057 +#: ../NEWS:12319 ../NEWS:12516 ../NEWS:12924 ../NEWS:12941 ../NEWS:13044 +#: ../NEWS:13302 ../NEWS:14546 ../NEWS:14641 ../NEWS:14814 ../NEWS:14885 +#: ../NEWS:14948 ../NEWS:14966 ../NEWS:15134 ../NEWS:15562 ../NEWS:15740 +#: ../NEWS:16285 ../NEWS:16300 ../NEWS:16733 ../NEWS:16746 ../NEWS:16769 +#: ../NEWS:17255 ../NEWS:17861 ../NEWS:18748 ../NEWS:19873 ../NEWS:21709 +#: ../NEWS:21835 ../NEWS:21931 ../NEWS:22646 ../NEWS:22695 ../NEWS:23010 +#: ../NEWS:23300 ../NEWS:23531 ../NEWS:23597 ../NEWS:23609 ../NEWS:23967 +#: ../NEWS:24013 ../NEWS:24444 ../NEWS:24774 ../NEWS:24853 ../NEWS:24896 +#: ../NEWS:25090 ../NEWS:25107 ../NEWS:25120 ../NEWS:25246 ../NEWS:25374 +#: ../NEWS:25389 ../NEWS:25416 ../NEWS:27124 ../NEWS:27196 ../NEWS:27817 +#: ../NEWS:27843 ../NEWS:27879 ../NEWS:28439 ../NEWS:28489 ../NEWS:28512 +#: ../NEWS:28536 ../NEWS:28905 ../NEWS:28928 ../NEWS:28945 ../NEWS:29261 +#: ../NEWS:29286 ../NEWS:29350 ../NEWS:29382 ../NEWS:29721 ../NEWS:29801 +#: ../NEWS:30266 ../NEWS:30735 ../NEWS:30749 ../NEWS:30808 ../NEWS:30827 +#: ../NEWS:30861 ../NEWS:30990 ../NEWS:31040 ../NEWS:31061 ../NEWS:31160 +#: ../NEWS:31284 ../NEWS:32725 ../NEWS:32818 ../NEWS:32838 ../NEWS:33393 +#: ../NEWS:33476 ../NEWS:33826 ../NEWS:33855 ../NEWS:33871 ../NEWS:34085 +#: ../NEWS:34101 ../NEWS:34337 ../NEWS:34351 ../NEWS:34387 ../NEWS:34728 +#: ../NEWS:34774 ../NEWS:34785 ../NEWS:34802 ../NEWS:35348 ../NEWS:35362 +#: ../NEWS:35658 ../NEWS:35674 ../NEWS:35699 ../NEWS:35717 ../NEWS:35734 +#: ../NEWS:35749 ../NEWS:35760 ../NEWS:35778 ../NEWS:35820 ../NEWS:35837 +#: ../NEWS:35888 ../NEWS:35917 ../NEWS:36030 ../NEWS:36049 ../NEWS:36066 +#: ../NEWS:36939 ../NEWS:37327 ../NEWS:37814 ../NEWS:38274 ../NEWS:38636 +#: ../NEWS:38982 ../NEWS:39638 ../NEWS:41404 ../NEWS:42071 ../NEWS:42614 +#: ../NEWS:42909 ../NEWS:43660 ../NEWS:46068 ../NEWS:46101 ../NEWS:46229 +#: ../NEWS:46437 ../NEWS:46628 ../NEWS:46833 ../NEWS:47131 ../NEWS:47452 +#: ../NEWS:47777 ../NEWS:48367 ../NEWS:49027 ../NEWS:50697 ../NEWS:51043 +#: ../NEWS:51409 ../NEWS:51733 ../NEWS:51836 ../NEWS:52299 ../NEWS:52686 +#: ../NEWS:52989 ../NEWS:53071 ../NEWS:53174 ../NEWS:53344 ../NEWS:53679 +#: ../NEWS:54097 ../NEWS:54315 ../NEWS:54552 ../NEWS:55089 ../NEWS:56116 +#: ../NEWS:56134 ../NEWS:56222 ../NEWS:56703 ../NEWS:57418 ../NEWS:58082 +#: ../NEWS:58520 ../NEWS:58547 ../NEWS:58585 ../NEWS:58605 ../NEWS:58712 +#: ../NEWS:58806 ../NEWS:58902 ../NEWS:58977 ../NEWS:59235 ../NEWS:59458 +#: ../NEWS:59631 ../NEWS:59989 +msgid "Library" +msgstr "" + +#: ../NEWS:69 +msgid "" +":gh:`159184`: Fix :func:`marshal.dumps` raising :exc:`MemoryError` for a set " +"or frozenset containing several complex NaNs, which also made it impossible " +"to write a :file:`.pyc` file for source code containing such a constant." +msgstr "" + +#: ../NEWS:74 +msgid "" +":gh:`159185`: Fix a crash in :func:`marshal.dumps` and :func:`marshal.dump` " +"when a set is modified while its elements are serialized, for example by " +"the :meth:`~object.__buffer__` method of one of its elements. :exc:" +"`RuntimeError` is now raised." +msgstr "" + +#: ../NEWS:79 +msgid "" +":gh:`87720`: Fixed error in :mod:`email` new policies where header folding " +"failed to detect the need to re-quote text obtained from encoded words in " +"certain cases." +msgstr "" + +#: ../NEWS:83 +msgid "" +":gh:`158929`: Fix crash when calling :func:`syslog.syslog` while a " +"subinterpreter in another thread calls :func:`syslog.openlog` or :func:" +"`syslog.closelog`." +msgstr "" + +#: ../NEWS:87 +msgid "" +":gh:`158936`: :func:`~dataclasses.dataclass` no longer fails when a string " +"annotation names a :ref:`lazy import ` that cannot be " +"resolved, matching the behavior for non-string annotations." +msgstr "" + +#: ../NEWS:91 +msgid "" +":gh:`158893`: Make :func:`os.strerror` thread-safe: use the reentrant " +"``strerror_r()`` function if available. Patch by Victor Stinner." +msgstr "" + +#: ../NEWS:94 +msgid "" +":gh:`158539`: Fix macOS runtime section lookup for remote debugging when " +"virtual memory region sizes differ from Mach-O segment file sizes." +msgstr "" + +#: ../NEWS:97 +msgid "" +":gh:`156545`: Fix deep flamegraph exports on platforms with small C stacks " +"by falling back to the Python JSON encoder when the C encoder runs out of " +"stack space." +msgstr "" + +#: ../NEWS:101 +msgid "" +":gh:`158552`: Wait for Windows threads to finish suspending before reading " +"target memory in the sampling profiler's blocking mode. Resume the target if " +"waiting for suspension fails." +msgstr "" + +#: ../NEWS:105 +msgid "" +":gh:`156321`: Fix :func:`asyncio.shield` reporting an exception from the " +"inner future through the loop exception handler as soon as it completes " +"after the shield was cancelled, even when the exception is retrieved " +"afterwards. The exception is now reported only if it is never retrieved, as " +"with any other future." +msgstr "" + +#: ../NEWS:111 +msgid "" +":gh:`158539`: Fix :mod:`profiling.sampling` exception mode discarding " +"samples for code running inside an ``except`` block in a generator or " +"coroutine. The remote debugger now follows ``tstate->exc_info`` and its " +"``previous_item`` chain instead of only reading the embedded ``exc_state``, " +"matching the exception that :func:`sys.exception` reports." +msgstr "" + +#: ../NEWS:117 +msgid "" +":gh:`158563`: Fix :func:`turtle.undo` after :func:`turtle.teleport` and " +"after an exception in :func:`turtle.circle`, :func:`turtle.dot` or :func:" +"`turtle.write`. Fix :func:`turtle.stamp`, :func:`turtle.clearstamp`, :func:" +"`turtle.clear` and :func:`turtle.reset` when the undo buffer is disabled." +msgstr "" + +#: ../NEWS:123 +msgid "" +":gh:`158540`: Fix :mod:`profiling.sampling` not adding the directory " +"containing the profiled script to :data:`sys.path`, which prevented the " +"script from importing modules placed next to it. The script's directory is " +"now added, matching the behavior of ``python script.py``." +msgstr "" + +#: ../NEWS:128 +msgid "" +":gh:`158522`: Fix :mod:`profiling.sampling` showing a single frame for a " +"task whose coroutine recurses. Patch by Timofei Ivankov." +msgstr "" + +#: ../NEWS:131 +msgid "" +":gh:`158169`: Fix :attr:`zlib.Decompress.unconsumed_tail` duplicating :attr:" +"`~zlib.Decompress.unused_data` after end of stream when *max_length* was " +"used." +msgstr "" + +#: ../NEWS:135 +msgid "" +":gh:`153888`: Fix :func:`unittest.mock.patch` with ``autospec``, ``spec``, " +"or ``spec_set`` when used with lazy-imported objects." +msgstr "" + +#: ../NEWS:138 +msgid "" +":gh:`157672`: Fix :mod:`tkinter` on macOS: creating a :class:`~tkinter.Tk` " +"instance no longer replaces the Python handlers of SIGINT, SIGHUP and " +"SIGTERM with Tk's handler which exits the process, so Ctrl-C raises :exc:" +"`KeyboardInterrupt` again." +msgstr "" + +#: ../NEWS:143 +msgid "" +":gh:`157621`: Fix a crash when a weak-reference callback is attached to a :" +"class:`typing.ParamSpecArgs` or :class:`typing.ParamSpecKwargs` instance." +msgstr "" + +#: ../NEWS:146 +msgid "" +":gh:`69919`: :meth:`code.InteractiveInterpreter.runsource` and the REPL now " +"report any exception raised by compiling the source, such as :exc:" +"`MemoryError` or :exc:`RecursionError` for too deeply nested source, instead " +"of propagating it or printing a traceback of the REPL internals." +msgstr "" + +#: ../NEWS:151 +msgid "" +":gh:`157451`: Fix :mod:`gettext` plural form selection when the ``Plural-" +"Forms`` expression combines the unary ``!`` operator with a binary operator, " +"for example ``!n + 1`` or ``2 * !n``. The latter raised :exc:`SyntaxError`." +msgstr "" + +#: ../NEWS:156 +msgid "" +":gh:`157406`: Fix the Python implementation of :class:`xml.etree.ElementTree." +"XMLParser`: the ``doctype()`` method of the target is now called for a " +"document type declaration without an external identifier, like ````, as in the C implementation." +msgstr "" + +#: ../NEWS:161 +msgid "" +":gh:`157325`: Fix an out-of-bounds read in the ``hz`` incremental decoder " +"when the input ends with ``~``." +msgstr "" + +#: ../NEWS:164 +msgid "" +":gh:`123018`: Fix :func:`readline.write_history_file` and :func:`readline." +"append_history_file` producing a history file that :func:`readline." +"read_history_file` could not load when a limit was set with :func:`readline." +"set_history_length` and Python was built against ``libedit``. This works " +"around `NetBSD PR 60322 `_." +msgstr "" + +#: ../NEWS:171 +msgid "" +":gh:`157146`: :mod:`linecache` can now read the source of a module that was " +"imported from a zip archive on :data:`sys.path` when given only the file " +"name, as :mod:`pdb`, :mod:`warnings` and :mod:`doctest` do." +msgstr "" + +#: ../NEWS:175 +msgid "" +":gh:`157048`: Preserve the position and contents of :class:`io.BytesIO` " +"when :meth:`!BytesIO.__init__` fails because a buffer is exported." +msgstr "" + +#: ../NEWS:178 +msgid "" +":gh:`156961`: Fix :func:`tkinter.font.nametofont` and the :class:`tkinter." +"font.Font` constructor for a font name returned by Tk as a Tcl object, for " +"example by :meth:`ttk.Style.lookup() `." +msgstr "" + +#: ../NEWS:183 +msgid "" +":gh:`156946`: Fix a crash in :mod:`curses.panel` when the finalizer of a " +"panel's user pointer runs while the panel is being deallocated. The panel " +"is now taken off the panel stack before its user pointer is dropped." +msgstr "" + +#: ../NEWS:187 +msgid "" +":gh:`156810`: Fix a :exc:`UnicodeEncodeError` crash in the sampling " +"profiler's collapsed-stack export (``--collapsed``) when a sampled frame's " +"function or file name contains non-ASCII or surrogate-escaped characters. " +"The output file is now written as UTF-8." +msgstr "" + +#: ../NEWS:192 +msgid "" +":gh:`156797`: Fix :class:`xml.sax.saxutils.XMLGenerator`: the namespace URI " +"is now escaped in the namespace declaration. Previously a URI containing " +"``&``, ``<`` or a quote character produced a document which cannot be parsed." +msgstr "" + +#: ../NEWS:197 +msgid "" +":gh:`83895`: :mod:`xml.etree.ElementTree` now accepts input larger than 2 " +"GiB in the C implementation. The data is fed to Expat in chunks, as :mod:" +"`xml.parsers.expat` already did, instead of raising :exc:`OverflowError`." +msgstr "" + +#: ../NEWS:202 +msgid "" +":gh:`99064`: Fix :func:`xml.etree.ElementTree.parse` with a text file or " +"other source of :class:`str` data in the C implementation. The encoding " +"declared in the document was applied to the already decoded text, which " +"produced mojibake. It is now ignored, as when parsing with :meth:`!XMLParser." +"feed` or :func:`~xml.etree.ElementTree.fromstring`." +msgstr "" + +#: ../NEWS:208 +msgid "" +":gh:`156713`: Fix :func:`!nturl2path.pathname2url` and :func:`!nturl2path." +"url2pathname`: the filesystem encoding and error handler are now used for " +"percent-encoding and decoding, as in :mod:`urllib.request`. Previously " +"paths containing surrogate characters raised :exc:`UnicodeEncodeError`." +msgstr "" + +#: ../NEWS:214 +msgid "" +":gh:`156658`: :mod:`xml.dom` and :mod:`xml.etree.ElementTree` no longer " +"treat characters which are not white space in XML (such as U+00A0) as white " +"space. Previously they could be lost in :func:`~xml.etree.ElementTree." +"indent`, :func:`~xml.etree.ElementTree.canonicalize` with " +"``strip_text=True``, and when parsing with the ``whitespace-in-element-" +"content`` feature turned off." +msgstr "" + +#: ../NEWS:222 +msgid "" +":gh:`156545`: Fix the sampling profiler's flamegraph export so that " +"profiling a deeply recursive program no longer fails with :exc:" +"`RecursionError` instead of producing a flamegraph. Patch by tonghuaroot." +msgstr "" + +#: ../NEWS:226 +msgid "" +":gh:`156476`: The pure Python implementation of :meth:`queue.SimpleQueue." +"get` now ignores *timeout* when *block* is false, matching the documented " +"behavior and the C implementation. It previously raised :exc:`ValueError`." +msgstr "" + +#: ../NEWS:230 +msgid "" +":gh:`156444`: Fix matching of a negated character set in a bytes pattern " +"compiled with both :const:`re.IGNORECASE` and :const:`re.LOCALE`. The case " +"closure is now applied to the members of the set, so that ``[^bc]`` no " +"longer matches ``b'B'``." +msgstr "" + +#: ../NEWS:235 +msgid "" +":gh:`156180`: :func:`zlib.adler32_combine` and :func:`zlib.crc32_combine` " +"now raise :exc:`ValueError` if the *len2* argument is negative, instead of " +"returning rubbish or hanging indefinitely, respectively." +msgstr "" + +#: ../NEWS:239 +msgid "" +":gh:`156166`: :mod:`ssl`: A failed assignment or deletion of the " +"``_msg_callback`` attribute of :class:`ssl.SSLContext` no longer removes the " +"current callback. Deleting it now raises :exc:`AttributeError` instead of :" +"exc:`TypeError`." +msgstr "" + +#: ../NEWS:244 +msgid "" +":gh:`156173`: Calling :meth:`zlib.Decompress.flush` on invalid compressed " +"data now raises :exc:`zlib.error` instead of being silently ignored." +msgstr "" + +#: ../NEWS:247 +msgid "" +":gh:`152817`: :mod:`sqlite3`: Disallow removing the ``row_factory`` " +"attribute of a cursor to prevent a crash on a query." +msgstr "" + +#: ../NEWS:250 +msgid "" +":gh:`156124`: Fix a crash in the free-threaded build when deleting the :attr:" +"`!contents` attribute of a :mod:`ctypes` pointer." +msgstr "" + +#: ../NEWS:253 +msgid "" +":gh:`156101`: Fix :attr:`sqlite3.Cursor.arraysize` being set to 0 if the " +"assigned value is too large. The attribute is now left unchanged if the " +"assignment fails." +msgstr "" + +#: ../NEWS:257 +msgid "" +":gh:`156100`: Fix crashes in :class:`sqlite3.Connection` when deleting the :" +"attr:`~sqlite3.Connection.autocommit` attribute or setting it to an integer " +"which does not fit in C :c:expr:`long`. Both now raise an exception." +msgstr "" + +#: ../NEWS:262 +msgid "" +":gh:`156099`: Fix a crash when deleting the ``keylog_filename`` attribute " +"of :class:`ssl.SSLContext`. It now raises :exc:`AttributeError`." +msgstr "" + +#: ../NEWS:265 +msgid "" +":gh:`156067`: Fix error handling in the :mod:`zoneinfo` accelerator module " +"when a transition index is ``-1`` or a TZ string's ``__bool__`` raises." +msgstr "" + +#: ../NEWS:268 +msgid "" +":gh:`155997`: Fix :func:`concurrent.interpreters.list_all`. It failed if an " +"interpreter was destroyed during the call, in particular by a garbage " +"collection which finalized the object owning the last reference to it." +msgstr "" + +#: ../NEWS:272 +msgid "" +":gh:`155941`: Fix :func:`asyncio.start_server` when a plain-function " +"*client_connected_cb* raises: the error is now reported like the coroutine " +"case and the transport is closed, instead of leaving the connection open " +"forever (which also made :meth:`asyncio.Server.wait_closed` hang)." +msgstr "" + +#: ../NEWS:277 +msgid "" +":gh:`155811`: Add a sequence counter to GC statistics to prevent :mod:`!" +"_remote_debugging` returning inconsistent snapshots caused by non-atomic " +"reads. Patch by Maurycy Pawłowski-Wieroński." +msgstr "" + +#: ../NEWS:281 +msgid "" +":gh:`155717`: :mod:`multiprocessing`'s default start method on systems with " +"non-writeable tempfile filesystem is now :ref:`\"spawn\" ` instead of ``\"forkserver\"``. Patch by Bénédikt Tran." +msgstr "" + +#: ../NEWS:286 +msgid "" +":gh:`155775`: Fix a regression in :mod:`imaplib` introduced in the fix for :" +"gh:`63121`: refreshing the capabilities after a successful :meth:`~imaplib." +"IMAP4.login` or :meth:`~imaplib.IMAP4.authenticate` consumed the " +"``CAPABILITY`` response, so it could no longer be read with :meth:`~imaplib." +"IMAP4.response`." +msgstr "" + +#: ../NEWS:292 +msgid "" +":gh:`113318`: Fix crashes when deleting an attribute whose setter is " +"generated by Argument Clinic and is not prepared for deletion, among them :" +"attr:`frame.f_trace_opcodes` and the ``context``, ``owner`` and ``session`` " +"attributes of ``_ssl._SSLSocket``. Deleting such attribute now raises :exc:" +"`AttributeError`." +msgstr "" + +#: ../NEWS:298 +msgid "" +":gh:`150449`: Fix :class:`sqlite3.Blob` slices with a negative step. Reading " +"or writing such a slice raised :exc:`SystemError`. It now raises :exc:" +"`ValueError`." +msgstr "" + +#: ../NEWS:302 +msgid "" +":gh:`155336`: Fix error handling in :func:`socket.gethostbyaddr` and :func:" +"`socket.gethostbyname_ex` when hostname resolution fails." +msgstr "" + +#: ../NEWS:305 +msgid "" +":gh:`102475`: Fix :func:`os.path.realpath` on Windows: the unresolved part " +"of the path is now appended, not joined, so a file name which looks like a " +"drive (e.g. ``spam:eggs``) no longer discards the resolved part. A path " +"relative to another drive is now resolved against the root directory of that " +"drive." +msgstr "" + +#: ../NEWS:311 +msgid "" +":gh:`89760`: Fix :func:`os.path.realpath` on Windows: the ``\\\\?\\`` prefix " +"is no longer stripped from a volume GUID path, which made the result invalid." +msgstr "" + +#: ../NEWS:314 +msgid "" +":gh:`84419`: Fix :func:`os.stat` on Windows: trailing dots and spaces, which " +"are ignored by the operating system, are no longer taken into account when " +"the execute permissions are guessed from the file extension." +msgstr "" + +#: ../NEWS:318 +msgid "" +":gh:`155319`: :func:`warnings.warn_explicit` now displays the source line " +"taken from the loader of the module whose globals are passed as " +"*module_globals*. It also no longer raises :exc:`IndexError` if *lineno* is " +"out of the range of the module source." +msgstr "" + +#: ../NEWS:323 +msgid "" +":gh:`123011`: :func:`warnings.warn_explicit` no longer emits a spurious :exc:" +"`DeprecationWarning` or raises :exc:`ImportError` when it is called with the " +"globals of the :mod:`__main__` module." +msgstr "" + +#: ../NEWS:327 +msgid "" +":gh:`69370`: :program:`python -m inspect --details` no longer fails with :" +"exc:`UnicodeEncodeError` if the path of the module contains characters " +"unencodable in the encoding of :data:`sys.stdout`. Such characters are now " +"escaped with backslashes." +msgstr "" + +#: ../NEWS:332 +msgid "" +":gh:`69371`: Fix :mod:`pydoc` for modules whose path contains undecodable " +"bytes. :func:`!pydoc.writedoc` and the pydoc HTTP server no longer fail " +"with :exc:`UnicodeEncodeError`: the file URL is now percent-encoded using " +"the filesystem encoding, and characters unencodable in the generated HTML " +"page are escaped with backslashes." +msgstr "" + +#: ../NEWS:338 +msgid "" +":gh:`154855`: Fix :meth:`curses.window.instr` returning one character too " +"few when the :mod:`curses` module is built against a curses library that " +"counts the terminator in the requested length, such as the NetBSD one." +msgstr "" + +#: ../NEWS:342 +msgid "" +":gh:`135683`: :class:`logging.FileHandler` and :class:`logging.handlers." +"WatchedFileHandler` now honor :data:`logging.raiseExceptions` for errors " +"that occur while opening the file, like for other errors during logging." +msgstr "" + +#: ../NEWS:347 +msgid "" +":gh:`82535`: :class:`logging.handlers.SysLogHandler` no longer fails if the " +"address cannot be resolved when the handler is created. The address is " +"resolved again when a record is emitted." +msgstr "" + +#: ../NEWS:351 +msgid "" +":gh:`153970`: Calling :func:`str` on a :exc:`subprocess.CalledProcessError` " +"no longer raises :exc:`TypeError` when its :attr:`!returncode` is not an " +"integer, such as ``None``." +msgstr "" + +#: ../NEWS:355 +msgid "" +":gh:`154194`: Fix the sampling profiler dropping entire samples when a non-" +"fatal read fails; frames now keep any readable metadata, and long funcnames " +"and filenames are truncated instead. Patch by Maurycy Pawłowski-Wieroński." +msgstr "" + +#: ../NEWS:360 +msgid "" +":gh:`153005`: :meth:`!concurrent.interpreters.Queue.get` and :meth:`!" +"concurrent.interpreters.Queue.put` now compute their ``timeout`` deadline " +"from :func:`time.monotonic` instead of the wall clock, so adjusting the " +"system clock during the call no longer makes them over- or under-wait." +msgstr "" + +#: ../NEWS:366 +msgid "" +":gh:`154062`: Stop normalizing differential flamegraph baselines to the " +"duration of the current profile." +msgstr "" + +#: ../NEWS:369 +msgid "" +":gh:`81241`: Fix :exc:`OSError` when importing :mod:`ctypes` from a " +"statically linked interpreter." +msgstr "" + +#: ../NEWS:372 +msgid "" +":gh:`153838`: Skip non-regular files in the ``profiling.sampling`` heatmap " +"exporter instead of reading them unconditionally. Patch by tonghuaroot." +msgstr "" + +#: ../NEWS:375 +msgid "" +":gh:`153603`: Fix a crash in the ISO-2022 decoders when decoding a byte " +"after an unknown charset designation is set via the decoder's ``setstate`` " +"method. Patch by tonghuaroot." +msgstr "" + +#: ../NEWS:379 +msgid "" +":gh:`153539`: Fix a crash in the C implementation of :meth:`io.TextIOWrapper." +"tell` when the decoder's ``getstate`` method triggers a reentrant seek, or " +"when another thread seeks the same stream concurrently. Patch by tonghuaroot." +msgstr "" + +#: ../NEWS:384 +msgid "" +":gh:`153364`: Make frame, coroutine and task-waiter walks iterative and " +"bounded, avoiding potential hangs and stack overflows. Fix asyncio task " +"inspection when awaited-by sets contain removed entries. Patch by Maurycy " +"Pawłowski-Wieroński." +msgstr "" + +#: ../NEWS:389 +msgid "" +":gh:`151292`: Fix ``profiling.sampling --binary`` leaving unreadable profile " +"files when the binary format reaches a size limit. Preserve collected " +"samples when the writer can still finalize safely. Patch by Maurycy " +"Pawłowski-Wieroński." +msgstr "" + +#: ../NEWS:394 +msgid "" +":gh:`152721`: Fix quadratic replay time in the :mod:`profiling.sampling` " +"binary reader when a profile's run-length-encoded samples alternate thread " +"status." +msgstr "" + +#: ../NEWS:398 +msgid "" +":gh:`151126`: Fix a crash caused by failing to set :exc:`MemoryError` on " +"allocation failure when passing :class:`ctypes.Structure` or :class:`ctypes." +"Union` instances by value to ctypes foreign functions." +msgstr "" + +#: ../NEWS:402 +msgid "" +":gh:`152204`: Fix the pure-Python implementations of :meth:`datetime.date." +"fromisoformat`, :meth:`datetime.time.fromisoformat` and :meth:`datetime." +"datetime.fromisoformat` silently accepting some malformed ISO 8601 strings, " +"such as non-ASCII digits or a sign in a fixed-width field (for example " +"``'2020+12'`` or ``'20201212T0102٣٤'``). Each field is now required to be " +"exactly *N* ASCII digits, matching the C implementation." +msgstr "" + +#: ../NEWS:410 +msgid "" +":gh:`133998`: Fix :func:`tarfile.open` in streaming write mode (``w|gz``) " +"raising :exc:`struct.error` when given an *mtime* outside the range of the " +"gzip header's 32-bit timestamp field. Out-of-range values are now stored as " +"``0``, matching :mod:`gzip`." +msgstr "" + +#: ../NEWS:415 +msgid "" +":gh:`117807`: Fix :mod:`mimetypes` initialization from MIME map files " +"containing invalid UTF-8 bytes." +msgstr "" + +#: ../NEWS:418 +msgid "" +":gh:`145856`: Fix :func:`plistlib.dumps` and :func:`plistlib.dump` so that " +"``skipkeys=True`` together with ``sort_keys=True`` correctly drops non-" +"string keys when the dictionary contains a mix of string and non-string " +"keys. Previously the sort ran before the filter and raised :exc:`TypeError`." +msgstr "" + +#: ../NEWS:424 +msgid "" +":gh:`102967`: A bug in :func:`!doctest._SpoofOut.truncate` was causing None " +"to be passed to :func:`!StringIO.seek` when no size was given. A simple fix " +"skips the seek call when no size is given so the buffer can be truncated " +"from the current position." +msgstr "" + +#: ../NEWS:429 +msgid "" +":gh:`82039`: :meth:`http.cookiejar.FileCookieJar.load` now checks the first, " +"format signature line in a case-insensitive manner. Patch by Ashley Harvey." +msgstr "" + +#: ../NEWS:433 +msgid "" +":gh:`70758`: Creating a new :mod:`turtle` screen after the previous one was " +"closed no longer raises ``turtle.Terminator`` on the first turtle command." +msgstr "" + +#: ../NEWS:436 +msgid "" +":issue:`44012`: The ``exploded`` attribute of :class:`ipaddress.IPv6Address` " +"and :class:`ipaddress.IPv6Interface` now supports addresses with a scope ID " +"(link-local addresses). Previously the former raised :exc:`~ipaddress." +"AddressValueError` and the latter omitted the scope ID." +msgstr "" + +#: ../NEWS:441 +msgid "" +":gh:`83869`: Fix :mod:`tarfile` reading an archive with a GNU sparse 1.0 " +"member whose size is set in the pax extended header. The offset of the next " +"header was computed from the offset of the data, which is already past the " +"sparse map, and from the size of the member, which can be the apparent size " +"of the sparse file. All following members were unreachable." +msgstr "" + +#: ../NEWS:447 +msgid "" +":gh:`61366`: :class:`http.cookiejar.MozillaCookieJar` now reads session " +"cookies written by curl and Wget, which use ``0`` in the expiration time " +"field. Contributed by Jérémie Detrey." +msgstr "" + +#: ../NEWS:452 ../NEWS:916 ../NEWS:1525 ../NEWS:2100 ../NEWS:2467 ../NEWS:2785 +#: ../NEWS:3576 ../NEWS:4235 ../NEWS:4352 ../NEWS:4808 ../NEWS:5227 +#: ../NEWS:5562 ../NEWS:5707 ../NEWS:6327 ../NEWS:7086 ../NEWS:9366 +#: ../NEWS:10190 ../NEWS:10570 ../NEWS:11134 ../NEWS:11684 ../NEWS:12032 +#: ../NEWS:12500 ../NEWS:13185 ../NEWS:16545 ../NEWS:17020 ../NEWS:17563 +#: ../NEWS:18378 ../NEWS:18970 ../NEWS:20934 ../NEWS:22434 ../NEWS:22865 +#: ../NEWS:23139 ../NEWS:23416 ../NEWS:23834 ../NEWS:24166 ../NEWS:24585 +#: ../NEWS:26419 ../NEWS:27615 ../NEWS:28210 ../NEWS:28717 ../NEWS:29080 +#: ../NEWS:29551 ../NEWS:29965 ../NEWS:30468 ../NEWS:32231 ../NEWS:33198 +#: ../NEWS:33658 ../NEWS:33944 ../NEWS:34220 ../NEWS:34585 ../NEWS:35048 +#: ../NEWS:35529 ../NEWS:36594 ../NEWS:37117 ../NEWS:37558 ../NEWS:38021 +#: ../NEWS:38431 ../NEWS:39158 ../NEWS:40593 ../NEWS:41844 ../NEWS:42297 +#: ../NEWS:42754 ../NEWS:42993 ../NEWS:45331 ../NEWS:46367 ../NEWS:46521 +#: ../NEWS:46737 ../NEWS:46989 ../NEWS:47303 ../NEWS:47635 ../NEWS:48119 +#: ../NEWS:50114 ../NEWS:50858 ../NEWS:50971 ../NEWS:51196 ../NEWS:51586 +#: ../NEWS:51984 ../NEWS:52563 ../NEWS:52874 ../NEWS:53125 ../NEWS:53260 +#: ../NEWS:53531 ../NEWS:53961 ../NEWS:54234 ../NEWS:54488 ../NEWS:54742 +#: ../NEWS:55915 ../NEWS:56475 ../NEWS:57129 ../NEWS:57250 ../NEWS:57873 +#: ../NEWS:58435 ../NEWS:58679 ../NEWS:58856 ../NEWS:59165 ../NEWS:59394 +#: ../NEWS:59604 ../NEWS:61415 +msgid "Tests" +msgstr "" + +#: ../NEWS:454 +msgid "" +":gh:`157628`: In regrtest, only consider that a test leaks if all test runs " +"leak at least one file descriptor. For example, ignore \"[0, 1, -1] file " +"descriptors, sum=0\" deltas, instead of reporting a leak. Patch by Victor " +"Stinner." +msgstr "" + +#: ../NEWS:459 +msgid "" +":gh:`140550`: Enable limited C API tests on Free Threading in test_cext and " +"test_cppext: test the :c:macro:`Py_TARGET_ABI3T` macro. Patch by Victor " +"Stinner." +msgstr "" + +#: ../NEWS:463 +msgid "" +":gh:`75876`: A test decorated with :func:`~test.support.bigmemtest` now runs " +"in a subprocess if it really allocates the memory it asks for (that is, if " +"the ``-M`` option is used), so that the memory it uses and the address space " +"it fragments are released when it ends. A dummy run stays in the process. " +"The separate memory watchdog process is no longer needed: the parent process " +"watches the memory usage of the subprocess." +msgstr "" + +#: ../NEWS:470 +msgid "" +":gh:`155411`: Fix :func:`!test.support.subTests` for asynchronous test " +"methods. They were wrapped in a synchronous function, which discarded the " +"coroutine without awaiting it, so the test silently did not run at all." +msgstr "" + +#: ../NEWS:474 +msgid "" +":gh:`132581`: The list of tests which altered the execution environment now " +"includes the reasons why the environment was considered altered, for example " +"an unraisable exception or a modified :data:`sys.path`. The final result no " +"longer repeats the same state twice (like ``ENV CHANGED then ENV CHANGED``)." +msgstr "" + +#: ../NEWS:480 +msgid "" +":gh:`155109`: Add ``test.support.run_with_limited_c_stack()`` and use it in " +"tests that exhaust the C stack with a fixed number of recursive calls, so " +"that their outcome no longer depends on the C stack size." +msgstr "" + +#: ../NEWS:485 ../NEWS:922 ../NEWS:1203 ../NEWS:1544 ../NEWS:2112 ../NEWS:2478 +#: ../NEWS:2797 ../NEWS:3584 ../NEWS:4246 ../NEWS:4770 ../NEWS:5180 +#: ../NEWS:6252 ../NEWS:6941 ../NEWS:9265 ../NEWS:10121 ../NEWS:10508 +#: ../NEWS:11088 ../NEWS:11656 ../NEWS:11976 ../NEWS:12441 ../NEWS:13076 +#: ../NEWS:15421 ../NEWS:16075 ../NEWS:16571 ../NEWS:17052 ../NEWS:17573 +#: ../NEWS:18418 ../NEWS:19004 ../NEWS:21182 ../NEWS:22456 ../NEWS:22683 +#: ../NEWS:22875 ../NEWS:23152 ../NEWS:23422 ../NEWS:23846 ../NEWS:24187 +#: ../NEWS:24413 ../NEWS:24605 ../NEWS:26541 ../NEWS:27173 ../NEWS:27646 +#: ../NEWS:28234 ../NEWS:28739 ../NEWS:28933 ../NEWS:29124 ../NEWS:29578 +#: ../NEWS:29987 ../NEWS:30517 ../NEWS:32353 ../NEWS:33221 ../NEWS:33667 +#: ../NEWS:33950 ../NEWS:34230 ../NEWS:34607 ../NEWS:35083 ../NEWS:35545 +#: ../NEWS:36645 ../NEWS:37126 ../NEWS:37584 ../NEWS:38037 ../NEWS:38440 +#: ../NEWS:38842 ../NEWS:39213 ../NEWS:40763 ../NEWS:41880 ../NEWS:42351 +#: ../NEWS:42767 ../NEWS:45498 ../NEWS:46154 ../NEWS:46376 ../NEWS:46527 +#: ../NEWS:46747 ../NEWS:46994 ../NEWS:47323 ../NEWS:48146 ../NEWS:48466 +#: ../NEWS:50177 ../NEWS:50866 ../NEWS:50976 ../NEWS:51211 ../NEWS:51603 +#: ../NEWS:51739 ../NEWS:52000 ../NEWS:52521 ../NEWS:52605 ../NEWS:52896 +#: ../NEWS:52961 ../NEWS:53133 ../NEWS:53251 ../NEWS:53520 ../NEWS:53975 +#: ../NEWS:54261 ../NEWS:54449 ../NEWS:54762 ../NEWS:55958 ../NEWS:56513 +#: ../NEWS:57175 ../NEWS:57896 ../NEWS:58448 ../NEWS:58508 ../NEWS:58525 +#: ../NEWS:58767 ../NEWS:58872 ../NEWS:59385 ../NEWS:59599 ../NEWS:59734 +#: ../NEWS:61266 +msgid "Build" +msgstr "" + +#: ../NEWS:487 +msgid "" +":gh:`158683`: Fix the :file:`Modules/Setup` entry for the :mod:`!_zstd` " +"module by adding missing source files." +msgstr "" + +#: ../NEWS:490 +msgid "" +":gh:`157142`: Fix the link of ``Programs/_freeze_module`` when extension " +"modules are built in (``MODULE_BUILDTYPE=static``) and the test modules are " +"enabled: ``Modules/getpath_noop.c`` now defines " +"``_Py_Get_Getpath_CodeObject()``, which ``_testinternalcapi`` uses." +msgstr "" + +#: ../NEWS:495 +msgid "" +":gh:`155911`: Fix curses detection when a curses library is already in " +"``LIBS``. Patch by Shamil Abdulaev." +msgstr "" + +#: ../NEWS:499 ../NEWS:934 ../NEWS:1213 ../NEWS:1554 ../NEWS:2138 ../NEWS:2483 +#: ../NEWS:2807 ../NEWS:3637 ../NEWS:4284 ../NEWS:4341 ../NEWS:4802 +#: ../NEWS:5212 ../NEWS:6309 ../NEWS:6984 ../NEWS:9348 ../NEWS:10166 +#: ../NEWS:10541 ../NEWS:12016 ../NEWS:12462 ../NEWS:13132 ../NEWS:16097 +#: ../NEWS:16581 ../NEWS:17078 ../NEWS:17588 ../NEWS:18447 ../NEWS:19028 +#: ../NEWS:21269 ../NEWS:22494 ../NEWS:22883 ../NEWS:23169 ../NEWS:23455 +#: ../NEWS:23864 ../NEWS:24209 ../NEWS:24641 ../NEWS:26655 ../NEWS:27661 +#: ../NEWS:28266 ../NEWS:28769 ../NEWS:29164 ../NEWS:29625 ../NEWS:30115 +#: ../NEWS:30572 ../NEWS:32399 ../NEWS:33230 ../NEWS:33689 ../NEWS:33973 +#: ../NEWS:34256 ../NEWS:35107 ../NEWS:35552 ../NEWS:36666 ../NEWS:37136 +#: ../NEWS:37596 ../NEWS:38054 ../NEWS:38445 ../NEWS:39223 ../NEWS:40835 +#: ../NEWS:41903 ../NEWS:42412 ../NEWS:42781 ../NEWS:43026 ../NEWS:45616 +#: ../NEWS:46161 ../NEWS:46544 ../NEWS:46752 ../NEWS:46999 ../NEWS:47338 +#: ../NEWS:47644 ../NEWS:48179 ../NEWS:50289 ../NEWS:50886 ../NEWS:51217 +#: ../NEWS:51628 ../NEWS:52006 ../NEWS:52577 ../NEWS:52826 ../NEWS:52956 +#: ../NEWS:53246 ../NEWS:53487 ../NEWS:54017 ../NEWS:54249 ../NEWS:54752 +#: ../NEWS:56021 ../NEWS:56526 ../NEWS:57160 ../NEWS:57955 ../NEWS:58002 +#: ../NEWS:58459 ../NEWS:59748 ../NEWS:61562 +msgid "Windows" +msgstr "" + +#: ../NEWS:501 +msgid "" +":gh:`157789`: Use compiler option ``-Og`` in case of clang-cl debug builds " +"on Windows to reduce stack usage. Patch by Chris Eibl." +msgstr "" + +#: ../NEWS:504 +msgid "" +":gh:`72353`: Reading from the console on Windows now continues if the read " +"was cancelled by Ctrl+C, but the :const:`~signal.SIGINT` handler did not " +"raise an exception. Previously the read ended as if at end of file." +msgstr "" + +#: ../NEWS:508 +msgid "" +":gh:`86427`: Fix the encoding of the standard streams in the legacy Windows " +"stdio mode (:envvar:`PYTHONLEGACYWINDOWSSTDIO`). It is now the code page of " +"the console, as in Python 3.7, not the ANSI code page." +msgstr "" + +#: ../NEWS:512 +msgid "" +":gh:`87587`: :func:`os.device_encoding` on Windows now returns the code page " +"of any console file descriptor, not only 0, 1 and 2, and returns ``None`` " +"for other character devices like ``NUL``. The UTF-8 code page is now " +"reported as ``\"utf-8\"`` instead of ``\"cp65001\"``." +msgstr "" + +#: ../NEWS:518 ../NEWS:957 ../NEWS:2154 ../NEWS:2498 ../NEWS:3658 ../NEWS:5042 +#: ../NEWS:8479 ../NEWS:9799 ../NEWS:11425 ../NEWS:14453 ../NEWS:16136 +#: ../NEWS:17104 ../NEWS:17623 ../NEWS:18537 ../NEWS:19061 ../NEWS:21328 +#: ../NEWS:22535 ../NEWS:26762 ../NEWS:28784 ../NEWS:29183 ../NEWS:30593 +#: ../NEWS:32453 ../NEWS:33287 ../NEWS:33695 ../NEWS:33983 ../NEWS:34270 +#: ../NEWS:35139 ../NEWS:35572 ../NEWS:36730 ../NEWS:37613 ../NEWS:38082 +#: ../NEWS:38464 ../NEWS:38855 ../NEWS:39237 ../NEWS:40975 ../NEWS:41924 +#: ../NEWS:42473 ../NEWS:42793 ../NEWS:43042 ../NEWS:45762 ../NEWS:46166 +#: ../NEWS:46396 ../NEWS:46554 ../NEWS:46770 ../NEWS:47023 ../NEWS:48199 +#: ../NEWS:48485 ../NEWS:50356 ../NEWS:50896 ../NEWS:51250 ../NEWS:51642 +#: ../NEWS:52020 ../NEWS:52492 ../NEWS:52818 ../NEWS:53932 ../NEWS:54205 +#: ../NEWS:54407 ../NEWS:54668 ../NEWS:55787 ../NEWS:57087 ../NEWS:57255 +#: ../NEWS:57797 ../NEWS:58314 ../NEWS:58647 ../NEWS:59159 ../NEWS:61183 +msgid "IDLE" +msgstr "" + +#: ../NEWS:520 +msgid "" +":gh:`56596`: Make IDLE keyboard shortcuts with ascii letters work when Caps " +"Lock is on even when only one of the upper and lowercase versions are " +"defined." +msgstr "" + +#: ../NEWS:524 +msgid "" +":gh:`64007`: IDLE no longer applies syntax coloring to the text entered for :" +"func:`input` in the Shell." +msgstr "" + +#: ../NEWS:527 +msgid "" +":gh:`85560`: Fix IDLE failing to find the opening parenthesis when a " +"continuation line inside the parentheses starts with ``else`` of a " +"conditional expression or with ``yield``." +msgstr "" + +#: ../NEWS:531 +msgid "" +":gh:`75487`: Fix saving a truncated number when an integer entry in the IDLE " +"Settings dialog is blanked with the Backspace key." +msgstr "" + +#: ../NEWS:534 +msgid "" +":gh:`74112`: Ctrl-C in the IDLE Shell now interrupts blocking calls such as :" +"func:`time.sleep` and :meth:`socket.recv `." +msgstr "" + +#: ../NEWS:537 +msgid ":gh:`151471`: Colorize the soft keyword ``type`` in IDLE." +msgstr "" + +#: ../NEWS:539 +msgid "" +":gh:`103089`: IDLE no longer hangs when opening a file with very long lines. " +"Only the first 2,000 characters of a line are colorized." +msgstr "" + +#: ../NEWS:542 +msgid "" +":gh:`70331`: IDLE no longer fails to start with ``python -m idlelib``, and " +"its user process no longer fails to start, when the current directory " +"contains user files with the same names as standard library modules that " +"IDLE imports, such as ``random.py`` or ``tkinter.py``." +msgstr "" + +#: ../NEWS:547 +msgid "" +":gh:`93016`: Fix parsing of command line arguments in the IDLE \"Run... " +"Customized\" dialog on Windows: backslashes are no longer treated as escape " +"characters. Fix also display of the previous arguments in the dialog." +msgstr "" + +#: ../NEWS:551 +msgid "" +":gh:`69365`: The IDLE search dialogs now show a regular expression error " +"below the entry instead of in a message box." +msgstr "" + +#: ../NEWS:554 +msgid "" +":gh:`105689`: Fix calltips, parenthesis matching and auto-indent in the IDLE " +"Shell after output containing unbalanced quotes or parentheses." +msgstr "" + +#: ../NEWS:557 +msgid "" +":gh:`60402`: In IDLE, Tab in a string that is not the start of a file name " +"inserts a tab instead of opening the completion list." +msgstr "" + +#: ../NEWS:560 +msgid "" +":gh:`68453`: Fix running IDLE with the -s option together with -c, -r or -: " +"the command or script now runs after the startup file, without an error " +"dialog and without restarting the shell." +msgstr "" + +#: ../NEWS:564 +msgid "" +":gh:`69919`: IDLE now reports any exception raised by compiling the source, " +"such as :exc:`MemoryError` for too deeply nested source, instead of hanging " +"the Shell." +msgstr "" + +#: ../NEWS:568 +msgid "" +":gh:`91398`: Remove the border around the IDLE Shell sidebar, which was " +"drawn in the window background color and stood out with dark themes." +msgstr "" + +#: ../NEWS:571 +msgid "" +":gh:`71136`: Fix a hang of the IDLE Shell when code run under the debugger " +"raises :exc:`KeyboardInterrupt`." +msgstr "" + +#: ../NEWS:574 +msgid "" +":gh:`154511`: Consolidate IDLE's mouse wheel handling in ``idlelib.util``. " +"``wheel_event`` moves there from ``idlelib.tree`` and joins ``x11_buttons``, " +"which tells whether Tk reports wheel rotations to a widget as ````/" +"```` events, and ``bind_wheel``, which binds whichever events Tk " +"sends." +msgstr "" + +#: ../NEWS:580 +msgid "" +":gh:`156896`: Stop deleting tkinter submodules when idlelib.run is imported." +msgstr "" + +#: ../NEWS:582 +msgid "" +":gh:`153480`: Fix IDLE failing to start when opening a file which does not " +"exist yet. Fix a traceback when a file open in the IDLE editor is deleted by " +"another program; IDLE now asks whether to close the window, save the file " +"elsewhere, or ignore it." +msgstr "" + +#: ../NEWS:587 +msgid "" +":gh:`66172`: IDLE no longer fails to start when a user configuration file is " +"corrupt. The unparsable file is renamed with a \".bad\" suffix, default " +"settings are used instead, and a warning lists the affected files." +msgstr "" + +#: ../NEWS:591 +msgid "" +":gh:`90304`: Prevent IDLE from failing to start when a font reports a zero " +"width for the ``'0'`` character. Such a broken font caused a :exc:" +"`ZeroDivisionError`; the editor now falls back to the configured width." +msgstr "" + +#: ../NEWS:596 +msgid "" +":gh:`135511`: Fix display of :exc:`NameError` and :exc:`AttributeError` with " +"multi-line message." +msgstr "" + +#: ../NEWS:600 ../NEWS:1223 ../NEWS:1559 ../NEWS:2832 ../NEWS:4296 ../NEWS:5221 +#: ../NEWS:5699 ../NEWS:6314 ../NEWS:7041 ../NEWS:9357 ../NEWS:10181 +#: ../NEWS:10547 ../NEWS:11125 ../NEWS:11677 ../NEWS:12026 ../NEWS:12491 +#: ../NEWS:13179 ../NEWS:17110 ../NEWS:17632 ../NEWS:19069 ../NEWS:21334 +#: ../NEWS:22545 ../NEWS:22892 ../NEWS:23895 ../NEWS:24232 ../NEWS:26784 +#: ../NEWS:27682 ../NEWS:28301 ../NEWS:32487 ../NEWS:34640 ../NEWS:35151 +#: ../NEWS:37161 ../NEWS:37623 ../NEWS:38096 ../NEWS:41078 ../NEWS:41941 +#: ../NEWS:42480 ../NEWS:42822 ../NEWS:45945 ../NEWS:46567 ../NEWS:46784 +#: ../NEWS:47044 ../NEWS:47650 ../NEWS:48238 ../NEWS:50553 ../NEWS:50941 +#: ../NEWS:51282 ../NEWS:51705 ../NEWS:52192 ../NEWS:52557 ../NEWS:52951 +#: ../NEWS:53025 ../NEWS:54010 ../NEWS:54471 ../NEWS:54779 ../NEWS:56039 +#: ../NEWS:57148 ../NEWS:57974 ../NEWS:58497 ../NEWS:59184 ../NEWS:59403 +#: ../NEWS:59611 ../NEWS:61523 +msgid "Tools/Demos" +msgstr "" + +#: ../NEWS:602 +msgid "" +":gh:`158451`: ``python-gdb.py`` is now able to format an invalid Unicode " +"string: render invalid characters as ``\\Uhhhhhhhh`` instead of raising an " +"exception. Patch by Victor Stinner." +msgstr "" + +#: ../NEWS:606 +msgid "" +":gh:`156219`: Fix Argument Clinic generating code which reads an optional " +"positional argument which was not passed, if the function has a ``**kwds`` " +"parameter." +msgstr "" + +#: ../NEWS:610 +msgid "" +":gh:`113318`: Fix Argument Clinic for ``@getter`` and ``@setter`` in a " +"preprocessor conditional block. It failed with an internal error. Argument " +"Clinic now also rejects the accessors of the same attribute with different C " +"basenames, and the same accessor defined twice, which silently generated " +"invalid or duplicated entries of :c:type:`PyGetSetDef`." +msgstr "" + +#: ../NEWS:616 +msgid "" +":gh:`155218`: Fix Argument Clinic generating the flags of the optional " +"groups in different order on 32-bit and 64-bit platforms." +msgstr "" + +#: ../NEWS:619 +msgid "" +":gh:`155207`: Argument Clinic now supports the ``--dry-run`` and ``--diff`` " +"options. They list the files which would be changed, or write a unified diff " +"of the changes to the standard output, without modifying any file." +msgstr "" + +#: ../NEWS:623 +msgid "" +":gh:`64502`: Fix Argument Clinic support of parameters with a default value " +"used together with optional groups. Such parameters were always required in " +"the generated parsing code." +msgstr "" + +#: ../NEWS:628 ../NEWS:986 ../NEWS:1230 ../NEWS:1575 ../NEWS:2197 ../NEWS:2503 +#: ../NEWS:2838 ../NEWS:3670 ../NEWS:4308 ../NEWS:4736 ../NEWS:5167 +#: ../NEWS:5549 ../NEWS:6215 ../NEWS:6907 ../NEWS:9138 ../NEWS:10062 +#: ../NEWS:10500 ../NEWS:11039 ../NEWS:11591 ../NEWS:11958 ../NEWS:12391 +#: ../NEWS:13053 ../NEWS:15166 ../NEWS:16141 ../NEWS:16610 ../NEWS:17118 +#: ../NEWS:17646 ../NEWS:18553 ../NEWS:19077 ../NEWS:21394 ../NEWS:22552 +#: ../NEWS:22897 ../NEWS:23200 ../NEWS:23904 ../NEWS:24242 ../NEWS:24664 +#: ../NEWS:26819 ../NEWS:27695 ../NEWS:28307 ../NEWS:28793 ../NEWS:29191 +#: ../NEWS:29637 ../NEWS:30145 ../NEWS:30598 ../NEWS:32508 ../NEWS:33306 +#: ../NEWS:33702 ../NEWS:33990 ../NEWS:34284 ../NEWS:34649 ../NEWS:35161 +#: ../NEWS:35585 ../NEWS:36763 ../NEWS:37174 ../NEWS:37635 ../NEWS:38108 +#: ../NEWS:38479 ../NEWS:38866 ../NEWS:39253 ../NEWS:41103 ../NEWS:41947 +#: ../NEWS:42485 ../NEWS:42829 ../NEWS:45984 ../NEWS:46074 ../NEWS:46790 +#: ../NEWS:47360 ../NEWS:47657 ../NEWS:48250 ../NEWS:48512 ../NEWS:50584 +#: ../NEWS:50959 ../NEWS:51292 ../NEWS:51712 ../NEWS:52515 ../NEWS:52844 +#: ../NEWS:53012 ../NEWS:53513 ../NEWS:53952 ../NEWS:54442 ../NEWS:54771 +#: ../NEWS:56060 ../NEWS:56535 ../NEWS:57115 ../NEWS:59427 ../NEWS:59742 +#: ../NEWS:61346 +msgid "C API" +msgstr "" + +#: ../NEWS:630 +msgid "" +":gh:`149044`: Fix the :c:macro:`PySlot_END` macro for C++: initialize all " +"members to avoid compiler warnings. Patch by Victor Stinner." +msgstr "" + +#: ../NEWS:633 +msgid "" +":gh:`157649`: Fix :c:macro:`Py_CLEAR` and :c:macro:`Py_SETREF` macros on C+" +"+: implement them using ``auto`` instead of ``decltype()``. Using " +"``decltype()`` produced invalid code when clearing/setting an array item. " +"Patch by Victor Stinner." +msgstr "" + +#: ../NEWS:638 +msgid "" +":gh:`156101`: Don't set the result in error in :c:func:`PyLong_AsInt32`, :c:" +"func:`PyLong_AsUInt32`, :c:func:`PyLong_AsInt64` and :c:func:" +"`PyLong_AsUInt64`. Leave the result unchanged in this case. Patch by Victor " +"Stinner." +msgstr "" + +#: ../NEWS:645 +msgid "Python 3.15.0 final" +msgstr "" + +#: ../NEWS:647 +msgid "*Release date: 2026-10-09*" +msgstr "" + +#: ../NEWS:649 +msgid "There were no new changes in version 3.15.0." +msgstr "" + +#: ../NEWS:654 +msgid "Python 3.15.0 release candidate 3" +msgstr "" + +#: ../NEWS:656 +msgid "*Release date: 2026-10-02*" +msgstr "" + +#: ../NEWS:659 ../NEWS:1006 ../NEWS:1244 ../NEWS:1587 ../NEWS:2217 ../NEWS:2528 +#: ../NEWS:2855 ../NEWS:3720 ../NEWS:4363 ../NEWS:4820 ../NEWS:5717 +#: ../NEWS:6340 ../NEWS:7129 ../NEWS:9387 ../NEWS:10201 ../NEWS:10587 +#: ../NEWS:11150 ../NEWS:12049 ../NEWS:12511 ../NEWS:13251 ../NEWS:15531 +#: ../NEWS:16681 ../NEWS:17137 ../NEWS:17693 ../NEWS:19212 ../NEWS:21691 +#: ../NEWS:22909 ../NEWS:23230 ../NEWS:23924 ../NEWS:24266 ../NEWS:24708 +#: ../NEWS:26981 ../NEWS:30683 ../NEWS:32640 ../NEWS:33356 ../NEWS:33787 +#: ../NEWS:34033 ../NEWS:34675 ../NEWS:35265 ../NEWS:35621 ../NEWS:36875 +#: ../NEWS:37228 ../NEWS:37680 ../NEWS:38186 ../NEWS:38887 ../NEWS:39272 +#: ../NEWS:41225 ../NEWS:41983 ../NEWS:42527 ../NEWS:43058 ../NEWS:46588 +#: ../NEWS:46806 ../NEWS:48534 ../NEWS:50987 ../NEWS:51754 ../NEWS:52218 +#: ../NEWS:52245 ../NEWS:54289 ../NEWS:54500 ../NEWS:54791 ../NEWS:56087 +#: ../NEWS:56146 ../NEWS:56563 ../NEWS:57266 +msgid "Security" +msgstr "" + +#: ../NEWS:661 +msgid "" +":gh:`158446`: Fix a crash or incorrect output that could occur when " +"formatting a :class:`float` or :class:`complex` with a precision close to " +"the platform's ``INT_MAX``. :c:func:`PyOS_double_to_string` now raises :exc:" +"`ValueError` for any precision of that magnitude, regardless of presentation " +"type or value, as the format string parsers already did for precisions above " +"``INT_MAX``." +msgstr "" + +#: ../NEWS:668 +msgid "" +":gh:`156793`: :mod:`asyncio`: :meth:`loop.start_tls() ` and :meth:`loop.create_connection() ` now validate the *server_hostname* argument if an :class:" +"`ssl.SSLContext` is passed with *check_hostname* set to ``True``." +msgstr "" + +#: ../NEWS:674 +msgid "" +":gh:`156793`: :meth:`ssl.SSLContext.wrap_bio` now validates its " +"*server_side*, *server_hostname* and *session* arguments similar to :meth:" +"`ssl.SSLContext.wrap_socket`." +msgstr "" + +#: ../NEWS:678 +msgid "" +"In particular, a context with :attr:`~ssl.SSLContext.check_hostname` enabled " +"and no *server_hostname* passed to :meth:`!wrap_bio` now raises :exc:" +"`ValueError` instead of completing a handshake that verified the certificate " +"chain without verifying the peer's identity, with no indication that the " +"check had been skipped." +msgstr "" + +#: ../NEWS:684 +msgid "" +":gh:`157265`: In :mod:`tarfile`, when extracting a link falls back to " +"extracting a member of the archive, skip the member when the filter function " +"returns None when called with the extracted member's name replaced with the " +"link's." +msgstr "" + +#: ../NEWS:689 +msgid "" ":gh:`157953`: Update bundled `libexpat `_ to " "version 2.8.5." msgstr "" -#: ../NEWS:14 ../NEWS:270 ../NEWS:491 ../NEWS:858 ../NEWS:1474 ../NEWS:1802 -#: ../NEWS:2149 ../NEWS:2973 ../NEWS:3839 ../NEWS:4284 ../NEWS:4670 -#: ../NEWS:4888 ../NEWS:5308 ../NEWS:5918 ../NEWS:5948 ../NEWS:5963 -#: ../NEWS:5976 ../NEWS:6019 ../NEWS:6043 ../NEWS:7736 ../NEWS:7780 -#: ../NEWS:7823 ../NEWS:7853 ../NEWS:7876 ../NEWS:8001 ../NEWS:8014 -#: ../NEWS:8028 ../NEWS:8149 ../NEWS:8183 ../NEWS:8201 ../NEWS:8233 -#: ../NEWS:8340 ../NEWS:8369 ../NEWS:9050 ../NEWS:9091 ../NEWS:9153 -#: ../NEWS:9636 ../NEWS:9720 ../NEWS:10102 ../NEWS:10210 ../NEWS:10270 -#: ../NEWS:10678 ../NEWS:10714 ../NEWS:10815 ../NEWS:11105 ../NEWS:11130 -#: ../NEWS:11162 ../NEWS:11521 ../NEWS:11567 ../NEWS:12148 ../NEWS:12168 -#: ../NEWS:12185 ../NEWS:13765 ../NEWS:13789 ../NEWS:13884 ../NEWS:14057 -#: ../NEWS:14129 ../NEWS:14192 ../NEWS:14210 ../NEWS:14377 ../NEWS:14778 -#: ../NEWS:14806 ../NEWS:15420 ../NEWS:15531 ../NEWS:15935 ../NEWS:15977 -#: ../NEWS:15990 ../NEWS:16382 ../NEWS:16939 ../NEWS:17813 ../NEWS:18474 -#: ../NEWS:20952 ../NEWS:21082 ../NEWS:21849 ../NEWS:21890 ../NEWS:21926 -#: ../NEWS:22167 ../NEWS:22476 ../NEWS:22725 ../NEWS:22774 ../NEWS:22839 -#: ../NEWS:23175 ../NEWS:23213 ../NEWS:23523 ../NEWS:23656 ../NEWS:23983 -#: ../NEWS:24019 ../NEWS:24095 ../NEWS:24140 ../NEWS:24333 ../NEWS:24351 -#: ../NEWS:24368 ../NEWS:24493 ../NEWS:24616 ../NEWS:24631 ../NEWS:26225 -#: ../NEWS:26370 ../NEWS:26415 ../NEWS:26985 ../NEWS:27061 ../NEWS:27086 -#: ../NEWS:27598 ../NEWS:27681 ../NEWS:27733 ../NEWS:27758 ../NEWS:28057 -#: ../NEWS:28148 ../NEWS:28175 ../NEWS:28454 ../NEWS:28504 ../NEWS:28528 -#: ../NEWS:28593 ../NEWS:28906 ../NEWS:28964 ../NEWS:29394 ../NEWS:29947 -#: ../NEWS:29981 ../NEWS:29993 ../NEWS:30052 ../NEWS:30072 ../NEWS:30104 -#: ../NEWS:30234 ../NEWS:30285 ../NEWS:30305 ../NEWS:30404 ../NEWS:31933 -#: ../NEWS:31970 ../NEWS:32061 ../NEWS:32615 ../NEWS:32636 ../NEWS:33031 -#: ../NEWS:33076 ../NEWS:33101 ../NEWS:33276 ../NEWS:33329 ../NEWS:33539 -#: ../NEWS:33581 ../NEWS:33614 ../NEWS:33919 ../NEWS:33971 ../NEWS:34016 -#: ../NEWS:34027 ../NEWS:34513 ../NEWS:34592 ../NEWS:34879 ../NEWS:34901 -#: ../NEWS:34929 ../NEWS:34948 ../NEWS:34961 ../NEWS:34977 ../NEWS:34991 -#: ../NEWS:35003 ../NEWS:35021 ../NEWS:35062 ../NEWS:35081 ../NEWS:35130 -#: ../NEWS:35160 ../NEWS:35274 ../NEWS:35294 ../NEWS:36118 ../NEWS:36480 -#: ../NEWS:36924 ../NEWS:37434 ../NEWS:37775 ../NEWS:38142 ../NEWS:38558 -#: ../NEWS:40477 ../NEWS:41238 ../NEWS:41776 ../NEWS:42082 ../NEWS:42343 -#: ../NEWS:45323 ../NEWS:45435 ../NEWS:45648 ../NEWS:45839 ../NEWS:46049 -#: ../NEWS:46293 ../NEWS:46612 ../NEWS:46916 ../NEWS:47516 ../NEWS:47805 -#: ../NEWS:49897 ../NEWS:50234 ../NEWS:50551 ../NEWS:51000 ../NEWS:51489 -#: ../NEWS:51831 ../NEWS:51855 ../NEWS:52179 ../NEWS:52209 ../NEWS:52273 -#: ../NEWS:52387 ../NEWS:52511 ../NEWS:52779 ../NEWS:53288 ../NEWS:53535 -#: ../NEWS:53749 ../NEWS:54041 ../NEWS:55347 ../NEWS:55408 ../NEWS:55809 -#: ../NEWS:56482 ../NEWS:56525 ../NEWS:57233 ../NEWS:57251 ../NEWS:57774 -#: ../NEWS:57809 ../NEWS:57837 ../NEWS:57929 ../NEWS:58016 ../NEWS:58121 -#: ../NEWS:58164 ../NEWS:58440 ../NEWS:58675 ../NEWS:58861 ../NEWS:59000 -msgid "Core and Builtins" +#: ../NEWS:692 +msgid "" +":gh:`157579`: Fix a race condition in the cleanup of :class:`tempfile." +"TemporaryDirectory`. When working around file system permission errors, " +"files are now removed relative to open directory file descriptors instead of " +"resolving their path again, so that replacing a directory of the tree with a " +"symbolic link can no longer make the cleanup delete files outside of the " +"temporary directory. This addresses :cve:`2026-12345`." +msgstr "" + +#: ../NEWS:700 +msgid "" +":gh:`156293`: Fix a crash in :mod:`ssl` when an :attr:`~ssl.SSLContext." +"sni_callback` switches a connection to another :class:`~ssl.SSLContext` and " +"the context that carries the callback is no longer referenced by the " +"application. Servers that keep their ``sni_callback`` context alive (the " +"usual case when it wraps the listening socket or is stored on the server " +"object) were not affected. This addresses :cve:`2026-19445`." +msgstr "" + +#: ../NEWS:711 +msgid "" +":gh:`158140`: Resolve lazily imported sibling submodules independently, so " +"accessing one does not import another merely because its declaration came " +"last." +msgstr "" + +#: ../NEWS:715 +msgid "" +":gh:`158364`: Fix crash when :func:`sys._current_frames` or :func:`sys." +"_current_exceptions` is called while another interpreter is running." +msgstr "" + +#: ../NEWS:719 +msgid "" +":gh:`158254`: Reverse iterators over a :class:`dict` and its views now " +"raise :exc:`RuntimeError` if the dictionary's keys change during iteration, " +"like forward iterators, instead of yielding entries for the new keys." +msgstr "" + +#: ../NEWS:723 +msgid "" +":gh:`157914`: Revert :gh:`146064`. The linked PyMutex change was causing a " +"significant performance regression in some cases." msgstr "" -#: ../NEWS:16 +#: ../NEWS:726 +msgid "" +":gh:`157838`: Merge biased reference counts on behalf of threads that are " +"detached instead of waiting for them to attach again, in the free-threaded " +"build." +msgstr "" + +#: ../NEWS:730 msgid "" ":gh:`157778`: Include the line number of the opening brace in the :exc:" "`SyntaxError` for an unclosed f-string or t-string replacement field when a " @@ -109,21 +1420,29 @@ msgid "" "unterminated string." msgstr "" -#: ../NEWS:21 +#: ../NEWS:735 msgid "" ":gh:`157757`: Fix a lazy ``import a.b as c`` reading ``b`` off ``a`` instead " "of importing the module ``a.b``. It now binds the submodule, and raises :" "exc:`ModuleNotFoundError` when no module backs the name." msgstr "" -#: ../NEWS:25 +#: ../NEWS:739 +msgid "" +":gh:`155695`: Resolved names are now removed from :data:`sys.lazy_modules` " +"more consistently: a lazy import of an already loaded module is no longer " +"recorded, and reifying ``lazy from pkg import attr`` now discards the ``pkg." +"attr`` entry." +msgstr "" + +#: ../NEWS:744 msgid "" ":gh:`157378`: Fix ``SyntaxError.offset`` and ``SyntaxError.end_offset`` for " "the \"Non-UTF-8 code starting with ...\" error when a non-ASCII character " "precedes the invalid byte on the same line. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:29 +#: ../NEWS:748 msgid "" ":gh:`156762`: Fix undefined behaviour in :class:`operator.methodcaller`: " "its :c:member:`~PyTypeObject.tp_clear` slot function returned ``void`` " @@ -131,7 +1450,7 @@ msgid "" "incompatible function type. Patched by Shamil Abdulaev." msgstr "" -#: ../NEWS:34 +#: ../NEWS:753 msgid "" ":gh:`157377`: Fix :func:`gc.get_count` on the free-threaded build resetting " "the thread-local allocation counter that schedules automatic garbage " @@ -139,13 +1458,13 @@ msgid "" "garbage from ever being collected." msgstr "" -#: ../NEWS:39 +#: ../NEWS:758 msgid "" ":gh:`157247`: Fix :func:`sys.activate_stack_trampoline` allowing activation " "from a subinterpreter while the JIT is enabled in the main interpreter." msgstr "" -#: ../NEWS:42 +#: ../NEWS:761 msgid "" ":gh:`156995`: Fix :class:`bytearray` sharing its buffer with the single-" "byte :class:`bytes` object of the same value, so that writing to the " @@ -154,58 +1473,58 @@ msgid "" "threaded build when a bytearray was shrunk to one byte from another thread." msgstr "" -#: ../NEWS:49 +#: ../NEWS:768 msgid "" ":gh:`156910`: Fix a deadlock in the :term:`free threaded ` " "build when setting ``__abstractmethods__`` on a type while another thread " "holds the type lock." msgstr "" -#: ../NEWS:53 +#: ../NEWS:772 msgid "" ":gh:`156894`: Fix the position of syntax errors which cover a range if the " "line contains non-ASCII characters before the error." msgstr "" -#: ../NEWS:56 +#: ../NEWS:775 msgid "" ":gh:`155525`: Fix quadratic-time tokenization of modules containing many f-" "strings or t-strings." msgstr "" -#: ../NEWS:59 +#: ../NEWS:778 msgid "" ":gh:`156689`: Fix an out-of-bounds read in :func:`compile` and :func:`ast." "parse` when an AST object is passed with ``mode='func_type'``." msgstr "" -#: ../NEWS:62 +#: ../NEWS:781 msgid "" ":gh:`156114`: Fix a crash in the perf trampoline when a code object has a " "name or filename that cannot be encoded to UTF-8. Patched by Shamil Abdulaev." msgstr "" -#: ../NEWS:66 +#: ../NEWS:785 msgid "" ":gh:`156126`: Fix a crash when importing a module whose name contains " "characters that cannot be encoded to UTF-8 (such as lone surrogates) while :" "option:`-X importtime <-X>` is enabled." msgstr "" -#: ../NEWS:70 +#: ../NEWS:789 msgid "" ":gh:`155526`: Fix spurious :exc:`OverflowError` for ``abs(nanj)`` in case :c:" "data:`errno` was previously set to :c:macro:`!ERANGE` by some library call. " "Patch by Sergey B Kirpichev." msgstr "" -#: ../NEWS:74 +#: ../NEWS:793 msgid "" ":gh:`151464`: Exclude invalid token ``<>`` from :mod:`tokenize` output. :exc:" "`SyntaxError` for ``<>`` now suggests ``!=``." msgstr "" -#: ../NEWS:77 +#: ../NEWS:796 msgid "" ":gh:`154719`: Trailing whitespace in a t-string interpolation expression is " "now preserved in :attr:`string.templatelib.Interpolation.expression`, up to " @@ -215,93 +1534,60 @@ msgid "" "templatelib.Interpolation.expression`." msgstr "" -#: ../NEWS:84 +#: ../NEWS:803 msgid "" ":gh:`152708`: Fix AST generation asymmetry where unary positive ``+`` was " "implicitly dropped in pattern match expressions, restoring parsing parity " "with unary negative ``-``." msgstr "" -#: ../NEWS:89 ../NEWS:334 ../NEWS:544 ../NEWS:967 ../NEWS:1563 ../NEWS:1868 -#: ../NEWS:2349 ../NEWS:3154 ../NEWS:3611 ../NEWS:4084 ../NEWS:4476 -#: ../NEWS:4805 ../NEWS:4976 ../NEWS:5589 ../NEWS:5942 ../NEWS:5957 -#: ../NEWS:5969 ../NEWS:6010 ../NEWS:6035 ../NEWS:6446 ../NEWS:7774 -#: ../NEWS:7817 ../NEWS:7847 ../NEWS:7866 ../NEWS:7992 ../NEWS:8009 -#: ../NEWS:8022 ../NEWS:8139 ../NEWS:8177 ../NEWS:8195 ../NEWS:8227 -#: ../NEWS:8334 ../NEWS:8363 ../NEWS:8634 ../NEWS:9085 ../NEWS:9147 -#: ../NEWS:9294 ../NEWS:9453 ../NEWS:9714 ../NEWS:9832 ../NEWS:10205 -#: ../NEWS:10263 ../NEWS:10415 ../NEWS:10708 ../NEWS:10808 ../NEWS:10822 -#: ../NEWS:10928 ../NEWS:11123 ../NEWS:11155 ../NEWS:11294 ../NEWS:11556 -#: ../NEWS:11753 ../NEWS:12161 ../NEWS:12178 ../NEWS:12281 ../NEWS:12539 -#: ../NEWS:13783 ../NEWS:13878 ../NEWS:14051 ../NEWS:14122 ../NEWS:14185 -#: ../NEWS:14203 ../NEWS:14371 ../NEWS:14799 ../NEWS:14977 ../NEWS:15522 -#: ../NEWS:15537 ../NEWS:15970 ../NEWS:15983 ../NEWS:16006 ../NEWS:16492 -#: ../NEWS:17098 ../NEWS:17985 ../NEWS:19110 ../NEWS:20946 ../NEWS:21072 -#: ../NEWS:21168 ../NEWS:21883 ../NEWS:21932 ../NEWS:22247 ../NEWS:22537 -#: ../NEWS:22768 ../NEWS:22834 ../NEWS:22846 ../NEWS:23204 ../NEWS:23250 -#: ../NEWS:23681 ../NEWS:24011 ../NEWS:24090 ../NEWS:24133 ../NEWS:24327 -#: ../NEWS:24344 ../NEWS:24357 ../NEWS:24483 ../NEWS:24611 ../NEWS:24626 -#: ../NEWS:24653 ../NEWS:26361 ../NEWS:26433 ../NEWS:27054 ../NEWS:27080 -#: ../NEWS:27116 ../NEWS:27676 ../NEWS:27726 ../NEWS:27749 ../NEWS:27773 -#: ../NEWS:28142 ../NEWS:28165 ../NEWS:28182 ../NEWS:28498 ../NEWS:28523 -#: ../NEWS:28587 ../NEWS:28619 ../NEWS:28958 ../NEWS:29038 ../NEWS:29503 -#: ../NEWS:29972 ../NEWS:29986 ../NEWS:30045 ../NEWS:30064 ../NEWS:30098 -#: ../NEWS:30227 ../NEWS:30277 ../NEWS:30298 ../NEWS:30397 ../NEWS:30521 -#: ../NEWS:31962 ../NEWS:32055 ../NEWS:32075 ../NEWS:32630 ../NEWS:32713 -#: ../NEWS:33063 ../NEWS:33092 ../NEWS:33108 ../NEWS:33322 ../NEWS:33338 -#: ../NEWS:33574 ../NEWS:33588 ../NEWS:33624 ../NEWS:33965 ../NEWS:34011 -#: ../NEWS:34022 ../NEWS:34039 ../NEWS:34585 ../NEWS:34599 ../NEWS:34895 -#: ../NEWS:34911 ../NEWS:34936 ../NEWS:34954 ../NEWS:34971 ../NEWS:34986 -#: ../NEWS:34997 ../NEWS:35015 ../NEWS:35057 ../NEWS:35074 ../NEWS:35125 -#: ../NEWS:35154 ../NEWS:35267 ../NEWS:35286 ../NEWS:35303 ../NEWS:36176 -#: ../NEWS:36564 ../NEWS:37051 ../NEWS:37511 ../NEWS:37873 ../NEWS:38219 -#: ../NEWS:38875 ../NEWS:40641 ../NEWS:41308 ../NEWS:41851 ../NEWS:42146 -#: ../NEWS:42897 ../NEWS:45305 ../NEWS:45338 ../NEWS:45466 ../NEWS:45674 -#: ../NEWS:45865 ../NEWS:46070 ../NEWS:46368 ../NEWS:46689 ../NEWS:47014 -#: ../NEWS:47604 ../NEWS:48264 ../NEWS:49934 ../NEWS:50280 ../NEWS:50646 -#: ../NEWS:50970 ../NEWS:51073 ../NEWS:51536 ../NEWS:51923 ../NEWS:52226 -#: ../NEWS:52308 ../NEWS:52411 ../NEWS:52581 ../NEWS:52916 ../NEWS:53334 -#: ../NEWS:53552 ../NEWS:53789 ../NEWS:54326 ../NEWS:55353 ../NEWS:55371 -#: ../NEWS:55459 ../NEWS:55940 ../NEWS:56655 ../NEWS:57319 ../NEWS:57757 -#: ../NEWS:57784 ../NEWS:57822 ../NEWS:57842 ../NEWS:57949 ../NEWS:58043 -#: ../NEWS:58139 ../NEWS:58214 ../NEWS:58472 ../NEWS:58695 ../NEWS:58868 -#: ../NEWS:59226 -msgid "Library" -msgstr "" - -#: ../NEWS:91 +#: ../NEWS:810 msgid "" ":gh:`157788`: Fix ``python -m asyncio ps`` failing on a process that has a " "task with a name longer than 255 characters." msgstr "" -#: ../NEWS:94 +#: ../NEWS:813 msgid "" ":gh:`157660`: Fix :mod:`profiling.sampling` reporting errors or incorrect " "line numbers in free-threaded builds when a thread-local bytecode array " "grows or gains entries after being cached." msgstr "" -#: ../NEWS:98 +#: ../NEWS:817 msgid "" ":gh:`157639`: Fix a crash in :mod:`!cProfile` when an external timer re-" "enters the profiler. Profiling events raised while the external timer runs " "are now ignored." msgstr "" -#: ../NEWS:102 +#: ../NEWS:821 +msgid "" +":gh:`157335`: Fix out-of-bounds write in ``mmap.mmap.__setitem__`` that " +"could occur when converting the index or the assigned value (via :meth:" +"`~object.__index__` for a single item, or via the buffer protocol for a " +"slice) resized or closed the mmap object during the assignment." +msgstr "" + +#: ../NEWS:826 msgid "" ":gh:`128509`: :func:`marshal.load` and :func:`marshal.loads` can now get 1-" "byte string singletons. Patch by Victor Stinner." msgstr "" -#: ../NEWS:105 +#: ../NEWS:829 +msgid "" +":gh:`157301`: Fix :class:`asyncio.Task` hanging the event loop when an eager " +"start fails to enter the task's context." +msgstr "" + +#: ../NEWS:832 msgid "" ":gh:`157213`: Fix :func:`asyncio.gather` leaving stale await-graph edges on " "children that outlive it." msgstr "" -#: ../NEWS:108 +#: ../NEWS:835 msgid "" ":gh:`156002`: :mod:`zipfile` again reads members through a third-party " "decompressor installed by monkey-patching the private " @@ -311,30 +1597,36 @@ msgid "" "`2026-15310`." msgstr "" -#: ../NEWS:115 +#: ../NEWS:842 msgid "" ":gh:`157159`: The usage message printed by ``python -m tabnanny`` when no " "arguments are given now suggests ``python -m`` instead of the source file." msgstr "" -#: ../NEWS:118 +#: ../NEWS:845 msgid "" ":gh:`157058`: :func:`asyncio.wait_for` with a non-positive timeout now " "records the waiter in the call graph." msgstr "" -#: ../NEWS:121 +#: ../NEWS:848 +msgid "" +":gh:`156933`: Fix incorrect integer return values from :mod:`ctypes` " +"callbacks on some platforms, such as s390x." +msgstr "" + +#: ../NEWS:851 msgid "" ":gh:`156988`: :func:`asyncio.print_call_graph` no longer truncates the call " "stack at a synchronous generator." msgstr "" -#: ../NEWS:124 +#: ../NEWS:854 msgid "" ":gh:`156970`: Set the docstring of :attr:`unittest.mock.Mock.return_value`." msgstr "" -#: ../NEWS:126 +#: ../NEWS:856 msgid "" ":gh:`156924`: :meth:`annotationlib.ForwardRef.evaluate` now resolves :ref:" "`lazy import ` proxies found in the namespace. With :attr:" @@ -344,20 +1636,20 @@ msgid "" "VALUE` the underlying exception is propagated." msgstr "" -#: ../NEWS:134 +#: ../NEWS:864 msgid "" ":gh:`127057`: Fix :class:`asyncio.ProactorEventLoop` UDP transports so that " "a :exc:`ConnectionResetError` raised by ``WSARecvFrom`` no longer stops the " "read loop." msgstr "" -#: ../NEWS:138 +#: ../NEWS:868 msgid "" ":gh:`156512`: Fix :mod:`asyncio` losing a connection twice when " "``resume_writing()`` closes the transport." msgstr "" -#: ../NEWS:141 +#: ../NEWS:871 msgid "" ":gh:`155596`: Fix :func:`pprint.pprint` and :func:`pprint.pformat` with " "``expand=True`` not honouring *width* for nested values. The width of the " @@ -366,25 +1658,25 @@ msgid "" "of being expanded." msgstr "" -#: ../NEWS:147 +#: ../NEWS:877 msgid "" ":gh:`155433`: Fix :class:`asyncio.TaskGroup` losing outside cancellation " "after ``cancel()``." msgstr "" -#: ../NEWS:150 +#: ../NEWS:880 msgid "" ":gh:`155418`: Fix :class:`asyncio.TaskGroup` hang when a task created by :" "func:`asyncio.eager_task_factory` cancels the group before suspending." msgstr "" -#: ../NEWS:153 +#: ../NEWS:883 msgid "" ":gh:`155143`: Fix :func:`asyncio.shield` leaking the calling task via the " "await-graph and callbacks when called on a future that never resolves." msgstr "" -#: ../NEWS:156 +#: ../NEWS:886 msgid "" ":gh:`154470`: Fixed a spurious ``^J`` printed at the end of every source " "line by the ``list`` command of :mod:`pdb` when the output is colorized (for " @@ -392,20 +1684,20 @@ msgid "" "stripped before it is colorized, like the ``where`` command already did." msgstr "" -#: ../NEWS:161 +#: ../NEWS:891 msgid "" ":gh:`154335`: The :mod:`profiling.sampling` profiler now respects " "``NO_COLOR``, ``FORCE_COLOR``, and ``PYTHON_COLORS`` and avoids colored " "output when not writing to a terminal." msgstr "" -#: ../NEWS:165 +#: ../NEWS:895 msgid "" ":gh:`154090`: Record the profiling mode in Tachyon binary profiles and " "reject differential comparisons whose known modes do not match." msgstr "" -#: ../NEWS:168 +#: ../NEWS:898 msgid "" ":gh:`152907`: Restore cooked-mode terminal output flags around :c:data:" "`PyOS_InputHook` callbacks in the new :term:`REPL` (:mod:`!_pyrepl`), so " @@ -413,237 +1705,197 @@ msgid "" "is no longer emitted with ``OPOST`` disabled and keeps its carriage returns." msgstr "" -#: ../NEWS:174 +#: ../NEWS:904 msgid "" ":gh:`151179`: Fix a pidfd leak in ``_PidfdChildWatcher`` on Linux: the " "watcher no longer leaks the process file descriptor when ``waitpid()`` fails " "with an error other than :exc:`ChildProcessError`." msgstr "" -#: ../NEWS:179 ../NEWS:756 ../NEWS:1689 ../NEWS:2803 ../NEWS:3462 ../NEWS:3825 -#: ../NEWS:4665 ../NEWS:5299 ../NEWS:7725 ../NEWS:9041 ../NEWS:9630 -#: ../NEWS:10090 ../NEWS:10668 ../NEWS:11515 ../NEWS:12135 ../NEWS:13711 -#: ../NEWS:15306 ../NEWS:15771 ../NEWS:16249 ../NEWS:16786 ../NEWS:17601 -#: ../NEWS:20124 ../NEWS:21651 ../NEWS:22096 ../NEWS:22367 ../NEWS:22646 -#: ../NEWS:23057 ../NEWS:23382 ../NEWS:23814 ../NEWS:25570 ../NEWS:26815 -#: ../NEWS:27421 ../NEWS:27948 ../NEWS:28311 ../NEWS:28775 ../NEWS:29171 -#: ../NEWS:29670 ../NEWS:31333 ../NEWS:32412 ../NEWS:32880 ../NEWS:33172 -#: ../NEWS:33448 ../NEWS:33813 ../NEWS:34273 ../NEWS:34745 ../NEWS:35789 -#: ../NEWS:36337 ../NEWS:36781 ../NEWS:37239 ../NEWS:37643 ../NEWS:38066 -#: ../NEWS:38381 ../NEWS:39726 ../NEWS:41032 ../NEWS:41499 ../NEWS:41977 -#: ../NEWS:42219 ../NEWS:44403 ../NEWS:45379 ../NEWS:45589 ../NEWS:45739 -#: ../NEWS:45957 ../NEWS:46202 ../NEWS:46527 ../NEWS:46867 ../NEWS:47350 -#: ../NEWS:47693 ../NEWS:49303 ../NEWS:50057 ../NEWS:50413 ../NEWS:50810 -#: ../NEWS:51209 ../NEWS:51778 ../NEWS:52098 ../NEWS:52254 ../NEWS:52357 -#: ../NEWS:53716 ../NEWS:53967 ../NEWS:55134 ../NEWS:55694 ../NEWS:56361 -#: ../NEWS:57087 ../NEWS:57648 ../NEWS:57901 ../NEWS:58100 ../NEWS:58411 -#: ../NEWS:60612 +#: ../NEWS:909 ../NEWS:1519 ../NEWS:2452 ../NEWS:3566 ../NEWS:4225 ../NEWS:4588 +#: ../NEWS:5428 ../NEWS:6062 ../NEWS:8488 ../NEWS:9804 ../NEWS:10393 +#: ../NEWS:10853 ../NEWS:11431 ../NEWS:12278 ../NEWS:12898 ../NEWS:14474 +#: ../NEWS:16069 ../NEWS:16534 ../NEWS:17012 ../NEWS:17549 ../NEWS:18364 +#: ../NEWS:20887 ../NEWS:22414 ../NEWS:22859 ../NEWS:23130 ../NEWS:23409 +#: ../NEWS:23820 ../NEWS:24145 ../NEWS:24577 ../NEWS:26333 ../NEWS:27578 +#: ../NEWS:28184 ../NEWS:28711 ../NEWS:29074 ../NEWS:29538 ../NEWS:29934 +#: ../NEWS:30433 ../NEWS:32096 ../NEWS:33175 ../NEWS:33643 ../NEWS:33935 +#: ../NEWS:34211 ../NEWS:34576 ../NEWS:35036 ../NEWS:35508 ../NEWS:36552 +#: ../NEWS:37100 ../NEWS:37544 ../NEWS:38002 ../NEWS:38406 ../NEWS:38829 +#: ../NEWS:39144 ../NEWS:40489 ../NEWS:41795 ../NEWS:42262 ../NEWS:42740 +#: ../NEWS:42982 ../NEWS:45166 ../NEWS:46142 ../NEWS:46352 ../NEWS:46502 +#: ../NEWS:46720 ../NEWS:46965 ../NEWS:47290 ../NEWS:47630 ../NEWS:48113 +#: ../NEWS:48456 ../NEWS:50066 ../NEWS:50820 ../NEWS:51176 ../NEWS:51573 +#: ../NEWS:51972 ../NEWS:52541 ../NEWS:52861 ../NEWS:53017 ../NEWS:53120 +#: ../NEWS:54479 ../NEWS:54730 ../NEWS:55897 ../NEWS:56457 ../NEWS:57124 +#: ../NEWS:57850 ../NEWS:58411 ../NEWS:58664 ../NEWS:58863 ../NEWS:59174 +#: ../NEWS:61375 msgid "Documentation" msgstr "" -#: ../NEWS:181 +#: ../NEWS:911 msgid "" ":gh:`57491`: Reduce the depth of the table of contents in the EPUB " "documentation from three levels to two, making it much shorter and easier to " "navigate in e-book readers." msgstr "" -#: ../NEWS:186 ../NEWS:762 ../NEWS:1337 ../NEWS:1704 ../NEWS:2022 ../NEWS:2813 -#: ../NEWS:3472 ../NEWS:3589 ../NEWS:4045 ../NEWS:4464 ../NEWS:4799 -#: ../NEWS:4944 ../NEWS:5564 ../NEWS:6323 ../NEWS:8603 ../NEWS:9427 -#: ../NEWS:9807 ../NEWS:10371 ../NEWS:10921 ../NEWS:11269 ../NEWS:11737 -#: ../NEWS:12422 ../NEWS:15782 ../NEWS:16257 ../NEWS:16800 ../NEWS:17615 -#: ../NEWS:18207 ../NEWS:20171 ../NEWS:21671 ../NEWS:22102 ../NEWS:22376 -#: ../NEWS:22653 ../NEWS:23071 ../NEWS:23403 ../NEWS:23822 ../NEWS:25656 -#: ../NEWS:26852 ../NEWS:27447 ../NEWS:27954 ../NEWS:28317 ../NEWS:28788 -#: ../NEWS:29202 ../NEWS:29705 ../NEWS:31468 ../NEWS:32435 ../NEWS:32895 -#: ../NEWS:33181 ../NEWS:33457 ../NEWS:33822 ../NEWS:34285 ../NEWS:34766 -#: ../NEWS:35831 ../NEWS:36354 ../NEWS:36795 ../NEWS:37258 ../NEWS:37668 -#: ../NEWS:38395 ../NEWS:39830 ../NEWS:41081 ../NEWS:41534 ../NEWS:41991 -#: ../NEWS:42230 ../NEWS:44568 ../NEWS:45604 ../NEWS:45758 ../NEWS:45974 -#: ../NEWS:46226 ../NEWS:46540 ../NEWS:46872 ../NEWS:47356 ../NEWS:49351 -#: ../NEWS:50095 ../NEWS:50208 ../NEWS:50433 ../NEWS:50823 ../NEWS:51221 -#: ../NEWS:51800 ../NEWS:52111 ../NEWS:52362 ../NEWS:52497 ../NEWS:52768 -#: ../NEWS:53198 ../NEWS:53471 ../NEWS:53725 ../NEWS:53979 ../NEWS:55152 -#: ../NEWS:55712 ../NEWS:56366 ../NEWS:56487 ../NEWS:57110 ../NEWS:57672 -#: ../NEWS:57916 ../NEWS:58093 ../NEWS:58402 ../NEWS:58631 ../NEWS:58841 -#: ../NEWS:60652 -msgid "Tests" -msgstr "" - -#: ../NEWS:188 +#: ../NEWS:918 msgid "" ":gh:`158051`: The iOS testbed has been updated for compatibilty with Xcode " "27." msgstr "" -#: ../NEWS:192 ../NEWS:440 ../NEWS:781 ../NEWS:1349 ../NEWS:1715 ../NEWS:2034 -#: ../NEWS:2821 ../NEWS:3483 ../NEWS:4007 ../NEWS:4417 ../NEWS:5489 -#: ../NEWS:6178 ../NEWS:8502 ../NEWS:9358 ../NEWS:9745 ../NEWS:10325 -#: ../NEWS:10893 ../NEWS:11213 ../NEWS:11678 ../NEWS:12313 ../NEWS:14658 -#: ../NEWS:15312 ../NEWS:15808 ../NEWS:16289 ../NEWS:16810 ../NEWS:17655 -#: ../NEWS:18241 ../NEWS:20419 ../NEWS:21693 ../NEWS:21920 ../NEWS:22112 -#: ../NEWS:22389 ../NEWS:22659 ../NEWS:23083 ../NEWS:23424 ../NEWS:23650 -#: ../NEWS:23842 ../NEWS:25778 ../NEWS:26410 ../NEWS:26883 ../NEWS:27471 -#: ../NEWS:27976 ../NEWS:28170 ../NEWS:28361 ../NEWS:28815 ../NEWS:29224 -#: ../NEWS:29754 ../NEWS:31590 ../NEWS:32458 ../NEWS:32904 ../NEWS:33187 -#: ../NEWS:33467 ../NEWS:33844 ../NEWS:34320 ../NEWS:34782 ../NEWS:35882 -#: ../NEWS:36363 ../NEWS:36821 ../NEWS:37274 ../NEWS:37677 ../NEWS:38079 -#: ../NEWS:38450 ../NEWS:40000 ../NEWS:41117 ../NEWS:41588 ../NEWS:42004 -#: ../NEWS:44735 ../NEWS:45391 ../NEWS:45613 ../NEWS:45764 ../NEWS:45984 -#: ../NEWS:46231 ../NEWS:46560 ../NEWS:47383 ../NEWS:47703 ../NEWS:49414 -#: ../NEWS:50103 ../NEWS:50213 ../NEWS:50448 ../NEWS:50840 ../NEWS:50976 -#: ../NEWS:51237 ../NEWS:51758 ../NEWS:51842 ../NEWS:52133 ../NEWS:52198 -#: ../NEWS:52370 ../NEWS:52488 ../NEWS:52757 ../NEWS:53212 ../NEWS:53498 -#: ../NEWS:53686 ../NEWS:53999 ../NEWS:55195 ../NEWS:55750 ../NEWS:56412 -#: ../NEWS:57133 ../NEWS:57685 ../NEWS:57745 ../NEWS:57762 ../NEWS:58004 -#: ../NEWS:58109 ../NEWS:58622 ../NEWS:58836 ../NEWS:58971 ../NEWS:60503 -msgid "Build" +#: ../NEWS:924 +msgid "" +":gh:`158010`: Update Android and iOS build scripts to use OpenSSL 3.5.9." msgstr "" -#: ../NEWS:194 +#: ../NEWS:926 msgid "" ":gh:`157549`: Use ``sysconf(_SC_PAGESIZE)`` instead of ``getpagesize()`` in " "``remote_debug.h`` so ``_remote_debugging`` builds on Darwin with ``-" "Werror=implicit-function-declaration``." msgstr "" -#: ../NEWS:198 +#: ../NEWS:930 msgid "" ":gh:`152023`: Update Android builds to SQLite 3.53.4. Additionally, enable " "the ``median()`` and ``percentile()`` functions." msgstr "" -#: ../NEWS:202 ../NEWS:450 ../NEWS:791 ../NEWS:1375 ../NEWS:1720 ../NEWS:2044 -#: ../NEWS:2874 ../NEWS:3521 ../NEWS:3578 ../NEWS:4039 ../NEWS:4449 -#: ../NEWS:5546 ../NEWS:6221 ../NEWS:8585 ../NEWS:9403 ../NEWS:9778 -#: ../NEWS:11253 ../NEWS:11699 ../NEWS:12369 ../NEWS:15334 ../NEWS:15818 -#: ../NEWS:16315 ../NEWS:16825 ../NEWS:17684 ../NEWS:18265 ../NEWS:20506 -#: ../NEWS:21731 ../NEWS:22120 ../NEWS:22406 ../NEWS:22692 ../NEWS:23101 -#: ../NEWS:23446 ../NEWS:23878 ../NEWS:25892 ../NEWS:26898 ../NEWS:27503 -#: ../NEWS:28006 ../NEWS:28401 ../NEWS:28862 ../NEWS:29352 ../NEWS:29809 -#: ../NEWS:31636 ../NEWS:32467 ../NEWS:32926 ../NEWS:33210 ../NEWS:33493 -#: ../NEWS:34344 ../NEWS:34789 ../NEWS:35903 ../NEWS:36373 ../NEWS:36833 -#: ../NEWS:37291 ../NEWS:37682 ../NEWS:38460 ../NEWS:40072 ../NEWS:41140 -#: ../NEWS:41649 ../NEWS:42018 ../NEWS:42263 ../NEWS:44853 ../NEWS:45398 -#: ../NEWS:45781 ../NEWS:45989 ../NEWS:46236 ../NEWS:46575 ../NEWS:46881 -#: ../NEWS:47416 ../NEWS:49526 ../NEWS:50123 ../NEWS:50454 ../NEWS:50865 -#: ../NEWS:51243 ../NEWS:51814 ../NEWS:52063 ../NEWS:52193 ../NEWS:52483 -#: ../NEWS:52724 ../NEWS:53254 ../NEWS:53486 ../NEWS:53989 ../NEWS:55258 -#: ../NEWS:55763 ../NEWS:56397 ../NEWS:57192 ../NEWS:57239 ../NEWS:57696 -#: ../NEWS:58985 ../NEWS:60799 -msgid "Windows" +#: ../NEWS:936 +msgid ":gh:`158010`: Updated Windows builds to use OpenSSL 3.5.9." msgstr "" -#: ../NEWS:204 +#: ../NEWS:938 msgid "" ":gh:`157368`: Fix truncated :data:`sys.version` in the case of clang-cl " "versions 22 or newer on Windows. Also fixes the Windows on Arm case, where " "the Microsoft compiler was reported instead of clang. Patch by Chris Eibl." msgstr "" -#: ../NEWS:208 +#: ../NEWS:942 msgid "" ":gh:`157212`: Fix ``_Py_ThreadId()`` compilation on Windows ARM64 with MinGW " "toolchains, where ``__getReg()`` is unavailable. The TEB address is now read " "directly from ``x18``. Patch by Christian Aurich." msgstr "" -#: ../NEWS:212 +#: ../NEWS:946 msgid "" ":gh:`152023`: Update Windows builds to SQLite 3.53.4. Additionally, enable " "the ``median()`` and ``percentile()`` functions." msgstr "" -#: ../NEWS:216 ../NEWS:455 ../NEWS:1383 ../NEWS:1730 ../NEWS:2059 ../NEWS:2886 -#: ../NEWS:3527 ../NEWS:4029 ../NEWS:6206 ../NEWS:9393 ../NEWS:9772 -#: ../NEWS:10357 ../NEWS:10908 ../NEWS:12359 ../NEWS:15359 ../NEWS:16336 -#: ../NEWS:16847 ../NEWS:17725 ../NEWS:18277 ../NEWS:20556 ../NEWS:21752 -#: ../NEWS:22432 ../NEWS:23124 ../NEWS:23461 ../NEWS:23896 ../NEWS:25989 -#: ../NEWS:26914 ../NEWS:27529 ../NEWS:28415 ../NEWS:28868 ../NEWS:29377 -#: ../NEWS:29823 ../NEWS:31664 ../NEWS:32497 ../NEWS:33215 ../NEWS:33500 -#: ../NEWS:33867 ../NEWS:34353 ../NEWS:34804 ../NEWS:35946 ../NEWS:36385 -#: ../NEWS:36840 ../NEWS:37314 ../NEWS:38467 ../NEWS:40191 ../NEWS:41154 -#: ../NEWS:41702 ../NEWS:44963 ../NEWS:45626 ../NEWS:45786 ../NEWS:45998 -#: ../NEWS:46255 ../NEWS:46586 ../NEWS:47431 ../NEWS:50128 ../NEWS:50479 -#: ../NEWS:50874 +#: ../NEWS:950 ../NEWS:1218 ../NEWS:2146 ../NEWS:2493 ../NEWS:2822 ../NEWS:3649 +#: ../NEWS:4290 ../NEWS:4792 ../NEWS:6969 ../NEWS:10156 ../NEWS:10535 +#: ../NEWS:11120 ../NEWS:11671 ../NEWS:13122 ../NEWS:16122 ../NEWS:17099 +#: ../NEWS:17610 ../NEWS:18488 ../NEWS:19040 ../NEWS:21319 ../NEWS:22515 +#: ../NEWS:23195 ../NEWS:23887 ../NEWS:24224 ../NEWS:24659 ../NEWS:26752 +#: ../NEWS:27677 ../NEWS:28292 ../NEWS:29178 ../NEWS:29631 ../NEWS:30140 +#: ../NEWS:30586 ../NEWS:32427 ../NEWS:33260 ../NEWS:33978 ../NEWS:34263 +#: ../NEWS:34630 ../NEWS:35116 ../NEWS:35567 ../NEWS:36709 ../NEWS:37148 +#: ../NEWS:37603 ../NEWS:38077 ../NEWS:39230 ../NEWS:40954 ../NEWS:41917 +#: ../NEWS:42465 ../NEWS:45726 ../NEWS:46389 ../NEWS:46549 ../NEWS:46761 +#: ../NEWS:47018 ../NEWS:47349 ../NEWS:48194 ../NEWS:50891 ../NEWS:51242 +#: ../NEWS:51637 msgid "macOS" msgstr "" -#: ../NEWS:218 +#: ../NEWS:952 +msgid ":gh:`158010`: Update macOS installer to use OpenSSL 3.5.9." +msgstr "" + +#: ../NEWS:954 msgid ":gh:`152023`: Update macOS installer builds to SQLite 3.53.4." msgstr "" -#: ../NEWS:221 ../NEWS:1391 ../NEWS:1735 ../NEWS:2895 ../NEWS:4279 ../NEWS:7716 -#: ../NEWS:9036 ../NEWS:10662 ../NEWS:13690 ../NEWS:15373 ../NEWS:16341 -#: ../NEWS:16860 ../NEWS:17774 ../NEWS:18298 ../NEWS:20565 ../NEWS:21772 -#: ../NEWS:25999 ../NEWS:28021 ../NEWS:28420 ../NEWS:29830 ../NEWS:31690 -#: ../NEWS:32524 ../NEWS:32932 ../NEWS:33220 ../NEWS:33507 ../NEWS:34376 -#: ../NEWS:34809 ../NEWS:35967 ../NEWS:36850 ../NEWS:37319 ../NEWS:37701 -#: ../NEWS:38092 ../NEWS:38474 ../NEWS:40212 ../NEWS:41161 ../NEWS:41710 -#: ../NEWS:42030 ../NEWS:42279 ../NEWS:44999 ../NEWS:45403 ../NEWS:45633 -#: ../NEWS:45791 ../NEWS:46007 ../NEWS:46260 ../NEWS:47436 ../NEWS:47722 -#: ../NEWS:49593 ../NEWS:50133 ../NEWS:50487 ../NEWS:50879 ../NEWS:51257 -#: ../NEWS:51729 ../NEWS:52055 ../NEWS:53169 ../NEWS:53442 ../NEWS:53644 -#: ../NEWS:53905 ../NEWS:55024 ../NEWS:56324 ../NEWS:56492 ../NEWS:57034 -#: ../NEWS:57551 ../NEWS:57884 ../NEWS:58396 ../NEWS:60420 -msgid "IDLE" +#: ../NEWS:959 +msgid "" +":gh:`158067`: Fix the IDLE File Open dialog listing text files before Python " +"files when opened from the Shell or an Output window." msgstr "" -#: ../NEWS:223 +#: ../NEWS:962 msgid "" ":gh:`75512`: Output from a thread printed in the IDLE Shell while a " "statement is being entered no longer takes over the prompt of the statement." msgstr "" -#: ../NEWS:226 +#: ../NEWS:965 +msgid "" +":gh:`89544`: Fix IDLE hanging after Restart Shell while receiving a large " +"output from the user process." +msgstr "" + +#: ../NEWS:968 +msgid "" +":gh:`59568`: Fix \"Save As\" and \"Open\" dialogs in IDLE for a file whose " +"name starts with ``~`` on Windows and X11 with Tcl/Tk older than 9." +msgstr "" + +#: ../NEWS:971 msgid "" ":gh:`69004`: The Debugger item of the IDLE Debug menu is now disabled while " "user code runs, like Stack Viewer." msgstr "" -#: ../NEWS:230 ../NEWS:467 ../NEWS:812 ../NEWS:1434 ../NEWS:1740 ../NEWS:2075 -#: ../NEWS:2907 ../NEWS:3545 ../NEWS:3973 ../NEWS:4404 ../NEWS:4786 -#: ../NEWS:5452 ../NEWS:6144 ../NEWS:8375 ../NEWS:9299 ../NEWS:9737 -#: ../NEWS:10276 ../NEWS:10828 ../NEWS:11195 ../NEWS:11628 ../NEWS:12290 -#: ../NEWS:14403 ../NEWS:15378 ../NEWS:15847 ../NEWS:16355 ../NEWS:16883 -#: ../NEWS:17790 ../NEWS:18314 ../NEWS:20631 ../NEWS:21789 ../NEWS:22134 -#: ../NEWS:22437 ../NEWS:23141 ../NEWS:23479 ../NEWS:23901 ../NEWS:26056 -#: ../NEWS:26932 ../NEWS:27544 ../NEWS:28030 ../NEWS:28428 ../NEWS:28874 -#: ../NEWS:29382 ../NEWS:29835 ../NEWS:31745 ../NEWS:32543 ../NEWS:32939 -#: ../NEWS:33227 ../NEWS:33521 ../NEWS:33886 ../NEWS:34398 ../NEWS:34822 -#: ../NEWS:36000 ../NEWS:36411 ../NEWS:36872 ../NEWS:37345 ../NEWS:37716 -#: ../NEWS:38103 ../NEWS:38490 ../NEWS:40340 ../NEWS:41184 ../NEWS:41722 -#: ../NEWS:42066 ../NEWS:45221 ../NEWS:45311 ../NEWS:46027 ../NEWS:46597 -#: ../NEWS:46894 ../NEWS:47487 ../NEWS:47749 ../NEWS:49821 ../NEWS:50196 -#: ../NEWS:50529 ../NEWS:50949 ../NEWS:51752 ../NEWS:52081 ../NEWS:52249 -#: ../NEWS:52750 ../NEWS:53189 ../NEWS:53679 ../NEWS:54008 ../NEWS:55297 -#: ../NEWS:55772 ../NEWS:56352 ../NEWS:58664 ../NEWS:58979 ../NEWS:60583 -msgid "C API" +#: ../NEWS:974 +msgid "" +":gh:`93966`: The highlighting of a syntax error in the IDLE Shell is now " +"removed when the next statement is entered, not only when the next syntax " +"error occurs." +msgstr "" + +#: ../NEWS:978 +msgid "" +":gh:`75234`: Fix editing help sources and key bindings in the IDLE Settings " +"dialog after selecting them with the keyboard." +msgstr "" + +#: ../NEWS:981 +msgid "" +":gh:`55646`: Fix IDLE crash at startup when the user configuration contains " +"an invalid key binding, such as ```` instead of ````. The invalid binding is now ignored with a warning." +msgstr "" + +#: ../NEWS:988 +msgid "" +":gh:`156939`: Fix :c:func:`PyBytesWriter_FinishWithSize` to return an empty " +"bytearray when :c:func:`!_PyBytesWriter_CreateByteArray` is used, instead of " +"returning an empty bytes string. Patch by Victor Stinner." msgstr "" -#: ../NEWS:232 +#: ../NEWS:992 +msgid "" +":gh:`156939`: Fix :c:func:`PyBytesWriter_Format` error handling: restore the " +"writer to its previous state on error. Patch by Victor Stinner." +msgstr "" + +#: ../NEWS:995 msgid "" ":gh:`140550`: Fix the :c:macro:`PyABIInfo_VAR` macro: remove redundant ``;" "``. Before, ``PyABIInfo_VAR(abi_info);`` code added two ``;;`` which is " "illegal in C++03. Patch by Victor Stinner." msgstr "" -#: ../NEWS:238 +#: ../NEWS:1001 msgid "Python 3.15.0 release candidate 2" msgstr "" -#: ../NEWS:240 +#: ../NEWS:1003 msgid "*Release date: 2026-09-01*" msgstr "" -#: ../NEWS:245 +#: ../NEWS:1008 msgid "" ":gh:`156723`: Update bundled `libexpat `_ to " "version 2.8.4." msgstr "" -#: ../NEWS:248 +#: ../NEWS:1011 msgid "" ":gh:`156002`: Bound the amount of data :mod:`zipfile` decompresses per read " "for members compressed with bzip2, LZMA, or Zstandard, matching the existing " @@ -651,7 +1903,7 @@ msgid "" "unbounded allocation even when read in small chunks." msgstr "" -#: ../NEWS:253 +#: ../NEWS:1016 msgid "" ":gh:`155999`: Fix the :mod:`tarfile` ``tar`` and ``data`` extraction filters " "creating directories outside the destination for members whose name leaves " @@ -660,14 +1912,14 @@ msgid "" "created from the name as given." msgstr "" -#: ../NEWS:259 +#: ../NEWS:1022 msgid "" ":gh:`155292`: Change the :mod:`stringprep` module and :mod:`encodings.idna` " "codec to not consider Unicode codepoint attributes beyond those defined in :" "rfc:`3454`." msgstr "" -#: ../NEWS:263 +#: ../NEWS:1026 msgid "" ":gh:`155694`: Fix :cve:`2026-15806` by scoping :class:`~urllib.request." "HTTPPasswordMgr` credentials to the URL scheme, preventing credentials " @@ -675,7 +1927,7 @@ msgid "" "without a scheme continue to match any scheme." msgstr "" -#: ../NEWS:272 +#: ../NEWS:1035 msgid "" ":gh:`155725`: :mod:`tracemalloc` no longer acquires the :term:`GIL` nor " "creates a temporary thread state to trace memory allocations: traceback " @@ -685,38 +1937,38 @@ msgid "" "Python thread state record the traceback as ````." msgstr "" -#: ../NEWS:279 +#: ../NEWS:1042 msgid "" ":gh:`148750`: :mod:`encodings` is no longer frozen, due to issues importing " "submodules when using a zipped standard library." msgstr "" -#: ../NEWS:282 +#: ../NEWS:1045 msgid "" ":gh:`155254`: Avoid warning about missing standard library when using :ref:" "`sys-path-init-_pth-files`." msgstr "" -#: ../NEWS:285 +#: ../NEWS:1048 msgid "" ":gh:`155978`: Fix a memory leak in the free-threaded build when setting or " "deleting a special method (such as ``__repr__``) on a class that has many " "subclasses." msgstr "" -#: ../NEWS:289 +#: ../NEWS:1052 msgid "" ":gh:`155752`: Fix a crash when a :class:`types.GenericAlias` argument gains " "a ``__typing_subst__`` hook after the alias parameters have been cached." msgstr "" -#: ../NEWS:292 +#: ../NEWS:1055 msgid "" ":gh:`129752`: Don't update adaptive counters in the free-threaded build when " "thread-local bytecode is disabled (``-X tlbc=0``). Patch by Donghee Na." msgstr "" -#: ../NEWS:295 +#: ../NEWS:1058 msgid "" ":gh:`155515`: Track the internal HAMT iterators, which back iteration over " "a :class:`contextvars.Context`, with the garbage collector. A reference " @@ -724,7 +1976,7 @@ msgid "" "whole context it iterated over." msgstr "" -#: ../NEWS:300 +#: ../NEWS:1063 msgid "" ":gh:`155400`: Fix a deadlock in the free-threaded build between two threads " "assigning to a special method of the same class. While applying the type " @@ -733,7 +1985,7 @@ msgid "" "in the wrong order, if the thread blocked on the stop-the-world mutex." msgstr "" -#: ../NEWS:307 +#: ../NEWS:1070 msgid "" ":gh:`155363`: Fix a leak in the :term:`free-threaded build` when creating a " "thread state fails after an internal QSBR slot has been reserved for it. The " @@ -741,26 +1993,26 @@ msgid "" "repeated failures." msgstr "" -#: ../NEWS:312 +#: ../NEWS:1075 msgid "" ":gh:`154701`: Fix an infinite loop in JIT when a ``FOR_ITER`` side exit " "links an executor back to itself." msgstr "" -#: ../NEWS:315 +#: ../NEWS:1078 msgid "" ":gh:`154196`: Improve :exc:`AttributeError` messages from unresolved lazy " "imports. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:318 +#: ../NEWS:1081 msgid "" ":gh:`151377`: Fix races in free-threaded builds when updating type slots for " "newly created classes and when removing entries from a base type's " "subclasses dictionary." msgstr "" -#: ../NEWS:322 +#: ../NEWS:1085 msgid "" ":gh:`148817`: Fold large constant list and set literals used as the iterable " "of a :keyword:`for` loop or ``in``/``not in`` test into a constant :class:" @@ -768,7 +2020,7 @@ msgid "" "the AST optimizer that was lost when constant folding moved to the CFG." msgstr "" -#: ../NEWS:328 +#: ../NEWS:1091 msgid "" ":gh:`85260`: :func:`compile` now raises :exc:`ValueError` instead of " "crashing on a debug build if an identifier field of an AST node (such as the " @@ -776,32 +2028,32 @@ msgid "" "``\"None\"``, ``\"True\"`` or ``\"False\"``." msgstr "" -#: ../NEWS:336 +#: ../NEWS:1099 msgid "" ":gh:`156523`: Fix :func:`asyncio.as_completed` not recording the awaiting " "task in the call graph." msgstr "" -#: ../NEWS:339 +#: ../NEWS:1102 msgid "" ":gh:`156408`: Fix :func:`asyncio.print_call_graph` raising :exc:" "`AttributeError` when called on a task that has already finished." msgstr "" -#: ../NEWS:342 +#: ../NEWS:1105 msgid "" ":gh:`156404`: Restore compatibility with :file:`.pth` files generated before " "Python 3.15 in the :mod:`site` module. Inject the ``fullname`` variable in " "the frame which executes pth code." msgstr "" -#: ../NEWS:346 +#: ../NEWS:1109 msgid "" ":gh:`156353`: Fix :mod:`configparser` parsing when using whitespace in " "*delimiters*." msgstr "" -#: ../NEWS:349 +#: ../NEWS:1112 msgid "" ":gh:`156112`: :mod:`!_ios_support` no longer fails to import when :func:" "`ctypes.util.find_library` cannot resolve the ObjC runtime through the dyld " @@ -809,7 +2061,7 @@ msgid "" "which dyld resolves against the cache directly." msgstr "" -#: ../NEWS:354 +#: ../NEWS:1117 msgid "" ":gh:`155974`: Fix a regression in Python 3.15: :meth:`~curses.window." "addstr`, :meth:`~curses.window.addnstr`, :meth:`~curses.window.insstr` and :" @@ -817,34 +2069,34 @@ msgid "" "write fails, instead of leaving the temporary *attr* applied." msgstr "" -#: ../NEWS:359 +#: ../NEWS:1122 msgid "" ":gh:`155952`: Fix the signatures of :meth:`sqlite3.Connection.execute`, :" "func:`warnings.warn` and :func:`locale.setlocale` which rendered " "```` instead of the correct defaults for parameters." msgstr "" -#: ../NEWS:363 +#: ../NEWS:1126 msgid "" ":gh:`155888`: Fix :meth:`asyncio.WriteTransport.writelines` hanging the " "transport when the last data chunk is empty." msgstr "" -#: ../NEWS:366 +#: ../NEWS:1129 msgid "" ":gh:`155869`: Fix :meth:`!reorganize` in :mod:`dbm.dumb` failing to persist " "updated value offsets, which could cause data loss after reopening the " "database." msgstr "" -#: ../NEWS:370 +#: ../NEWS:1133 msgid "" ":gh:`155781`: Fix a possible crash in free-threaded builds when the :mod:" "`sqlite3` converter registry is modified concurrently while a cursor builds " "its row cast map." msgstr "" -#: ../NEWS:374 +#: ../NEWS:1137 msgid "" ":gh:`155702`: Fix :class:`sqlite3.Blob` slice assignment with a step. It " "patched the bytes object read from the blob, which for a single byte is an " @@ -852,32 +2104,32 @@ msgid "" "process." msgstr "" -#: ../NEWS:379 +#: ../NEWS:1142 msgid "" ":gh:`155468`: Fix :mod:`netrc` to distinguish empty quoted tokens from end-" "of-file, so malformed files no longer cause the remaining content to be " "silently ignored." msgstr "" -#: ../NEWS:383 +#: ../NEWS:1146 msgid "" ":gh:`155519`: Avoid a data-race in free-threaded builds when reading and " "writing context variables from different threads." msgstr "" -#: ../NEWS:386 +#: ../NEWS:1149 msgid "" ":gh:`155009`: Fix :class:`argparse.ArgumentParser` to preserve the program " "name from ``sys.argv[0]`` when a named module is executed as the main " "program without replacing ``sys.argv[0]``." msgstr "" -#: ../NEWS:390 +#: ../NEWS:1153 msgid "" ":gh:`155063`: Bump the version of pip bundled in ensurepip to version 26.2.1" msgstr "" -#: ../NEWS:392 +#: ../NEWS:1155 msgid "" ":gh:`153711`: On macOS, add run-time checks around the syscalls :manpage:" "`pipe2 (2)` and :manpage:`dup3 (2)`, in addition to the existing build-time " @@ -885,17 +2137,17 @@ msgid "" "available) can run on macOS 26 (where they aren't)." msgstr "" -#: ../NEWS:397 +#: ../NEWS:1160 msgid "" ":gh:`154871`: Fixed a crash in :meth:`asyncio.Task.get_context` when called " "on an uninitialized task." msgstr "" -#: ../NEWS:400 +#: ../NEWS:1163 msgid ":gh:`154568`: Fix :mod:`array` unpickling of little-endian float16." msgstr "" -#: ../NEWS:402 +#: ../NEWS:1165 msgid "" ":gh:`154566`: Fix :meth:`array.array.byteswap` corrupting data for ``'Zd'`` " "(complex double) arrays with more than one element: the 16-byte item loop " @@ -903,14 +2155,14 @@ msgid "" "after the first to be scrambled." msgstr "" -#: ../NEWS:407 +#: ../NEWS:1170 msgid "" ":gh:`154467`: Fixed :mod:`pdb` remote attaching (``python -m pdb -p PID``) " "sending an empty prompt to the client instead of ``(Pdb)`` when the target " "process has an interactive terminal." msgstr "" -#: ../NEWS:411 +#: ../NEWS:1174 msgid "" ":gh:`153772`: :func:`isinstance` checks against :mod:`collections.abc` " "classes such as :class:`~collections.abc.Mapping` no longer raise :exc:" @@ -919,54 +2171,54 @@ msgid "" "the behaviour of the built-in :func:`isinstance`." msgstr "" -#: ../NEWS:417 +#: ../NEWS:1180 msgid "" ":gh:`154086`: Store per-thread sample counts in Tachyon flamegraphs so " "filtering a thread updates frame widths and totals." msgstr "" -#: ../NEWS:420 +#: ../NEWS:1183 msgid "" ":gh:`154060`: Store measured duration and sampling rate in Tachyon binary " "profiles so they remain available in replayed flamegraphs." msgstr "" -#: ../NEWS:423 +#: ../NEWS:1186 msgid "" ":gh:`154085`: Prevent differential flamegraphs from duplicating self time " "across line nodes for the same function." msgstr "" -#: ../NEWS:426 +#: ../NEWS:1189 msgid "" ":gh:`154088`: Make Tachyon count and render elided stacks consistently in " "differential flamegraphs." msgstr "" -#: ../NEWS:429 +#: ../NEWS:1192 msgid "" ":gh:`154089`: Do not show unavailable sampling efficiency statistics in " "replayed Tachyon flamegraphs." msgstr "" -#: ../NEWS:432 +#: ../NEWS:1195 msgid "" ":gh:`153158`: Remove the erroneous *width* argument of :meth:`!calendar." "HTMLCalendar.formatmonthpage`, which could drop the year from the heading." msgstr "" -#: ../NEWS:436 +#: ../NEWS:1199 msgid "" ":gh:`113329`: Fix :exc:`OSError` being raised when trying to run doctests on " "a class objects in the REPL. Patch by Sten Wessel." msgstr "" -#: ../NEWS:442 +#: ../NEWS:1205 msgid "" ":gh:`156369`: Update Android and iOS build scripts to use OpenSSL 3.5.8." msgstr "" -#: ../NEWS:444 +#: ../NEWS:1207 msgid "" ":gh:`156115`: iOS simulator builds are now configured with ``-mios-simulator-" "version-min`` instead of the device's ``-mios-version-min``. The device flag " @@ -974,37 +2226,21 @@ msgid "" "detection silently failed." msgstr "" -#: ../NEWS:452 +#: ../NEWS:1215 msgid ":gh:`156369`: Updated Windows builds to use OpenSSL 3.5.8." msgstr "" -#: ../NEWS:457 +#: ../NEWS:1220 msgid ":gh:`156369`: Update macOS installer to use OpenSSL 3.5.8." msgstr "" -#: ../NEWS:460 ../NEWS:796 ../NEWS:2069 ../NEWS:3533 ../NEWS:4458 ../NEWS:4936 -#: ../NEWS:5551 ../NEWS:6278 ../NEWS:8594 ../NEWS:9418 ../NEWS:9784 -#: ../NEWS:10362 ../NEWS:10914 ../NEWS:11263 ../NEWS:11728 ../NEWS:12416 -#: ../NEWS:16347 ../NEWS:16869 ../NEWS:18306 ../NEWS:20571 ../NEWS:21782 -#: ../NEWS:22129 ../NEWS:23132 ../NEWS:23469 ../NEWS:26021 ../NEWS:26919 -#: ../NEWS:27538 ../NEWS:31724 ../NEWS:33877 ../NEWS:34388 ../NEWS:36398 -#: ../NEWS:36860 ../NEWS:37333 ../NEWS:40315 ../NEWS:41178 ../NEWS:41717 -#: ../NEWS:42059 ../NEWS:45182 ../NEWS:45804 ../NEWS:46021 ../NEWS:46281 -#: ../NEWS:46887 ../NEWS:47475 ../NEWS:49790 ../NEWS:50178 ../NEWS:50519 -#: ../NEWS:50942 ../NEWS:51429 ../NEWS:51794 ../NEWS:52188 ../NEWS:52262 -#: ../NEWS:53247 ../NEWS:53708 ../NEWS:54016 ../NEWS:55276 ../NEWS:56385 -#: ../NEWS:57211 ../NEWS:57734 ../NEWS:58421 ../NEWS:58640 ../NEWS:58848 -#: ../NEWS:60760 -msgid "Tools/Demos" -msgstr "" - -#: ../NEWS:462 +#: ../NEWS:1225 msgid "" ":gh:`154059`: Fix the time units in Tachyon flame graph tooltips by " "accounting for the sampling interval when converting samples to milliseconds." msgstr "" -#: ../NEWS:469 +#: ../NEWS:1232 msgid "" ":gh:`131740`: On the free-threaded build, :c:func:" "`PyUnstable_GC_VisitObjects` now also visits frozen objects (objects moved " @@ -1012,15 +2248,15 @@ msgid "" "the default build." msgstr "" -#: ../NEWS:476 +#: ../NEWS:1239 msgid "Python 3.15.0 release candidate 1" msgstr "" -#: ../NEWS:478 +#: ../NEWS:1241 msgid "*Release date: 2026-08-04*" msgstr "" -#: ../NEWS:483 +#: ../NEWS:1246 msgid "" ":gh:`152674`: The :class:`xml.etree.ElementTree.Element` methods :meth:`~xml." "etree.ElementTree.Element.findall`, :meth:`~xml.etree.ElementTree.Element." @@ -1029,120 +2265,120 @@ msgid "" "N]``) on XML documents with many same-tag siblings." msgstr "" -#: ../NEWS:493 +#: ../NEWS:1256 msgid "" ":gh:`154902`: Fix a crash when ``__conditional_annotations__`` is rebound to " "a non-set object." msgstr "" -#: ../NEWS:496 +#: ../NEWS:1259 msgid "" ":gh:`133931`: Fix data races when setting attributes of function objects on " "the :term:`free threaded ` build." msgstr "" -#: ../NEWS:499 +#: ../NEWS:1262 msgid "" ":gh:`154775`: When matching a complex literal in :keyword:`case` statements, " "an extraneous ``+`` sign (for example, ``1++1j`` or ``1-+1j``) is no longer " "allowed." msgstr "" -#: ../NEWS:503 +#: ../NEWS:1266 msgid "" ":gh:`154709`: Fix an out-of-bounds access in reverse dictionary iterators " "when the underlying dictionary is cleared and modified after the iterator is " "created." msgstr "" -#: ../NEWS:507 +#: ../NEWS:1270 msgid "" ":gh:`154695`: Fix :class:`asyncio.Task` raising :exc:`AttributeError` when " "created with ``eager_start=True`` and no explicit *loop* argument." msgstr "" -#: ../NEWS:510 +#: ../NEWS:1273 msgid "" ":gh:`153809`: Fix interpreter crash while deallocating objects of :class:" "`asyncio.Task` on free-threaded builds. Contributed by Sergey Miryanov." msgstr "" -#: ../NEWS:514 +#: ../NEWS:1277 msgid "" ":gh:`154275`: Fix a crash when getting deeply nested ``__parameters__`` from " "a :class:`types.GenericAlias` objects." msgstr "" -#: ../NEWS:517 +#: ../NEWS:1280 msgid "" ":gh:`154014`: Fix a JIT assertion during interpreter shutdown by " "initializing ``vm_data`` fields for cold executors that bypass " "``_Py_ExecutorInit()``." msgstr "" -#: ../NEWS:520 +#: ../NEWS:1283 msgid "" ":gh:`153932`: Fix thread safety issue in the ``__reduce__`` method of :py:" "class:`enumerate`." msgstr "" -#: ../NEWS:523 +#: ../NEWS:1286 msgid "" ":gh:`153881`: Fix potential data race when calling :meth:`~object." "__getstate__` under the :term:`free-threaded build`." msgstr "" -#: ../NEWS:526 +#: ../NEWS:1289 msgid "" ":gh:`153570`: Fix a use-after-free in :meth:`bytearray.take_bytes` when the " "argument's :meth:`~object.__index__` method resizes the bytearray. Patch by " "tonghuaroot." msgstr "" -#: ../NEWS:530 +#: ../NEWS:1293 msgid "" ":gh:`153419`: Fix multiple :class:`bytearray` crashes and reference leaks " "caused by skipping :meth:`~object.__init__` and broken state setup code." msgstr "" -#: ../NEWS:533 +#: ../NEWS:1296 msgid "" ":gh:`153236`: Propagate exceptions raised while importing lazy submodules " "instead of reporting them as missing attributes." msgstr "" -#: ../NEWS:536 +#: ../NEWS:1299 msgid "" ":gh:`148874`: Ignore interrupts immediately after calling the ``__enter__`` " "method of a context menager in a ``with`` statement. This ensures that the " "``__exit__`` method is always called in a ``with`` statement." msgstr "" -#: ../NEWS:540 +#: ../NEWS:1303 msgid "" ":gh:`150208`: Avoid double-quoting string values from ``pyconfig.h`` in " "``sysconfigdata`` variables." msgstr "" -#: ../NEWS:546 +#: ../NEWS:1309 msgid "" ":gh:`155063`: Bump the version of pip bundled in ensurepip to version 26.2" msgstr "" -#: ../NEWS:548 +#: ../NEWS:1311 msgid "" ":gh:`154936`: Fix the pure Python :mod:`json` decoder to report the correct " "position for invalid literal control characters in JSON strings." msgstr "" -#: ../NEWS:551 +#: ../NEWS:1314 msgid "" ":gh:`154892`: Fix a bug in the C accelerator for :mod:`zoneinfo` where :" "class:`datetime.datetime` subclasses returning ``-1`` for ``hour``, " "``minute``, or ``second`` could incorrectly raise a :exc:`SystemError`." msgstr "" -#: ../NEWS:555 +#: ../NEWS:1318 msgid "" ":gh:`154848`: The :mod:`pickle` C accelerator now enforces frame boundaries " "when unpickling, as the pure Python implementation already did. An argument " @@ -1152,27 +2388,27 @@ msgid "" "diverging from the :mod:`pickletools` disassembly of the same pickle." msgstr "" -#: ../NEWS:563 +#: ../NEWS:1326 msgid "" ":gh:`154885`: :func:`os.get_terminal_size` now checks ``isatty`` before " "calling ``ioctl``, which reduces log noise on Android." msgstr "" -#: ../NEWS:566 +#: ../NEWS:1329 msgid "" ":gh:`109638`: Fix exponential time in :meth:`csv.Sniffer.sniff` for a sample " "which contains many quote characters. A doubled quote character is now also " "detected in a field which contains the delimiter or a line break." msgstr "" -#: ../NEWS:570 +#: ../NEWS:1333 msgid "" ":gh:`98820`: Fix quadratic time in :meth:`csv.Sniffer.sniff` for a sample " "which contains quoted fields, in particular for a single column of quoted " "fields." msgstr "" -#: ../NEWS:574 +#: ../NEWS:1337 msgid "" ":gh:`154738`: Fix :meth:`!ExternalEntityParserCreate` not propagating the " "reparse-deferral setting to the subparser, which left :meth:`!" @@ -1180,7 +2416,7 @@ msgid "" "tonghuaroot." msgstr "" -#: ../NEWS:579 +#: ../NEWS:1342 msgid "" ":gh:`93251`: Fix :exc:`UnicodeDecodeError` in :mod:`socket` functions (such " "as :func:`~socket.getaddrinfo` and :func:`~socket.gethostbyaddr`) when the " @@ -1188,39 +2424,39 @@ msgid "" "locale encoding." msgstr "" -#: ../NEWS:584 +#: ../NEWS:1347 msgid "" ":gh:`148468`: Fix a regression in :mod:`argparse` where colorized argument " "help containing format specifiers did not accept string-like proxy objects." msgstr "" -#: ../NEWS:588 +#: ../NEWS:1351 msgid "" ":gh:`142035`: Fix incorrect wrapping of :mod:`argparse` help text when color " "is enabled." msgstr "" -#: ../NEWS:591 +#: ../NEWS:1354 msgid "" ":gh:`135736`: Fix ::class:`asyncio.TaskGroup` to not wrap a :exc:" "`GeneratorExit` into a :exc:`BaseExceptionGroup` if it was raised by the " "body of the task group and none of the tasks in the group raised exceptions." msgstr "" -#: ../NEWS:596 +#: ../NEWS:1359 msgid "" ":gh:`154551`: Fix :func:`ctypes.util.find_library` returning ``None`` in non-" "UTF-8 locales." msgstr "" -#: ../NEWS:599 +#: ../NEWS:1362 msgid "" ":gh:`79366`: Fixed a race condition in :mod:`logging`: if a handler was " "removed while a record was being emitted, the following handlers of the same " "logger could be skipped." msgstr "" -#: ../NEWS:603 +#: ../NEWS:1366 msgid "" ":gh:`154189`: Fixed a potential use-after-free when calling :func:`functools." "partial`. Now, when invoking a :func:`~functools.partial` object, the stored " @@ -1228,7 +2464,7 @@ msgid "" "duration of the call in case of reentrancy." msgstr "" -#: ../NEWS:608 +#: ../NEWS:1371 msgid "" ":gh:`73458`: Fix :func:`logging.config.listen`: it left the caller waiting " "for the ``ready`` event forever if the server could not be started, for " @@ -1237,66 +2473,66 @@ msgid "" "is only aliased to ``::1``." msgstr "" -#: ../NEWS:614 +#: ../NEWS:1377 msgid "" ":gh:`154460`: Fix :func:`time.strftime` and :meth:`datetime.datetime." "strftime` returning a wrong ISO 8601 week number (``%V``) on OpenBSD." msgstr "" -#: ../NEWS:618 +#: ../NEWS:1381 msgid "" ":gh:`154435`: Fix :func:`os.posix_fadvise` and :func:`os.posix_fallocate` on " "DragonFly BSD: they raised :exc:`OSError` with a meaningless error code, " "because these functions return -1 and set ``errno`` there." msgstr "" -#: ../NEWS:622 +#: ../NEWS:1385 msgid "" ":gh:`154399`: Fix :mod:`venv` activation in a non-interactive csh: " "``activate.csh`` no longer fails when the ``prompt`` variable is not set." msgstr "" -#: ../NEWS:625 +#: ../NEWS:1388 msgid "" ":gh:`154389`: Fix :func:`uuid.uuid1` on OpenBSD: it returned a version 4 " "UUID, because ``uuid_create()`` generates random UUIDs on this platform." msgstr "" -#: ../NEWS:628 +#: ../NEWS:1391 msgid "" ":gh:`154324`: Fix :func:`os.sendfile` on illumos: it no longer reports a " "successful transfer when the underlying system call failed without writing " "any data." msgstr "" -#: ../NEWS:632 +#: ../NEWS:1395 msgid "" ":gh:`154307`: Fix :meth:`tempfile.TemporaryDirectory.cleanup` on DragonFly " "BSD, where removing a file with the ``UF_NOUNLINK`` flag failed with " "``EISDIR`` instead of ``EPERM``." msgstr "" -#: ../NEWS:636 +#: ../NEWS:1399 msgid "" ":gh:`154291`: Fix :func:`socket.has_dualstack_ipv6` to return ``False`` on " "platforms such as DragonFly BSD where setting ``IPV6_V6ONLY`` to 0 silently " "has no effect." msgstr "" -#: ../NEWS:640 +#: ../NEWS:1403 msgid "" ":gh:`154283`: On DragonFly BSD, :func:`threading.get_native_id` now returns " "a value that is unique across processes, matching the other platforms." msgstr "" -#: ../NEWS:643 +#: ../NEWS:1406 msgid "" ":gh:`154258`: Fix a crash in :meth:`mmap.mmap.resize` on NetBSD when growing " "a shared anonymous mapping. :meth:`!resize` now raises :exc:`ValueError` in " "this case, as it already did on Linux." msgstr "" -#: ../NEWS:647 +#: ../NEWS:1410 msgid "" ":gh:`131565`: :func:`ctypes.util.dllist` now works on NetBSD. It is " "implemented in the :mod:`!_ctypes` extension module so that " @@ -1305,20 +2541,20 @@ msgid "" "called through ctypes." msgstr "" -#: ../NEWS:653 +#: ../NEWS:1416 msgid "" ":gh:`154225`: Fix :func:`os.openpty` on Solaris and illumos: it no longer " "leaves the pseudo-terminal as the controlling terminal of the calling " "process." msgstr "" -#: ../NEWS:657 +#: ../NEWS:1420 msgid "" ":gh:`154227`: Fix :func:`os.posix_openpt` on OpenBSD, where it rejected the :" "data:`~os.O_CLOEXEC` flag." msgstr "" -#: ../NEWS:660 +#: ../NEWS:1423 msgid "" ":gh:`145030`: Fix :mod:`asyncio` write pipe transports for named FIFOs on " "macOS and Solaris. Unread data sitting in the FIFO made the transport " @@ -1326,13 +2562,13 @@ msgid "" "transport." msgstr "" -#: ../NEWS:665 +#: ../NEWS:1428 msgid "" ":gh:`154176`: Fix a crash in :func:`locale.strxfrm` on DragonFly BSD, whose " "``wcsxfrm()`` does not support the zero size." msgstr "" -#: ../NEWS:668 +#: ../NEWS:1431 msgid "" ":gh:`154836`: Fix :meth:`subprocess.Popen.wait` raising :exc:`TypeError` " "(macOS and other BSDs) or :exc:`OverflowError` (Linux) for very large " @@ -1341,7 +2577,7 @@ msgid "" "`OverflowError` for out-of-range timeouts as :exc:`TypeError`." msgstr "" -#: ../NEWS:674 +#: ../NEWS:1437 msgid "" ":gh:`154053`: Fix compilation of the :mod:`ssl` module against LibreSSL, " "which does not provide ``SSL_CTX_set1_sigalgs_list()`` and " @@ -1350,23 +2586,23 @@ msgid "" "`NotImplementedError` on LibreSSL." msgstr "" -#: ../NEWS:680 +#: ../NEWS:1443 msgid "" ":gh:`154001`: Fix :func:`random.binomialvariate` raising :exc:" "`ZeroDivisionError` when :func:`random.random` returns zero." msgstr "" -#: ../NEWS:683 +#: ../NEWS:1446 msgid "" ":gh:`153908`: Fix data race when calling :func:`repr` on :class:`itertools." "count` under the :term:`free-threaded build`." msgstr "" -#: ../NEWS:686 +#: ../NEWS:1449 msgid ":gh:`153896`: Deduplicate unhashable args in :data:`typing.Literal`." msgstr "" -#: ../NEWS:688 +#: ../NEWS:1451 msgid "" ":gh:`153864`: On a wide :mod:`curses` build, :meth:`curses.window.insch` now " "inserts a non-ASCII byte as the character it encodes in the window's " @@ -1374,27 +2610,27 @@ msgid "" "code point." msgstr "" -#: ../NEWS:693 +#: ../NEWS:1456 msgid "" ":gh:`153862`: On a wide :mod:`curses` build, :meth:`curses.window.inch` now " "returns the locale-encoded byte of a non-ASCII character, matching :meth:" "`~curses.window.instr`, instead of the low byte of its code point." msgstr "" -#: ../NEWS:697 +#: ../NEWS:1460 msgid "" ":gh:`146011`: Fix a heap-use-after-free in the C implementation of :mod:" "`decimal` when calling :func:`repr` after deleting the :class:`~decimal." "Context`." msgstr "" -#: ../NEWS:701 +#: ../NEWS:1464 msgid "" ":gh:`153761`: Fix cancelling :meth:`asyncio.loop.sock_accept` dropping a " "pending connection." msgstr "" -#: ../NEWS:704 +#: ../NEWS:1467 msgid "" ":gh:`127049`: Fix a race condition in :mod:`asyncio` on Unix where :meth:" "`asyncio.subprocess.Process.send_signal`, :meth:`~asyncio.subprocess.Process." @@ -1403,7 +2639,7 @@ msgid "" "when ThreadedChildWatcher is used. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:711 +#: ../NEWS:1474 msgid "" ":gh:`153404`: :class:`urllib.robotparser.RobotFileParser` now silently " "ignores a ``Crawl-delay`` or ``Request-rate`` value written with non-decimal " @@ -1411,7 +2647,7 @@ msgid "" "`ValueError` and aborting the parse of the whole ``robots.txt`` file." msgstr "" -#: ../NEWS:716 +#: ../NEWS:1479 msgid "" ":gh:`153291`: Fix a data race in :func:`readline.get_completer` and :func:" "`readline.get_pre_input_hook` on the :term:`free-threaded ` " @@ -1419,25 +2655,25 @@ msgid "" "the corresponding setters hold." msgstr "" -#: ../NEWS:721 +#: ../NEWS:1484 msgid "" ":gh:`153133`: Fix a socket leak in :meth:`asyncio.loop.create_connection` " "when the transport cannot be created." msgstr "" -#: ../NEWS:724 +#: ../NEWS:1487 msgid "" ":gh:`152431`: Fix ``asyncio.StreamWriter.start_tls()`` to keep the linked " "``StreamReader`` transport in sync with the upgraded transport." msgstr "" -#: ../NEWS:727 +#: ../NEWS:1490 msgid "" ":gh:`151955`: Allow more types to be used in the ``bound`` argument to :" "class:`typing.ParamSpec` and :class:`typing.TypeVarTuple`." msgstr "" -#: ../NEWS:730 +#: ../NEWS:1493 msgid "" ":gh:`119710`: Fix :mod:`asyncio` subprocess :meth:`~asyncio.subprocess." "Process.wait` hanging when the process has exited but one of its pipes is " @@ -1446,76 +2682,76 @@ msgid "" "pipes' state." msgstr "" -#: ../NEWS:736 +#: ../NEWS:1499 msgid "" ":gh:`151022`: Fix ``_remote_debugging`` stack traces for code objects with " "large line tables." msgstr "" -#: ../NEWS:739 +#: ../NEWS:1502 msgid "" ":gh:`149319`: The :mod:`asyncio` REPL now ignores :envvar:`PYTHONSTARTUP` " "and :envvar:`PYTHON_BASIC_REPL` when :option:`-E` or :option:`-I` is used. " "Patch by Jonathan Dung." msgstr "" -#: ../NEWS:743 +#: ../NEWS:1506 msgid "" ":gh:`148665`: socket.shutdown function is now enabled for Emscripten builds. " "However, if the runtime does not implement the shutdown syscall, it will " "show \"Function not implemented\" error." msgstr "" -#: ../NEWS:747 +#: ../NEWS:1510 msgid "" ":gh:`140326`: Fix the :mod:`asyncio` REPL namespace so that relative imports " "no longer resolve against the :mod:`asyncio` package and ``__file__`` is no " "longer set." msgstr "" -#: ../NEWS:751 +#: ../NEWS:1514 msgid "" ":gh:`103925`: Fix :meth:`csv.Sniffer.sniff` for a sample with ``\\r\\n`` " "line endings in which a quoted field ends a line: a letter could be detected " "as the delimiter." msgstr "" -#: ../NEWS:758 +#: ../NEWS:1521 msgid "" ":gh:`118150`: Clarify in the :mod:`difflib` documentation what *junk* " "actually does, its drawbacks, and how to control it." msgstr "" -#: ../NEWS:764 +#: ../NEWS:1527 msgid ":gh:`76595`: Add C API tests for :c:func:`PyCapsule_Import`." msgstr "" -#: ../NEWS:766 +#: ../NEWS:1529 msgid "" ":gh:`154211`: Add ``test.support.skip_if_huge_c_stack()`` and use it to skip " "tests that exhaust the C stack if the stack limit is very large (e.g. on " "DragonFly BSD or with ``ulimit -s unlimited``)." msgstr "" -#: ../NEWS:770 +#: ../NEWS:1533 msgid "" ":gh:`154167`: The test runner (regrtest) now restores the default SIGINT " "handler if it was inherited as ignored, so the test suite no longer hangs " "when run as a shell background job." msgstr "" -#: ../NEWS:774 +#: ../NEWS:1537 msgid ":gh:`154144`: Fix building the :mod:`!_testcapi` module on NetBSD." msgstr "" -#: ../NEWS:776 +#: ../NEWS:1539 msgid "" ":gh:`152548`: Add the :func:`test.support.isolation.runInSubprocess` " "decorator to run a test method or ``TestCase`` subclass in a fresh " "interpreter subprocess, isolated from the rest of the test run." msgstr "" -#: ../NEWS:783 +#: ../NEWS:1546 msgid "" ":gh:`154070`: Build the :mod:`curses` module against a wide-character " "capable ncurses even when it is not named ``ncursesw`` -- for example the " @@ -1523,22 +2759,22 @@ msgid "" "a library previously produced a narrow build." msgstr "" -#: ../NEWS:788 +#: ../NEWS:1551 msgid ":gh:`138800`: Fix library name in python3.pc on Android." msgstr "" -#: ../NEWS:793 +#: ../NEWS:1556 msgid ":gh:`124111`: Updated Windows builds to use Tcl/Tk 9.0.4." msgstr "" -#: ../NEWS:798 +#: ../NEWS:1561 msgid "" ":gh:`154580`: Fix ``python-gdb.py`` raising :exc:`UnicodeEncodeError` when " "pretty-printing a non-ASCII :class:`str` in a locale whose host charset " "cannot encode it, such as any non-ASCII string in the C locale." msgstr "" -#: ../NEWS:802 +#: ../NEWS:1565 msgid "" ":gh:`152384`: The CPython Pixi packages are now all accessible at the same " "``Tools/pixi-packages`` subdirectory, rather than at ``Tools/pixi-packages/" @@ -1550,46 +2786,46 @@ msgid "" "previous names." msgstr "" -#: ../NEWS:814 +#: ../NEWS:1577 msgid "" ":gh:`122931`: Allow importing stable ABI C extensions that include a " "multiarch tuple in their filename, e.g. ``foo.abi3-x86-64-linux-gnu.so``." msgstr "" -#: ../NEWS:819 +#: ../NEWS:1582 msgid "Python 3.15.0 beta 4" msgstr "" -#: ../NEWS:821 +#: ../NEWS:1584 msgid "*Release date: 2026-07-18*" msgstr "" -#: ../NEWS:826 +#: ../NEWS:1589 msgid "" ":gh:`153030`: Fixed quadratic complexity in incremental parsing of long " "unterminated constructs (such as tags or comments) in :class:`html.parser." "HTMLParser`, which could be exploited for a denial of service." msgstr "" -#: ../NEWS:831 +#: ../NEWS:1594 msgid "" ":gh:`152216`: Update bundled `libexpat `_ to " "version 2.8.2." msgstr "" -#: ../NEWS:834 +#: ../NEWS:1597 msgid "" ":gh:`151987`: The :meth:`tarfile.TarFile.extract` method now applies the " "given filter when it extracts a link target from the archive as a fallback." msgstr "" -#: ../NEWS:838 +#: ../NEWS:1601 msgid "" ":gh:`151981`: In :mod:`tarfile`, seeking a stream now stops when end of the " "stream is reached." msgstr "" -#: ../NEWS:841 +#: ../NEWS:1604 msgid "" ":gh:`151558`: Fixed an vulnerability in the :mod:`tarfile` ``data`` and " "``tar`` extraction filters where crafted archives could create a symlink " @@ -1597,7 +2833,7 @@ msgid "" "`2025-4330`." msgstr "" -#: ../NEWS:846 +#: ../NEWS:1609 msgid "" ":gh:`150743`: :mod:`http.client` now limits the number of chunked-response " "trailer lines it will read to :attr:`~http.client.HTTPConnection." @@ -1608,38 +2844,38 @@ msgid "" "``@YLChen-007`` via GHSA-w4q2-g22w-6fr4." msgstr "" -#: ../NEWS:854 +#: ../NEWS:1617 msgid "" ":gh:`143927`: Normalize all line endings (CR, CRLF, and LF) to LF+TAB when " "writing multi-line configparser values." msgstr "" -#: ../NEWS:860 +#: ../NEWS:1623 msgid "" ":gh:`153298`: Fixes a data race in :class:`types.GenericAlias` " "``__parameters__`` initialization on free-threading builds." msgstr "" -#: ../NEWS:863 +#: ../NEWS:1626 msgid "" ":gh:`153205`: Fix a potential :exc:`SystemError` during vector calls when " "memory allocation fails. A :exc:`MemoryError` is now raised instead." msgstr "" -#: ../NEWS:866 +#: ../NEWS:1629 msgid "" ":gh:`152682`: Fix NULL pointer dereference in :func:`compile` when a " "reserved name (e.g. ``__classdict__``) is used as a type parameter name and " "memory allocation fails while formatting the error message." msgstr "" -#: ../NEWS:870 +#: ../NEWS:1633 msgid "" ":gh:`152635`: Fix a crash caused when running out of memory creating a :mod:" "`!_interpchannels` channel. Now a :exc:`MemoryError` is correctly raised." msgstr "" -#: ../NEWS:874 +#: ../NEWS:1637 msgid "" ":gh:`152405`: Do not expose the internal mapping of :class:`types." "MappingProxyType` when performing rich-compare operations with non-stdlib " @@ -1648,98 +2884,98 @@ msgid "" "when dealing with custom types." msgstr "" -#: ../NEWS:880 +#: ../NEWS:1643 msgid "" ":gh:`152492`: :type:`collections.OrderedDict` ``update`` method can now " "accept :type:`frozendict` as an argument." msgstr "" -#: ../NEWS:883 +#: ../NEWS:1646 msgid "" ":gh:`152375`: Fix undefined behaviour when a :mod:`sys.monitoring` callback " "raised an exception while the program was following a branch or loop." msgstr "" -#: ../NEWS:886 +#: ../NEWS:1649 msgid "" ":gh:`152235`: Defer GC tracking of :meth:`set.intersection`, :meth:`set." "difference`, :meth:`set.symmetric_difference`, :meth:`set.union` and ``set." "__sub__``. Patch by Donghee Na." msgstr "" -#: ../NEWS:890 +#: ../NEWS:1653 msgid "" ":gh:`152235`: Defer GC tracking of a :class:`set` or :class:`frozenset` to " "the end of its construction from iterable. Patch by Donghee Na." msgstr "" -#: ../NEWS:893 +#: ../NEWS:1656 msgid "" ":gh:`152228`: Fix an assertion failure when python is built in a debug mode " "that happened in :meth:`str.replace` under a limited memory situation." msgstr "" -#: ../NEWS:896 +#: ../NEWS:1659 msgid "" ":gh:`151722`: :meth:`!frozendict.fromkeys` now only tracks the :class:" "`frozendict` in the garbage collector once the dictionary is fully " "initialized. Patch by Donghee Na and Victor Stinner." msgstr "" -#: ../NEWS:900 +#: ../NEWS:1663 msgid "" ":gh:`151763`: Fixes possible crash on :class:`types.CodeType` deallocation." msgstr "" -#: ../NEWS:902 +#: ../NEWS:1665 msgid "" ":gh:`152020`: On the free-threaded build, :func:`asyncio.all_tasks` no " "longer loses eager-started tasks when called from a thread other than the " "one running the event loop." msgstr "" -#: ../NEWS:906 +#: ../NEWS:1669 msgid "" ":gh:`151763`: Fix a potential crash in :func:`compile`, :func:`exec`, :func:" "`eval` and :func:`ast.parse` when an allocation fails: the parser or " "compiler could return without setting an exception." msgstr "" -#: ../NEWS:910 +#: ../NEWS:1673 msgid "" ":gh:`151912`: Fixed a crash in ``type()`` when selecting a metaclass whose " "``tp_new`` slot is ``NULL``. Such metaclasses are now rejected with " "``TypeError`` instead of causing a NULL pointer dereference." msgstr "" -#: ../NEWS:914 +#: ../NEWS:1677 msgid "" ":gh:`151773`: Fix a crash in :func:`contextvars.ContextVar.set` when memory " "allocation fails." msgstr "" -#: ../NEWS:917 +#: ../NEWS:1680 msgid "" ":gh:`151672`: Fix an inconsistency where calling ``__lazy_import__`` with a " "string ``fromlist`` would return a :class:`types.LazyImportType` that " "resolves to the named member, rather than the module being imported." msgstr "" -#: ../NEWS:921 +#: ../NEWS:1684 msgid "" ":gh:`151619`: Fix an issue where using non-module global or builtin " "namespaces (such as dictionaries passed to :func:`exec`) could cause cached " "global loads to produce unresolved :ref:`lazy imports `." msgstr "" -#: ../NEWS:926 +#: ../NEWS:1689 msgid "" ":gh:`151126`: Fix a crash when sharing :class:`memoryview` objects between " "interpreters fails due to running out of memory. It now raises a proper :exc:" "`MemoryError`." msgstr "" -#: ../NEWS:930 +#: ../NEWS:1693 msgid "" ":gh:`151644`: Fix a data race in :func:`sys.setdlopenflags` and :func:`sys." "getdlopenflags` when called concurrently in the free-threaded build. The " @@ -1747,76 +2983,76 @@ msgid "" "functions now use atomic load/store operations." msgstr "" -#: ../NEWS:936 +#: ../NEWS:1699 msgid "" ":gh:`151126`: Avoid possible crash in ``_winapi.c`` where a device has no " "memory left. Now it properly raises a :exc:`MemoryError`. Patch by Ivy Xu." msgstr "" -#: ../NEWS:939 +#: ../NEWS:1702 msgid "" ":gh:`151029`: On Linux, fix :func:`sys.remote_exec` unable to find remote " "writable memory when ``libpython`` replaced on disk." msgstr "" -#: ../NEWS:942 +#: ../NEWS:1705 msgid "" ":gh:`150459`: Fix :exc:`SyntaxError` error message for ``from x lazy import " "y``. Raise :exc:`SyntaxWarning` on ``from . lazy import x`` (with whitespace " "between the dots and a module named ``lazy``)." msgstr "" -#: ../NEWS:946 +#: ../NEWS:1709 msgid "" ":gh:`150858`: Fix a data race while changing ``__qualname__`` of a type " "concurrently on free-threaded builds." msgstr "" -#: ../NEWS:949 +#: ../NEWS:1712 msgid "" ":gh:`144774`: Fix data race in :class:`BaseException` when an exception is " "copied while being mutated." msgstr "" -#: ../NEWS:952 +#: ../NEWS:1715 msgid "" ":gh:`150411`: Fix a data race in the free-threaded build when :func:`gc." "get_count` reads the young generation allocation count while another thread " "updates it." msgstr "" -#: ../NEWS:956 +#: ../NEWS:1719 msgid "" ":gh:`149689`: Fix missing error propagation in parser action helpers when " "memory allocation fails. Patch by Thomas Kowalski." msgstr "" -#: ../NEWS:959 +#: ../NEWS:1722 msgid "" ":gh:`149162`: Fix a potential deadlock in :c:func:" "`PyUnicode_InternFromString` and other interning functions in the :term:" "`free-threaded build` when called from C++ static local initializers." msgstr "" -#: ../NEWS:964 +#: ../NEWS:1727 msgid ":gh:`148825`: Fix build error if specialization is disabled." msgstr "" -#: ../NEWS:969 +#: ../NEWS:1732 msgid "" ":gh:`153695`: Hashing a :class:`sqlite3.Row` that contains an unhashable " "value now raises :exc:`TypeError` instead of :exc:`SystemError`. Patch by " "tonghuaroot." msgstr "" -#: ../NEWS:973 +#: ../NEWS:1736 msgid "" ":gh:`153658`: Fix :meth:`sqlite3.Connection.iterdump` raising :exc:`sqlite3." "OperationalError` when a table name contains a single quote. Patch by " "tonghuaroot." msgstr "" -#: ../NEWS:977 +#: ../NEWS:1740 msgid "" ":gh:`85943`: Fix :mod:`struct` functions raising :exc:`BytesWarning` under " "the ``-bb`` command line option when a :class:`str` format is used after an " @@ -1824,7 +3060,7 @@ msgid "" "longer mixes :class:`str` and :class:`bytes` keys." msgstr "" -#: ../NEWS:982 +#: ../NEWS:1745 msgid "" ":gh:`151292`: Store the sample count in :mod:`profiling.sampling` binary " "format, as a 64-bit integer, widening from previously used 32-bit integer. " @@ -1833,46 +3069,46 @@ msgid "" "Pawłowski-Wieroński." msgstr "" -#: ../NEWS:988 +#: ../NEWS:1751 msgid "" ":gh:`153417`: Error messages from :meth:`imaplib.IMAP4.select` and :meth:" "`imaplib.IMAP4.uid` no longer raise :exc:`BytesWarning` under :option:`!-bb` " "when the mailbox or command argument is :class:`bytes`." msgstr "" -#: ../NEWS:992 +#: ../NEWS:1755 msgid "" ":gh:`153406`: :func:`email.utils.parsedate_to_datetime` now raises :exc:" "`ValueError` instead of :exc:`OverflowError` when the parsed year or " "timezone offset is out of range, matching its documented behavior." msgstr "" -#: ../NEWS:996 +#: ../NEWS:1759 msgid "" ":gh:`153333`: The ``readprofile`` method of :class:`tkinter.Tk` now reads " "the user's profile scripts using the encoding declared in the file, instead " "of the locale encoding." msgstr "" -#: ../NEWS:1000 +#: ../NEWS:1763 msgid "" ":gh:`153083`: Defer GC tracking of an :class:`array.array` to the end of its " "construction. Patch by Donghee Na." msgstr "" -#: ../NEWS:1003 +#: ../NEWS:1766 msgid "" ":gh:`153292`: Fix data race in repr of :class:`threading.RLock` in free-" "threading build." msgstr "" -#: ../NEWS:1006 +#: ../NEWS:1769 msgid "" ":gh:`153293`: Fix the live sampling profiler TUI keeping stale aggregated " "opcode statistics after a stats reset." msgstr "" -#: ../NEWS:1009 +#: ../NEWS:1772 msgid "" ":gh:`143990`: A :class:`tkinter.font.Font` created from a named font, " "including by :meth:`~tkinter.font.Font.copy`, now copies its configured " @@ -1880,37 +3116,37 @@ msgid "" "preserving a size specified in pixels (a negative size)." msgstr "" -#: ../NEWS:1014 +#: ../NEWS:1777 msgid "" ":gh:`148286`: Fix undefined behavior in :attr:`compression.zstd." "ZstdDecompressor.unused_data` when a complete frame was decompressed in a " "single call." msgstr "" -#: ../NEWS:1018 +#: ../NEWS:1781 msgid ":gh:`153210`: Fix crash on :mod:`array` import under a memory pressure." msgstr "" -#: ../NEWS:1020 +#: ../NEWS:1783 msgid "" ":gh:`153200`: Fix :func:`math.isqrt` returning an incorrect result for " "arguments not less than 2**64 that are instances of an :class:`int` subclass " "with an overridden comparison operator." msgstr "" -#: ../NEWS:1024 +#: ../NEWS:1787 msgid "" ":gh:`153068`: Fix :meth:`!cProfile.Profile.enable` to no longer overwrite " "errors from :mod:`sys.monitoring`." msgstr "" -#: ../NEWS:1027 +#: ../NEWS:1790 msgid "" ":gh:`153062`: Fix a crash when concurrently iterating an :func:`itertools." "tee` iterator on the free-threaded build." msgstr "" -#: ../NEWS:1030 +#: ../NEWS:1793 msgid "" ":gh:`153056`: Fix :class:`string.Template` raising a spurious :exc:" "`ValueError` when the *pattern* attribute is a compiled regular expression " @@ -1918,7 +3154,7 @@ msgid "" "also occurred as a data race on the first concurrent use." msgstr "" -#: ../NEWS:1035 +#: ../NEWS:1798 msgid "" ":gh:`143921`: Narrow the control character check in :mod:`imaplib` commands: " "only NUL, CR and LF are now rejected. Other control characters are valid in " @@ -1926,27 +3162,27 @@ msgid "" "they are now accepted and sent quoted." msgstr "" -#: ../NEWS:1040 +#: ../NEWS:1803 msgid "" ":gh:`153037`: Fix :class:`~compression.zstd.ZstdFile` raising :exc:" "`AttributeError` instead of :exc:`io.UnsupportedOperation` when iterating " "over a file that is not open for reading." msgstr "" -#: ../NEWS:1044 +#: ../NEWS:1807 msgid "" ":gh:`135661`: Fix :class:`html.parser.HTMLParser`: an abruptly closed empty " "comment (```` or ````) no longer extends up to a later ``-->`` in " "the same :meth:`~html.parser.HTMLParser.feed` call." msgstr "" -#: ../NEWS:1048 +#: ../NEWS:1811 msgid "" ":gh:`152851`: Prevent a crash when allocation fails while copying a :func:" "`BLAKE-2s/2b ` object. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:1051 +#: ../NEWS:1814 msgid "" ":gh:`54930`: Error responses of :class:`http.server.BaseHTTPRequestHandler` " "to malformed request lines now include a status line and headers instead of " @@ -1954,7 +3190,7 @@ msgid "" "word ``GET`` request line) now receives an HTTP/0.9 style response." msgstr "" -#: ../NEWS:1056 +#: ../NEWS:1819 msgid "" ":gh:`119592`: Fix :class:`concurrent.futures.ProcessPoolExecutor` stranding " "submitted work forever when a worker process exited upon reaching its " @@ -1968,26 +3204,26 @@ msgid "" "crash the executor management thread." msgstr "" -#: ../NEWS:1068 +#: ../NEWS:1831 msgid "" ":gh:`150579`: :mod:`concurrent.futures` now uses lazy imports for its " "executor submodules instead of a module ``__getattr__`` hook." msgstr "" -#: ../NEWS:1071 +#: ../NEWS:1834 msgid "" ":gh:`152951`: :class:`collections.deque` prevent rare crash when calling " "``extend`` under high memory pressure conditions." msgstr "" -#: ../NEWS:1074 +#: ../NEWS:1837 msgid "" ":gh:`150880`: Normalize non-extended Windows paths before appending the " "wildcard used by ``os.listdir()`` and ``os.scandir()``, making paths with " "trailing spaces behave consistently with other filesystem APIs." msgstr "" -#: ../NEWS:1078 +#: ../NEWS:1841 msgid "" ":gh:`152068`: Fixes a bug when a line was split (particularly on macOS " "Terminal.app) in the middle of a colorized keyword, causing the ANSI Color " @@ -1995,27 +3231,27 @@ msgid "" "colored when it shouldn't" msgstr "" -#: ../NEWS:1083 +#: ../NEWS:1846 msgid "" ":gh:`152849`: Out-of-range float and integer timestamps now raise :exc:" "`OverflowError` with the same message. Patch by tonghuaroot." msgstr "" -#: ../NEWS:1086 +#: ../NEWS:1849 msgid "" ":gh:`152847`: Reject a POSIX TZ transition rule with non-digit characters in " "the day-of-year field in the pure-Python :mod:`zoneinfo` parser. Patch by " "tonghuaroot." msgstr "" -#: ../NEWS:1090 +#: ../NEWS:1853 msgid "" ":gh:`152718`: Fix unbounded memory allocation in the :mod:`profiling." "sampling` binary profile reader when a file declares more string or frame " "entries than it contains." msgstr "" -#: ../NEWS:1094 +#: ../NEWS:1857 msgid "" ":gh:`108280`: Connecting :mod:`imaplib` to a server that does not send a " "valid IMAP4 greeting (for example a POP3 server answering on the IMAP port) " @@ -2023,7 +3259,7 @@ msgid "" "IMAP4.error: None``." msgstr "" -#: ../NEWS:1099 +#: ../NEWS:1862 msgid "" ":gh:`63121`: :mod:`imaplib` now refreshes the cached capability list after a " "successful :meth:`~imaplib.IMAP4.login` or :meth:`~imaplib.IMAP4." @@ -2034,7 +3270,7 @@ msgid "" "redundant ``CAPABILITY`` command." msgstr "" -#: ../NEWS:1108 +#: ../NEWS:1871 msgid "" ":gh:`88574`: :mod:`imaplib` no longer fails when a server sends a spurious " "blank line after the counted data of a literal, including after a literal " @@ -2042,7 +3278,7 @@ msgid "" "Such blank lines are now skipped without swallowing the following line." msgstr "" -#: ../NEWS:1113 +#: ../NEWS:1876 msgid "" ":gh:`152502`: Detect the :mod:`curses` mouse interface (:func:`~curses." "getmouse`, the ``BUTTON*`` constants, and others) with a configure " @@ -2052,13 +3288,13 @@ msgid "" "``windows-curses``)." msgstr "" -#: ../NEWS:1120 +#: ../NEWS:1883 msgid "" ":gh:`151842`: Fix a crash in :func:`!_interpreters.capture_exception` when :" "exc:`MemoryError` happens. Patch by Amrutha Modela." msgstr "" -#: ../NEWS:1123 +#: ../NEWS:1886 msgid "" ":gh:`40038`: :mod:`imaplib` now again quotes command arguments when " "necessary, for example mailbox names containing a space. Such quoting was " @@ -2068,7 +3304,7 @@ msgid "" "unchanged, so code that quotes arguments itself keeps working." msgstr "" -#: ../NEWS:1130 +#: ../NEWS:1893 msgid "" ":gh:`50966`: Fix unbounded recursion in :mod:`turtle` when a mouse event " "handler that moves the turtle is reentered while the screen is being " @@ -2076,7 +3312,7 @@ msgid "" "previously crash the interpreter." msgstr "" -#: ../NEWS:1135 +#: ../NEWS:1898 msgid "" ":gh:`152569`: Fix :func:`asyncio.wait` leaking waiting tasks via the await-" "graph when racing a future that never resolves. The waiting task is now " @@ -2084,7 +3320,7 @@ msgid "" "returns, even for pending futures." msgstr "" -#: ../NEWS:1140 +#: ../NEWS:1903 msgid "" ":gh:`110357`: Importing :mod:`hashlib` no longer logs an error to stderr " "when a normally guaranteed hash algorithm is unavailable in the current " @@ -2094,14 +3330,14 @@ msgid "" "`ValueError`." msgstr "" -#: ../NEWS:1147 +#: ../NEWS:1910 msgid "" ":gh:`152356`: Fix a hang in ``profiling.sampling run --blocking`` on Windows " "when the target process exits. The profiler now finalizes binary profiles " "instead of continuing to sample the exited process." msgstr "" -#: ../NEWS:1151 +#: ../NEWS:1914 msgid "" ":gh:`78335`: Update the docstrings of :mod:`tkinter` and :mod:`tkinter.ttk` " "widget classes to list all supported widget options, including options added " @@ -2109,20 +3345,20 @@ msgid "" "previously had no option list at all." msgstr "" -#: ../NEWS:1156 +#: ../NEWS:1919 msgid "" ":gh:`151126`: Fix two crashes in :mod:`tkinter` and :mod:`socket` modules " "initialization under a memory pressure. Sets missing :exc:`MemoryError`." msgstr "" -#: ../NEWS:1159 +#: ../NEWS:1922 msgid "" ":gh:`133031`: :class:`curses.textpad.Textbox` now enters and reads back the " "non-ASCII characters of an 8-bit locale encoding, instead of mangling them " "with a 7-bit mask." msgstr "" -#: ../NEWS:1163 +#: ../NEWS:1926 msgid "" ":gh:`71880`: :class:`curses.textpad.Textbox` now lets the lower-right cell " "of the window be edited. Writing it with :meth:`~curses.window.addch` would " @@ -2131,7 +3367,7 @@ msgid "" "which keeps the cursor in place." msgstr "" -#: ../NEWS:1169 +#: ../NEWS:1932 msgid "" ":gh:`83274`: Deallocating a :mod:`tkinter` application from a thread other " "than the one it was created in no longer crashes the interpreter. The " @@ -2139,14 +3375,14 @@ msgid "" "reported." msgstr "" -#: ../NEWS:1174 +#: ../NEWS:1937 msgid "" ":gh:`152305`: Fix the pure-Python :meth:`datetime.time.strftime` " "implementation raising :exc:`AttributeError` for the year directives. Patch " "by tonghuaroot." msgstr "" -#: ../NEWS:1178 +#: ../NEWS:1941 msgid "" ":gh:`88758`: :meth:`!tkinter.Misc.focus_get`, :meth:`!focus_displayof`, :" "meth:`!focus_lastfor` and :meth:`!winfo_containing` now return ``None`` " @@ -2154,21 +3390,21 @@ msgid "" "`tkinter` (for example a torn-off menu)." msgstr "" -#: ../NEWS:1183 +#: ../NEWS:1946 msgid "" ":gh:`38464`: :meth:`!tkinter.Misc.nametowidget` now resolves the auto-" "generated names of cloned menus (a menu used as a menubar or a cascade) back " "to the original widget." msgstr "" -#: ../NEWS:1187 +#: ../NEWS:1950 msgid "" ":gh:`152248`: Make the C and pure-Python :mod:`zoneinfo` parsers validate " "POSIX TZ abbreviations consistently, rejecting unquoted abbreviations with " "non-letter characters and empty quoted abbreviations. Patch by tonghuaroot." msgstr "" -#: ../NEWS:1192 +#: ../NEWS:1955 msgid "" ":gh:`80937`: Fix a memory leak in :mod:`tkinter` when a Tcl command created " "with ``createcommand`` was not explicitly removed before the interpreter was " @@ -2176,14 +3412,14 @@ msgid "" "reference cycle." msgstr "" -#: ../NEWS:1197 +#: ../NEWS:1960 msgid "" ":gh:`152246`: Fix the pure-Python :mod:`zoneinfo` parser accepting an " "invalid POSIX TZ transition rule with a non-period separator. Patch by " "tonghuaroot." msgstr "" -#: ../NEWS:1201 +#: ../NEWS:1964 msgid "" ":gh:`151496`: Fixed ``profiling.sampling --gecko`` with ``--async-aware`` by " "flattening async task stacks before generating Gecko samples. ``--binary`` " @@ -2191,7 +3427,7 @@ msgid "" "data." msgstr "" -#: ../NEWS:1206 +#: ../NEWS:1969 msgid "" ":gh:`139816`: Fix a hang in :mod:`tkinter` on interactive Python built " "without :mod:`readline`. An exception raised in a callback no longer causes " @@ -2199,7 +3435,7 @@ msgid "" "callbacks now keep running until input is actually available on stdin." msgstr "" -#: ../NEWS:1212 +#: ../NEWS:1975 msgid "" ":gh:`139145`: Fix a busy loop in :mod:`tkinter` on interactive Python. When " "a Tcl command running its own event loop (such as ``vwait`` or :meth:`!" @@ -2208,7 +3444,7 @@ msgid "" "is available. Based on a patch by Michiel de Hoon." msgstr "" -#: ../NEWS:1218 +#: ../NEWS:1981 msgid "" ":gh:`152212`: Fix the pure-Python :mod:`zoneinfo` parser accepting a POSIX " "TZ string with a ``std`` abbreviation but no offset. This is invalid per " @@ -2216,13 +3452,13 @@ msgid "" "tonghuaroot." msgstr "" -#: ../NEWS:1223 +#: ../NEWS:1986 msgid "" ":gh:`152156`: Fix a possible crash in :func:`concurrent.interpreters.create` " "under limited memory conditions." msgstr "" -#: ../NEWS:1226 +#: ../NEWS:1989 msgid "" ":gh:`152157`: The C implementations of :meth:`~datetime.datetime." "fromisoformat` and :meth:`~datetime.time.fromisoformat` now reject a decimal " @@ -2230,107 +3466,107 @@ msgid "" "designator." msgstr "" -#: ../NEWS:1231 +#: ../NEWS:1994 msgid "" ":gh:`151763`: Fix crash in :func:`!_interpqueues.create` whe :exc:" "`MemoryError` happens on queue creation." msgstr "" -#: ../NEWS:1234 +#: ../NEWS:1997 msgid "" ":gh:`151669`: On Windows, when populating tar archives from filesystem " "content, to conform to the tar format standard, backslashes in symlink " "targets are be replaced by slashes." msgstr "" -#: ../NEWS:1238 +#: ../NEWS:2001 msgid "" ":gh:`105895`: Add :keyword:`match` and :keyword:`case` to the list of " "supported topics by :func:`help`." msgstr "" -#: ../NEWS:1241 +#: ../NEWS:2004 msgid "" ":gh:`151378`: Fix a bug in the binary collector in Tachyon that caused " "unbounded memory growth while profiling a thread that stayed asleep. Patch " "by Maurycy Pawłowski-Wieroński." msgstr "" -#: ../NEWS:1245 +#: ../NEWS:2008 msgid "" ":gh:`152079`: Fix :meth:`datetime.datetime.fromisoformat` in the C " "implementation dropping the sub-second part of a UTC offset whose whole-" "second part is zero, matching the pure-Python implementation." msgstr "" -#: ../NEWS:1249 +#: ../NEWS:2012 msgid "" ":gh:`152052`: The :mod:`json` C accelerator now correctly reports an " "unterminated string for a ``\\uXXXX`` escape at the end of the input." msgstr "" -#: ../NEWS:1252 +#: ../NEWS:2015 msgid "" ":gh:`152060`: Fix :meth:`datetime.datetime.fromisoformat` raising :exc:" "`AssertionError` instead of :exc:`ValueError` for some malformed strings in " "the pure-Python implementation, matching the C implementation." msgstr "" -#: ../NEWS:1256 +#: ../NEWS:2019 msgid "" ":gh:`127802`: The deprecated :class:`tkinter.Variable` methods :meth:`!" "trace_variable`, :meth:`!trace`, :meth:`!trace_vdelete` and :meth:`!" "trace_vinfo` are now scheduled for removal in Python 3.17." msgstr "" -#: ../NEWS:1260 +#: ../NEWS:2023 msgid "" ":gh:`126219`: Fixed a crash in :class:`tkinter.Tk` when *className* contains " "a non-BMP character and tkinter is built against Tcl/Tk 8.x. Such a name is " "now rejected with a :exc:`ValueError`." msgstr "" -#: ../NEWS:1264 +#: ../NEWS:2027 msgid "" ":gh:`86165`: Fix :func:`imaplib.Time2Internaldate` to use the local timezone " "offset for ``time.struct_time`` values with ``tm_gmtoff`` set to ``None``, " "as returned by ``datetime.datetime.timetuple()``. Contributed by Xiao Yuan." msgstr "" -#: ../NEWS:1269 +#: ../NEWS:2032 msgid "" ":gh:`151814`: Fix unbounded memory growth in :class:`io.TextIOWrapper` when " "repeatedly writing an empty string." msgstr "" -#: ../NEWS:1272 +#: ../NEWS:2035 msgid "" ":gh:`151596`: Add missing ``size`` positional argument to the pure-Python " "implementation of :meth:`io.TextIOBase.readline`." msgstr "" -#: ../NEWS:1275 +#: ../NEWS:2038 msgid "" ":gh:`151640`: Fix a data race in :class:`io.BytesIO` in free-threaded builds " "when whole-buffer reads or peeks, or :meth:`~io.BytesIO.getvalue`, share the " "internal buffer with concurrent writes." msgstr "" -#: ../NEWS:1279 +#: ../NEWS:2042 msgid "" ":gh:`151613`: Fix another way the Tachyon profiler frame cache could produce " "impossible mixed stack traces when ``_PyInterpreterFrame`` addresses are " "reused, by validating cached frame anchors with a sequence counter." msgstr "" -#: ../NEWS:1283 +#: ../NEWS:2046 msgid "" ":gh:`148660`: Fix a crash in :meth:`!collections.OrderedDict.copy` when a " "key's ``__eq__`` or a subclass method mutates the dict during the copy. Now " "raises :exc:`RuntimeError` instead, as iteration does." msgstr "" -#: ../NEWS:1287 +#: ../NEWS:2050 msgid "" ":gh:`151497`: Opening a :mod:`tarfile` archive no longer attempts to pre-" "allocate a huge buffer when a crafted or truncated member claims an " @@ -2339,7 +3575,7 @@ msgid "" "longer trigger memory exhaustion." msgstr "" -#: ../NEWS:1293 +#: ../NEWS:2056 msgid "" ":gh:`151416`: Fix a crash in :func:`os.spawnv` and :func:`os.spawnve` when " "an *argv* item's :meth:`~os.PathLike.__fspath__` method mutates the *argv* " @@ -2348,31 +3584,31 @@ msgid "" "embedded null, are no longer replaced with a generic :exc:`TypeError`." msgstr "" -#: ../NEWS:1299 +#: ../NEWS:2062 msgid "" ":gh:`150994`: Make the type annotations in the private ``_colorize`` module " "resolvable." msgstr "" -#: ../NEWS:1302 +#: ../NEWS:2065 msgid "" ":gh:`150583`: Correctly set the default compression level in :mod:" "`compression.zstd` when passing a digested dictionary during compression." msgstr "" -#: ../NEWS:1306 +#: ../NEWS:2069 msgid "" ":gh:`150641`: Fix bug where :func:`typing.evaluate_forward_ref` with the " "``STRING`` format could leak internal names used by the annotation machinery." msgstr "" -#: ../NEWS:1310 +#: ../NEWS:2073 msgid "" ":gh:`149816`: Fix a potential use after free condition in :func:`pickle." "dumps` in free-threaded mode when serializing lists." msgstr "" -#: ../NEWS:1313 +#: ../NEWS:2076 msgid "" ":gh:`47005`: Fix :meth:`!urllib.request.AbstractHTTPHandler.do_open` to give " "regular headers set via :meth:`~urllib.request.Request.add_header` priority " @@ -2380,14 +3616,14 @@ msgid "" "get_header` and :meth:`~urllib.request.Request.header_items`." msgstr "" -#: ../NEWS:1319 +#: ../NEWS:2082 msgid "" ":gh:`140729`: Fix a pickling error in the ``cProfile`` module when profiling " "a script that uses :class:`multiprocessing.Process` with the ``spawn`` and " "``forkserver`` start methods." msgstr "" -#: ../NEWS:1323 +#: ../NEWS:2086 msgid "" ":gh:`115634`: Fix a deadlock in :class:`concurrent.futures." "ProcessPoolExecutor` when using ``max_tasks_per_child``, present since the " @@ -2396,19 +3632,19 @@ msgid "" "Based on a fix proposed by Tabrez Mohammed." msgstr "" -#: ../NEWS:1330 +#: ../NEWS:2093 msgid "" ":gh:`79638`: Disallow all access in :mod:`urllib.robotparser` if the " "``robots.txt`` file is unreachable due to server or network errors." msgstr "" -#: ../NEWS:1333 +#: ../NEWS:2096 msgid "" ":gh:`105708`: Accept an uppercase V prefix in IPvFuture addresses in :func:" "`urllib.parse.urlsplit`." msgstr "" -#: ../NEWS:1339 +#: ../NEWS:2102 msgid "" ":gh:`151626`: Fix several tests in ``test.test_inspect``, ``test." "test_import``, ``test.test_importlib``, ``test.test_py_compile`` and ``test." @@ -2417,25 +3653,25 @@ msgid "" "where they assume the default ``__pycache__`` bytecode layout." msgstr "" -#: ../NEWS:1345 +#: ../NEWS:2108 msgid "" ":gh:`151096`: Fix ``test_embed`` failing when CPython is configured with a " "split exec prefix (``--exec-prefix`` differing from ``--prefix``)." msgstr "" -#: ../NEWS:1351 +#: ../NEWS:2114 msgid "" ":gh:`126877`: Fix the :program:`configure` check for Tcl/Tk which could " "wrongly succeed with optimizing compilers when the libraries are missing." msgstr "" -#: ../NEWS:1354 +#: ../NEWS:2117 msgid "" ":gh:`153438`: Update Windows build and installer tooling and documentation " "to use the current download URL for ``nuget.exe``." msgstr "" -#: ../NEWS:1357 +#: ../NEWS:2120 msgid "" ":gh:`152870`: Fix a compilation error in the :mod:`decimal` C extension " "(``_decimal``) when it is built with ``EXTRA_FUNCTIONALITY``. ``Context." @@ -2444,7 +3680,7 @@ msgid "" "function." msgstr "" -#: ../NEWS:1363 +#: ../NEWS:2126 msgid "" ":gh:`152769`: Enable the :ref:`perf profiler ` trampoline on " "Alpine Linux with the musl C library on ``x86_64`` and ``aarch64``. The " @@ -2452,7 +3688,7 @@ msgid "" "the same assembly trampoline used for glibc is reused for musl." msgstr "" -#: ../NEWS:1368 +#: ../NEWS:2131 msgid "" ":gh:`152502`: The :mod:`curses` module now detects ``set_escdelay()``, " "``set_tabsize()`` and the ``ESCDELAY`` and ``TABSIZE`` variables with :" @@ -2461,7 +3697,7 @@ msgid "" "curses implementations such as NetBSD curses that provide them." msgstr "" -#: ../NEWS:1377 +#: ../NEWS:2140 msgid "" ":gh:`140146`: Prevent :mod:`tkinter` from hanging on Windows if stdin is " "redirected to a pipe in an interactive session. This is helpful for testing " @@ -2469,79 +3705,79 @@ msgid "" "cpython test suite." msgstr "" -#: ../NEWS:1385 +#: ../NEWS:2148 msgid ":gh:`124111`: Update macOS installer to use Tcl/Tk 9.0.4." msgstr "" -#: ../NEWS:1387 +#: ../NEWS:2150 msgid "" ":gh:`152023`: Update macOS installer builds to SQLite 3.53.3. Enable " "median() and percentile() functions." msgstr "" -#: ../NEWS:1393 +#: ../NEWS:2156 msgid "" ":gh:`82183`: When the shell is busy running code, using \"Run... " "Customized\" with \"Restart shell\" unchecked now reports that the shell is " "executing instead of restarting it anyway." msgstr "" -#: ../NEWS:1397 +#: ../NEWS:2160 msgid "" ":gh:`83653`: Blanking an integer entry in IDLE's Settings dialog, such as " "\"Auto squeeze min lines\", no longer saves an empty string as an invalid " "configuration value." msgstr "" -#: ../NEWS:1401 +#: ../NEWS:2164 msgid "" ":gh:`65339`: Saving the IDLE Shell or an Output window now defaults to a ``." "txt`` extension and lists text files before Python files, since their " "content is not Python source." msgstr "" -#: ../NEWS:1405 +#: ../NEWS:2168 msgid "" ":gh:`80504`: The \"In files:\" field of IDLE's Find in Files dialog now " "always contains a full directory path, even for an unsaved editor or the " "Shell. This shows in the grep output which directory was searched." msgstr "" -#: ../NEWS:1409 +#: ../NEWS:2172 msgid "" ":gh:`134300`: Do not add the ``idlelib`` directory to the path of the IDLE " "user process. User code run in IDLE can no longer import ``idlelib`` " "submodules as top-level modules, such as ``import help``." msgstr "" -#: ../NEWS:1413 +#: ../NEWS:2176 msgid "" ":gh:`89360`: Fix a rare crash in the IDLE editor when the completion window " "is closed: deleting a key binding for a sequence that is not bound to the " "virtual event is now ignored instead of raising a ``ValueError``." msgstr "" -#: ../NEWS:1417 +#: ../NEWS:2180 msgid "" ":gh:`71956`: Fix Replace All in the IDLE editor's Replace dialog when the " "search direction is \"Up\" and \"Wrap around\" is off: it now replaces all " "matches above the current position instead of only the first one." msgstr "" -#: ../NEWS:1421 +#: ../NEWS:2184 msgid "" ":gh:`152728`: Move functions run.fix_scaling, editor.fixwordbreaks (as " "fix_word_breaks) and pyshell.fix_x11_paste to idlelib.util." msgstr "" -#: ../NEWS:1424 +#: ../NEWS:2187 msgid "" ":gh:`66331`: Set the ``WM_CLASS`` window property of IDLE's windows to " "``Idle`` on X11, so that window managers group and label them correctly " "instead of using the default ``Toplevel``." msgstr "" -#: ../NEWS:1428 +#: ../NEWS:2191 msgid "" ":gh:`85320`: IDLE now reads and writes its configuration files and the " "breakpoints file using UTF-8 instead of the locale encoding. This keeps non-" @@ -2549,35 +3785,35 @@ msgid "" "files portable between environments." msgstr "" -#: ../NEWS:1436 +#: ../NEWS:2199 msgid "" ":gh:`152132`: Fix :c:func:`Py_RunMain` to return an exit code, rather than " "calling :c:func:`Py_Exit`, when running a script, a command, or the REPL. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:1440 +#: ../NEWS:2203 msgid "" ":gh:`145633`: :c:func:`PyFloat_Pack8` and ``PyFloat_Unpack*`` functions are " "no longer guaranteed to always succeed on CPython." msgstr "" -#: ../NEWS:1443 +#: ../NEWS:2206 msgid "" ":gh:`153300`: :c:func:`PyConfig_Set()` now also set global configuration " "variables. For example, ``PyConfig_Set(\"inspect\", value)`` now also sets :" "c:var:`Py_InspectFlag`. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1449 +#: ../NEWS:2212 msgid "Python 3.15.0 beta 3" msgstr "" -#: ../NEWS:1451 +#: ../NEWS:2214 msgid "*Release date: 2026-06-23*" msgstr "" -#: ../NEWS:1456 +#: ../NEWS:2219 msgid "" ":gh:`151544`: :file:`Modules/Setup.local` is no longer used as a landmark to " "discover whether Python is running in a source tree, as it could potentially " @@ -2585,68 +3821,68 @@ msgid "" "indicator of running in a source tree." msgstr "" -#: ../NEWS:1461 +#: ../NEWS:2224 msgid ":gh:`151159`: Update macOS installer to use OpenSSL 3.5.7." msgstr "" -#: ../NEWS:1463 +#: ../NEWS:2226 msgid ":gh:`151159`: Update Android and iOS installers to use OpenSSL 3.5.7." msgstr "" -#: ../NEWS:1465 +#: ../NEWS:2228 msgid "" ":gh:`150599`: Fix a possible stack buffer overflow in :mod:`bz2` when a :" "class:`bz2.BZ2Decompressor` is reused after a decompression error. The " "decompressor now becomes unusable after libbz2 reports an error." msgstr "" -#: ../NEWS:1469 +#: ../NEWS:2232 msgid "" ":gh:`149835`: :func:`shutil.move` now resolves symlinks via :func:`os.path." "realpath` when checking whether the destination is inside the source " "directory, preventing a symlink-based bypass of that guard." msgstr "" -#: ../NEWS:1476 +#: ../NEWS:2239 msgid "" ":gh:`151905`: Fix OOM error handling in :c:func:`PyFrame_GetBack` to " "propagate exceptions instead of masking them as None." msgstr "" -#: ../NEWS:1479 +#: ../NEWS:2242 msgid "" ":gh:`151722`: Defer GC tracking of :class:`frozendict` to end of " "construction. Patch by Donghee Na." msgstr "" -#: ../NEWS:1482 +#: ../NEWS:2245 msgid "" ":gh:`151546`: Fix the stack limit check if Python is linked to musl (ex: " "Alpine Linux). Use the stack size set by the linker to compute the stack " "limits. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1486 +#: ../NEWS:2249 msgid "" ":gh:`151510`: Fix a crash in :func:`!__lazy_import__` when called without an " "explicit ``globals`` argument and without a current Python frame." msgstr "" -#: ../NEWS:1489 +#: ../NEWS:2252 msgid "" ":gh:`151461`: Fix direct execution of files with invalid source encodings to " "report the underlying codec lookup or decoding error instead of the generic " "``SyntaxError: encoding problem`` message. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:1494 +#: ../NEWS:2257 msgid "" ":gh:`151218`: :c:func:`PyConfig_Set` and :func:`sys.set_int_max_str_digits` " "now replace :data:`sys.flags` (create a new object), instead of modifying :" "data:`sys.flags` in-place. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1498 +#: ../NEWS:2261 msgid "" ":gh:`151297`: Fix an invalid pointer dereference that could occur when " "calling :c:func:`PyObject_Realloc` with a NULL pointer in :term:`free-" @@ -2654,56 +3890,56 @@ msgid "" "``mimalloc``." msgstr "" -#: ../NEWS:1503 +#: ../NEWS:2266 msgid "" ":gh:`151253`: If ``import encodings`` (first import) fails at Python " "startup, dump the Python path configuration to help users debugging their " "configuration. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1507 +#: ../NEWS:2270 msgid "" ":gh:`151238`: Fix a crash when compiling a concatenated f-string or t-string " "if an error occurs when processing one of it's parts." msgstr "" -#: ../NEWS:1510 +#: ../NEWS:2273 msgid "" ":gh:`151112`: Fix a crash in the compiler that could occur when running out " "of memory." msgstr "" -#: ../NEWS:1513 +#: ../NEWS:2276 msgid "" ":gh:`151126`: Fix a crash, when there's no memory left on a device, which " "happened in: code compilation, :mod:`!_interpchannels` module, :func:`!" "_winapi.CreateProcess` function." msgstr "" -#: ../NEWS:1517 +#: ../NEWS:2280 msgid "Now these places raise proper :exc:`MemoryError` errors." msgstr "" -#: ../NEWS:1519 +#: ../NEWS:2282 msgid "" ":gh:`150902`: Apply an existing optimization of PyCriticalSection (single " "mutex) to PyCriticalSection2: avoid acquiring the same locks that the " "current CS has already acquired." msgstr "" -#: ../NEWS:1523 +#: ../NEWS:2286 msgid "" ":gh:`151065`: Fix memory leak when using the :ref:`mimalloc memory allocator " "`." msgstr "" -#: ../NEWS:1526 +#: ../NEWS:2289 msgid "" ":gh:`150988`: Fix a reference leak in :exc:`OSError` when attributes are set " "before ``super().__init__()``." msgstr "" -#: ../NEWS:1529 +#: ../NEWS:2292 msgid "" ":gh:`150723`: Fix perf jitdump timestamps on macOS. Events were stamped " "using ``CLOCK_MONOTONIC``, but macOS profilers timestamp their samples with " @@ -2711,7 +3947,7 @@ msgid "" "lining up with the samples, so no Python frame could be resolved." msgstr "" -#: ../NEWS:1534 +#: ../NEWS:2297 msgid "" ":gh:`150723`: Fix malformed perf jitdump thread ids on macOS. The " "``thread_id`` field of the ``JR_CODE_LOAD`` record was written as a 64-bit " @@ -2720,7 +3956,7 @@ msgid "" "frames." msgstr "" -#: ../NEWS:1540 +#: ../NEWS:2303 msgid "" ":gh:`150700`: Fix a :exc:`SystemError` when compiling a class-scope " "comprehension containing a ``lambda`` that references ``__class__``, " @@ -2728,57 +3964,57 @@ msgid "" "Sławecki." msgstr "" -#: ../NEWS:1545 +#: ../NEWS:2308 msgid "" ":gh:`150633`: Fix the frozen importer accepting module names with embedded " "null bytes, which caused it to bypass the :data:`sys.modules` cache and " "create duplicate module objects." msgstr "" -#: ../NEWS:1549 +#: ../NEWS:2312 msgid "" ":gh:`148613`: Fix a data race in the free-threaded build between :func:`gc." "set_threshold` and garbage collection scheduling during object allocation." msgstr "" -#: ../NEWS:1553 +#: ../NEWS:2316 msgid "" ":gh:`150207`: Fix a crash when a memory allocation fails during tokenizer " "initialization. A proper :exc:`MemoryError` is now raised instead." msgstr "" -#: ../NEWS:1556 +#: ../NEWS:2319 msgid "" ":gh:`149805`: Fix a :exc:`SystemError` when compiling a compiling " "``__classdict__`` class annotation. Found by OSS-Fuzz in :oss-fuzz:" "`512907042`." msgstr "" -#: ../NEWS:1560 +#: ../NEWS:2323 msgid ":gh:`149321`: Do not support ``none`` as a lazy imports mode." msgstr "" -#: ../NEWS:1565 +#: ../NEWS:2328 msgid "" ":gh:`75666`: Fix a reference leak in :mod:`tkinter`: the Tcl commands " "created for event callbacks are now deleted when a binding is replaced or " "unbound." msgstr "" -#: ../NEWS:1568 +#: ../NEWS:2331 msgid "" ":gh:`151770`: Fix :meth:`datetime.datetime.fromisoformat` raising :exc:" "`AssertionError` instead of :exc:`ValueError` for an out-of-range month " "combined with a ``24:00`` time." msgstr "" -#: ../NEWS:1572 +#: ../NEWS:2335 msgid "" ":gh:`151665`: :func:`inspect.signature` now works on the lazy evaluators of " "type aliases and type parameters instead of raising :exc:`ValueError`." msgstr "" -#: ../NEWS:1575 +#: ../NEWS:2338 msgid "" ":gh:`151695`: Fix a use-after-free in the :mod:`curses` module. The " "encoding of the initial screen, used by :func:`curses.unctrl` and :func:" @@ -2787,7 +4023,7 @@ msgid "" "deallocated." msgstr "" -#: ../NEWS:1581 +#: ../NEWS:2344 msgid "" ":gh:`151436`: Fix skewed stack trackes in the Tachyon profiler when caching " "is enabled and when generators and coroutines are profiled, by updating " @@ -2796,7 +4032,7 @@ msgid "" "Wieroński." msgstr "" -#: ../NEWS:1587 +#: ../NEWS:2350 msgid "" ":gh:`151426`: Fix impossible stack traces (callers and callees cross called, " "orphans and incorrect lines) in the Tachyon profiler when caching frames, by " @@ -2804,43 +4040,43 @@ msgid "" "miss. Patch by Maurycy Pawłowski-Wieroński." msgstr "" -#: ../NEWS:1592 +#: ../NEWS:2355 msgid "" ":gh:`151403`: Fixed a crash in :class:`subprocess.Popen` (and " "``_posixsubprocess.fork_exec``) when an ``argv`` item's :meth:`~os.PathLike." "__fspath__` concurrently mutates the ``args`` sequence being converted." msgstr "" -#: ../NEWS:1597 +#: ../NEWS:2360 msgid "" ":gh:`151390`: Colorize ``match`` in the :term:`REPL` when followed by a " "unary ``+`` or ``-`` operator. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:1600 +#: ../NEWS:2363 msgid "" ":gh:`151126`: Fix crash on unset :exc:`MemoryError` on allocation failure " "in :func:`ctypes.get_errno`." msgstr "" -#: ../NEWS:1603 +#: ../NEWS:2366 msgid ":gh:`151337`: Avoid possible memory leak in ``tkinter.c`` on Windows." msgstr "" -#: ../NEWS:1605 +#: ../NEWS:2368 msgid "" ":gh:`151126`: Fix a crash when :exc:`MemoryError` in :func:`!os." "_path_splitroot` was not set properly." msgstr "" -#: ../NEWS:1608 +#: ../NEWS:2371 msgid "" ":gh:`149671`: Restore compatibility with setuptools ``-nspkg.pth`` files in " "the :mod:`site` module. Inject ``sitedir`` variable in the frame which " "executes pth code. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1612 +#: ../NEWS:2375 msgid "" ":gh:`151295`: Fixed a crash (use-after-free) in :meth:`bytes.join` and :meth:" "`bytearray.join` that could occur if an item's :meth:`~object.__buffer__` " @@ -2848,13 +4084,13 @@ msgid "" "as a :exc:`RuntimeError` instead." msgstr "" -#: ../NEWS:1617 +#: ../NEWS:2380 msgid "" ":gh:`109940`: Fix Windows :mod:`venv` activation in ``cmd.exe`` to respect " "``VIRTUAL_ENV_DISABLE_PROMPT``." msgstr "" -#: ../NEWS:1620 +#: ../NEWS:2383 msgid "" ":gh:`150771`: Fix :mod:`email` messages created with ``shift_jis`` or ``euc-" "jp`` charsets. ``set_content()`` now stores the payload using the output " @@ -2862,39 +4098,39 @@ msgid "" "`UnicodeEncodeError`." msgstr "" -#: ../NEWS:1625 +#: ../NEWS:2388 msgid "" ":gh:`151039`: Fix a crash when static :mod:`datetime` types outlive the " "``_datetime`` module." msgstr "" -#: ../NEWS:1628 +#: ../NEWS:2391 msgid "" ":gh:`151021`: Fix :meth:`mmap.mmap.find` and :meth:`~mmap.mmap.rfind` to " "return ``-1`` when searching for an empty subsequence with a start position " "past the end of the mapping." msgstr "" -#: ../NEWS:1632 +#: ../NEWS:2395 msgid "" ":gh:`62825`: Encodings \"KS_C_5601-1987\", \"KS X 1001\", etc are now " "aliases of \"CP949\" instead of \"EUC-KR\"." msgstr "" -#: ../NEWS:1635 +#: ../NEWS:2398 msgid "" ":gh:`150913`: Fix :class:`sqlite3.Blob` slice assignment to raise :exc:" "`TypeError` and :exc:`IndexError` for type and size mismatches respectively, " "even when the target slice is empty." msgstr "" -#: ../NEWS:1639 +#: ../NEWS:2402 msgid "" ":gh:`143008`: Fix race conditions when re-initializing a :class:`io." "TextIOWrapper` object." msgstr "" -#: ../NEWS:1642 +#: ../NEWS:2405 msgid "" ":gh:`150662`: Fix the ``--gecko`` collector in :mod:`profiling.sampling` " "that kept every sample in memory. It now writes sample and marker data to " @@ -2902,69 +4138,69 @@ msgid "" "the end. Patch by Pablo Galindo and Maurycy Pawłowski-Wieroński." msgstr "" -#: ../NEWS:1647 +#: ../NEWS:2410 msgid "" ":gh:`150750`: Fix a race condition in :meth:`collections.deque.index` with " "free-threading." msgstr "" -#: ../NEWS:1650 +#: ../NEWS:2413 msgid "" ":gh:`148932`: Fix ``profiling.sampling`` on Windows virtual environments to " "resolve the actual Python PID from a virtual environment shim." msgstr "" -#: ../NEWS:1653 +#: ../NEWS:2416 msgid ":gh:`149816`: Fix race condition in :attr:`ssl.SSLContext.sni_callback`" msgstr "" -#: ../NEWS:1655 +#: ../NEWS:2418 msgid "" ":gh:`53144`: The :mod:`email` package now supports all aliases of Python " "codecs and uses MIME/IANA names for all IANA registered charsets." msgstr "" -#: ../NEWS:1658 +#: ../NEWS:2421 msgid "" ":gh:`149891`: Add support for more encoding aliases `officially registered " "in IANA `__." msgstr "" -#: ../NEWS:1662 +#: ../NEWS:2425 msgid "" ":gh:`149473`: Calling ``os.environ.clear()`` now emits ``os._clearenv`` " "auditing event. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1665 +#: ../NEWS:2428 msgid "" ":gh:`148954`: Fix XML injection vulnerability in :func:`xmlrpc.client.dumps` " "where the ``methodname`` was not being escaped before interpolation into the " "XML body." msgstr "" -#: ../NEWS:1669 +#: ../NEWS:2432 msgid "" ":gh:`143988`: Fixed crashes in :meth:`socket.socket.sendmsg` and :meth:" "`socket.socket.recvmsg_into` that could occur if buffer sequences are " "concurrently mutated." msgstr "" -#: ../NEWS:1673 +#: ../NEWS:2436 msgid "" ":gh:`120665`: Fixed an issue where ``unittest`` loaders would load and " "instantiate :class:`unittest.TestCase`-derived subclasses that are also " "abstract base classes, which can't be instantiated." msgstr "" -#: ../NEWS:1677 +#: ../NEWS:2440 msgid "" ":gh:`91099`: :meth:`imaplib.IMAP4.login` now raises exceptions with :class:" "`str` instead of :class:`bytes`. Patch by Florian Best." msgstr "" -#: ../NEWS:1680 +#: ../NEWS:2443 msgid "" ":gh:`101267`: When a worker process terminates unexpectedly, :class:" "`concurrent.futures.ProcessPoolExecutor` now sets a separate :exc:" @@ -2975,7 +4211,7 @@ msgid "" "appending another copy of the traceback to it." msgstr "" -#: ../NEWS:1691 +#: ../NEWS:2454 msgid "" ":gh:`86726`: Greatly expand the :mod:`tkinter` documentation to cover the " "full public API of the package and its submodules. The descriptions are " @@ -2983,104 +4219,104 @@ msgid "" "``versionadded``/``versionchanged`` information." msgstr "" -#: ../NEWS:1696 +#: ../NEWS:2459 msgid "" ":gh:`150319`: Generic builtin and standard library types now document the " "meaning of their type parameters." msgstr "" -#: ../NEWS:1699 +#: ../NEWS:2462 msgid "" ":gh:`109503`: Fix documentation for :func:`shutil.move` on usage of :func:" "`os.rename` since nonatomic move might be used even if the files are on the " "same filesystem. Patch by Fang Li" msgstr "" -#: ../NEWS:1706 +#: ../NEWS:2469 msgid ":gh:`151130`: Add more tests for ``PyWeakref_*`` C API." msgstr "" -#: ../NEWS:1708 +#: ../NEWS:2471 msgid "" ":gh:`150966`: Avoid prematurely terminating failing live sampling profiler " "test targets, which made stderr assertions flaky on ASAN buildbots." msgstr "" -#: ../NEWS:1711 +#: ../NEWS:2474 msgid "" ":gh:`148853`: Fix tests failing on FreeBSD in test.support's " "in_systemd_nspawn_sync_suppressed() due to unreadable /run directory." msgstr "" -#: ../NEWS:1717 +#: ../NEWS:2480 msgid ":gh:`151163`: Updated Android build to include SQLite version 3.53.2." msgstr "" -#: ../NEWS:1722 +#: ../NEWS:2485 msgid ":gh:`151163`: Updated Windows builds to include SQLite version 3.53.2." msgstr "" -#: ../NEWS:1724 +#: ../NEWS:2487 msgid ":gh:`151159`: Updated bundled version of OpenSSL to 3.5.7." msgstr "" -#: ../NEWS:1726 +#: ../NEWS:2489 msgid "" ":gh:`150836`: Make installed tkinter work with Tcl/Tk 9 builds that embed " "the Tk script library in the Tk DLL on Windows." msgstr "" -#: ../NEWS:1732 +#: ../NEWS:2495 msgid ":gh:`151163`: Updated macOS installer to include SQLite version 3.53.2." msgstr "" -#: ../NEWS:1737 +#: ../NEWS:2500 msgid ":issue:`6699`: Warn the user if a file will be overwritten when saving." msgstr "" -#: ../NEWS:1742 +#: ../NEWS:2505 msgid "" ":gh:`141510`: Add :class:`frozendict` to the fast paths of :c:func:" "`PyMapping_GetOptionalItem`, :c:func:`PyMapping_Keys`, :c:func:" "`PyMapping_Values`, and :c:func:`PyMapping_Items`." msgstr "" -#: ../NEWS:1746 +#: ../NEWS:2509 msgid "" ":gh:`123619`: :c:func:`PyUnstable_Object_EnableDeferredRefcount` now returns " "``0`` if the object is not tracked by the garbage collector: if :func:`gc." "is_tracked` is false. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1750 +#: ../NEWS:2513 msgid "" ":gh:`149044`: Improved error message when specifying non-type base classes " "in :c:macro:`Py_tp_bases`, :c:macro:`Py_tp_base`, and *bases* argument to :c:" "func:`PyType_FromMetaclass` and other ``PyType_From*`` functions." msgstr "" -#: ../NEWS:1754 +#: ../NEWS:2517 msgid "" ":gh:`150907`: Fix ``dynamic_annotations.h`` header file when built with C++ " "and Valgrind: add ``extern \"C++\" scope`` for the C++ template. Patch by " "Victor Stinner." msgstr "" -#: ../NEWS:1760 +#: ../NEWS:2523 msgid "Python 3.15.0 beta 2" msgstr "" -#: ../NEWS:1762 +#: ../NEWS:2525 msgid "*Release date: 2026-06-02*" msgstr "" -#: ../NEWS:1767 +#: ../NEWS:2530 msgid "" ":gh:`149698`: Update bundled `libexpat `_ to " "version 2.8.1 for the fix for :cve:`2026-45186`." msgstr "" -#: ../NEWS:1770 +#: ../NEWS:2533 msgid "" ":gh:`87451`: The :mod:`ftplib` module's undocumented ``ftpcp`` function no " "longer trusts the IPv4 address value returned from the source server in " @@ -3091,14 +4327,14 @@ msgid "" "Aurascape AI for the report." msgstr "" -#: ../NEWS:1778 +#: ../NEWS:2541 msgid "" ":gh:`149474`: Fix the binary writer in :mod:`profiling.sampling` not firing " "the audit (:pep:`578`) when creating the output file. The writer and the " "reader now accept any path-like object. Patch by Maurycy Pawłowski-Wieroński." msgstr "" -#: ../NEWS:1783 +#: ../NEWS:2546 msgid "" ":gh:`149486`: :func:`tarfile.data_filter` now validates link targets using " "the same normalised value that is written to disk, strips trailing " @@ -3108,7 +4344,7 @@ msgid "" "filter." msgstr "" -#: ../NEWS:1790 +#: ../NEWS:2553 msgid "" ":gh:`149079`: Fix a potential denial of service in :func:`unicodedata." "normalize`. The canonical ordering step of Unicode normalization used a " @@ -3118,27 +4354,27 @@ msgid "" "runs." msgstr "" -#: ../NEWS:1797 +#: ../NEWS:2560 msgid "" ":gh:`149018`: Improved protection against XML hash-flooding attacks in :mod:" "`xml.parsers.expat` and :mod:`xml.etree.ElementTree` when Python is compiled " "with libExpat 2.8.0 or later." msgstr "" -#: ../NEWS:1804 +#: ../NEWS:2567 msgid "" ":gh:`150374`: Fix double release of the import lock on lazy import " "reification errors." msgstr "" -#: ../NEWS:1807 +#: ../NEWS:2570 msgid "" ":gh:`149156`: Fix an intermittent crash after :func:`os.fork` when perf " "trampoline profiling is enabled and the child returns through trampoline " "frames inherited from the parent process." msgstr "" -#: ../NEWS:1811 +#: ../NEWS:2574 msgid "" ":gh:`149449`: Fix a use-after-free crash when the :mod:`unicodedata` module " "was removed from :data:`sys.modules` and garbage-collected between calls " @@ -3146,110 +4382,110 @@ msgid "" "handler." msgstr "" -#: ../NEWS:1816 +#: ../NEWS:2579 msgid "" ":gh:`150107`: :mod:`asyncio`: ``sendfile()`` and ``sock_sendfile()`` event " "loop methods now call ``file.seek(offset)`` if *file* has a ``seek()`` " "method, even if *offset* is ``0`` (default value)." msgstr "" -#: ../NEWS:1820 +#: ../NEWS:2583 msgid ":gh:`150146`: Fix a crash on a complex type variable substitution." msgstr "" -#: ../NEWS:1822 +#: ../NEWS:2585 msgid "" "``from typing import TypeVar; memoryview[TypeVar(\"\")][*typing." "Mapping[..., ...]]`` used to fail due to missing ``NULL`` check on " "``_unpack_args`` C function call." msgstr "" -#: ../NEWS:1826 +#: ../NEWS:2589 msgid "" ":gh:`148587`: :py:attr:`sys.lazy_modules` is now a set instead of a dict as " "initially spelled out in PEP 810." msgstr "" -#: ../NEWS:1829 +#: ../NEWS:2592 msgid "" ":gh:`150042`: Fix refleak in queue.SimpleQueue.put if memory allocation " "fails." msgstr "" -#: ../NEWS:1832 +#: ../NEWS:2595 msgid ":gh:`149590`: Fix crash when faulthandler is imported more than once." msgstr "" -#: ../NEWS:1834 +#: ../NEWS:2597 msgid "" ":gh:`149816`: Fix a race condition in ``_PyBytes_FromList`` in free-" "threading mode." msgstr "" -#: ../NEWS:1837 +#: ../NEWS:2600 msgid "" ":gh:`149816`: Fix a race condition in :class:`memoryview` with free-" "threading." msgstr "" -#: ../NEWS:1840 +#: ../NEWS:2603 msgid "" ":gh:`149807`: Fix ``hash(frozendict)``: compute the hash of each ``(key, " "value)`` pair correctly. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1843 +#: ../NEWS:2606 msgid "" ":gh:`149738`: :mod:`sqlite3`: Disallow removing ``row_factory`` and " "``text_factory`` attributes of a connection to prevent a crash on a query." msgstr "" -#: ../NEWS:1846 +#: ../NEWS:2609 msgid "" ":gh:`139808`: Add branch protections for AArch64 (BTI/PAC) in assembly code " "used by :option:`-X perf_jit <-X>` (Linux perf profiler integration)." msgstr "" -#: ../NEWS:1849 +#: ../NEWS:2612 msgid ":gh:`149676`: Fix ``frozendict | frozendict`` hash." msgstr "" -#: ../NEWS:1851 +#: ../NEWS:2614 msgid "" ":gh:`148829`: :class:`sentinel` objects now support a ``repr=`` argument and " "their :attr:`~sentinel.__module__` attribute is writable." msgstr "" -#: ../NEWS:1854 +#: ../NEWS:2617 msgid "" ":gh:`149642`: Allow imports inside ``exec()`` calls within functions under " "``PYTHON_LAZY_IMPORTS=all``." msgstr "" -#: ../NEWS:1857 +#: ../NEWS:2620 msgid "" ":gh:`144957`: Fix lazy ``from`` imports of module attributes provided by " "module-level ``__getattr__``." msgstr "" -#: ../NEWS:1860 +#: ../NEWS:2623 msgid "" ":gh:`149459`: Fix a crash in the JIT optimizer when a specialized " "``LOAD_SPECIAL`` guard deoptimized after inserting the synthetic ``NULL`` " "stack entry." msgstr "" -#: ../NEWS:1864 +#: ../NEWS:2627 msgid "" ":gh:`148450`: Fix ``abc.register()`` so it invalidates type version tags for " "registered classes." msgstr "" -#: ../NEWS:1870 +#: ../NEWS:2633 msgid ":gh:`150685`: Update bundled pip to 26.1.2" msgstr "" -#: ../NEWS:1872 +#: ../NEWS:2635 msgid "" ":gh:`150228`: The new :class:`site.StartupState` class lets callers batch-" "process :pep:`829` startup configuration files across multiple site " @@ -3262,34 +4498,34 @@ msgid "" "have been removed; use :class:`!site.StartupState` instead." msgstr "" -#: ../NEWS:1884 +#: ../NEWS:2647 msgid "" ":gh:`150406`: Fix a possible crash occurring during :mod:`socket` module " "initialization when the system is out of memory on platforms without a " "reentrant ``gethostbyname``." msgstr "" -#: ../NEWS:1888 +#: ../NEWS:2651 msgid "" ":gh:`150372`: :mod:`readline`: Fix a potential crash during tab completion " "caused by an out-of-memory error during module initialization." msgstr "" -#: ../NEWS:1891 +#: ../NEWS:2654 msgid "" ":gh:`150157`: Fix a crash in free-threaded builds that occurs when pickling " "by name objects without a ``__module__`` attribute while :data:`sys.modules` " "is concurrently being modified." msgstr "" -#: ../NEWS:1895 +#: ../NEWS:2658 msgid "" ":gh:`150175`: Fix race condition in :class:`unittest.mock.ThreadingMock` " "where concurrent calls could lose increments to ``call_count`` and other " "attributes due to a missing lock in ``_increment_mock_call``." msgstr "" -#: ../NEWS:1899 +#: ../NEWS:2662 msgid "" ":gh:`84353`: Preserve non-UTF-8 encoded filenames when appending to a :class:" "`zipfile.ZipFile`. Previously, non-ASCII names stored in a legacy encoding " @@ -3298,43 +4534,43 @@ msgid "" "UTF-8." msgstr "" -#: ../NEWS:1905 +#: ../NEWS:2668 msgid "" ":gh:`149189`: Revert the changes to :mod:`pprint` defaults. Patch by Hugo " "van Kemenade." msgstr "" -#: ../NEWS:1908 +#: ../NEWS:2671 msgid ":gh:`149995`: Update various docstrings in :mod:`typing`." msgstr "" -#: ../NEWS:1910 +#: ../NEWS:2673 msgid "" ":gh:`88726`: The :mod:`email` package now uses standard MIME charset names " "\"gb2312\" and \"big5\" instead of non-standard names \"eucgb2312_cn\" and " "\"big5_tw\"." msgstr "" -#: ../NEWS:1914 +#: ../NEWS:2677 msgid "" ":gh:`149571`: Fix the C implementation of :meth:`xml.etree.ElementTree." "Element.itertext`: it no longer emits text for comments and processing " "instructions." msgstr "" -#: ../NEWS:1918 +#: ../NEWS:2681 msgid "" ":gh:`149921`: Fix reference leaks in error paths of the :mod:`!" "_interpchannels` and :mod:`!_interpqueues` extension modules." msgstr "" -#: ../NEWS:1921 +#: ../NEWS:2684 msgid "" ":gh:`142349`: Add :keyword:`lazy` to the list of support topic by :func:" "`help`." msgstr "" -#: ../NEWS:1924 +#: ../NEWS:2687 msgid "" ":gh:`149819`: Fix regression in :func:`site.addsitedir` where ``.pth`` files " "were no longer processed in Python subprocesses. This happened because :func:" @@ -3342,20 +4578,20 @@ msgid "" "process, causing ``addsitedir`` to skip ``.pth`` processing." msgstr "" -#: ../NEWS:1929 +#: ../NEWS:2692 msgid "" ":gh:`149816`: Fix a race condition in ``_random.Random.__init__`` method in " "free-threading mode." msgstr "" -#: ../NEWS:1932 +#: ../NEWS:2695 msgid "" ":gh:`149801`: Add IANA registered names and aliases with leading zeros " "before number (like IBM00858, CP00858, IBM01140, CP01140) for corresponding " "codecs." msgstr "" -#: ../NEWS:1936 +#: ../NEWS:2699 msgid "" ":gh:`149718`: Coalesce consecutive identical stack frames in Tachyon, so " "aggregating collectors (pstats, collapsed, flamegraph, gecko) receive one " @@ -3363,13 +4599,13 @@ msgid "" "Patch by Maurycy Pawłowski-Wieroński." msgstr "" -#: ../NEWS:1941 +#: ../NEWS:2704 msgid "" ":gh:`149701`: Fix bad return code from Lib/venv/bin/activate if hashing is " "disabled" msgstr "" -#: ../NEWS:1944 +#: ../NEWS:2707 msgid "" ":gh:`149504`: Fix :func:`site.addsitedir` to allow re-entrant calls from " "within startup files. Previously, a ``.pth`` file containing an ``import`` " @@ -3379,7 +4615,7 @@ msgid "" "with``." msgstr "" -#: ../NEWS:1951 +#: ../NEWS:2714 msgid "" ":gh:`149584`: Fix excessive overhead in the Tachyon profiler when inspecting " "a remote process by avoiding repeated remote page-cache scans, batching " @@ -3387,17 +4623,17 @@ msgid "" "Pablo Galindo and Maurycy Pawłowski-Wieroński." msgstr "" -#: ../NEWS:1956 +#: ../NEWS:2719 msgid ":gh:`139489`: Add :func:`xml.is_valid_text` to ``xml.__all__``." msgstr "" -#: ../NEWS:1958 +#: ../NEWS:2721 msgid "" ":gh:`149614`: Fix a regression that broke the ability to deepcopy :class:" "`argparse.ArgumentParser` instances." msgstr "" -#: ../NEWS:1961 +#: ../NEWS:2724 msgid "" ":gh:`112821`: In the REPL, autocompletion might run arbitrary code in the " "getter of a descriptor. If that getter raised an exception, autocompletion " @@ -3405,19 +4641,19 @@ msgid "" "works as expected for these objects." msgstr "" -#: ../NEWS:1966 +#: ../NEWS:2729 msgid "" ":gh:`149534`: Fix merging of :class:`collections.defaultdict` and :class:" "`frozendict`." msgstr "" -#: ../NEWS:1969 +#: ../NEWS:2732 msgid "" ":gh:`149388`: Make :class:`!asyncio.windows_utils.PipeHandle` closing " "idempotent." msgstr "" -#: ../NEWS:1972 +#: ../NEWS:2735 msgid "" ":gh:`149489`: Fix :mod:`~xml.etree.ElementTree` serialization to HTML. The " "content of comments, processing instructions and elements \"xmp\", " @@ -3426,19 +4662,19 @@ msgid "" "support of empty attributes (with value ``None``)." msgstr "" -#: ../NEWS:1978 +#: ../NEWS:2741 msgid "" ":gh:`149056`: Fix :func:`json.load` not forwarding the *array_hook* argument " "to :func:`json.loads`. Patch by Thomas Kowalski." msgstr "" -#: ../NEWS:1981 +#: ../NEWS:2744 msgid "" ":gh:`149046`: :mod:`io`: Fix :class:`io.StringIO` serialization: no longer " "call ``str(obj)`` on :class:`str` subclasses. Patch by Thomas Kowalski." msgstr "" -#: ../NEWS:1984 +#: ../NEWS:2747 msgid "" ":gh:`148441`: :mod:`xml.parsers.expat`: prevent a crash in :meth:`~xml." "parsers.expat.xmlparser.CharacterDataHandler` when the character data size " @@ -3446,13 +4682,13 @@ msgid "" "buffer_size>`." msgstr "" -#: ../NEWS:1989 +#: ../NEWS:2752 msgid "" ":gh:`146452`: Fix segfault in :mod:`pickle` when pickling a dictionary " "concurrently mutated by another thread in the free-threaded build." msgstr "" -#: ../NEWS:1992 +#: ../NEWS:2755 msgid "" ":gh:`86533`: The :func:`os.makedirs` function and :meth:`pathlib.Path.mkdir` " "method now have a *parent_mode* parameter to specify the mode for " @@ -3460,13 +4696,13 @@ msgid "" "to match the behavior from Python 3.6 and earlier for :func:`os.makedirs`." msgstr "" -#: ../NEWS:1997 +#: ../NEWS:2760 msgid "" ":gh:`134261`: zip: On reproducible builds, ZipFile uses UTC instead of the " "local time when writing file datetimes to avoid underflows." msgstr "" -#: ../NEWS:2000 +#: ../NEWS:2763 msgid "" ":gh:`133998`: Fix :exc:`struct.error` exception when creating a file with :" "class:`gzip.GzipFile` or compressing data with :func:`gzip.compress` if the " @@ -3475,7 +4711,7 @@ msgid "" "outside the range ``0`` to ``2**32-1``." msgstr "" -#: ../NEWS:2006 +#: ../NEWS:2769 msgid "" ":gh:`128110`: Fix bug in the parsing of :mod:`email` address headers that " "could result in extraneous spaces in the decoded text when using a modern " @@ -3484,25 +4720,25 @@ msgid "" "unstructured headers like *Subject*)." msgstr "" -#: ../NEWS:2012 +#: ../NEWS:2775 msgid "" ":gh:`107398`: Fix :mod:`tarfile` stream mode exception when process the file " "with the gzip extra field." msgstr "" -#: ../NEWS:2015 +#: ../NEWS:2778 msgid "" ":gh:`121109`: Fix :mod:`tarfile` performance issue when reading archives in " "streaming mode (e.g. ``r|*``)." msgstr "" -#: ../NEWS:2018 +#: ../NEWS:2781 msgid "" ":issue:`45509`: Gzip headers are now checked for corrupted NAME, COMMENT and " "HCRC fields." msgstr "" -#: ../NEWS:2024 +#: ../NEWS:2787 msgid "" ":gh:`150387`: Fix hang in ``test.test_profiling.test_sampling_profiler." "test_live_collector_ui.TestLiveModeErrors.test_run_failed_script_live`` on " @@ -3511,36 +4747,36 @@ msgid "" "the post-finished input loop." msgstr "" -#: ../NEWS:2030 +#: ../NEWS:2793 msgid "" ":gh:`149776`: Fix test_socket on Linux kernel 7.1 and newer: skip UDP Lite " "tests if it's not supported. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2036 +#: ../NEWS:2799 msgid "" ":gh:`148294`: Corrected the use of ``AC_PATH_TOOL`` in ``configure.ac`` to " "allow a C++ compiler to be found on :envvar:`!PATH`." msgstr "" -#: ../NEWS:2039 +#: ../NEWS:2802 msgid "" ":gh:`148260`: On Linux when Python is linked to the musl C library, use a " "thread stack size of at least 1 MiB instead of musl default which is 128 " "kiB. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2046 +#: ../NEWS:2809 msgid "" ":gh:`149786`: Fixes virtual environment launchers on Windows free-threaded " "builds." msgstr "" -#: ../NEWS:2049 +#: ../NEWS:2812 msgid ":gh:`124111`: Updated Windows builds to use Tcl/Tk 9.0.3." msgstr "" -#: ../NEWS:2051 +#: ../NEWS:2814 msgid "" ":gh:`138489`: Windows distributions now include a :file:`build-details.json` " "file (see :pep:`739`). The legacy installer does not install it, but all " @@ -3548,81 +4784,81 @@ msgid "" "``PC\\layout`` script will include one." msgstr "" -#: ../NEWS:2056 +#: ../NEWS:2819 msgid ":gh:`149029`: Update Windows installer to ship with SQLite 3.53.1." msgstr "" -#: ../NEWS:2061 +#: ../NEWS:2824 msgid "" ":gh:`150644`: When system logging is enabled (with ``config." "use_system_logger``, messages are now tagged as public. This allows the " "macOS 26 system logger to view messages without special configuration." msgstr "" -#: ../NEWS:2066 +#: ../NEWS:2829 msgid "" ":gh:`149029`: Update macOS installer to ship with SQLite version 3.53.1." msgstr "" -#: ../NEWS:2071 +#: ../NEWS:2834 msgid "" ":gh:`150258`: Update the tooltip on the Tachyon flame graph to show both " "absolute and relative percentages." msgstr "" -#: ../NEWS:2077 +#: ../NEWS:2840 msgid "" ":gh:`149725`: Add :c:func:`PySentinel_CheckExact` for exact :class:" "`sentinel` type tests to accompany the existing :c:func:`PySentinel_Check`." msgstr "" -#: ../NEWS:2080 +#: ../NEWS:2843 msgid "" ":gh:`145235`: Made :c:func:`PyDict_AddWatcher`, :c:func:" "`PyDict_ClearWatcher`, :c:func:`PyDict_Watch`, and :c:func:`PyDict_Unwatch` " "thread-safe on the :term:`free threaded ` build." msgstr "" -#: ../NEWS:2087 +#: ../NEWS:2850 msgid "Python 3.15.0 beta 1" msgstr "" -#: ../NEWS:2089 +#: ../NEWS:2852 msgid "*Release date: 2026-05-07*" msgstr "" -#: ../NEWS:2094 +#: ../NEWS:2857 msgid ":gh:`149254`: Update Android and iOS installer to use OpenSSL 3.5.6." msgstr "" -#: ../NEWS:2096 +#: ../NEWS:2859 msgid "" ":gh:`149017`: Update bundled `libexpat `_ to " "version 2.8.0." msgstr "" -#: ../NEWS:2099 +#: ../NEWS:2862 msgid "" ":gh:`148252`: Fixed string table and sample record bounds checks in :mod:`!" "_remote_debugging` when decoding certain ``.pyb`` inputs on 32-bit builds. " "Patch by Maurycy Pawłowski-Wieroński." msgstr "" -#: ../NEWS:2103 +#: ../NEWS:2866 msgid "" ":gh:`90309`: Base64-encode values when embedding cookies to JavaScript using " "the :meth:`http.cookies.BaseCookie.js_output` method to avoid injection and " "escaping." msgstr "" -#: ../NEWS:2107 +#: ../NEWS:2870 msgid "" ":gh:`148808`: Added buffer boundary check when using ``nbytes`` parameter " "with :meth:`!asyncio.AbstractEventLoop.sock_recvfrom_into`. Only relevant " "for Windows and the :class:`asyncio.ProactorEventLoop`." msgstr "" -#: ../NEWS:2111 +#: ../NEWS:2874 msgid "" ":gh:`148395`: Fix a dangling input pointer in :class:`lzma." "LZMADecompressor`, :class:`bz2.BZ2Decompressor`, and internal :class:`!zlib." @@ -3631,27 +4867,27 @@ msgid "" "a stale pointer to the already-released caller buffer." msgstr "" -#: ../NEWS:2118 +#: ../NEWS:2881 msgid "" ":gh:`148252`: Fixed stack depth calculation in :mod:`!_remote_debugging` " "when decoding certain ``.pyb`` inputs on 32-bit builds. Issue originally " "identified and diagnosed by Tristan Madani (@TristanInSec on GitHub)." msgstr "" -#: ../NEWS:2122 +#: ../NEWS:2885 msgid "" ":gh:`148178`: Hardened :mod:`!_remote_debugging` by validating remote debug " "offset tables before using them to size memory reads or interpret remote " "layouts." msgstr "" -#: ../NEWS:2126 +#: ../NEWS:2889 msgid "" ":gh:`148169`: A bypass in :mod:`webbrowser` allowed URLs prefixed with " "``%action`` to pass the dash-prefix safety check." msgstr "" -#: ../NEWS:2129 +#: ../NEWS:2892 msgid "" ":gh:`146581`: Fix vulnerability in :func:`shutil.unpack_archive` for ZIP " "files on Windows which allowed to write files outside of the destination " @@ -3660,7 +4896,7 @@ msgid "" "\"foo..bar\") are no longer skipped." msgstr "" -#: ../NEWS:2135 +#: ../NEWS:2898 msgid "" ":gh:`137586`: Fix a PATH-injection vulnerability in :mod:`webbrowser` on " "macOS where ``osascript`` was invoked without an absolute path. The new :" @@ -3668,7 +4904,7 @@ msgid "" "dependency on ``osascript`` entirely." msgstr "" -#: ../NEWS:2140 +#: ../NEWS:2903 msgid "" ":gh:`146333`: Fix quadratic backtracking in :class:`configparser." "RawConfigParser` option parsing regexes (``OPTCRE`` and ``OPTCRE_NV``). A " @@ -3676,13 +4912,13 @@ msgid "" "excessive CPU usage." msgstr "" -#: ../NEWS:2145 +#: ../NEWS:2908 msgid "" ":gh:`146211`: Reject CR/LF characters in tunnel request headers for the " "HTTPConnection.set_tunnel() method." msgstr "" -#: ../NEWS:2151 +#: ../NEWS:2914 msgid "" ":gh:`148940`: Revert the process size based deferral of garbage collection (:" "gh:`133464`). The performance issue this change resolves is also fixed by :" @@ -3692,25 +4928,25 @@ msgid "" "This change applies to the free-threaded GC only." msgstr "" -#: ../NEWS:2158 +#: ../NEWS:2921 msgid "" ":gh:`149243`: Check for recursion limits in ``CALL_ALLOC_AND_ENTER_INIT`` " "opcode." msgstr "" -#: ../NEWS:2161 +#: ../NEWS:2924 msgid "" ":gh:`126910`: Add support for unwinding JIT frames using GNU backtrace. " "Patch by Diego Russo and Pablo Galindo" msgstr "" -#: ../NEWS:2164 +#: ../NEWS:2927 msgid "" ":gh:`149171`: Allow assignment to the ``__module__`` attribute of :class:" "`typing.TypeAliasType` instances." msgstr "" -#: ../NEWS:2167 +#: ../NEWS:2930 msgid "" ":gh:`149122`: Fix a crash in optimized calls to :func:`all`, :func:`any`, :" "func:`tuple`, :func:`list`, and :func:`set` with an async generator " @@ -3718,11 +4954,11 @@ msgid "" "calls now correctly raise ``TypeError`` instead of crashing." msgstr "" -#: ../NEWS:2172 +#: ../NEWS:2935 msgid ":gh:`149049`: Fix stack underflow for ``BINARY_OP`` in tier 2." msgstr "" -#: ../NEWS:2174 +#: ../NEWS:2937 msgid "" ":gh:`83065`: Fix a deadlock that could occur when one thread is importing a " "submodule (for example ``import pkg.sub.mod``) while another thread is " @@ -3732,7 +4968,7 @@ msgid "" "so the two threads serialise instead of raising ``_DeadlockError``." msgstr "" -#: ../NEWS:2181 +#: ../NEWS:2944 msgid "" ":gh:`113956`: Fix a data race in :func:`sys.intern` in the free-threaded " "build when interning a string owned by another thread. An interned copy " @@ -3740,13 +4976,13 @@ msgid "" "immortalize the original." msgstr "" -#: ../NEWS:2186 +#: ../NEWS:2949 msgid "" ":gh:`148850`: Fix the memory sanitizer false positive in :func:`os." "getrandom`." msgstr "" -#: ../NEWS:2189 +#: ../NEWS:2952 msgid "" ":gh:`148820`: Fix a race in :c:type:`!_PyRawMutex` on the free-threaded " "build where a ``Py_PARK_INTR`` return from ``_PySemaphore_Wait`` could let " @@ -3755,43 +4991,43 @@ msgid "" "error." msgstr "" -#: ../NEWS:2195 +#: ../NEWS:2958 msgid "" ":gh:`148829`: Add :class:`sentinel`, implementing :pep:`661`. PEP by Tal " "Einat; patch by Jelle Zijlstra." msgstr "" -#: ../NEWS:2198 +#: ../NEWS:2961 msgid ":gh:`146270`: Fix a sequential consistency bug in ``structmember.c``." msgstr "" -#: ../NEWS:2200 +#: ../NEWS:2963 msgid "" ":gh:`148766`: The interpreter help (such as ``python --help``) is now in " "color. Patch by Hugo van Kemenade." msgstr "" -#: ../NEWS:2203 +#: ../NEWS:2966 msgid "" ":gh:`148571`: Fix a crash in the JIT optimizer when specialized opcode " "families inherited incompatible recorded operand layouts." msgstr "" -#: ../NEWS:2206 +#: ../NEWS:2969 msgid "" ":gh:`148653`: Forbid :mod:`marshalling ` recursive code objects, :" "class:`slice` and :class:`frozendict` objects which cannot be correctly " "unmarshalled." msgstr "" -#: ../NEWS:2210 +#: ../NEWS:2973 msgid "" ":gh:`142516`: Forward-port the generational cycle garbage collector to the " "default 3.15 build, replacing the incremental collector while leaving the " "free-threaded collector unchanged." msgstr "" -#: ../NEWS:2214 +#: ../NEWS:2977 msgid "" ":gh:`146462`: Added ``PyTypeObject.tp_basicsize``, ``PyTypeObject." "tp_dictoffset``, and ``PyHeapTypeObject.ht_cached_keys`` offsets to :c:type:" @@ -3799,20 +5035,20 @@ msgid "" "introspection tools." msgstr "" -#: ../NEWS:2219 +#: ../NEWS:2982 msgid "" ":gh:`145239`: Unary plus is now accepted in :keyword:`match` literal " "patterns, mirroring the existing support for unary minus. Patch by Bartosz " "Sławecki." msgstr "" -#: ../NEWS:2223 +#: ../NEWS:2986 msgid "" ":gh:`148515`: Fix a bug in the JIT optimizer reading operands for uops with " "multiple caches." msgstr "" -#: ../NEWS:2226 +#: ../NEWS:2989 msgid "" ":gh:`148390`: Fix an undefined behavior in :class:`memoryview` when using " "the native boolean format (``?``) in :meth:`~memoryview.cast`. Previously, " @@ -3821,26 +5057,26 @@ msgid "" "*b*. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2232 +#: ../NEWS:2995 msgid "" ":gh:`148418`: Fix a possible reference leak in a corrupted ``TYPE_CODE`` " "marshal stream." msgstr "" -#: ../NEWS:2235 +#: ../NEWS:2998 msgid "" ":gh:`148393`: Fix data races between :c:func:`PyDict_Watch` / :c:func:" "`PyDict_Unwatch` and concurrent dict mutation in the :term:`free-threaded " "build`." msgstr "" -#: ../NEWS:2239 +#: ../NEWS:3002 msgid "" ":gh:`148398`: Fix a bug in the JIT optimizer where class attribute loads " "were not invalidated after type mutation." msgstr "" -#: ../NEWS:2242 +#: ../NEWS:3005 msgid "" ":gh:`146527`: Add a ``GCMonitor`` class with a ``get_gc_stats`` method to " "the :mod:`!_remote_debugging` module to allow reading GC statistics from an " @@ -3848,33 +5084,33 @@ msgid "" "functionality. Patch by Sergey Miryanov and Pablo Galindo." msgstr "" -#: ../NEWS:2247 +#: ../NEWS:3010 msgid "" ":gh:`148284`: Fix high stack consumption in Python's interpreter loop on " "Clang 22 by setting function limits for inlining when building with computed " "gotos." msgstr "" -#: ../NEWS:2251 +#: ../NEWS:3014 msgid "" ":gh:`148037`: Remove critical section from :c:func:`!PyCode_Addr2Line` in " "free-threading." msgstr "" -#: ../NEWS:2254 +#: ../NEWS:3017 msgid "" ":gh:`115802`: Improve JIT code generation on Linux AArch64 by reducing the " "indirect call to external symbols. Patch by Diego Russo." msgstr "" -#: ../NEWS:2257 +#: ../NEWS:3020 msgid "" ":gh:`148189`: Repaired undercount of bytes in type-specific free lists " "reported by sys._debugmallocstats(). For types that participate in cyclic " "garbage collection, it was missing two pointers used by GC." msgstr "" -#: ../NEWS:2261 +#: ../NEWS:3024 msgid "" ":gh:`148222`: Fix vectorcall support in :class:`types.GenericAlias` when the " "underlying type does not support the vectorcall protocol. Fix possible leaks " @@ -3882,18 +5118,18 @@ msgid "" "memory error." msgstr "" -#: ../NEWS:2266 +#: ../NEWS:3029 msgid ":gh:`148208`: Fix recursion depth leak in :c:func:`PyObject_Print`" msgstr "" -#: ../NEWS:2268 +#: ../NEWS:3031 msgid "" ":gh:`95004`: The specializing interpreter now specializes for :class:`enum." "Enum` improving performance and scaling in free-threading. Patch by Kumar " "Aditya." msgstr "" -#: ../NEWS:2272 +#: ../NEWS:3035 msgid "" ":gh:`149202`: Enable frame pointers by default for GCC-compatible CPython " "builds, including ``-mno-omit-leaf-frame-pointer``, ``-marm`` on 32-bit ARM, " @@ -3903,46 +5139,46 @@ msgid "" "configure`` to opt out." msgstr "" -#: ../NEWS:2279 +#: ../NEWS:3042 msgid "" ":gh:`148014`: Accept a function name in :option:`-X presite <-X>` command " "line option and :envvar:`PYTHON_PRESITE` environment variable. Patch by " "Victor Stinner." msgstr "" -#: ../NEWS:2283 +#: ../NEWS:3046 msgid "" ":gh:`147998`: Fixed a memory leak in interpreter helper calls so cleanup " "works when an operation falls across interpreter boundaries. Patch by " "Maurycy Pawłowski-Wieroński." msgstr "" -#: ../NEWS:2287 +#: ../NEWS:3050 msgid "" ":gh:`146455`: Fix O(N²) compile-time regression in constant folding after it " "was moved from AST to CFG optimizer." msgstr "" -#: ../NEWS:2290 +#: ../NEWS:3053 msgid "" ":gh:`146306`: Specialize float true division in the tier 2 optimizer with " "inplace mutation for uniquely-referenced operands." msgstr "" -#: ../NEWS:2293 +#: ../NEWS:3056 msgid "" ":gh:`142186`: Global :mod:`sys.monitoring` events can now be turned on and " "disabled on a per code object basis. Returning ``DISABLE`` from a callback " "disables the event for the entire code object (for the current tool)." msgstr "" -#: ../NEWS:2297 +#: ../NEWS:3060 msgid "" ":gh:`126910`: Add support for unwinding JIT frames using GDB. Patch by Diego " "Russo and Pablo Galindo." msgstr "" -#: ../NEWS:2300 +#: ../NEWS:3063 msgid "" ":gh:`146031`: The unstable API _PyInterpreterState_SetEvalFrameFunc has a " "companion function _PyInterpreterState_SetEvalFrameAllowSpecialization to " @@ -3952,49 +5188,49 @@ msgid "" "inlined dispatch." msgstr "" -#: ../NEWS:2307 +#: ../NEWS:3070 msgid "" ":gh:`145278`: The :mod:`encodings` is now partially frozen, including the " "``aliases`` and ``utf_8`` submodules." msgstr "" -#: ../NEWS:2310 +#: ../NEWS:3073 msgid "The :mod:`linecache` is now frozen." msgstr "" -#: ../NEWS:2312 +#: ../NEWS:3075 msgid "" ":gh:`134584`: Optimize and eliminate redundant ref-counting for " "``MAKE_FUNCTION`` in the JIT." msgstr "" -#: ../NEWS:2315 +#: ../NEWS:3078 msgid "" ":gh:`143886`: Reorder function annotations so positional-only arguments are " "returned before other arguments. This fixes how :func:`functools." "singledispatch` registers functions with positional-only arguments." msgstr "" -#: ../NEWS:2320 +#: ../NEWS:3083 msgid "" ":gh:`98894`: Restore ``function__entry`` and ``function__return`` DTrace/" "SystemTap probes that were broken since Python 3.11." msgstr "" -#: ../NEWS:2323 +#: ../NEWS:3086 msgid "" ":gh:`116021`: Support for creating instances of abstract AST nodes from the :" "mod:`ast` module is deprecated and scheduled for removal in Python 3.20. " "Patch by Brian Schubert." msgstr "" -#: ../NEWS:2327 +#: ../NEWS:3090 msgid "" ":gh:`137814`: Fix the ``__qualname__`` attribute of ``__annotate__`` " "functions on functions." msgstr "" -#: ../NEWS:2330 +#: ../NEWS:3093 msgid "" ":gh:`137600`: :mod:`ast`: The constructors of AST nodes now raise a :exc:" "`TypeError` when a required argument is omitted or when a keyword argument " @@ -4003,71 +5239,71 @@ msgid "" "Brian Schubert." msgstr "" -#: ../NEWS:2336 +#: ../NEWS:3099 msgid "" ":gh:`137293`: Fix :exc:`SystemError` when searching ELF Files in :func:`sys." "remote_exec`." msgstr "" -#: ../NEWS:2339 +#: ../NEWS:3102 msgid ":gh:`135357`: Add support for :data:`!socket.SO_PASSRIGHTS` on Linux." msgstr "" -#: ../NEWS:2341 +#: ../NEWS:3104 msgid "" ":gh:`134690`: Removed deprecated in :pep:`626` since Python 3.12 :attr:`!" "codeobject.co_lnotab` from :class:`types.CodeType`." msgstr "" -#: ../NEWS:2344 +#: ../NEWS:3107 msgid "" ":gh:`100239`: Specialize ``BINARY_OP`` for concatenation of lists and " "tuples, and propagate the result type through ``_BINARY_OP_EXTEND`` in the " "tier 2 optimizer so that follow-up type guards can be eliminated." msgstr "" -#: ../NEWS:2351 +#: ../NEWS:3114 msgid "" ":gh:`148823`: Defer the import of ``_colorize`` in ``argparse`` until needed " "for coloring output." msgstr "" -#: ../NEWS:2354 +#: ../NEWS:3117 msgid "" ":gh:`141560`: Add an *annotation_format* parameter to :func:`inspect." "getfullargspec`." msgstr "" -#: ../NEWS:2357 +#: ../NEWS:3120 msgid "" ":gh:`139489`: Add the :func:`xml.is_valid_text` function, which allows to " "check whether a string can be used in the XML document." msgstr "" -#: ../NEWS:2360 +#: ../NEWS:3123 msgid "" ":gh:`142389`: Add backticks to stdlib argparse help to display in colour. " "Patch by Hugo van Kemenade." msgstr "" -#: ../NEWS:2363 +#: ../NEWS:3126 msgid ":gh:`149377`: Update bundled pip to 26.1.1" msgstr "" -#: ../NEWS:2365 +#: ../NEWS:3128 msgid "" ":gh:`142389`: Add backtick markup support in :mod:`argparse` option help " "text to highlight inline code when color output is enabled. Patch by Hugo " "van Kemenade." msgstr "" -#: ../NEWS:2369 +#: ../NEWS:3132 msgid "" ":gh:`148675`: Remove ``F`` and ``D`` formats from :mod:`array` and :class:" "`memoryview`. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2372 +#: ../NEWS:3135 msgid "" ":gh:`149342`: Fix :mod:`!_remote_debugging` binary writing so that sampling " "a thread whose Python frame stack is empty (for example while it is in a C " @@ -4077,7 +5313,7 @@ msgid "" "buffer. Patch by Maurycy Pawłowski-Wieroński." msgstr "" -#: ../NEWS:2379 +#: ../NEWS:3142 msgid "" ":gh:`149010`: The ``inspect`` module CLI now reports as much information as " "it has available for non-source modules when ``--details`` is specified, and " @@ -4087,36 +5323,36 @@ msgid "" "value rather than a class or function definition." msgstr "" -#: ../NEWS:2386 +#: ../NEWS:3149 msgid "" ":gh:`146609`: Use :mod:`argparse` for colour help :mod:`timeit` CLI. Patch " "by Hugo van Kemenade." msgstr "" -#: ../NEWS:2389 +#: ../NEWS:3152 msgid "" ":gh:`142389`: Add backticks for colour to regrtest and pdb's help " "description. Patch by Hugo van Kemenade." msgstr "" -#: ../NEWS:2392 +#: ../NEWS:3155 msgid "" ":gh:`144384`: Lazily import :mod:`!_colorize`. Patch by Hugo van Kemenade." msgstr "" -#: ../NEWS:2394 +#: ../NEWS:3157 msgid "" ":gh:`149321`: Fix import cycles exposed by running standard library modules " "with ``-X lazy_imports=none``." msgstr "" -#: ../NEWS:2397 +#: ../NEWS:3160 msgid "" ":gh:`145378`: Generate consistent colors for :mod:`pdb` commands in :mod:" "`pdb` REPL." msgstr "" -#: ../NEWS:2400 +#: ../NEWS:3163 msgid "" ":gh:`149296`: Add a ``dump`` subcommand to :mod:`profiling.sampling` that " "prints a single traceback-style snapshot of a running process's Python " @@ -4125,13 +5361,13 @@ msgid "" "Galindo." msgstr "" -#: ../NEWS:2406 +#: ../NEWS:3169 msgid "" ":gh:`143231`: A *module* attribute has been added to :class:`!warnings." "WarningMessage`." msgstr "" -#: ../NEWS:2409 +#: ../NEWS:3172 msgid "" ":gh:`148675`: :mod:`ctypes`: Change the :py:attr:`~ctypes._SimpleCData." "_type_` of :class:`~ctypes.c_float_complex`, :class:`~ctypes." @@ -4140,33 +5376,33 @@ msgid "" "Patch by Victor Stinner." msgstr "" -#: ../NEWS:2416 +#: ../NEWS:3179 msgid "" ":gh:`148675`: The :data:`array.typecodes` type changed from :class:`str` to :" "class:`tuple` to support type codes longer than 1 character (``Zf`` and " "``Zd``). Patch by Victor Stinner." msgstr "" -#: ../NEWS:2420 +#: ../NEWS:3183 msgid "" ":gh:`149221`: Catch rare math domain error for :func:`random." "binomialvariate`." msgstr "" -#: ../NEWS:2423 +#: ../NEWS:3186 msgid "" ":gh:`149231`: In :mod:`tomllib`, the number of parts in TOML keys is now " "limited." msgstr "" -#: ../NEWS:2426 +#: ../NEWS:3189 msgid "" ":gh:`143231`: :func:`unittest.TestCase.assertWarns` and :func:`unittest." "TestCase.assertWarnsRegex` no longer swallow warnings that do not match the " "specified category or regex. Nested context managers are now supported." msgstr "" -#: ../NEWS:2431 +#: ../NEWS:3194 msgid "" ":gh:`149214`: Fix :mod:`!_remote_debugging` misreading non-ASCII Unicode " "strings (Latin-1, BMP and non-BMP) from a remote process. Filenames and " @@ -4175,7 +5411,7 @@ msgid "" "introspection." msgstr "" -#: ../NEWS:2437 +#: ../NEWS:3200 msgid "" ":gh:`149189`: :mod:`pprint` now uses modern defaults: ``indent=4`` and " "``width=88``, and the default ``compact=False`` output is now formatted " @@ -4186,32 +5422,32 @@ msgid "" "van Kemenade." msgstr "" -#: ../NEWS:2445 +#: ../NEWS:3208 msgid "" ":gh:`149173`: Fix inverted :envvar:`PYTHON_BASIC_REPL` environment check in " "``pdb._pyrepl_available``." msgstr "" -#: ../NEWS:2448 +#: ../NEWS:3211 msgid "" ":gh:`149117`: Fix :func:`runpy.run_module` and :func:`runpy.run_path` to set " "the :attr:`~ImportError.name` attribute on the :exc:`ImportError` they raise." msgstr "" -#: ../NEWS:2452 +#: ../NEWS:3215 msgid "" ":gh:`149148`: :mod:`ensurepip`: Upgrade bundled pip to 26.1. This version " "fixes the :cve:`2026-3219` vulnerability. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2455 +#: ../NEWS:3218 msgid "" ":gh:`149009`: Validate that :mod:`profiling.sampling` binary profiles do not " "contain more unique (thread, interpreter) pairs than declared in the header. " "Patch by Maurycy Pawłowski-Wieroński." msgstr "" -#: ../NEWS:2459 +#: ../NEWS:3222 msgid "" ":gh:`148292`: :mod:`ssl`: Update :class:`ssl.SSLSocket` and :class:`ssl." "SSLObject` for OpenSSL 4. The classes now remember if they get a :exc:`ssl." @@ -4222,33 +5458,33 @@ msgid "" "the same on all OpenSSL versions on EOF. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2468 +#: ../NEWS:3231 msgid "" ":gh:`149085`: Add a *max_threads* keyword argument to :func:`faulthandler." "dump_traceback`, :func:`faulthandler.dump_traceback_later`, :func:" "`faulthandler.enable`, and :func:`faulthandler.register`." msgstr "" -#: ../NEWS:2473 +#: ../NEWS:3236 msgid "" ":gh:`148641`: :func:`pkgutil.resolve_name` gets a new optional, keyword-only " "argument called ``strict``. The default is ``False`` for backward " "compatibility." msgstr "" -#: ../NEWS:2477 +#: ../NEWS:3240 msgid "" ":gh:`148093`: Fix an out-of-bounds read of one byte in :func:`binascii." "a2b_uu`. Raise :exc:`binascii.Error`, instead of reading past the buffer end." msgstr "" -#: ../NEWS:2481 +#: ../NEWS:3244 msgid "" ":gh:`149083`: :data:`dataclasses.MISSING` and :data:`dataclasses.KW_ONLY` " "are now instances of :class:`sentinel`." msgstr "" -#: ../NEWS:2484 +#: ../NEWS:3247 msgid "" ":gh:`148914`: Fix memoization of in-band :class:`~pickle.PickleBuffer` in " "the Python implementation of :mod:`pickle`. Previously, identical :class:`!" @@ -4257,27 +5493,27 @@ msgid "" "following references to ``b''`` were unpickled as an empty bytearray object." msgstr "" -#: ../NEWS:2491 +#: ../NEWS:3254 msgid "" ":gh:`149026`: Add colour to :mod:`pickletools` CLI output. Patch by Hugo van " "Kemenade." msgstr "" -#: ../NEWS:2494 +#: ../NEWS:3257 msgid "" ":gh:`148991`: Add colour to :mod:`tokenize` CLI output. Patch by Hugo van " "Kemenade." msgstr "" -#: ../NEWS:2497 +#: ../NEWS:3260 msgid ":gh:`138907`: Support :rfc:`9309` in :mod:`urllib.robotparser`." msgstr "" -#: ../NEWS:2499 +#: ../NEWS:3262 msgid ":gh:`148981`: Add *color* parameter to :func:`ast.dump`." msgstr "" -#: ../NEWS:2501 +#: ../NEWS:3264 msgid "" ":gh:`148849`: Deprecate :meth:`http.cookies.Morsel.js_output` and :meth:" "`http.cookies.BaseCookie.js_output`, which will be removed in Python 3.19. " @@ -4285,7 +5521,7 @@ msgid "" "output` instead." msgstr "" -#: ../NEWS:2506 +#: ../NEWS:3269 msgid "" ":gh:`146311`: Add a *canonical* keyword-only parameter to the base32, " "base64, base85, ascii85, and Z85 decoders in :mod:`base64` and :mod:" @@ -4296,14 +5532,14 @@ msgid "" "previously they were silently ignored and produced no output bytes." msgstr "" -#: ../NEWS:2515 +#: ../NEWS:3278 msgid "" ":gh:`148947`: Fix crash in :deco:`dataclasses.dataclass` with ``slots=True`` " "that occurred when a function found within the class had an empty " "``__class__`` cell." msgstr "" -#: ../NEWS:2519 +#: ../NEWS:3282 msgid "" ":gh:`148680`: ``ForwardRef`` objects that contain internal names to " "represent known objects now show the ``type_repr`` of the known object " @@ -4311,88 +5547,88 @@ msgid "" "strings." msgstr "" -#: ../NEWS:2523 +#: ../NEWS:3286 msgid "" ":gh:`124397`: The threading module added tooling to support concurrent " "iterator access: :class:`threading.serialize_iterator`, :func:`threading." "synchronized_iterator`, and :func:`threading.concurrent_tee`." msgstr "" -#: ../NEWS:2528 +#: ../NEWS:3291 msgid "" ":gh:`148801`: :mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element." "__deepcopy__ ` on deeply nested trees." msgstr "" -#: ../NEWS:2531 +#: ../NEWS:3294 msgid "" ":gh:`148735`: :mod:`xml.etree.ElementTree`: Fix a use-after-free in :meth:" "`Element.findtext ` when the element " "tree is mutated concurrently during the search." msgstr "" -#: ../NEWS:2535 +#: ../NEWS:3298 msgid "" ":gh:`148740`: Fix usage for :mod:`uuid` command-line interface to support a " "custom namespace be provided for uuid3 and uuid5." msgstr "" -#: ../NEWS:2538 +#: ../NEWS:3301 msgid "" ":gh:`148688`: :mod:`bz2`, :mod:`compression.zstd`, :mod:`lzma`, :mod:`zlib`: " "Fix a double free on memory allocation failure. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2541 +#: ../NEWS:3304 msgid "" ":gh:`148675`: :mod:`array`, :mod:`struct`: Add support for ``Zd`` and ``Zf`` " "formats for double complex and float complex. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2544 +#: ../NEWS:3307 msgid "" ":gh:`148651`: Fix reference leak in :class:`compression.zstd." "ZstdDecompressor` when an invalid option key is passed." msgstr "" -#: ../NEWS:2548 +#: ../NEWS:3311 msgid "" ":gh:`148641`: :pep:`829` (package startup configuration files) implements a " "new format ``.start`` parallel to ``.pth`` files, to replace " "``import`` lines in the latter." msgstr "" -#: ../NEWS:2552 +#: ../NEWS:3315 msgid "" ":gh:`148639`: Implement :pep:`800`, adding the :deco:`typing.disjoint_base` " "decorator. Patch by Jelle Zijlstra." msgstr "" -#: ../NEWS:2555 +#: ../NEWS:3318 msgid "" ":gh:`148615`: Fix :mod:`pdb` to accept standard -- end of options separator. " "Reported by haampie. Patched by Shrey Naithani." msgstr "" -#: ../NEWS:2558 +#: ../NEWS:3321 msgid "" ":gh:`146553`: Fix infinite loop in :func:`typing.get_type_hints` when " "``__wrapped__`` forms a cycle. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:2561 +#: ../NEWS:3324 msgid "" ":gh:`148599`: Update the :mod:`socket` module's WSA error messages to match " "official documentation." msgstr "" -#: ../NEWS:2564 +#: ../NEWS:3327 msgid "" ":gh:`148508`: An intermittent timing error when running SSL tests on iOS has " "been resolved." msgstr "" -#: ../NEWS:2567 +#: ../NEWS:3330 msgid "" ":gh:`144881`: :mod:`asyncio` debugging tools (``python -m asyncio ps`` and " "``pstree``) now retry automatically on transient errors that can occur when " @@ -4400,7 +5636,7 @@ msgid "" "can be controlled with the ``--retries`` flag. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:2573 +#: ../NEWS:3336 msgid "" ":gh:`148518`: If an email containing an address header that ended in an open " "double quote was parsed with a non-``compat32`` policy, accessing the " @@ -4409,76 +5645,76 @@ msgid "" "as the result." msgstr "" -#: ../NEWS:2579 +#: ../NEWS:3342 msgid "" ":gh:`148464`: Add missing ``__ctype_le/be__`` attributes for :class:`~ctypes." "c_float_complex` and :class:`~ctypes.c_double_complex`. Patch by Sergey B " "Kirpichev." msgstr "" -#: ../NEWS:2583 +#: ../NEWS:3346 msgid "" ":gh:`148370`: :mod:`configparser`: prevent quadratic behavior when a :exc:" "`~configparser.ParsingError` is raised after a parser fails to parse " "multiple lines. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2587 +#: ../NEWS:3350 msgid "" ":gh:`121190`: ``importlib.resources.files()`` now emits a more meaningful " "error message when module spec is None (as found in some ``__main__`` " "modules)." msgstr "" -#: ../NEWS:2591 +#: ../NEWS:3354 msgid "" ":gh:`127012`: ``importlib.abc.Traversable.read_text`` now allows/solicits an " "``errors`` parameter." msgstr "" -#: ../NEWS:2594 +#: ../NEWS:3357 msgid "" ":gh:`137855`: Improve import time of :mod:`dataclasses` module by lazy " "importing :mod:`re` and :mod:`copy` modules." msgstr "" -#: ../NEWS:2597 +#: ../NEWS:3360 msgid "" ":gh:`148352`: Add more color to :mod:`calendar`'s CLI output. Patch by Hugo " "van Kemenade." msgstr "" -#: ../NEWS:2600 +#: ../NEWS:3363 msgid "" ":gh:`148254`: Use singular \"sec\" instead of \"secs\" in :mod:`timeit` " "verbose output for consistency with other time units." msgstr "" -#: ../NEWS:2603 +#: ../NEWS:3366 msgid ":gh:`130472`: Integrate fancycompleter with import completions." msgstr "" -#: ../NEWS:2605 +#: ../NEWS:3368 msgid "" ":gh:`148241`: :mod:`json`: Fix serialization: no longer call ``str(obj)`` " "on :class:`str` subclasses. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2608 +#: ../NEWS:3371 msgid "" ":gh:`148225`: The :mod:`profiling.sampling` ``replay`` command now rejects " "non-binary profile files with a clear error explaining that replay only " "accepts files created with ``--binary``." msgstr "" -#: ../NEWS:2612 +#: ../NEWS:3375 msgid "" ":gh:`148192`: ``email.generator.Generator._make_boundary`` could fail to " "detect a duplicate boundary string if linesep was not \\n. It now correctly " "detects boundary strings when linesep is \\r\\n as well." msgstr "" -#: ../NEWS:2616 +#: ../NEWS:3379 msgid "" ":gh:`148207`: :class:`typing.TypeVarTuple` now accepts ``bound``, " "``covariant``, ``contravariant``, and ``infer_variance`` parameters, " @@ -4486,26 +5722,26 @@ msgid "" "ParamSpec`." msgstr "" -#: ../NEWS:2621 +#: ../NEWS:3384 msgid "" ":gh:`148100`: :term:`Soft deprecate ` :func:`re.match` and :" "meth:`re.Pattern.match` in favour of :func:`re.prefixmatch` and :meth:`re." "Pattern.prefixmatch`. Patch by Hugo van Kemenade." msgstr "" -#: ../NEWS:2625 +#: ../NEWS:3388 msgid "" ":gh:`147991`: Improve :mod:`tomllib` import time (up to 10x faster). Patch " "by Victor Stinner." msgstr "" -#: ../NEWS:2628 +#: ../NEWS:3391 msgid "" ":gh:`147957`: Guarantees that :meth:`collections.UserDict.popitem` will pop " "in the same order as the wrapped dictionary rather than an arbitrary order." msgstr "" -#: ../NEWS:2632 +#: ../NEWS:3395 msgid "" ":gh:`146256`: The ``profiling.sampling`` module now supports JSONL output " "format via ``--jsonl``. Each run emits a newline-delimited JSON file that is " @@ -4513,20 +5749,20 @@ msgid "" "consumers. Patch by Maurycy Pawłowski-Wieroński." msgstr "" -#: ../NEWS:2637 +#: ../NEWS:3400 msgid "" ":gh:`146609`: Add colour to :mod:`timeit` CLI output. Patch by Hugo van " "Kemenade." msgstr "" -#: ../NEWS:2640 +#: ../NEWS:3403 msgid "" ":gh:`146563`: :mod:`xml.parsers.expat`: add an exception note when a custom " "Expat handler return value cannot be properly interpreted. Patch by Bénédikt " "Tran." msgstr "" -#: ../NEWS:2644 +#: ../NEWS:3407 msgid "" ":gh:`137586`: Add :class:`!MacOS` to :mod:`webbrowser` for macOS, which " "opens URLs via ``/usr/bin/open`` instead of piping AppleScript to " @@ -4534,7 +5770,7 @@ msgid "" "MacOS`." msgstr "" -#: ../NEWS:2648 +#: ../NEWS:3411 msgid "" ":gh:`146406`: Cross-language method suggestions are now shown for :exc:" "`AttributeError` on builtin types and their subclasses. For example, ``[]." @@ -4543,7 +5779,7 @@ msgid "" "using an ``int``." msgstr "" -#: ../NEWS:2654 +#: ../NEWS:3417 msgid "" ":gh:`146313`: Fix a deadlock in :mod:`multiprocessing`'s resource tracker " "where the parent process could hang indefinitely in :func:`os.waitpid` " @@ -4551,19 +5787,19 @@ msgid "" "held the resource tracker's pipe open." msgstr "" -#: ../NEWS:2659 +#: ../NEWS:3422 msgid "" ":gh:`146292`: Add colour to :mod:`~http.server.BaseHTTPRequestHandler` logs, " "as used by the :mod:`http.server` CLI. Patch by Hugo van Kemenade." msgstr "" -#: ../NEWS:2662 +#: ../NEWS:3425 msgid "" ":gh:`145917`: Add MIME types for TTC and Haptics formats to :mod:" "`mimetypes`. (Contributed by Charlie Lin in :gh:`145918`.)" msgstr "" -#: ../NEWS:2665 +#: ../NEWS:3428 msgid "" ":gh:`145846`: Fix memory leak in ``_lsprof`` when ``clear()`` is called " "during active profiling with nested calls. ``clearEntries()`` now walks the " @@ -4571,69 +5807,69 @@ msgid "" "top context." msgstr "" -#: ../NEWS:2670 +#: ../NEWS:3433 msgid "" ":gh:`145831`: Fix :func:`!email.quoprimime.decode` leaving a stray ``\\r`` " "when ``eol='\\r\\n'`` by stripping the full *eol* string instead of one " "character." msgstr "" -#: ../NEWS:2674 +#: ../NEWS:3437 msgid "" ":gh:`145378`: Use ``PyREPL`` as the default input console for :mod:`pdb`" msgstr "" -#: ../NEWS:2676 +#: ../NEWS:3439 msgid "" ":gh:`145244`: Fixed a use-after-free in :mod:`json` encoder when a " "``default`` callback mutates the dictionary being serialized." msgstr "" -#: ../NEWS:2679 +#: ../NEWS:3442 msgid "" ":gh:`117716`: Fix :mod:`wave` writing of odd-sized ``data`` chunks by " "appending the required RIFF pad byte and correcting the RIFF chunk size " "field accordingly." msgstr "" -#: ../NEWS:2683 +#: ../NEWS:3446 msgid "" ":gh:`145200`: :mod:`hashlib`: fix a memory leak when allocating or " "initializing an OpenSSL HMAC context fails." msgstr "" -#: ../NEWS:2686 +#: ../NEWS:3449 msgid "" ":gh:`145056`: Add support for :class:`frozendict` in :meth:`dataclasses." "asdict` and :meth:`dataclasses.astuple`." msgstr "" -#: ../NEWS:2689 +#: ../NEWS:3452 msgid "" ":gh:`145105`: Fix crash in :mod:`csv` reader when iterating with a re-" "entrant iterator that calls :func:`next` on the same reader from within " "``__next__``." msgstr "" -#: ../NEWS:2693 +#: ../NEWS:3456 msgid "" ":gh:`130750`: Restore quoting of choices in :mod:`argparse` error messages " "for improved clarity and consistency with documentation." msgstr "" -#: ../NEWS:2696 +#: ../NEWS:3459 msgid "" ":gh:`137855`: Reduce the import time of :mod:`dataclasses` module by ~20%." msgstr "" -#: ../NEWS:2698 +#: ../NEWS:3461 msgid "" ":gh:`70647`: :meth:`~datetime.datetime.strptime` now raises :exc:" "`ValueError` when the format string contains ``%d`` without a year " "directive. Using ``%e`` without a year now emits a :exc:`DeprecationWarning`." msgstr "" -#: ../NEWS:2702 +#: ../NEWS:3465 msgid "" ":gh:`105936`: Attempting to mutate non-field attributes of :mod:" "`dataclasses` with both *frozen* and *slots* being ``True`` now raises :" @@ -4642,23 +5878,23 @@ msgid "" "and the original non-slotted class can be garbage collected." msgstr "" -#: ../NEWS:2708 +#: ../NEWS:3471 msgid "" ":gh:`142831`: Fix a crash in the :mod:`json` module where a use-after-free " "could occur if the object being encoded is modified during serialization." msgstr "" -#: ../NEWS:2711 +#: ../NEWS:3474 msgid "" ":gh:`108411`: ``typing.IO`` and ``typing.BinaryIO`` method arguments are now " "positional-only." msgstr "" -#: ../NEWS:2714 +#: ../NEWS:3477 msgid ":gh:`130273`: Fix traceback color output with Unicode characters." msgstr "" -#: ../NEWS:2716 +#: ../NEWS:3479 msgid "" ":gh:`142307`: :mod:`imaplib`: deprecate support for :attr:`IMAP4.file " "`. This attribute was never meant to be part of the " @@ -4667,31 +5903,31 @@ msgid "" "Tran." msgstr "" -#: ../NEWS:2722 +#: ../NEWS:3485 msgid "" ":gh:`141449`: Improve tests and documentation for non-function callables as :" "term:`annotate functions `." msgstr "" -#: ../NEWS:2725 +#: ../NEWS:3488 msgid "" ":gh:`140287`: The :mod:`asyncio` REPL now handles exceptions when executing :" "envvar:`PYTHONSTARTUP` scripts. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:2728 +#: ../NEWS:3491 msgid "" ":gh:`139489`: Add the :func:`xml.is_valid_name` function, which allows to " "check whether a string can be used as an element or attribute name in XML." msgstr "" -#: ../NEWS:2731 +#: ../NEWS:3494 msgid "" ":gh:`75707`: Add optional ``mtime`` argument to :func:`tarfile.open`, for " "setting the ``mtime`` header field in ``.tar.gz`` archives." msgstr "" -#: ../NEWS:2734 +#: ../NEWS:3497 msgid "" ":gh:`125862`: The :func:`contextlib.contextmanager` and :func:`contextlib." "asynccontextmanager` decorators now work correctly with generators, " @@ -4699,51 +5935,51 @@ msgid "" "used as decorators." msgstr "" -#: ../NEWS:2739 +#: ../NEWS:3502 msgid "" ":gh:`135528`: :mod:`http.cookiejar`: add \"tv\", \"or\", \"nom\", \"sch\", " "and \"web\" to the default list of supported country code second-level " "domains." msgstr "" -#: ../NEWS:2742 +#: ../NEWS:3505 msgid "" ":gh:`135056`: Add a ``-H`` or ``--header`` CLI option to :program:`python -m " "http.server`. Contributed by Anton I. Sipos." msgstr "" -#: ../NEWS:2745 +#: ../NEWS:3508 msgid ":gh:`134551`: Add t-strings support to pprint functions" msgstr "" -#: ../NEWS:2747 +#: ../NEWS:3510 msgid "" ":gh:`133956`: Fix bug where :func:`@dataclass ` " "wouldn't detect ``ClassVar`` fields if ``ClassVar`` was re-exported from a " "module other than :mod:`typing`." msgstr "" -#: ../NEWS:2751 +#: ../NEWS:3514 msgid "" ":gh:`132631`: Fix \"I/O operation on closed file\" when parsing JSON Lines " "file with :mod:`JSON CLI `." msgstr "" -#: ../NEWS:2754 +#: ../NEWS:3517 msgid "" ":gh:`108951`: :mod:`asyncio`: Add :meth:`TaskGroup.cancel ` which cancels unfinished tasks and exits the group without raising :" "exc:`asyncio.CancelledError`." msgstr "" -#: ../NEWS:2758 +#: ../NEWS:3521 msgid "" ":gh:`123853`: Update the table of Windows language code identifiers (LCIDs) " "used by :func:`locale.getdefaultlocale` on Windows to protocol version 16.0 " "(2024-04-23)." msgstr "" -#: ../NEWS:2762 +#: ../NEWS:3525 msgid "" ":gh:`122476`: The :mod:`email` module no longer incorrectly uses :rfc:`2047` " "encoding for a mailbox with non-ASCII characters in its local-part. Under a " @@ -4755,7 +5991,7 @@ msgid "" "characters." msgstr "" -#: ../NEWS:2771 +#: ../NEWS:3534 msgid "" ":gh:`83938`: The :mod:`email` module no longer incorrectly uses :rfc:`2047` " "encoding for a mailbox with non-ASCII characters in its domain. Under a " @@ -4767,7 +6003,7 @@ msgid "" "internationalized domain name as Unicode characters." msgstr "" -#: ../NEWS:2781 +#: ../NEWS:3544 msgid "" ":gh:`81074`: The :mod:`email` module no longer treats email addresses with " "non-ASCII characters as defects when parsing a Unicode string or in the " @@ -4776,76 +6012,76 @@ msgid "" "bytes and in the Address ``username`` parameter." msgstr "" -#: ../NEWS:2787 +#: ../NEWS:3550 msgid "" "The (undocumented) :exc:`!email.errors.NonASCIILocalPartDefect` is no longer " "used and should be considered deprecated." msgstr "" -#: ../NEWS:2790 +#: ../NEWS:3553 msgid "" ":gh:`70039`: Fixed bug where :meth:`smtplib.SMTP.starttls` could fail if :" "meth:`smtplib.SMTP.connect` is called explicitly rather than implicitly." msgstr "" -#: ../NEWS:2793 +#: ../NEWS:3556 msgid "" ":gh:`113471`: Allow :mod:`http.server` to set a default content-type when " "serving files with an unknown or missing extension." msgstr "" -#: ../NEWS:2796 +#: ../NEWS:3559 msgid "" ":gh:`83281`: :mod:`email`: improve handling trailing garbage in address " "lists to avoid throwing AttributeError in certain edge cases" msgstr "" -#: ../NEWS:2799 +#: ../NEWS:3562 msgid "" ":gh:`96894`: Do not turn echo off for subsequent commands in batch " "activators (``activate.bat`` and ``deactivate.bat``) of :mod:`venv`." msgstr "" -#: ../NEWS:2805 +#: ../NEWS:3568 msgid "" ":gh:`148663`: Document that :class:`calendar.IllegalMonthError` is a " "subclass of both :exc:`ValueError` and :exc:`IndexError` since Python 3.12." msgstr "" -#: ../NEWS:2808 +#: ../NEWS:3571 msgid "" ":gh:`146646`: Document that :func:`glob.glob`, :func:`glob.iglob`, :meth:" "`pathlib.Path.glob`, and :meth:`pathlib.Path.rglob` silently suppress :exc:" "`OSError` exceptions raised from scanning the filesystem." msgstr "" -#: ../NEWS:2815 +#: ../NEWS:3578 msgid "" ":gh:`149425`: Increase time delta in ``test.test_zipfile.test_core." "OtherTests.test_write_without_source_date_epoch``" msgstr "" -#: ../NEWS:2818 +#: ../NEWS:3581 msgid ":gh:`148600`: Add OpenSSL 4.0.0 support to test configurations." msgstr "" -#: ../NEWS:2823 +#: ../NEWS:3586 msgid "" ":gh:`149353`: Avoid unnecessary JIT-related rebuilds during ``make install`` " "after ``--enable-optimizations`` builds." msgstr "" -#: ../NEWS:2826 +#: ../NEWS:3589 msgid "" ":gh:`149351`: Avoid possible broken macOS framework install names when " "DESTDIR is specified during builds." msgstr "" -#: ../NEWS:2829 +#: ../NEWS:3592 msgid ":gh:`149252`: Update to WASI SDK 33." msgstr "" -#: ../NEWS:2831 +#: ../NEWS:3594 msgid "" ":gh:`148690`: Windows free-threaded builds now output to a different default " "path with default filenames, for example, ``PCbuild/amd64t/python.exe`` " @@ -4853,19 +6089,19 @@ msgid "" "been updated to ensure compatibility of generated layouts." msgstr "" -#: ../NEWS:2836 +#: ../NEWS:3599 msgid "" ":gh:`146475`: Block Apple Clang from being used to build the JIT as it ships " "without required LLVM tools." msgstr "" -#: ../NEWS:2839 +#: ../NEWS:3602 msgid "" ":gh:`148644`: Errors during the PGO training job on Windows are no longer " "ignored, and a non-zero return code will cause the build to fail." msgstr "" -#: ../NEWS:2842 +#: ../NEWS:3605 msgid "" ":gh:`148535`: No longer use the ``gcc -fprofile-update=atomic`` flag on " "i686. The flag has been added to fix a random GCC internal error on PGO " @@ -4875,36 +6111,36 @@ msgid "" "fprofile-update=atomic`` on i686 anymore. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2849 +#: ../NEWS:3612 msgid ":gh:`148483`: Use ``Py_GCC_ATTRIBUTE(unused)`` for stop_tracing label." msgstr "" -#: ../NEWS:2851 +#: ../NEWS:3614 msgid "" ":gh:`148474`: Fixed compilation of :file:`Python/pystrhex.c` with older " "clang versions." msgstr "" -#: ../NEWS:2854 +#: ../NEWS:3617 msgid "" ":gh:`146445`: The Android build tools have been moved to the Platforms " "folder." msgstr "" -#: ../NEWS:2857 +#: ../NEWS:3620 msgid "" ":gh:`146264`: Fix static module builds on non-WASI targets by linking HACL " "dependencies as static libraries when ``MODULE_BUILDTYPE=static``, " "preventing duplicate ``_Py_LibHacl_*`` symbol errors at link time." msgstr "" -#: ../NEWS:2861 +#: ../NEWS:3624 msgid "" ":gh:`138451`: Allow for custom LLVM path using ``LLVM_TOOLS_INSTALL_DIR`` " "during JIT build." msgstr "" -#: ../NEWS:2864 +#: ../NEWS:3627 msgid "" ":gh:`133312`: Add a new ``./configure`` option :option:`--enable-static-" "libpython-for-interpreter` which, when used with :option:`--enable-shared`, " @@ -4915,58 +6151,58 @@ msgid "" "library but also get a shared library for use by other programs." msgstr "" -#: ../NEWS:2876 +#: ../NEWS:3639 msgid ":gh:`149254`: Updated bundled version of OpenSSL to 3.5.6." msgstr "" -#: ../NEWS:2878 +#: ../NEWS:3641 msgid "" ":gh:`148690`: Non-freethreaded builds on Windows now support extensions " "linked to ``python3t.dll``, and will include a copy of that library in " "normal installs that references the non-freethreaded runtime." msgstr "" -#: ../NEWS:2882 +#: ../NEWS:3645 msgid "" ":gh:`146458`: Fix incorrect REPL height and width tracking on console window " "resize on Windows." msgstr "" -#: ../NEWS:2888 +#: ../NEWS:3651 msgid "" ":gh:`142295`: For Python macOS framework builds, update Info.plist files to " "be more compliant with current Apple guidelines. Original patch contributed " "by Martinus Verburg." msgstr "" -#: ../NEWS:2892 +#: ../NEWS:3655 msgid ":gh:`149254`: Update macOS installer to use OpenSSL 3.5.6." msgstr "" -#: ../NEWS:2897 +#: ../NEWS:3660 msgid "" ":gh:`94523`: Detect file if modified at local disk and prompt to ask " "refresh. Patch by Shixian Li." msgstr "" -#: ../NEWS:2900 +#: ../NEWS:3663 msgid ":gh:`139551`: Support rendering :exc:`BaseExceptionGroup` in IDLE." msgstr "" -#: ../NEWS:2902 +#: ../NEWS:3665 msgid "" ":gh:`89520`: Make IDLE extension configuration look at user config files, " "allowing user-installed extensions to have settings and key bindings defined " "in ~/.idlerc." msgstr "" -#: ../NEWS:2909 +#: ../NEWS:3672 msgid "" ":gh:`149225`: :c:type:`PyCriticalSection` and related functions are added to " "the Stable ABI." msgstr "" -#: ../NEWS:2912 +#: ../NEWS:3675 msgid "" ":gh:`149216`: :c:type:`PyType_WatchCallback` callbacks registered via :c:" "func:`PyType_AddWatcher` are now also invoked when a watched heap type is " @@ -4975,47 +6211,47 @@ msgid "" "reused." msgstr "" -#: ../NEWS:2918 +#: ../NEWS:3681 msgid ":gh:`149101`: Implement :pep:`788`." msgstr "" -#: ../NEWS:2920 +#: ../NEWS:3683 msgid ":gh:`149044`: Implement :pep:`820`: Unified slot system for the C API." msgstr "" -#: ../NEWS:2922 +#: ../NEWS:3685 msgid "" ":gh:`148267`: Using :c:macro:`Py_LIMITED_API` on a non-Windows free-threaded " "build no longer needs an extra :c:macro:`Py_GIL_DISABLED`." msgstr "" -#: ../NEWS:2925 +#: ../NEWS:3688 msgid "" ":gh:`145559`: Rename ``_Py_DumpTraceback`` and ``_Py_DumpTracebackThreads`` " "to :c:func:`PyUnstable_DumpTraceback` and :c:func:" "`PyUnstable_DumpTracebackThreads`." msgstr "" -#: ../NEWS:2929 +#: ../NEWS:3692 msgid "" ":gh:`146636`: Implement :pep:`803` -- ``abi3t``: Stable ABI for Free-" "Threaded Builds." msgstr "" -#: ../NEWS:2932 +#: ../NEWS:3695 msgid "" ":gh:`146302`: :c:func:`Py_IsInitialized` no longer returns true until " "initialization has fully completed, including import of the :mod:`site` " "module. The underlying runtime flags now use atomic operations." msgstr "" -#: ../NEWS:2936 +#: ../NEWS:3699 msgid "" ":gh:`146063`: Add :c:func:`PyObject_CallFinalizerFromDealloc` function to " "the limited C API. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2939 +#: ../NEWS:3702 msgid "" ":gh:`145921`: Add functions that are guaranteed to be safe for use in :c:" "member:`~PyTypeObject.tp_traverse` handlers: :c:func:" @@ -5026,55 +6262,55 @@ msgid "" "func:`PyType_GetModuleByToken_DuringGC`." msgstr "" -#: ../NEWS:2952 +#: ../NEWS:3715 msgid "Python 3.15.0 alpha 8" msgstr "" -#: ../NEWS:2954 +#: ../NEWS:3717 msgid "*Release date: 2026-04-07*" msgstr "" -#: ../NEWS:2959 +#: ../NEWS:3722 msgid "" ":gh:`145986`: :mod:`xml.parsers.expat`: Fixed a crash caused by unbounded C " "recursion when converting deeply nested XML content models with :meth:`~xml." "parsers.expat.xmlparser.ElementDeclHandler`. This addresses :cve:`2026-4224`." msgstr "" -#: ../NEWS:2964 +#: ../NEWS:3727 msgid "" ":gh:`145599`: Reject control characters in :class:`http.cookies.Morsel` :" "meth:`~http.cookies.Morsel.update` and :meth:`~http.cookies.BaseCookie." "js_output`. This addresses :cve:`2026-3644`." msgstr "" -#: ../NEWS:2969 +#: ../NEWS:3732 msgid "" ":gh:`143930`: Reject leading dashes in URLs passed to :func:`webbrowser." "open`." msgstr "" -#: ../NEWS:2975 +#: ../NEWS:3738 msgid "" ":gh:`148157`: Fix an unlikely crash when parsing an invalid type comments " "for function parameters. Found by OSS Fuzz in :oss-fuzz:`492782951`." msgstr "" -#: ../NEWS:2978 +#: ../NEWS:3741 msgid "" ":gh:`100239`: Propagate result type and uniqueness information through " "``_BINARY_OP_EXTEND`` in the tier 2 optimizer, enabling elimination of " "downstream type guards and selection of inplace float operations." msgstr "" -#: ../NEWS:2982 +#: ../NEWS:3745 msgid "" ":gh:`148144`: Initialize ``_PyInterpreterFrame.visited`` when copying " "interpreter frames so incremental GC does not read an uninitialized byte " "from generator and frame-object copies." msgstr "" -#: ../NEWS:2986 +#: ../NEWS:3749 msgid "" ":gh:`148072`: Cache ``pickle.dumps`` and ``pickle.loads`` per interpreter in " "the XIData framework, avoiding repeated module lookups on every cross-" @@ -5083,73 +6319,73 @@ msgid "" "1.7x--3.3x." msgstr "" -#: ../NEWS:2992 +#: ../NEWS:3755 msgid "" ":gh:`148110`: Fix :func:`sys.set_lazy_imports_filter` so relative lazy " "imports pass the resolved imported module name to the filter callback. Patch " "by Pablo Galindo." msgstr "" -#: ../NEWS:2996 +#: ../NEWS:3759 msgid "" ":gh:`148083`: Constant-fold ``_CONTAINS_OP_SET`` for :class:`frozenset`. " "Patch by Donghee Na." msgstr "" -#: ../NEWS:2999 +#: ../NEWS:3762 msgid "" ":gh:`144319`: Fix a bug that could cause applications with specific " "allocation patterns to leak memory via Huge Pages if compiled with Huge Page " "support. Patch by Pablo Galindo" msgstr "" -#: ../NEWS:3003 +#: ../NEWS:3766 msgid "" ":gh:`147985`: Make :c:func:`PySet_Contains` attempt a lock-free lookup, " "similar to :meth:`!set.__contains__`. This avoids acquiring the set object " "mutex in the normal case." msgstr "" -#: ../NEWS:3007 +#: ../NEWS:3770 msgid "" ":gh:`147856`: Allow the *count* argument of :meth:`bytes.replace` to be a " "keyword." msgstr "" -#: ../NEWS:3010 +#: ../NEWS:3773 msgid "" ":gh:`146615`: Fix a crash in :meth:`~object.__get__` for :c:expr:" "`METH_METHOD` descriptors when an invalid (non-type) object is passed as the " "second argument. Patch by Steven Sun." msgstr "" -#: ../NEWS:3014 +#: ../NEWS:3777 msgid "" ":gh:`146306`: Optimize compact integer arithmetic in the JIT by mutating " "uniquely-referenced operands in place, avoiding allocation of a new int " "object. Speeds up the pyperformance ``spectral_norm`` benchmark by ~10%." msgstr "" -#: ../NEWS:3018 +#: ../NEWS:3781 msgid "" ":gh:`146587`: Fix type slot assignment incase of multiple slots for same " "name in type object implementation. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:3021 +#: ../NEWS:3784 msgid "" ":gh:`126910`: Set frame pointers in ``aarch64-unknown-linux-gnu`` JIT code, " "allowing most native profilers and debuggers to unwind through them. Patch " "by Diego Russo" msgstr "" -#: ../NEWS:3025 +#: ../NEWS:3788 msgid "" ":gh:`146388`: Adds a null check to handle when the JIT optimizer runs out of " "space when dealing with contradictions in ``make_bottom``." msgstr "" -#: ../NEWS:3028 +#: ../NEWS:3791 msgid "" ":gh:`146308`: Fixed multiple error handling issues in the :mod:`!" "_remote_debugging` module including a double-free in code object caching, " @@ -5159,118 +6395,118 @@ msgid "" "Patch by Pablo Galindo." msgstr "" -#: ../NEWS:3035 +#: ../NEWS:3798 msgid "" ":gh:`146306`: Optimize float arithmetic in the JIT by mutating uniquely-" "referenced operands in place, avoiding allocation of a new float object. " "Speeds up the pyperformance ``nbody`` benchmark by ~19%." msgstr "" -#: ../NEWS:3039 +#: ../NEWS:3802 msgid "" ":gh:`146128`: Fix a bug which could cause constant values to be partially " "corrupted in AArch64 JIT code. This issue is theoretical, and hasn't " "actually been observed in unmodified Python interpreters." msgstr "" -#: ../NEWS:3043 +#: ../NEWS:3806 msgid "" ":gh:`146250`: Fixed a memory leak in :exc:`SyntaxError` when re-initializing " "it." msgstr "" -#: ../NEWS:3046 +#: ../NEWS:3809 msgid "" ":gh:`146245`: Fixed reference leaks in :mod:`socket` when audit hooks raise " "exceptions in :func:`socket.getaddrinfo` and :meth:`!socket.sendto`." msgstr "" -#: ../NEWS:3049 +#: ../NEWS:3812 msgid "" ":gh:`146151`: :class:`memoryview` now supports the :c:expr:`float complex` " "and :c:expr:`double complex` C types: formatting characters ``'F'`` and " "``'D'`` respectively. Patch by Sergey B Kirpichev." msgstr "" -#: ../NEWS:3053 +#: ../NEWS:3816 msgid "" ":gh:`146196`: Fix potential Undefined Behavior in :c:func:" "`PyUnicodeWriter_WriteASCII` by adding a zero-length check. Patch by Shamil " "Abdulaev." msgstr "" -#: ../NEWS:3057 +#: ../NEWS:3820 msgid "" ":gh:`146227`: Fix wrong type in ``_Py_atomic_load_uint16`` in the C11 " "atomics backend (``pyatomic_std.h``), which used a 32-bit atomic load " "instead of 16-bit. Found by Mohammed Zuhaib." msgstr "" -#: ../NEWS:3061 +#: ../NEWS:3824 msgid "" ":gh:`146205`: Fixed a bug where :meth:`select.epoll.close`, :meth:`select." "kqueue.close`, and :meth:`select.devpoll.close` silently ignored errors." msgstr "" -#: ../NEWS:3065 +#: ../NEWS:3828 msgid ":gh:`146199`: Comparison of code objects now handles errors correctly." msgstr "" -#: ../NEWS:3067 +#: ../NEWS:3830 msgid "" ":gh:`145667`: Remove the ``GET_ITER_YIELD_FROM`` instruction, modifying " "``SEND`` to pair with ``GET_ITER`` when compiling ``yield from`` expressions." msgstr "" -#: ../NEWS:3071 +#: ../NEWS:3834 msgid "" ":gh:`146192`: Add Base32 support to :mod:`binascii` and improve the " "performance of the Base32 converters in :mod:`base64`. Patch by James Seo." msgstr "" -#: ../NEWS:3074 +#: ../NEWS:3837 msgid "" ":gh:`135871`: Improve multithreaded scaling of PyMutex in low-contention " "scenarios by reloading the lock's internal state, without slowing down high-" "contention scenarios." msgstr "" -#: ../NEWS:3078 +#: ../NEWS:3841 msgid "" ":gh:`146096`: Fixed segmentation fault when called repr for " "BaseExceptionGroup with empty or 1-size tuple args." msgstr "" -#: ../NEWS:3081 +#: ../NEWS:3844 msgid "" ":gh:`146056`: Fix :func:`repr` for lists and tuples containing ``NULL``\\ s." msgstr "" -#: ../NEWS:3083 +#: ../NEWS:3846 msgid "" ":gh:`145059`: Fixed :py:attr:`sys.lazy_modules` to include lazy modules " "without submodules. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:3086 +#: ../NEWS:3849 msgid "" ":gh:`146041`: Fix free-threading scaling bottleneck in :func:`sys.intern` " "and :c:func:`PyObject_SetAttr` by avoiding the interpreter-wide lock when " "the string is already interned and immortalized." msgstr "" -#: ../NEWS:3090 +#: ../NEWS:3853 msgid "" ":gh:`145990`: ``python --help-env`` sections are now sorted by environment " "variable name." msgstr "" -#: ../NEWS:3093 +#: ../NEWS:3856 msgid "" ":gh:`145990`: ``python --help-xoptions`` is now sorted by ``-X`` option name." msgstr "" -#: ../NEWS:3095 +#: ../NEWS:3858 msgid "" ":gh:`145876`: :exc:`AttributeError`\\ s and :exc:`KeyError`\\ s raised in :" "meth:`!keys` or :meth:`!__getitem__` during dictionary unpacking " @@ -5278,108 +6514,108 @@ msgid "" "`TypeError`." msgstr "" -#: ../NEWS:3100 +#: ../NEWS:3863 msgid "" ":gh:`127958`: Support tracing from function entrypoints in the JIT. Patch by " "Ken Jin." msgstr "" -#: ../NEWS:3103 +#: ../NEWS:3866 msgid ":gh:`145376`: Fix GC tracking in ``structseq.__replace__()``." msgstr "" -#: ../NEWS:3105 +#: ../NEWS:3868 msgid "" ":gh:`145792`: Fix out-of-bounds access when invoking faulthandler on a " "CPython build compiled without support for VLAs." msgstr "" -#: ../NEWS:3108 +#: ../NEWS:3871 msgid "" ":gh:`142183`: Avoid a pathological case where repeated calls at a specific " "stack depth could be significantly slower." msgstr "" -#: ../NEWS:3111 +#: ../NEWS:3874 msgid "" ":gh:`145779`: Improve scaling of :func:`classmethod` and :func:" "`staticmethod` calls in the free-threaded build by avoiding the descriptor " "``__get__`` call." msgstr "" -#: ../NEWS:3115 +#: ../NEWS:3878 msgid "" ":gh:`145783`: Fix an unlikely crash in the parser when certain errors were " "erroneously not propagated. Found by OSS Fuzz in :oss-fuzz:`491369109`." msgstr "" -#: ../NEWS:3118 +#: ../NEWS:3881 msgid "" ":gh:`145685`: Improve scaling of type attribute lookups in the :term:`free-" "threaded build` by avoiding contention on the internal type lock." msgstr "" -#: ../NEWS:3122 +#: ../NEWS:3885 msgid "" ":gh:`145713`: Make :meth:`bytearray.resize` thread-safe in the free-threaded " "build by using a critical section and calling the lock-held variant of the " "resize function." msgstr "" -#: ../NEWS:3126 +#: ../NEWS:3889 msgid "" ":gh:`145036`: In free-threaded build, fix race condition when calling :meth:" "`!__sizeof__` on a :class:`list`" msgstr "" -#: ../NEWS:3129 +#: ../NEWS:3892 msgid "" ":gh:`134584`: Eliminate redundant refcounting for ``MATCH_CLASS`` in the JIT." msgstr "" -#: ../NEWS:3131 +#: ../NEWS:3894 msgid "" ":gh:`69605`: Add :mod:`math.integer` to :term:`REPL` auto-completion of " "imports." msgstr "" -#: ../NEWS:3134 +#: ../NEWS:3897 msgid "" ":gh:`131798`: Optimize ``_ITER_CHECK_RANGE`` and ``_ITER_CHECK_LIST`` in the " "JIT" msgstr "" -#: ../NEWS:3137 +#: ../NEWS:3900 msgid "" ":gh:`143414`: Add tracking to the JIT optimizer to determine whether a " "reference is uniquely owned or shared" msgstr "" -#: ../NEWS:3140 +#: ../NEWS:3903 msgid "" ":gh:`143636`: Fix a crash when calling :class:`SimpleNamespace.__replace__() " "` on non-namespace instances. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3144 +#: ../NEWS:3907 msgid "" ":gh:`126910`: Set frame pointers in ``x86_64-unknown-linux-gnu`` JIT code, " "allowing most native profilers and debuggers to unwind through them." msgstr "" -#: ../NEWS:3147 +#: ../NEWS:3910 msgid "" ":gh:`140594`: Fix an out of bounds read when a single NUL character is read " "from the standard input. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:3150 +#: ../NEWS:3913 msgid "" ":gh:`140870`: Add support for module attributes in the :term:`REPL` auto-" "completion of imports." msgstr "" -#: ../NEWS:3156 +#: ../NEWS:3919 msgid "" ":gh:`144503`: Fix a regression introduced in 3.14.3 and 3.13.12 where the :" "mod:`multiprocessing` ``forkserver`` start method would fail with :exc:" @@ -5389,14 +6625,14 @@ msgid "" "the operating system's per-argument length limit." msgstr "" -#: ../NEWS:3163 +#: ../NEWS:3926 msgid "" ":gh:`148153`: :func:`base64.b32encode` now always raises :exc:`ValueError` " "instead of :exc:`AssertionError` for the value of *map01* with invalid " "length." msgstr "" -#: ../NEWS:3167 +#: ../NEWS:3930 msgid "" ":gh:`73613`: Add the *padded* parameter in functions related to Base32 and " "Base64 codecs in the :mod:`binascii` and :mod:`base64` modules. In the " @@ -5406,13 +6642,13 @@ msgid "" "urlsafe_b64decode` by default." msgstr "" -#: ../NEWS:3174 +#: ../NEWS:3937 msgid "" ":gh:`146613`: :mod:`itertools`: Fix a crash in :func:`itertools.groupby` " "when the grouper iterator is concurrently mutated." msgstr "" -#: ../NEWS:3177 +#: ../NEWS:3940 msgid "" ":gh:`147944`: Accepted range for the *bytes_per_sep* argument of :meth:" "`bytes.hex`, :meth:`bytearray.hex`, :meth:`memoryview.hex`, and :func:" @@ -5420,13 +6656,13 @@ msgid "" "maxsize`` is now valid." msgstr "" -#: ../NEWS:3182 +#: ../NEWS:3945 msgid "" ":gh:`146080`: :mod:`ssl`: fix a crash when an SNI callback tries to use an " "SSL object that has already been garbage-collected. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3186 +#: ../NEWS:3949 msgid "" ":gh:`146556`: Fix :func:`annotationlib.get_annotations` hanging indefinitely " "when called with ``eval_str=True`` on a callable that has a circular " @@ -5435,47 +6671,47 @@ msgid "" "found so far, mirroring the approach of :func:`inspect.unwrap`." msgstr "" -#: ../NEWS:3192 +#: ../NEWS:3955 msgid "" ":gh:`146090`: :mod:`sqlite3`: fix a crash when :meth:`sqlite3.Connection." "create_collation` fails with `SQLITE_BUSY `__. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3196 +#: ../NEWS:3959 msgid "" ":gh:`146090`: :mod:`sqlite3`: properly raise :exc:`MemoryError` instead of :" "exc:`SystemError` when a context callback fails to be allocated. Patch by " "Bénédikt Tran." msgstr "" -#: ../NEWS:3200 +#: ../NEWS:3963 msgid "" ":gh:`146507`: Make :meth:`asyncio.SelectorEventLoop` stream transport's :" "meth:`~asyncio.WriteTransport.get_write_buffer_size` O(1) by maintaining a " "running byte counter instead of iterating the buffer on every call." msgstr "" -#: ../NEWS:3204 +#: ../NEWS:3967 msgid "" ":gh:`145056`: Fix merging of :class:`collections.OrderedDict` and :class:" "`frozendict`." msgstr "" -#: ../NEWS:3207 +#: ../NEWS:3970 msgid "" ":gh:`145056`: Add support for merging :class:`collections.UserDict` and :" "class:`frozendict`." msgstr "" -#: ../NEWS:3210 +#: ../NEWS:3973 msgid "" ":gh:`145633`: Fix ``struct.pack('f', float)``: use :c:func:`PyFloat_Pack4` " "to raise :exc:`OverflowError`. Patch by Sergey B Kirpichev and Victor " "Stinner." msgstr "" -#: ../NEWS:3214 +#: ../NEWS:3977 msgid "" ":gh:`146440`: :mod:`json`: Add the *array_hook* parameter to :func:`~json." "load` and :func:`~json.loads` functions: allow a callback for JSON literal " @@ -5485,7 +6721,7 @@ msgid "" "structure representing the JSON data." msgstr "" -#: ../NEWS:3221 +#: ../NEWS:3984 msgid "" ":gh:`146431`: Add the *wrapcol* parameter to :mod:`base64` functions :func:" "`~base64.b16encode`, :func:`~base64.b32encode`, :func:`~base64." @@ -5498,38 +6734,38 @@ msgid "" "unhexlify`, :func:`~binascii.a2b_base32` and :func:`~binascii.a2b_base85`." msgstr "" -#: ../NEWS:3233 +#: ../NEWS:3996 msgid "" ":gh:`146310`: The :mod:`ensurepip` module no longer looks for ``pip-*.whl`` " "wheel packages in the current directory." msgstr "" -#: ../NEWS:3236 +#: ../NEWS:3999 msgid "" ":gh:`141510`: Support :class:`frozendict` in :mod:`plistlib`, for " "serialization only. Patch by Hugo van Kemenade." msgstr "" -#: ../NEWS:3239 +#: ../NEWS:4002 msgid "" ":gh:`146238`: Support half-floats (type code ``'e'`` of the :mod:`struct` " "module) in the :mod:`array` module. Patch by Sergey B Kirpichev." msgstr "" -#: ../NEWS:3242 +#: ../NEWS:4005 msgid "" ":gh:`140947`: Fix incorrect contextvars handling in server tasks created by :" "mod:`asyncio`. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:3245 +#: ../NEWS:4008 msgid "" ":gh:`146151`: Support the :c:expr:`float complex` and :c:expr:`double " "complex` C types in the :mod:`array` module: formatting characters ``'F'`` " "and ``'D'`` respectively. Patch by Sergey B Kirpichev." msgstr "" -#: ../NEWS:3249 +#: ../NEWS:4012 msgid "" ":gh:`143387`: In importlib.metadata, when a distribution file is corrupt and " "there is no metadata file, calls to ``Distribution.metadata()`` (including " @@ -5540,63 +6776,63 @@ msgid "" "returned and would be indistinguishable from the presence of an empty file." msgstr "" -#: ../NEWS:3258 +#: ../NEWS:4021 msgid "" ":gh:`146228`: Cached FastPath objects in importlib.metadata are now cleared " "on fork, avoiding broken references to zip files during fork." msgstr "" -#: ../NEWS:3261 +#: ../NEWS:4024 msgid "" ":gh:`146171`: Nested :exc:`AttributeError` suggestions now include property-" "backed attributes on nested objects without executing the property getter." msgstr "" -#: ../NEWS:3265 +#: ../NEWS:4028 msgid "" ":gh:`145410`: On Windows, :func:`sysconfig.get_platform` now gets the " "platform from the ``_sysconfig`` module instead of parsing :data:`sys." "version` string. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3269 +#: ../NEWS:4032 msgid "" ":gh:`146091`: Fix a bug in :func:`termios.tcsetwinsize` where passing a " "sequence that raises an exception in ``__getitem__`` would cause a :exc:" "`SystemError` instead of propagating the original exception." msgstr "" -#: ../NEWS:3273 +#: ../NEWS:4036 msgid "" ":gh:`146083`: Update bundled `libexpat `_ to " "version 2.7.5." msgstr "" -#: ../NEWS:3276 +#: ../NEWS:4039 msgid "" ":gh:`146076`: :mod:`zoneinfo`: fix crashes when deleting ``_weak_cache`` " "from a :class:`zoneinfo.ZoneInfo` subclass." msgstr "" -#: ../NEWS:3279 +#: ../NEWS:4042 msgid "" ":gh:`123471`: Make concurrent iteration over :class:`itertools.zip_longest` " "safe under free-threading." msgstr "" -#: ../NEWS:3282 +#: ../NEWS:4045 msgid "" ":gh:`146075`: Errors when calling :func:`functools.partial` with a malformed " "keyword will no longer crash the interpreter." msgstr "" -#: ../NEWS:3285 +#: ../NEWS:4048 msgid "" ":gh:`146054`: Limit the size of :func:`encodings.search_function` cache. " "Found by OSS Fuzz in :oss-fuzz:`493449985`." msgstr "" -#: ../NEWS:3288 +#: ../NEWS:4051 msgid "" ":gh:`146004`: All :option:`-X` options from the Python command line are now " "propagated to child processes spawned by :mod:`multiprocessing`, not just a " @@ -5610,7 +6846,7 @@ msgid "" "``warn_default_encoding``." msgstr "" -#: ../NEWS:3299 +#: ../NEWS:4062 msgid "" ":gh:`145980`: Added the *alphabet* parameter in :func:`~binascii." "b2a_base64`, :func:`~binascii.a2b_base64`, :func:`~binascii.b2a_base85` and :" @@ -5618,26 +6854,26 @@ msgid "" "mod:`binascii` module. Removed :func:`!b2a_z85` and :func:`!a2b_z85`." msgstr "" -#: ../NEWS:3304 +#: ../NEWS:4067 msgid "" ":gh:`145968`: Fix translation in :func:`base64.b64decode` when altchars " "overlaps with the standard ones." msgstr "" -#: ../NEWS:3307 +#: ../NEWS:4070 msgid "" ":gh:`145966`: Non-:exc:`AttributeError` exceptions raised during dialect " "attribute lookup in :mod:`csv` are no longer silently suppressed." msgstr "" -#: ../NEWS:3310 +#: ../NEWS:4073 msgid "" ":gh:`145883`: :mod:`zoneinfo`: Fix heap buffer overflow reads from malformed " "TZif data. Found by OSS Fuzz, issues :oss-fuzz:`492245058` and :oss-fuzz:" "`492230068`." msgstr "" -#: ../NEWS:3314 +#: ../NEWS:4077 msgid "" ":gh:`145850`: Changed some implementation details in :class:`struct.Struct`: " "calling it with non-ASCII string format will now raise a :exc:`ValueError` " @@ -5647,7 +6883,7 @@ msgid "" "`AttributeError` instead of :exc:`RuntimeError`." msgstr "" -#: ../NEWS:3321 +#: ../NEWS:4084 msgid "" ":gh:`123720`: asyncio: Fix :func:`asyncio.Server.serve_forever` shutdown " "regression. Since 3.12, cancelling ``serve_forever()`` could hang waiting " @@ -5657,7 +6893,7 @@ msgid "" "observe EOF." msgstr "" -#: ../NEWS:3328 +#: ../NEWS:4091 msgid "" ":gh:`138122`: The ``profiling.sampling`` module now supports differential " "flamegraph visualization via ``--diff-flamegraph`` to compare two profiling " @@ -5666,56 +6902,56 @@ msgid "" "between runs." msgstr "" -#: ../NEWS:3334 +#: ../NEWS:4097 msgid "" ":gh:`145754`: Request signature during mock autospec with ``FORWARDREF`` " "annotation format. This prevents runtime errors when an annotation uses a " "name that is not defined at runtime." msgstr "" -#: ../NEWS:3338 +#: ../NEWS:4101 msgid "" ":gh:`145750`: Avoid undefined behaviour from signed integer overflow when " "parsing format strings in the :mod:`struct` module. Found by OSS Fuzz in :" "oss-fuzz:`488466741`." msgstr "" -#: ../NEWS:3342 +#: ../NEWS:4105 msgid ":gh:`145719`: Add ``application/efi`` MIME type to :mod:`mimetypes`." msgstr "" -#: ../NEWS:3344 +#: ../NEWS:4107 msgid ":gh:`145717`: Add a few Microsoft-specific MIME types." msgstr "" -#: ../NEWS:3346 +#: ../NEWS:4109 msgid "" ":gh:`145703`: :mod:`asyncio`: Make sure that :meth:`loop.call_at ` and :meth:`loop.call_later ` trigger " "scheduled events on time when the clock resolution becomes too small." msgstr "" -#: ../NEWS:3351 +#: ../NEWS:4114 msgid "" ":gh:`145697`: Add ``application/sql`` and ``application/vnd.sqlite3`` into " "``mimetypes``." msgstr "" -#: ../NEWS:3354 +#: ../NEWS:4117 msgid "" ":gh:`145492`: Fix infinite recursion in :class:`collections.defaultdict` " "``__repr__`` when a ``defaultdict`` contains itself. Based on analysis by " "KowalskiThomas in :gh:`145492`." msgstr "" -#: ../NEWS:3358 +#: ../NEWS:4121 msgid "" ":gh:`145650`: Add :meth:`~object.__repr__` support to :class:`logging." "Formatter` and :class:`logging.Filter`, showing the format string and filter " "name respectively." msgstr "" -#: ../NEWS:3362 +#: ../NEWS:4125 msgid "" ":gh:`145587`: Resolved a performance regression in ``multiprocessing." "connection.wait`` on Windows that caused infinite busy loops when called " @@ -5723,25 +6959,25 @@ msgid "" "conserve CPU resources. Patch By Shrey Naithani" msgstr "" -#: ../NEWS:3367 +#: ../NEWS:4130 msgid "" ":gh:`145616`: Detect Android sysconfig ABI correctly on 32-bit ARM Android " "on 64-bit ARM kernel" msgstr "" -#: ../NEWS:3370 +#: ../NEWS:4133 msgid "" ":gh:`145546`: Fix ``unittest.util.sorted_list_difference()`` to deduplicate " "remaining elements when one input list is exhausted before the other." msgstr "" -#: ../NEWS:3373 +#: ../NEWS:4136 msgid "" ":gh:`145446`: Now :mod:`functools` is safer in free-threaded build when " "using keywords in :func:`functools.partial`" msgstr "" -#: ../NEWS:3376 +#: ../NEWS:4139 msgid "" ":gh:`145264`: Base64 decoder (see :func:`binascii.a2b_base64`, :func:`base64." "b64decode`, etc) no longer ignores excess data after the first padded quad " @@ -5750,7 +6986,7 @@ msgid "" "before the end of the encoded data." msgstr "" -#: ../NEWS:3382 +#: ../NEWS:4145 msgid "" ":gh:`145035`: Allows omitting the internal library ``_pyrepl`` with limited " "loss of functionality. This allows complete removal of the modern REPL, " @@ -5758,7 +6994,7 @@ msgid "" "distributions." msgstr "" -#: ../NEWS:3387 +#: ../NEWS:4150 msgid "" ":gh:`144270`: Made the *tag* parameter of :class:`xml.etree.ElementTree." "Element` and the *parent* and *tag* parameters of :func:`xml.etree." @@ -5766,7 +7002,7 @@ msgid "" "accelerator." msgstr "" -#: ../NEWS:3392 +#: ../NEWS:4155 msgid "" ":gh:`144984`: Fix crash in :meth:`xml.parsers.expat.xmlparser." "ExternalEntityParserCreate` when an allocation fails. The error paths could " @@ -5774,59 +7010,59 @@ msgid "" "reference count." msgstr "" -#: ../NEWS:3397 +#: ../NEWS:4160 msgid "" ":gh:`144975`: :meth:`wave.Wave_write.setframerate` now validates the frame " "rate after rounding to an integer, preventing values like ``0.5`` from being " "accepted and causing confusing errors later. Patch by Michiel Beijen." msgstr "" -#: ../NEWS:3402 +#: ../NEWS:4165 msgid "" ":gh:`140715`: Add ``%n`` and ``%t`` support to :meth:`~datetime.datetime." "strptime`." msgstr "" -#: ../NEWS:3405 +#: ../NEWS:4168 msgid "" ":gh:`144259`: Fix inconsistent display of long multiline pasted content in " "the REPL." msgstr "" -#: ../NEWS:3408 +#: ../NEWS:4171 msgid "" ":gh:`140814`: :func:`multiprocessing.freeze_support` no longer sets the " "default start method as a side effect, which previously caused a subsequent :" "func:`multiprocessing.set_start_method` call to raise :exc:`RuntimeError`." msgstr "" -#: ../NEWS:3413 +#: ../NEWS:4176 msgid "" ":gh:`123471`: Make concurrent iteration over :class:`itertools.accumulate` " "safe under free-threading." msgstr "" -#: ../NEWS:3416 +#: ../NEWS:4179 msgid "" ":gh:`143715`: Calling the ``Struct.__new__()`` without required argument now " "is deprecated. Calling :meth:`~object.__init__` method on initialized :class:" "`~struct.Struct` objects is deprecated." msgstr "" -#: ../NEWS:3420 +#: ../NEWS:4183 msgid "" ":gh:`142763`: Fix a race condition between :class:`zoneinfo.ZoneInfo` " "creation and :func:`zoneinfo.ZoneInfo.clear_cache` that could raise :exc:" "`KeyError`." msgstr "" -#: ../NEWS:3424 +#: ../NEWS:4187 msgid "" ":gh:`141707`: Don't change :class:`tarfile.TarInfo` type from ``AREGTYPE`` " "to ``DIRTYPE`` when parsing GNU long name or link headers." msgstr "" -#: ../NEWS:3427 +#: ../NEWS:4190 msgid "" ":gh:`138577`: :func:`getpass.getpass` with non-empty ``echo_char`` now " "handles keyboard shortcuts including Ctrl+A/E (cursor movement), Ctrl+K/U " @@ -5835,75 +7071,75 @@ msgid "" "non-canonical mode. Patch by Sanyam Khurana." msgstr "" -#: ../NEWS:3433 +#: ../NEWS:4196 msgid "" ":gh:`140049`: :func:`traceback.format_exception_only` now colorizes " "exception notes." msgstr "" -#: ../NEWS:3436 +#: ../NEWS:4199 msgid "" ":gh:`139933`: Improve :exc:`AttributeError` suggestions for classes with a " "custom :meth:`~object.__dir__` method returning a list of unsortable values. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3440 +#: ../NEWS:4203 msgid "" ":gh:`139633`: The :mod:`netrc` security check is now run once per parse " "rather than once per entry." msgstr "" -#: ../NEWS:3443 +#: ../NEWS:4206 msgid "" ":gh:`130472`: Add fancycompleter and enable it by default when using pyrepl. " "This gives colored tab completion." msgstr "" -#: ../NEWS:3446 +#: ../NEWS:4209 msgid "" ":gh:`112632`: Add an *expand* keyword argument for :func:`pprint.pprint`, :" "func:`pprint.pformat`, :func:`pprint.pp` by passing on all *kwargs* and :" "class:`pprint.PrettyPrinter`. Contributed by Stefan Todoran and Semyon Moroz." msgstr "" -#: ../NEWS:3451 +#: ../NEWS:4214 msgid "" ":gh:`66419`: Optional argument with :ref:`nargs` equals to ``argparse." "REMAINDER`` now consumes all remaining arguments including ``'--'``." msgstr "" -#: ../NEWS:3455 +#: ../NEWS:4218 msgid "" ":gh:`60729`: Add support for floating point audio wave files in :mod:`wave`." msgstr "" -#: ../NEWS:3457 +#: ../NEWS:4220 msgid "" ":issue:`36461`: Make the target time of :meth:`timeit.Timer.autorange` " "configurable and add ``--target-time`` option to the command-line interface " "of :mod:`timeit`." msgstr "" -#: ../NEWS:3464 +#: ../NEWS:4227 msgid "" ":gh:`126676`: Expand :mod:`argparse` documentation for ``type=bool`` with a " "demonstration of the surprising behavior and pointers to common alternatives." msgstr "" -#: ../NEWS:3468 +#: ../NEWS:4231 msgid "" ":gh:`145649`: Fix text wrapping and formatting of ``-X`` option descriptions " "in the :manpage:`python(1)` man page by using proper roff markup." msgstr "" -#: ../NEWS:3474 +#: ../NEWS:4237 msgid "" ":gh:`144418`: The Android testbed's emulator RAM has been increased from 2 " "GB to 4 GB." msgstr "" -#: ../NEWS:3477 +#: ../NEWS:4240 msgid "" ":gh:`146202`: Fix a race condition in regrtest: make sure that the temporary " "directory is created in the worker process. Previously, temp_cwd() could " @@ -5911,48 +7147,48 @@ msgid "" "Stinner." msgstr "" -#: ../NEWS:3485 +#: ../NEWS:4248 msgid "" ":gh:`146541`: The Android testbed can now be built for 32-bit ARM and x86 " "targets." msgstr "" -#: ../NEWS:3488 +#: ../NEWS:4251 msgid "" ":gh:`146498`: The iOS XCframework build script now ensures libpython isn't " "included in installed app content, and is more robust in identifying " "standard library binary content that requires processing." msgstr "" -#: ../NEWS:3492 +#: ../NEWS:4255 msgid "" ":gh:`146450`: The Android build script was modified to improve parity with " "other platform build scripts." msgstr "" -#: ../NEWS:3495 +#: ../NEWS:4258 msgid "" ":gh:`146446`: The clean target for the Apple/iOS XCframework build script is " "now more selective when targeting a single architecture." msgstr "" -#: ../NEWS:3498 +#: ../NEWS:4261 msgid "" ":gh:`146444`: The Apple/iOS build script has been moved to the Platforms " "directory." msgstr "" -#: ../NEWS:3501 +#: ../NEWS:4264 msgid "" ":gh:`146210`: Fix building the jit stencils on Windows when the interpreter " "is built with a different clang version. Patch by Chris Eibl." msgstr "" -#: ../NEWS:3504 +#: ../NEWS:4267 msgid ":gh:`145844`: Update to WASI SDK 32." msgstr "" -#: ../NEWS:3506 +#: ../NEWS:4269 msgid "" ":gh:`145801`: When Python build is optimized with GCC using PGO, use ``-" "fprofile-update=atomic`` option to use atomic operations when updating " @@ -5960,58 +7196,58 @@ msgid "" "corruption which can cause random GCC crashes. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3512 +#: ../NEWS:4275 msgid ":gh:`138850`: Add :option:`--disable-epoll` to ``configure``" msgstr "" -#: ../NEWS:3514 +#: ../NEWS:4277 msgid "" ":gh:`145633`: Remove support for ancient ARM platforms (ARMv4L and ARMv5L " "OABI boards), using mixed-endian representation for doubles. Patch by " "Sergey B Kirpichev." msgstr "" -#: ../NEWS:3518 +#: ../NEWS:4281 msgid ":gh:`85277`: Fix building without ``stropts.h`` or empty ``stropts.h``" msgstr "" -#: ../NEWS:3523 +#: ../NEWS:4286 msgid "" ":gh:`140131`: Fix REPL cursor position on Windows when module completion " "suggestion line hits console width." msgstr "" -#: ../NEWS:3529 +#: ../NEWS:4292 msgid "" ":gh:`137586`: Invoke :program:`osascript` with absolute path in :mod:" "`webbrowser` and :mod:`!turtledemo`." msgstr "" -#: ../NEWS:3535 +#: ../NEWS:4298 msgid "" ":gh:`135953`: Properly identify the main thread in the Gecko profiler " "collector by using a status flag from the interpreter state instead of " "relying on :func:`threading.main_thread` in the collector process." msgstr "" -#: ../NEWS:3539 +#: ../NEWS:4302 msgid "" ":gh:`145976`: Remove :file:`Misc/indent.pro`, a configuration file for GNU :" "manpage:`indent(1)`." msgstr "" -#: ../NEWS:3542 +#: ../NEWS:4305 msgid ":gh:`145976`: Remove :file:`Misc/vgrindefs` and :file:`Misc/Porting`." msgstr "" -#: ../NEWS:3547 +#: ../NEWS:4310 msgid "" ":gh:`146636`: The :c:data:`Py_mod_abi` slot is now mandatory for modules " "created from a slots array (using :c:func:`PyModule_FromSlotsAndSpec` or " "the :c:func:`PyModExport_* ` export hook)." msgstr "" -#: ../NEWS:3551 +#: ../NEWS:4314 msgid "" ":gh:`146175`: The following macros are :term:`soft deprecated`: :c:macro:" "`Py_ALIGNED`, :c:macro:`PY_FORMAT_SIZE_T`, :c:macro:`Py_LL`, :c:macro:" @@ -6021,103 +7257,103 @@ msgid "" "`PY_SIZE_MAX`, :c:macro:`Py_UNICODE_SIZE`, :c:macro:`Py_VA_COPY`." msgstr "" -#: ../NEWS:3558 +#: ../NEWS:4321 msgid "" "The macro :c:macro:`Py_UNICODE_WIDE`, which was scheduled for removal, is :" "term:`soft deprecated` instead." msgstr "" -#: ../NEWS:3561 +#: ../NEWS:4324 msgid "" ":gh:`146143`: :c:func:`PyUnicodeWriter_WriteUCS4` now accepts a pointer to a " "constant buffer of ``Py_UCS4``." msgstr "" -#: ../NEWS:3564 +#: ../NEWS:4327 msgid "" ":gh:`146056`: :c:func:`PyUnicodeWriter_WriteRepr` now supports ``NULL`` " "argument." msgstr "" -#: ../NEWS:3567 +#: ../NEWS:4330 msgid "" ":gh:`145010`: Use GCC dialect alternatives for inline assembly in ``object." "h`` so that the Python headers compile correctly with ``-masm=intel``." msgstr "" -#: ../NEWS:3573 +#: ../NEWS:4336 msgid "Python 3.15.0 alpha 7" msgstr "" -#: ../NEWS:3575 +#: ../NEWS:4338 msgid "*Release date: 2026-03-10*" msgstr "" -#: ../NEWS:3580 +#: ../NEWS:4343 msgid "" ":gh:`145731`: Fix negative timestamp during DST on Windows. Patch by Hugo " "van Kemenade." msgstr "" -#: ../NEWS:3583 +#: ../NEWS:4346 msgid "" ":gh:`145307`: Defers loading of the ``psapi.dll`` module until it is used " "by :func:`ctypes.util.dllist`." msgstr "" -#: ../NEWS:3586 +#: ../NEWS:4349 msgid ":gh:`144551`: Updated bundled version of OpenSSL to 3.5.5." msgstr "" -#: ../NEWS:3591 +#: ../NEWS:4354 msgid "" ":gh:`144741`: Fix ``test_frame_pointer_unwind`` when Python is built with :" "option:`--enable-shared`. Classify also libpython frames as ``\"python\"``. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:3595 +#: ../NEWS:4358 msgid "" ":gh:`144739`: When Python was compiled with system expat older then 2.7.2 " "but tests run with newer expat, still skip :class:`!test.test_pyexpat." "MemoryProtectionTest`." msgstr "" -#: ../NEWS:3602 +#: ../NEWS:4365 msgid "" ":gh:`145506`: Fixes :cve:`2026-2297` by ensuring that " "``SourcelessFileLoader`` uses :func:`io.open_code` when opening ``.pyc`` " "files." msgstr "" -#: ../NEWS:3606 +#: ../NEWS:4369 msgid "" ":gh:`144370`: Disallow usage of control characters in status in :mod:" "`wsgiref.handlers` to prevent HTTP header injections. Patch by Benedikt " "Johannes." msgstr "" -#: ../NEWS:3613 +#: ../NEWS:4376 msgid "" ":gh:`145623`: Fix crash in :mod:`struct` when calling :func:`repr` or " "``__sizeof__()`` on an uninitialized :class:`struct.Struct` object created " "via ``Struct.__new__()`` without calling ``__init__()``." msgstr "" -#: ../NEWS:3617 +#: ../NEWS:4380 msgid "" ":gh:`145551`: Fix InvalidStateError when cancelling process created by :func:" "`asyncio.create_subprocess_exec` or :func:`asyncio.create_subprocess_shell`. " "Patch by Daan De Meyer." msgstr "" -#: ../NEWS:3621 +#: ../NEWS:4384 msgid "" ":gh:`141510`: :mod:`marshal` now supports :class:`frozendict` objects. The " "marshal format version was increased to 6. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3624 +#: ../NEWS:4387 msgid "" ":gh:`145417`: :mod:`venv`: Prevent incorrect preservation of SELinux context " "when copying the ``Activate.ps1`` script. The script inherited the SELinux " @@ -6125,7 +7361,7 @@ msgid "" "destination project directory." msgstr "" -#: ../NEWS:3629 +#: ../NEWS:4392 msgid "" ":gh:`145335`: ``os.listdir(-1)`` and ``os.scandir(-1)`` now fail with " "``OSError(errno.EBADF)`` rather than listing the current directory. ``os." @@ -6133,158 +7369,158 @@ msgid "" "extended attributes of the current directory. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3635 +#: ../NEWS:4398 msgid "" ":gh:`145376`: Fix double free and null pointer dereference in unusual error " "scenarios in :mod:`hashlib` and :mod:`hmac` modules." msgstr "" -#: ../NEWS:3638 +#: ../NEWS:4401 msgid "" ":gh:`145301`: :mod:`hmac`: fix a crash when the initialization of the " "underlying C extension module fails." msgstr "" -#: ../NEWS:3641 +#: ../NEWS:4404 msgid "" ":gh:`145301`: :mod:`hashlib`: fix a crash when the initialization of the " "underlying C extension module fails." msgstr "" -#: ../NEWS:3644 +#: ../NEWS:4407 msgid "" ":gh:`76007`: The ``version`` attribute of the :mod:`tarfile` module is " "deprecated and slated for removal in Python 3.20." msgstr "" -#: ../NEWS:3647 +#: ../NEWS:4410 msgid "" ":gh:`145158`: Avoid undefined behaviour from signed integer overflow when " "parsing format strings in the :mod:`struct` module." msgstr "" -#: ../NEWS:3650 +#: ../NEWS:4413 msgid "" ":gh:`123853`: Removed Windows 95 compatibility for :func:`locale." "getdefaultlocale`." msgstr "" -#: ../NEWS:3653 +#: ../NEWS:4416 msgid "" ":gh:`66802`: Add :func:`unicodedata.block` function to return the `Unicode " "block `_ of a character." msgstr "" -#: ../NEWS:3658 +#: ../NEWS:4421 msgid "" ":gh:`145033`: Add :data:`typing.TypeForm`, implementing :pep:`747`. Patch by " "Jelle Zijlstra." msgstr "" -#: ../NEWS:3661 +#: ../NEWS:4424 msgid "" ":gh:`141510`: :func:`dataclasses.field`: if *metadata* is ``None``, use an " "empty :class:`frozendict`, instead of a :func:`~types.MappingProxyType` of " "an empty :class:`dict`. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3665 +#: ../NEWS:4428 msgid "" ":gh:`145006`: Add :exc:`ModuleNotFoundError` hints when a module for a " "different ABI exists." msgstr "" -#: ../NEWS:3668 +#: ../NEWS:4431 msgid "" ":gh:`141510`: ``ParameterizedMIMEHeader.params`` of :mod:`email." "headerregistry` is now a :class:`frozendict` instead of a :class:`types." "MappingProxyType`. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3672 +#: ../NEWS:4435 msgid "" ":gh:`134872`: Add valid import name suggestions on :exc:" "`ModuleNotFoundError`." msgstr "" -#: ../NEWS:3675 +#: ../NEWS:4438 msgid "" ":gh:`88091`: Fix :func:`unicodedata.decomposition` for Hangul characters." msgstr "" -#: ../NEWS:3677 +#: ../NEWS:4440 msgid "" ":gh:`144986`: Fix a memory leak in :func:`atexit.register`. Patch by Shamil " "Abdulaev." msgstr "" -#: ../NEWS:3680 +#: ../NEWS:4443 msgid "" ":gh:`144777`: Fix data races in :class:`io.IncrementalNewlineDecoder` in " "the :term:`free-threaded build`." msgstr "" -#: ../NEWS:3683 +#: ../NEWS:4446 msgid "" ":gh:`144809`: Make :class:`collections.deque` copy atomic in the :term:`free-" "threaded build`." msgstr "" -#: ../NEWS:3686 +#: ../NEWS:4449 msgid "" ":gh:`141510`: The :mod:`copy` module now supports the :class:`frozendict` " "type. Patch by Pieter Eendebak based on work by Victor Stinner." msgstr "" -#: ../NEWS:3689 +#: ../NEWS:4452 msgid "" ":gh:`141510`: The :mod:`json` module now supports the :class:`frozendict` " "type. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3692 +#: ../NEWS:4455 msgid "" ":gh:`144835`: Added missing explanations for some parameters in :func:`glob." "glob` and :func:`glob.iglob`." msgstr "" -#: ../NEWS:3695 +#: ../NEWS:4458 msgid "" ":gh:`144833`: Fixed a use-after-free in :mod:`ssl` when ``SSL_new()`` " "returns NULL in ``newPySSLSocket()``. The error was reported via a dangling " "pointer after the object had already been freed." msgstr "" -#: ../NEWS:3699 +#: ../NEWS:4462 msgid "" ":gh:`140715`: Add ``'%D'`` support to :meth:`~datetime.datetime.strptime`." msgstr "" -#: ../NEWS:3701 +#: ../NEWS:4464 msgid "" ":gh:`144782`: Fix :class:`argparse.ArgumentParser` to be :mod:`pickleable " "`." msgstr "" -#: ../NEWS:3704 +#: ../NEWS:4467 msgid "" ":gh:`144763`: Fix a race condition in :mod:`tracemalloc`: it no longer " "detaches the attached thread state to acquire its internal lock. Patch by " "Victor Stinner." msgstr "" -#: ../NEWS:3708 +#: ../NEWS:4471 msgid "" ":gh:`142224`: :func:`unicodedata.bidirectional` now return the correct " "default bidi class for unassigned code points." msgstr "" -#: ../NEWS:3711 +#: ../NEWS:4474 msgid ":gh:`117865`: Reduce the import time of :mod:`inspect` module by ~20%." msgstr "" -#: ../NEWS:3713 +#: ../NEWS:4476 msgid "" ":gh:`144156`: Fix the folding of headers by the :mod:`email` library when :" "rfc:`2047` encoded words are used. Now whitespace is correctly preserved " @@ -6293,35 +7529,35 @@ msgid "" "failures to preserve whitespace." msgstr "" -#: ../NEWS:3719 +#: ../NEWS:4482 msgid "" ":gh:`66305`: Fixed a hang on Windows in the :mod:`tempfile` module when " "trying to create a temporary file or subdirectory in a non-writable " "directory." msgstr "" -#: ../NEWS:3723 +#: ../NEWS:4486 msgid "" ":gh:`144615`: Methods directly decorated with :deco:`functools." "singledispatchmethod` now dispatch on the second argument when called after " "being accessed as class attributes. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:3728 +#: ../NEWS:4491 msgid "" ":gh:`144321`: The functional syntax for creating :class:`typing.NamedTuple` " "classes now supports passing any :term:`iterable` of fields and types. " "Previously, only sequences were supported." msgstr "" -#: ../NEWS:3732 +#: ../NEWS:4495 msgid "" ":gh:`144475`: Calling :func:`repr` on :func:`functools.partial` is now safer " "when the partial object's internal attributes are replaced while the string " "representation is being generated." msgstr "" -#: ../NEWS:3736 +#: ../NEWS:4499 msgid "" ":gh:`144285`: Attribute suggestions in :exc:`AttributeError` tracebacks are " "now formatted differently to make them easier to understand, for example: " @@ -6329,70 +7565,70 @@ msgid "" "Sławecki." msgstr "" -#: ../NEWS:3741 +#: ../NEWS:4504 msgid "" ":gh:`144316`: Fix crash in ``_remote_debugging`` that caused " "``test_external_inspection`` to intermittently fail. Patch by Taegyun Kim." msgstr "" -#: ../NEWS:3744 +#: ../NEWS:4507 msgid "" ":gh:`143637`: Fixed a crash in socket.sendmsg() that could occur if " "ancillary data is mutated re-entrantly during argument parsing." msgstr "" -#: ../NEWS:3747 +#: ../NEWS:4510 msgid "" ":gh:`140652`: Fix a crash in :func:`!_interpchannels.list_all` after closing " "a channel." msgstr "" -#: ../NEWS:3750 +#: ../NEWS:4513 msgid "" ":gh:`143698`: Allow *scheduler* and *setpgroup* arguments to be explicitly :" "const:`None` when calling :func:`os.posix_spawn` or :func:`os.posix_spawnp`. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3754 +#: ../NEWS:4517 msgid "" ":gh:`143698`: Raise :exc:`TypeError` instead of :exc:`SystemError` when the " "*scheduler* in :func:`os.posix_spawn` or :func:`os.posix_spawnp` is not a " "tuple. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3758 +#: ../NEWS:4521 msgid "" ":gh:`142516`: :mod:`ssl`: fix reference leaks in :class:`ssl.SSLContext` " "objects. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3761 +#: ../NEWS:4524 msgid "" ":gh:`85809`: Added :term:`path-like object` support for :func:`shutil." "make_archive`." msgstr "" -#: ../NEWS:3764 +#: ../NEWS:4527 msgid "" ":gh:`143304`: Fix :class:`ctypes.CDLL` to honor the ``handle`` parameter on " "POSIX systems." msgstr "" -#: ../NEWS:3767 +#: ../NEWS:4530 msgid "" ":gh:`142781`: :mod:`zoneinfo`: fix a crash when instantiating :class:" "`~zoneinfo.ZoneInfo` objects for which the internal class-level cache is " "inconsistent." msgstr "" -#: ../NEWS:3771 +#: ../NEWS:4534 msgid "" ":gh:`142787`: Fix assertion failure in :mod:`sqlite3` blob subscript when " "slicing with indices that result in an empty slice." msgstr "" -#: ../NEWS:3774 +#: ../NEWS:4537 msgid "" ":gh:`142352`: Fix :meth:`asyncio.StreamWriter.start_tls` to transfer " "buffered data from :class:`~asyncio.StreamReader` to the SSL layer, " @@ -6400,7 +7636,7 @@ msgid "" "when implementing PROXY protocol support)." msgstr "" -#: ../NEWS:3779 +#: ../NEWS:4542 msgid "" ":gh:`139899`: Introduced :meth:`importlib.abc.MetaPathFinder.discover` and :" "meth:`importlib.abc.PathEntryFinder.discover` to allow module and submodule " @@ -6408,30 +7644,30 @@ msgid "" "imports." msgstr "" -#: ../NEWS:3784 +#: ../NEWS:4547 msgid "" ":gh:`137335`: Get rid of any possibility of a name conflict for named pipes " "in :mod:`multiprocessing` and :mod:`asyncio` on Windows, no matter how small." msgstr "" -#: ../NEWS:3788 +#: ../NEWS:4551 msgid "" ":gh:`135883`: Fix :mod:`sqlite3`'s :ref:`interactive shell ` " "keeping part of previous commands when scrolling history." msgstr "" -#: ../NEWS:3791 +#: ../NEWS:4554 msgid "" ":gh:`124748`: Improve :exc:`TypeError` error message when :meth:`!weakref." "WeakKeyDictionary.update` is used with keyword-only parameters." msgstr "" -#: ../NEWS:3795 +#: ../NEWS:4558 msgid "" ":gh:`80667`: Add support for Tangut Ideographs names in :mod:`unicodedata`." msgstr "" -#: ../NEWS:3797 +#: ../NEWS:4560 msgid "" ":issue:`42353`: The :mod:`re` module gains a new :func:`re.prefixmatch` " "function as an explicit spelling of what has to date always been known as :" @@ -6439,7 +7675,7 @@ msgid "" "prefixmatch` method." msgstr "" -#: ../NEWS:3802 +#: ../NEWS:4565 msgid "" "Why? Explicit is better than implicit. Other widely used languages all use " "the term \"match\" to mean what Python uses the term \"search\" for. The " @@ -6448,123 +7684,123 @@ msgid "" "industry." msgstr "" -#: ../NEWS:3808 +#: ../NEWS:4571 msgid "We do not plan to deprecate and remove the older ``match`` name." msgstr "" -#: ../NEWS:3810 +#: ../NEWS:4573 msgid "" ":issue:`40243`: Fix :meth:`!unicodedata.ucd_3_2_0.numeric` for non-decimal " "values." msgstr "" -#: ../NEWS:3813 +#: ../NEWS:4576 msgid "" ":issue:`40212`: Re-enable :func:`os.posix_fallocate` and :func:`os." "posix_fadvise` on AIX." msgstr "" -#: ../NEWS:3816 +#: ../NEWS:4579 msgid "" ":issue:`3405`: Add support for user data of Tk virtual events and detail for " "``Enter``, ``Leave``, ``FocusIn``, ``FocusOut``, and ``ConfigureRequest`` " "events to :mod:`tkinter`." msgstr "" -#: ../NEWS:3820 +#: ../NEWS:4583 msgid "" ":issue:`32234`: :class:`mailbox.Mailbox` instances can now be used as a " "context manager. The Mailbox is locked on context entry and unlocked and " "closed at context exit." msgstr "" -#: ../NEWS:3827 +#: ../NEWS:4590 msgid "" ":gh:`145450`: Document missing public :class:`wave.Wave_write` getter " "methods." msgstr "" -#: ../NEWS:3830 +#: ../NEWS:4593 msgid "" ":gh:`110937`: Document rest of full public :class:`importlib.metadata." "Distribution` API. Also add the (already documented) :class:`~importlib." "metadata.PackagePath` to ``__all__``." msgstr "" -#: ../NEWS:3834 +#: ../NEWS:4597 msgid "" ":gh:`136246`: A new \"Improve this page\" link is available in the left-hand " "sidebar of the docs, offering links to create GitHub issues, discussion " "forum posts, or pull requests." msgstr "" -#: ../NEWS:3841 +#: ../NEWS:4604 msgid "" ":gh:`145701`: Fix :exc:`SystemError` when ``__classdict__`` or " "``__conditional_annotations__`` is in a class-scope inlined comprehension. " "Found by OSS Fuzz in :oss-fuzz:`491105000`." msgstr "" -#: ../NEWS:3845 +#: ../NEWS:4608 msgid "" ":gh:`145615`: Fixed a memory leak in the :term:`free-threaded build` where " "mimalloc pages could become permanently unreclaimable until the owning " "thread exited." msgstr "" -#: ../NEWS:3849 +#: ../NEWS:4612 msgid "" ":gh:`116738`: Make :meth:`!mmap.mmap.set_name` thread-safe on the :term:" "`free threaded ` build." msgstr "" -#: ../NEWS:3852 +#: ../NEWS:4615 msgid "" ":gh:`145566`: In the free threading build, skip the stop-the-world pause " "when reassigning ``__class__`` on a newly created object." msgstr "" -#: ../NEWS:3855 +#: ../NEWS:4618 msgid "" ":gh:`143055`: Fix crash in AST unparser when unparsing dict comprehension " "unpacking. Found by OSS Fuzz in :oss-fuzz:`489790200`." msgstr "" -#: ../NEWS:3858 +#: ../NEWS:4621 msgid "" ":gh:`145335`: Fix a crash in :func:`os.pathconf` when called with ``-1`` as " "the path argument." msgstr "" -#: ../NEWS:3861 +#: ../NEWS:4624 msgid ":gh:`145376`: Fix reference leaks in various unusual error scenarios." msgstr "" -#: ../NEWS:3863 +#: ../NEWS:4626 msgid "" ":gh:`145234`: Fixed a ``SystemError`` in the parser when an encoding cookie " "(for example, UTF-7) decodes to carriage returns (``\\r``). Newlines are now " "normalized after decoding in the string tokenizer." msgstr "" -#: ../NEWS:3867 +#: ../NEWS:4630 msgid "Patch by Pablo Galindo." msgstr "" -#: ../NEWS:3869 +#: ../NEWS:4632 msgid "" ":gh:`145275`: Added the :option:`-X pathconfig_warnings<-X>` and :envvar:" "`PYTHON_PATHCONFIG_WARNINGS` options, allowing to disable warnings from :ref:" "`sys-path-init`." msgstr "" -#: ../NEWS:3873 +#: ../NEWS:4636 msgid "" ":gh:`145273`: A warning is now shown during :ref:`sys-path-init` if it can't " "find a valid standard library." msgstr "" -#: ../NEWS:3876 +#: ../NEWS:4639 msgid "" ":gh:`145241`: Specialized the parser error for when ``with`` items are " "followed by a trailing comma (for example, ``with item,:``), raising a " @@ -6572,36 +7808,36 @@ msgid "" "Sławecki." msgstr "" -#: ../NEWS:3881 +#: ../NEWS:4644 msgid "" ":gh:`130555`: Fix use-after-free in :meth:`dict.clear` when the dictionary " "values are embedded in an object and a destructor causes re-entrant mutation " "of the dictionary." msgstr "" -#: ../NEWS:3885 +#: ../NEWS:4648 msgid "" ":gh:`145197`: Fix JIT trace crash when recording function from cleared " "generator frame." msgstr "" -#: ../NEWS:3888 +#: ../NEWS:4651 msgid "" ":gh:`145187`: Fix compiler assertion fail when a type parameter bound " "contains an invalid expression in a conditional block." msgstr "" -#: ../NEWS:3891 +#: ../NEWS:4654 msgid "" ":gh:`145142`: Fix a crash in the free-threaded build when the dictionary " "argument to :meth:`str.maketrans` is concurrently modified." msgstr "" -#: ../NEWS:3894 +#: ../NEWS:4657 msgid ":gh:`145118`: :meth:`str.maketrans` now accepts :class:`frozendict`." msgstr "" -#: ../NEWS:3896 +#: ../NEWS:4659 msgid "" ":gh:`144015`: Speed up :meth:`bytes.hex`, :meth:`bytearray.hex`, :func:" "`binascii.hexlify`, and :mod:`hashlib` ``.hexdigest()`` operations with SIMD " @@ -6611,70 +7847,70 @@ msgid "" "for larger data." msgstr "" -#: ../NEWS:3903 +#: ../NEWS:4666 msgid "" ":gh:`145118`: :func:`type` now accepts :class:`frozendict` as an argument." msgstr "" -#: ../NEWS:3905 +#: ../NEWS:4668 msgid "" ":gh:`145064`: Fix JIT optimizer assertion failure during " "``CALL_ALLOC_AND_ENTER_INIT`` side exit." msgstr "" -#: ../NEWS:3908 +#: ../NEWS:4671 msgid "" ":gh:`145055`: :func:`exec` and :func:`eval` now accept :class:`frozendict` " "for *globals*. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3911 +#: ../NEWS:4674 msgid "" ":gh:`145058`: Fix a crash when :func:`!__lazy_import__` is passed a non-" "string argument, by raising an :exc:`TypeError` instead." msgstr "" -#: ../NEWS:3914 +#: ../NEWS:4677 msgid "" ":gh:`144995`: Optimize :class:`memoryview` comparison: a :class:`memoryview` " "is equal to itself, there is no need to compare values. Patch by Victor " "Stinner." msgstr "" -#: ../NEWS:3918 +#: ../NEWS:4681 msgid "" ":gh:`141510`: Update specializer to support frozendict. Patch by Donghee Na." msgstr "" -#: ../NEWS:3920 +#: ../NEWS:4683 msgid "" ":gh:`141510`: Optimize :meth:`!frozendict.fromkeys` to avoid unnecessary " "thread-safety operations in frozendict cases. Patch by Donghee Na." msgstr "" -#: ../NEWS:3923 +#: ../NEWS:4686 msgid "" ":gh:`100239`: Speedup ``BINARY_OP_EXTEND`` for exact floats and medium-size " "integers by up to 15%. Patch by Chris Eibl." msgstr "" -#: ../NEWS:3926 +#: ../NEWS:4689 msgid "" ":gh:`144914`: Use ``mimalloc`` for raw memory allocations such as via :c:" "func:`PyMem_RawMalloc` for better performance on :term:`free-threaded builds " "`. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:3930 +#: ../NEWS:4693 msgid ":gh:`144872`: Fix heap buffer overflow in the parser found by OSS-Fuzz." msgstr "" -#: ../NEWS:3932 +#: ../NEWS:4695 msgid "" ":gh:`144766`: Fix a crash in fork child process when perf support is enabled." msgstr "" -#: ../NEWS:3934 +#: ../NEWS:4697 msgid "" ":gh:`144759`: Fix undefined behavior in the lexer when ``start`` and " "``multi_line_start`` pointers are ``NULL`` in " @@ -6683,84 +7919,84 @@ msgid "" "(``NULL - valid_pointer``) is now guarded with explicit ``NULL`` checks." msgstr "" -#: ../NEWS:3940 +#: ../NEWS:4703 msgid "" ":gh:`141510`: Add built-in :class:`frozendict` type. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3942 +#: ../NEWS:4705 msgid "" ":gh:`144681`: Fix a JIT assertion failure when a conditional branch jumps to " "the same target as the fallthrough path." msgstr "" -#: ../NEWS:3945 +#: ../NEWS:4708 msgid "" ":gh:`143300`: Add :c:func:`PyUnstable_SetImmortal` C-API function to mark " "objects as :term:`immortal`." msgstr "" -#: ../NEWS:3948 +#: ../NEWS:4711 msgid "" ":gh:`144702`: Clarify the error message raised when a class pattern is used " "to match on a non-class object." msgstr "" -#: ../NEWS:3951 +#: ../NEWS:4714 msgid "" ":gh:`144569`: Optimize ``BINARY_SLICE`` for list, tuple, and unicode by " "avoiding temporary ``slice`` object creation." msgstr "" -#: ../NEWS:3954 +#: ../NEWS:4717 msgid "" ":gh:`144438`: Align the QSBR thread state array to a 64-byte cache line " "boundary to avoid false sharing in the :term:`free-threaded build`." msgstr "" -#: ../NEWS:3957 +#: ../NEWS:4720 msgid "" ":gh:`142349`: Implement :pep:`810`. Patch by Pablo Galindo and Dino Viehland." msgstr "" -#: ../NEWS:3959 +#: ../NEWS:4722 msgid "" ":gh:`141226`: Deprecate :pep:`456` support for providing an external " "definition of the string hashing scheme. Removal is scheduled for Python " "3.19. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3963 +#: ../NEWS:4726 msgid "" ":gh:`138912`: Improve :opcode:`MATCH_CLASS` performance by up to 52% in " "certain cases. Patch by Marc Mueller." msgstr "" -#: ../NEWS:3966 +#: ../NEWS:4729 msgid "" ":gh:`130327`: Fix erroneous clearing of an object's :attr:`~object.__dict__` " "if overwritten at runtime." msgstr "" -#: ../NEWS:3969 +#: ../NEWS:4732 msgid "" ":gh:`80667`: Literals using the ``\\N{name}`` escape syntax can now " "construct CJK ideographs and Hangul syllables using case-insensitive names." msgstr "" -#: ../NEWS:3975 +#: ../NEWS:4738 msgid "" ":gh:`142417`: Restore private provisional ``_Py_InitializeMain()`` function " "removed in Python 3.14. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3978 +#: ../NEWS:4741 msgid "" ":gh:`144748`: :c:func:`PyErr_CheckSignals` now raises the exception " "scheduled by :c:func:`PyThreadState_SetAsyncExc`, if any." msgstr "" -#: ../NEWS:3981 +#: ../NEWS:4744 msgid "" ":gh:`144981`: Made :c:func:`PyUnstable_Code_SetExtra`, :c:func:" "`PyUnstable_Code_GetExtra`, and :c:func:" @@ -6768,48 +8004,48 @@ msgid "" "threaded ` build." msgstr "" -#: ../NEWS:3986 +#: ../NEWS:4749 msgid "" ":gh:`141510`: Add the following functions for the new :class:`frozendict` " "type:" msgstr "" -#: ../NEWS:3989 +#: ../NEWS:4752 msgid ":c:func:`PyAnyDict_Check`" msgstr "" -#: ../NEWS:3990 +#: ../NEWS:4753 msgid ":c:func:`PyAnyDict_CheckExact`" msgstr "" -#: ../NEWS:3991 +#: ../NEWS:4754 msgid ":c:func:`PyFrozenDict_Check`" msgstr "" -#: ../NEWS:3992 +#: ../NEWS:4755 msgid ":c:func:`PyFrozenDict_CheckExact`" msgstr "" -#: ../NEWS:3993 +#: ../NEWS:4756 msgid ":c:func:`PyFrozenDict_New`" msgstr "" -#: ../NEWS:3995 ../NEWS:8406 ../NEWS:10318 ../NEWS:10882 ../NEWS:11672 -#: ../NEWS:14452 ../NEWS:14462 ../NEWS:14533 ../NEWS:14547 ../NEWS:14577 -#: ../NEWS:15390 ../NEWS:15399 ../NEWS:16914 ../NEWS:18373 ../NEWS:20849 -#: ../NEWS:20877 ../NEWS:20888 ../NEWS:26139 ../NEWS:29871 ../NEWS:29899 -#: ../NEWS:30679 ../NEWS:31808 ../NEWS:32954 ../NEWS:33010 +#: ../NEWS:4758 ../NEWS:9169 ../NEWS:11081 ../NEWS:11645 ../NEWS:12435 +#: ../NEWS:15215 ../NEWS:15225 ../NEWS:15296 ../NEWS:15310 ../NEWS:15340 +#: ../NEWS:16153 ../NEWS:16162 ../NEWS:17677 ../NEWS:19136 ../NEWS:21612 +#: ../NEWS:21640 ../NEWS:21651 ../NEWS:26902 ../NEWS:30634 ../NEWS:30662 +#: ../NEWS:31442 ../NEWS:32571 ../NEWS:33717 ../NEWS:33773 msgid "Patch by Victor Stinner." msgstr "" -#: ../NEWS:3997 +#: ../NEWS:4760 msgid "" ":gh:`121617`: ``Python.h`` now also includes ```` in the limited C " "API version 3.11 and newer to fix the :c:macro:`Py_CLEAR` macro which uses " "``memcpy()``. Patch by Victor Stinner." msgstr "" -#: ../NEWS:4001 +#: ../NEWS:4764 msgid "" ":gh:`144175`: Add :c:func:`PyArg_ParseArray` and :c:func:" "`PyArg_ParseArrayAndKeywords` functions to parse arguments of functions " @@ -6817,62 +8053,62 @@ msgid "" "Stinner." msgstr "" -#: ../NEWS:4009 +#: ../NEWS:4772 msgid "" ":gh:`144533`: Use wasmtime's ``--argv0`` to auto-discover sysconfig in WASI " "builds" msgstr "" -#: ../NEWS:4012 +#: ../NEWS:4775 msgid "" ":gh:`145110`: Fix targets \"Clean\" and \"CLeanAll\" in case of PGO builds " "on Windows. Patch by Chris Eibl." msgstr "" -#: ../NEWS:4015 +#: ../NEWS:4778 msgid "" ":gh:`144679`: When building with Visual Studio 2026 (Version 18), use " "PlatformToolSet v145 by default. Patch by Chris Eibl." msgstr "" -#: ../NEWS:4018 +#: ../NEWS:4781 msgid ":gh:`144675`: Update to WASI SDK 30." msgstr "" -#: ../NEWS:4020 +#: ../NEWS:4783 msgid "" ":gh:`136677`: Introduce executable specific linker flags to ``./configure``." msgstr "" -#: ../NEWS:4024 +#: ../NEWS:4787 msgid "Python 3.15.0 alpha 6" msgstr "" -#: ../NEWS:4026 +#: ../NEWS:4789 msgid "*Release date: 2026-02-11*" msgstr "" -#: ../NEWS:4031 +#: ../NEWS:4794 msgid "" ":gh:`144648`: Allowed _remote_debugging to build on more OS versions by " "using proc_listpids() rather than proc_listallpids()." msgstr "" -#: ../NEWS:4034 +#: ../NEWS:4797 msgid ":gh:`124111`: Update macOS installer to use Tcl/Tk 9.0.3." msgstr "" -#: ../NEWS:4036 +#: ../NEWS:4799 msgid ":gh:`144551`: Update macOS installer to use OpenSSL 3.5.5." msgstr "" -#: ../NEWS:4041 +#: ../NEWS:4804 msgid "" ":gh:`80620`: Support negative timestamps in :func:`time.gmtime`, :func:`time." "localtime`, and various :mod:`datetime` functions." msgstr "" -#: ../NEWS:4047 +#: ../NEWS:4810 msgid "" ":gh:`144415`: The Android testbed now distinguishes between stdout/stderr " "messages which were triggered by a newline, and those triggered by a manual " @@ -6880,14 +8116,14 @@ msgid "" "content." msgstr "" -#: ../NEWS:4052 +#: ../NEWS:4815 msgid "" ":gh:`65784`: Add support for parametrized resource ``wantobjects`` in " "regrtests, which allows to run Tkinter tests with the specified value of :" "data:`!tkinter.wantobjects`, for example ``-u wantobjects=0``." msgstr "" -#: ../NEWS:4059 +#: ../NEWS:4822 msgid "" ":gh:`144125`: :mod:`~email.generator.BytesGenerator` will now refuse to " "serialize (write) headers that are unsafely folded or delimited; see :attr:" @@ -6895,7 +8131,7 @@ msgid "" "Bloemsaat and Petr Viktorin in :gh:`121650`)." msgstr "" -#: ../NEWS:4064 +#: ../NEWS:4827 msgid "" ":gh:`143935`: Fixed a bug in the folding of comments when flattening an " "email message using a modern email policy. Comments consisting of a very " @@ -6905,36 +8141,36 @@ msgid "" "enabled header injection with carefully crafted inputs." msgstr "" -#: ../NEWS:4071 +#: ../NEWS:4834 msgid ":gh:`143925`: Reject control characters in ``data:`` URL media types." msgstr "" -#: ../NEWS:4073 +#: ../NEWS:4836 msgid ":gh:`143923`: Reject control characters in POP3 commands." msgstr "" -#: ../NEWS:4075 +#: ../NEWS:4838 msgid ":gh:`143921`: Reject control characters in IMAP commands." msgstr "" -#: ../NEWS:4077 +#: ../NEWS:4840 msgid "" ":gh:`143919`: Reject control characters in :class:`http.cookies.Morsel` " "fields and values." msgstr "" -#: ../NEWS:4080 +#: ../NEWS:4843 msgid "" ":gh:`143916`: Reject C0 control characters within wsgiref.headers.Headers " "fields, values, and parameters." msgstr "" -#: ../NEWS:4086 +#: ../NEWS:4849 msgid "" ":gh:`144538`: Bump the version of pip bundled in ensurepip to version 26.0.1" msgstr "" -#: ../NEWS:4088 +#: ../NEWS:4851 msgid "" ":gh:`144493`: Improve an exception error message in ``_overlapped." "BindLocal()`` that is raised when :meth:`asyncio.loop.sock_connect` is " @@ -6942,7 +8178,7 @@ msgid "" "invalid address family." msgstr "" -#: ../NEWS:4094 +#: ../NEWS:4857 msgid "" ":gh:`144386`: Add support for arbitrary descriptors :meth:`!__enter__`, :" "meth:`!__exit__`, :meth:`!__aenter__`, and :meth:`!__aexit__` in :class:" @@ -6950,20 +8186,20 @@ msgid "" "consistency with the :keyword:`with` and :keyword:`async with` statements." msgstr "" -#: ../NEWS:4099 +#: ../NEWS:4862 msgid "" ":gh:`123471`: Make concurrent iteration over :class:`itertools." "combinations_with_replacement` and :class:`itertools.permutations` safe " "under free-threading." msgstr "" -#: ../NEWS:4103 +#: ../NEWS:4866 msgid "" ":gh:`74453`: Deprecate :func:`os.path.commonprefix` in favor of :func:`os." "path.commonpath` for path segment prefixes." msgstr "" -#: ../NEWS:4106 +#: ../NEWS:4869 msgid "" "The :func:`os.path.commonprefix` function is being deprecated due to having " "a misleading name and module. The function is not safe to use for path " @@ -6972,106 +8208,106 @@ msgid "" "Python programs by using this function." msgstr "" -#: ../NEWS:4112 +#: ../NEWS:4875 msgid "" ":gh:`144380`: Improve performance of :class:`io.BufferedReader` line " "iteration by ~49%." msgstr "" -#: ../NEWS:4115 +#: ../NEWS:4878 msgid "" ":gh:`144363`: Update bundled `libexpat `_ to " "2.7.4" msgstr "" -#: ../NEWS:4118 +#: ../NEWS:4881 msgid "" ":gh:`140824`: When :mod:`faulthandler` dumps the list of third-party " "extension modules, ignore sub-modules of stdlib packages. Patch by Victor " "Stinner." msgstr "" -#: ../NEWS:4122 +#: ../NEWS:4885 msgid "" ":gh:`144206`: Improve error messages for buffer overflow in :func:`fcntl." "fcntl` and :func:`fcntl.ioctl`." msgstr "" -#: ../NEWS:4125 +#: ../NEWS:4888 msgid "" ":gh:`144264`: Speed up Base64 decoding of data containing ignored characters " "(both in non-strict mode and with an explicit *ignorechars* argument). It is " "now up to 2 times faster for multiline Base64 data." msgstr "" -#: ../NEWS:4129 +#: ../NEWS:4892 msgid "" ":gh:`144249`: Add filename context to :exc:`OSError` exceptions raised by :" "func:`ssl.SSLContext.load_cert_chain`, allowing users to have more context." msgstr "" -#: ../NEWS:4133 +#: ../NEWS:4896 msgid "" ":gh:`132888`: Fix incorrect use of :func:`ctypes.GetLastError` and add " "missing error checks for Windows API calls in :mod:`!_pyrepl." "windows_console`." msgstr "" -#: ../NEWS:4137 +#: ../NEWS:4900 msgid ":gh:`142956`: Updated :mod:`tomllib` to parse TOML 1.1.0." msgstr "" -#: ../NEWS:4139 +#: ../NEWS:4902 msgid "" ":gh:`144217`: :mod:`mimetypes`: Add support for DICOM files (for medical " "imaging) with the official MIME type ``application/dicom``. Patch by " "Benedikt Johannes." msgstr "" -#: ../NEWS:4143 +#: ../NEWS:4906 msgid "" ":gh:`144212`: Mime type ``image/jxl`` is now supported by :mod:`mimetypes`." msgstr "" -#: ../NEWS:4145 +#: ../NEWS:4908 msgid "" ":gh:`143594`: Add :meth:`symtable.Function.get_cells` and :meth:`symtable." "Symbol.is_cell` methods." msgstr "" -#: ../NEWS:4148 +#: ../NEWS:4911 msgid "" ":gh:`144169`: Fix three crashes when non-string keyword arguments are " "supplied to objects in the :mod:`ast` module." msgstr "" -#: ../NEWS:4151 +#: ../NEWS:4914 msgid "" ":gh:`144128`: Fix a crash in :meth:`array.array.fromlist` when an element's :" "meth:`~object.__index__` method mutates the input list during conversion." msgstr "" -#: ../NEWS:4154 +#: ../NEWS:4917 msgid "" ":gh:`144100`: Fixed a crash in ctypes when using a deprecated " "``POINTER(str)`` type in ``argtypes``. Instead of aborting, ctypes now " "raises a proper Python exception when the pointer target type is unresolved." msgstr "" -#: ../NEWS:4159 +#: ../NEWS:4922 msgid "" ":gh:`143658`: :mod:`importlib.metadata`: Use :meth:`str.lower` and :meth:" "`str.replace` to further improve performance of :meth:`!importlib.metadata." "Prepared.normalize`. Patch by Hugo van Kemenade and Henry Schreiner." msgstr "" -#: ../NEWS:4164 +#: ../NEWS:4927 msgid "" ":gh:`144050`: Fix :func:`stat.filemode` in the pure-Python implementation to " "avoid misclassifying invalid mode values as block devices." msgstr "" -#: ../NEWS:4167 +#: ../NEWS:4930 msgid "" ":gh:`83069`: :meth:`subprocess.Popen.wait`: when ``timeout`` is not " "``None``, an efficient event-driven mechanism now waits for process " @@ -7083,7 +8319,7 @@ msgid "" "blocking call and short sleeps). Patch by Giampaolo Rodola." msgstr "" -#: ../NEWS:4176 +#: ../NEWS:4939 msgid "" ":gh:`144030`: The Python implementation of :func:`functools.lru_cache` " "differed from the default C implementation in that it did not check that its " @@ -7091,69 +8327,69 @@ msgid "" "`TypeError`." msgstr "" -#: ../NEWS:4181 +#: ../NEWS:4944 msgid "" ":gh:`144001`: Added the *ignorechars* parameter in :func:`binascii." "a2b_base64` and :func:`base64.b64decode`." msgstr "" -#: ../NEWS:4184 +#: ../NEWS:4947 msgid "" ":gh:`144023`: Fixed validation of file descriptor 0 in posix functions when " "used with follow_symlinks parameter." msgstr "" -#: ../NEWS:4187 +#: ../NEWS:4950 msgid "" ":gh:`143999`: Fix an issue where :func:`inspect.getgeneratorstate` and :func:" "`inspect.getcoroutinestate` could fail for generators wrapped by :func:" "`types.coroutine` in the suspended state." msgstr "" -#: ../NEWS:4191 +#: ../NEWS:4954 msgid "" ":gh:`143952`: Fixed :mod:`asyncio` debugging tools to work with new remote " "debugging API. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:4194 +#: ../NEWS:4957 msgid "" ":gh:`143904`: :func:`struct.pack_into` now raises OverflowError instead of " "IndexError for too large *offset* argument." msgstr "" -#: ../NEWS:4197 +#: ../NEWS:4960 msgid "" ":gh:`143897`: Remove the :meth:`!isxidstart` and :meth:`!isxidcontinue` " "methods of :data:`unicodedata.ucd_3_2_0`. They are now only exposed as :func:" "`unicodedata.isxidstart` and :func:`unicodedata.isxidcontinue`." msgstr "" -#: ../NEWS:4201 +#: ../NEWS:4964 msgid "" ":gh:`143831`: :class:`annotationlib.ForwardRef` objects are now hashable " "when created from annotation scopes with closures. Previously, hashing such " "objects would throw an exception. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:4205 +#: ../NEWS:4968 msgid "" ":gh:`143874`: Fixed a bug in :mod:`pdb` where expression results were not " "sent back to remote client." msgstr "" -#: ../NEWS:4208 +#: ../NEWS:4971 msgid "" ":gh:`143754`: Add new :mod:`tkinter` widget methods :meth:`!pack_content`, :" "meth:`!place_content` and :meth:`!grid_content` which are alternative " "spelling of old :meth:`!*_slaves` methods." msgstr "" -#: ../NEWS:4212 +#: ../NEWS:4975 msgid ":gh:`143756`: Fix potential thread safety issues in :mod:`ssl` module." msgstr "" -#: ../NEWS:4214 +#: ../NEWS:4977 msgid "" ":gh:`132604`: Previously, :class:`~typing.Protocol` classes that were not " "decorated with :deco:`~typing.runtime_checkable`, but that inherited from " @@ -7163,70 +8399,70 @@ msgid "" "Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:4221 +#: ../NEWS:4984 msgid "" ":gh:`143543`: Fix a crash in itertools.groupby that could occur when a user-" "defined :meth:`~object.__eq__` method re-enters the iterator during key " "comparison." msgstr "" -#: ../NEWS:4225 +#: ../NEWS:4988 msgid "" ":gh:`143689`: Fix :meth:`io.BufferedReader.read1` state cleanup on buffer " "allocation failure." msgstr "" -#: ../NEWS:4228 +#: ../NEWS:4991 msgid "" ":gh:`143602`: Fix a inconsistency issue in :meth:`~io.RawIOBase.write` that " "leads to unexpected buffer overwrite by deduplicating the buffer exports." msgstr "" -#: ../NEWS:4231 +#: ../NEWS:4994 msgid "" ":gh:`142434`: Use ``ppoll()`` if available in :func:`select.poll` to have a " "timeout resolution of 1 nanosecond, instead of a resolution of 1 ms. Patch " "by Victor Stinner." msgstr "" -#: ../NEWS:4235 +#: ../NEWS:4998 msgid "" ":gh:`140557`: :class:`array.array` buffers now have the same alignment when " "empty as when allocated. Unaligned buffers can still be created by slicing." msgstr "" -#: ../NEWS:4239 +#: ../NEWS:5002 msgid "" ":gh:`143423`: Fix free-threaded build detection in the sampling profiler " "when Py_GIL_DISABLED is set to 0." msgstr "" -#: ../NEWS:4242 +#: ../NEWS:5005 msgid "" ":gh:`101178`: Add Ascii85, Base85, and Z85 support to :mod:`binascii` and " "improve the performance of the base-85 converters in :mod:`base64`." msgstr "" -#: ../NEWS:4245 +#: ../NEWS:5008 msgid "" ":gh:`142966`: Fix :func:`!ctypes.POINTER.set_type` not updating the format " "string to match the type." msgstr "" -#: ../NEWS:4248 +#: ../NEWS:5011 msgid "" ":gh:`142555`: :mod:`array`: fix a crash in ``a[i] = v`` when converting *i* " "to an index via :meth:`i.__index__ ` or :meth:`i.__float__ " "` mutates the array." msgstr "" -#: ../NEWS:4252 +#: ../NEWS:5015 msgid "" ":gh:`142438`: Fix _decimal builds configured with EXTRA_FUNCTIONALITY by " "correcting the Context.apply wrapper to pass the right argument." msgstr "" -#: ../NEWS:4255 +#: ../NEWS:5018 msgid "" ":gh:`141860`: Add an ``on_error`` keyword-only parameter to :func:" "`multiprocessing.set_forkserver_preload` to control how import failures " @@ -7235,7 +8471,7 @@ msgid "" "exception). Contributed by Nick Neumann and Gregory P. Smith." msgstr "" -#: ../NEWS:4261 +#: ../NEWS:5024 msgid "" ":gh:`125346`: Accepting ``+`` and ``/`` characters with an alternative " "alphabet in :func:`base64.b64decode` and :func:`base64.urlsafe_b64decode` is " @@ -7243,12 +8479,12 @@ msgid "" "mode and discarded in the non-strict mode." msgstr "" -#: ../NEWS:4266 +#: ../NEWS:5029 msgid "" ":gh:`140715`: Add ``'%F'`` support to :meth:`~datetime.datetime.strptime`." msgstr "" -#: ../NEWS:4268 +#: ../NEWS:5031 msgid "" ":gh:`67041`: Add the *missing_as_none* parameter to :func:`~urllib.parse." "urlparse`, :func:`~urllib.parse.urlsplit` and :func:`~urllib.parse." @@ -7258,24 +8494,24 @@ msgid "" "components." msgstr "" -#: ../NEWS:4275 +#: ../NEWS:5038 msgid "" ":gh:`77188`: The :mod:`pickle` module now properly handles name-mangled " "private methods." msgstr "" -#: ../NEWS:4281 +#: ../NEWS:5044 msgid "" ":gh:`143774`: Better explain the operation of Format / Format Paragraph." msgstr "" -#: ../NEWS:4286 +#: ../NEWS:5049 msgid "" ":gh:`134584`: Optimize and eliminate ref-counting in " "``_BINARY_OP_SUBSCR_LIST_SLICE``" msgstr "" -#: ../NEWS:4289 +#: ../NEWS:5052 msgid "" ":gh:`144563`: Fix interaction of the Tachyon profiler and :mod:`ctypes` and " "other modules that load the Python shared library (if present) in an " @@ -7283,41 +8519,41 @@ msgid "" "information to be confused. Patch by Pablo Galindo" msgstr "" -#: ../NEWS:4294 +#: ../NEWS:5057 msgid "" ":gh:`144601`: Fix crash when importing a module whose ``PyInit`` function " "raises an exception from a subinterpreter." msgstr "" -#: ../NEWS:4297 +#: ../NEWS:5060 msgid "" ":gh:`144549`: Fix building the tail calling interpreter on Visual Studio " "2026 with free-threading." msgstr "" -#: ../NEWS:4300 +#: ../NEWS:5063 msgid "" ":gh:`144513`: Fix potential deadlock when using critical sections during " "stop-the-world pauses in the free-threaded build." msgstr "" -#: ../NEWS:4303 +#: ../NEWS:5066 msgid ":gh:`131798`: Optimise ``_GUARD_TOS_SLICE`` in the JIT." msgstr "" -#: ../NEWS:4305 +#: ../NEWS:5068 msgid "" ":gh:`144330`: Move ``classmethod`` and ``staticmethod`` initialization from " "``__init__()`` to ``__new__()``. Patch by Victor Stinner." msgstr "" -#: ../NEWS:4308 +#: ../NEWS:5071 msgid "" ":gh:`144446`: Fix data races in the free-threaded build when reading frame " "object attributes while another thread is executing the frame." msgstr "" -#: ../NEWS:4311 +#: ../NEWS:5074 msgid "" ":gh:`120321`: Add ``gi_state``, ``cr_state``, and ``ag_state`` attributes to " "generators, coroutines, and async generators that return the current state " @@ -7326,123 +8562,123 @@ msgid "" "func:`~inspect.getasyncgenstate` now return these attributes directly." msgstr "" -#: ../NEWS:4318 +#: ../NEWS:5081 msgid ":gh:`141563`: Fix thread safety of :c:macro:`! PyDateTime_IMPORT`." msgstr "" -#: ../NEWS:4320 +#: ../NEWS:5083 msgid "" ":gh:`144280`: Fix a bug in JIT where the predicate symbol had no truthiness" msgstr "" -#: ../NEWS:4322 +#: ../NEWS:5085 msgid "" ":gh:`140550`: In :c:member:`PyModuleDef.m_slots`, allow slots that repeat " "information present in :c:type:`PyModuleDef`." msgstr "" -#: ../NEWS:4325 +#: ../NEWS:5088 msgid "" ":gh:`139103`: Improve scaling of :func:`~collections.namedtuple` " "instantiation in the free-threaded build." msgstr "" -#: ../NEWS:4328 +#: ../NEWS:5091 msgid "" ":gh:`144307`: Prevent a reference leak in module teardown at interpreter " "finalization." msgstr "" -#: ../NEWS:4331 +#: ../NEWS:5094 msgid "" ":gh:`144319`: Add huge pages support for the pymalloc allocator. Patch by " "Pablo Galindo" msgstr "" -#: ../NEWS:4334 +#: ../NEWS:5097 msgid "" ":gh:`120321`: Made ``gi_yieldfrom`` thread-safe in the free-threading build " "by using a lightweight lock on the frame state." msgstr "" -#: ../NEWS:4337 +#: ../NEWS:5100 msgid "" ":gh:`144194`: Fix error handling in perf jitdump initialization on memory " "allocation failure." msgstr "" -#: ../NEWS:4340 +#: ../NEWS:5103 msgid "" ":gh:`143962`: Name suggestion for not normalized name suggests now the " "normalized name or the closest name to the normalized name. If the suggested " "name is not ASCII, include also its ASCII representation." msgstr "" -#: ../NEWS:4344 +#: ../NEWS:5107 msgid "" ":gh:`144157`: :meth:`bytes.translate` now allows the compiler to unroll its " "loop more usefully for a 2x speedup in the common no-deletions specified " "case." msgstr "" -#: ../NEWS:4348 +#: ../NEWS:5111 msgid "" ":gh:`144068`: Fix JIT tracer memory leak, ensure the JIT tracer state is " "freed when daemon threads are cleaned up during interpreter shutdown." msgstr "" -#: ../NEWS:4351 +#: ../NEWS:5114 msgid "" ":gh:`144012`: Check if the result is ``NULL`` in ``BINARY_OP_EXTENT`` opcode." msgstr "" -#: ../NEWS:4353 +#: ../NEWS:5116 msgid "" ":gh:`144007`: Eliminate redundant refcounting in the JIT for ``BINARY_OP``." msgstr "" -#: ../NEWS:4355 +#: ../NEWS:5118 msgid "" ":gh:`144005`: Eliminate redundant refcounting from ``BINARY_OP_EXTEND``." msgstr "" -#: ../NEWS:4357 +#: ../NEWS:5120 msgid "" ":gh:`143939`: Fix erroneous \"cannot reuse already awaited coroutine\" error " "that could occur when a generator was run during the process of clearing a " "coroutine's frame." msgstr "" -#: ../NEWS:4361 +#: ../NEWS:5124 msgid "" ":gh:`141805`: Fix crash in :class:`set` when objects with the same hash are " "concurrently added to the set after removing an element with the same hash " "while the set still contains elements with the same hash." msgstr "" -#: ../NEWS:4365 +#: ../NEWS:5128 msgid ":gh:`143670`: Fixes a crash in ``ga_repr_items_list`` function." msgstr "" -#: ../NEWS:4367 +#: ../NEWS:5130 msgid "" ":gh:`143650`: Fix race condition in :mod:`importlib` where a thread could " "receive a stale module reference when another thread's import fails." msgstr "" -#: ../NEWS:4370 +#: ../NEWS:5133 msgid "" ":gh:`143569`: Generator expressions in 3.15 now conform to the documented " "behavior when the iterable does not support iteration. This matches the " "behavior in 3.14 and earlier" msgstr "" -#: ../NEWS:4374 +#: ../NEWS:5137 msgid "" ":gh:`143192`: Improve performance of bitwise operations on multi-digit ints." msgstr "" -#: ../NEWS:4376 +#: ../NEWS:5139 msgid "" ":gh:`132657`: If we are specializing to ``LOAD_GLOBAL_MODULE`` or " "``LOAD_ATTR_MODULE``, try to enable deferred reference counting for the " @@ -7452,13 +8688,13 @@ msgid "" "will be deallocated by the GC, rather than by :c:func:`Py_DECREF`." msgstr "" -#: ../NEWS:4383 +#: ../NEWS:5146 msgid "" ":gh:`143055`: Implement :pep:`798` (Unpacking in Comprehensions). Patch by " "Adam Hartz." msgstr "" -#: ../NEWS:4386 +#: ../NEWS:5149 msgid "" ":gh:`142037`: Improve error messages for printf-style formatting. For errors " "in the format string, always include the position of the start of the format " @@ -7468,25 +8704,25 @@ msgid "" "error)." msgstr "" -#: ../NEWS:4393 +#: ../NEWS:5156 msgid "" ":gh:`140557`: :class:`bytearray` buffers now have the same alignment when " "empty as when allocated. Unaligned buffers can still be created by slicing." msgstr "" -#: ../NEWS:4397 +#: ../NEWS:5160 msgid "" ":gh:`140232`: Frozenset objects with immutable elements are no longer " "tracked by the garbage collector." msgstr "" -#: ../NEWS:4400 +#: ../NEWS:5163 msgid "" ":gh:`115231`: Setup ``__module__`` attribute for built-in static methods. " "Patch by Sergey B Kirpichev." msgstr "" -#: ../NEWS:4406 +#: ../NEWS:5169 msgid "" ":gh:`143869`: Added :c:func:`PyLong_GetNativeLayout`, :c:struct:" "`PyLongLayout`, :c:struct:`PyLongExport`, :c:func:`PyLong_Export`, :c:func:" @@ -7495,25 +8731,25 @@ msgid "" "`PyLongWriter_Discard` to the limited API." msgstr "" -#: ../NEWS:4413 +#: ../NEWS:5176 msgid "" ":gh:`141070`: Renamed :c:func:`!PyUnstable_Object_Dump` to :c:func:" "`PyObject_Dump`." msgstr "" -#: ../NEWS:4419 +#: ../NEWS:5182 msgid "" ":gh:`140421`: Disable the perf trampoline on older macOS versions where it " "cannot be built." msgstr "" -#: ../NEWS:4422 +#: ../NEWS:5185 msgid "" ":gh:`144309`: Build Python with POSIX 2024, instead of POSIX 2008. Patch by " "Victor Stinner." msgstr "" -#: ../NEWS:4425 +#: ../NEWS:5188 msgid "" ":gh:`144278`: Enables defining the ``_PY_IMPL_NAME`` and " "``_PY_IMPL_CACHE_TAG`` preprocessor definitions to override :data:`sys." @@ -7522,70 +8758,70 @@ msgid "" "effect of completely disabling automatic creation and use of ``.pyc`` files." msgstr "" -#: ../NEWS:4432 +#: ../NEWS:5195 msgid "" ":gh:`143960`: Add support for OpenSSL 3.6, drop EOL 3.2. Patch by Hugo van " "Kemenade." msgstr "" -#: ../NEWS:4435 +#: ../NEWS:5198 msgid "" ":gh:`143941`: Move WASI-related files to :file:`Platforms/WASI`. Along the " "way, leave a deprecated :file:`Tools/wasm/wasi/__main__.py` behind for " "backwards-compatibility." msgstr "" -#: ../NEWS:4439 +#: ../NEWS:5202 msgid "" ":gh:`143842`: Prevent static builds from clashing with curses by making the " "optimizer COLORS table static." msgstr "" -#: ../NEWS:4444 +#: ../NEWS:5207 msgid "Python 3.15.0 alpha 5" msgstr "" -#: ../NEWS:4446 +#: ../NEWS:5209 msgid "*Release date: 2026-01-14*" msgstr "" -#: ../NEWS:4451 +#: ../NEWS:5214 msgid "" ":gh:`143082`: Fix :mod:`pdb` arrow key history not working when ``stdin`` is " "``sys.stdin``." msgstr "" -#: ../NEWS:4454 +#: ../NEWS:5217 msgid "" ":gh:`128067`: Fix a bug in PyREPL on Windows where output without a trailing " "newline was overwritten by the next prompt." msgstr "" -#: ../NEWS:4460 +#: ../NEWS:5223 msgid "" ":gh:`142095`: Make gdb 'py-bt' command use frame from thread local state " "when available. Patch by Sam Gross and Victor Stinner." msgstr "" -#: ../NEWS:4466 +#: ../NEWS:5229 msgid "" ":gh:`143460`: Skip tests relying on infinite recusion if stack size is " "unlimited." msgstr "" -#: ../NEWS:4469 +#: ../NEWS:5232 msgid "" ":gh:`143553`: Add support for parametrized resources, such as ``-u " "xpickle=2.7``." msgstr "" -#: ../NEWS:4472 +#: ../NEWS:5235 msgid "" ":issue:`31391`: Forward-port test_xpickle from Python 2 to Python 3 and add " "the resource back to test's command line." msgstr "" -#: ../NEWS:4478 +#: ../NEWS:5241 msgid "" ":gh:`143706`: Fix :mod:`multiprocessing` forkserver so that :data:`sys.argv` " "is correctly set before ``__main__`` is preloaded. Previously, :data:`sys." @@ -7594,7 +8830,7 @@ msgid "" "Aaron Wieczorek, test provided by Thomas Watson, thanks!" msgstr "" -#: ../NEWS:4484 +#: ../NEWS:5247 msgid "" ":gh:`143638`: Forbid reentrant calls of the :class:`pickle.Pickler` and :" "class:`pickle.Unpickler` methods for the C implementation. Previously, this " @@ -7602,48 +8838,48 @@ msgid "" "same object raise :exc:`RuntimeError`." msgstr "" -#: ../NEWS:4489 +#: ../NEWS:5252 msgid "" ":gh:`143658`: :mod:`importlib.metadata`: Use :meth:`str.translate` to " "improve performance of :meth:`!importlib.metadata.Prepared.normalize`. Patch " "by Hugo van Kemenade and Henry Schreiner." msgstr "" -#: ../NEWS:4493 +#: ../NEWS:5256 msgid "" ":gh:`78724`: Raise :exc:`RuntimeError`'s when user attempts to call methods " "on half-initialized :class:`~struct.Struct` objects, For example, created by " "``Struct.__new__(Struct)``. Patch by Sergey B Kirpichev." msgstr "" -#: ../NEWS:4497 +#: ../NEWS:5260 msgid "" ":gh:`143196`: Fix crash when the internal encoder object returned by " "undocumented function :func:`!json.encoder.c_make_encoder` was called with " "non-zero second (*_current_indent_level*) argument." msgstr "" -#: ../NEWS:4501 +#: ../NEWS:5264 msgid "" ":gh:`143191`: :func:`_thread.stack_size` now raises :exc:`ValueError` if the " "stack size is too small. Patch by Victor Stinner." msgstr "" -#: ../NEWS:4504 +#: ../NEWS:5267 msgid "" ":gh:`143547`: Fix :func:`sys.unraisablehook` when the hook raises an " "exception and changes :func:`sys.unraisablehook`: hold a strong reference to " "the old hook. Patch by Victor Stinner." msgstr "" -#: ../NEWS:4508 +#: ../NEWS:5271 msgid "" ":gh:`139686`: Revert 0a97941245f1dda6d838f9aaf0512104e5253929 and " "57db12514ac686f0a752ec8fe1c08b6daa0c6219 which made importlib.reload a no-op " "for lazy modules; caused Buildbot failures." msgstr "" -#: ../NEWS:4512 +#: ../NEWS:5275 msgid "" ":gh:`143517`: :func:`annotationlib.get_annotations` no longer raises a :exc:" "`SyntaxError` when evaluating a stringified starred annotation that starts " @@ -7651,99 +8887,99 @@ msgid "" "Sławecki." msgstr "" -#: ../NEWS:4517 +#: ../NEWS:5280 msgid ":gh:`143474`: Add :data:`os.RWF_ATOMIC` constant for Linux 6.11+." msgstr "" -#: ../NEWS:4519 +#: ../NEWS:5282 msgid ":gh:`143445`: Speed up :func:`copy.deepcopy` by 1.04x." msgstr "" -#: ../NEWS:4521 +#: ../NEWS:5284 msgid "" ":gh:`143378`: Fix use-after-free crashes when a :class:`~io.BytesIO` object " "is concurrently mutated during :meth:`~io.RawIOBase.write` or :meth:`~io." "IOBase.writelines`." msgstr "" -#: ../NEWS:4525 +#: ../NEWS:5288 msgid "" ":gh:`143368`: Fix endless retry loop in :mod:`profiling.sampling` blocking " "mode when threads cannot be seized due to ``EPERM``. Such threads are now " "skipped instead of causing repeated error messages. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:4530 +#: ../NEWS:5293 msgid "" ":gh:`143346`: Fix incorrect wrapping of the Base64 data in :class:`!plistlib." "_PlistWriter` when the indent contains a mix of tabs and spaces." msgstr "" -#: ../NEWS:4534 +#: ../NEWS:5297 msgid "" ":gh:`140025`: :mod:`queue`: Fix :meth:`!SimpleQueue.__sizeof__` computation." msgstr "" -#: ../NEWS:4536 +#: ../NEWS:5299 msgid "" ":gh:`143310`: :mod:`tkinter`: fix a crash when a Python :class:`list` is " "mutated during the conversion to a Tcl object (e.g., when setting a Tcl " "variable). Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4540 +#: ../NEWS:5303 msgid "" ":gh:`143309`: Fix a crash in :func:`os.execve` on non-Windows platforms when " "given a custom environment mapping which is then mutated during parsing. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4544 +#: ../NEWS:5307 msgid "" ":gh:`143308`: :mod:`pickle`: fix use-after-free crashes when a :class:" "`~pickle.PickleBuffer` is concurrently mutated by a custom buffer callback " "during pickling. Patch by Bénédikt Tran and Aaron Wieczorek." msgstr "" -#: ../NEWS:4548 +#: ../NEWS:5311 msgid "" ":gh:`142939`: Performance optimisations for :func:`difflib.get_close_matches`" msgstr "" -#: ../NEWS:4550 +#: ../NEWS:5313 msgid "" ":gh:`124951`: The base64 implementation behind the :mod:`binascii`, :mod:" "`base64`, and related codec has been optimized for modern pipelined CPU " "architectures and now performs 2-3x faster across all platforms." msgstr "" -#: ../NEWS:4554 +#: ../NEWS:5317 msgid "" ":gh:`143237`: Fix support of named pipes in the rotating :mod:`logging` " "handlers." msgstr "" -#: ../NEWS:4557 +#: ../NEWS:5320 msgid "" ":gh:`143249`: Fix possible buffer leaks in Windows overlapped I/O on error " "handling." msgstr "" -#: ../NEWS:4560 +#: ../NEWS:5323 msgid "" ":gh:`143241`: :mod:`zoneinfo`: fix infinite loop in :meth:`ZoneInfo." "from_file ` when parsing a malformed TZif file. " "Patch by Fatih Celik." msgstr "" -#: ../NEWS:4564 +#: ../NEWS:5327 msgid "" ":gh:`142830`: :mod:`sqlite3`: fix use-after-free crashes when the " "connection's callbacks are mutated during a callback execution. Patch by " "Bénédikt Tran." msgstr "" -#: ../NEWS:4568 +#: ../NEWS:5331 msgid "" ":gh:`143200`: :mod:`xml.etree.ElementTree`: fix use-after-free crashes in :" "meth:`~object.__getitem__` and :meth:`~object.__setitem__` methods of :class:" @@ -7751,50 +8987,50 @@ msgid "" "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4573 +#: ../NEWS:5336 msgid "" ":gh:`143214`: Add the *wrapcol* parameter in :func:`binascii.b2a_base64` " "and :func:`base64.b64encode`." msgstr "" -#: ../NEWS:4576 +#: ../NEWS:5339 msgid "" ":gh:`142195`: Updated timeout evaluation logic in :mod:`subprocess` to be " "compatible with deterministic environments like Shadow where time moves " "exactly as requested." msgstr "" -#: ../NEWS:4580 +#: ../NEWS:5343 msgid "" ":gh:`140739`: Fix several crashes due to reading invalid memory in the new " "Tachyon sampling profiler. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:4583 +#: ../NEWS:5346 msgid "" ":gh:`142164`: Fix the ctypes bitfield overflow error message to report the " "correct offset and size calculation." msgstr "" -#: ../NEWS:4586 +#: ../NEWS:5349 msgid "" ":gh:`143145`: Fixed a possible reference leak in ctypes when constructing " "results with multiple output parameters on error." msgstr "" -#: ../NEWS:4589 +#: ../NEWS:5352 msgid "" ":gh:`143103`: Add padding support to :func:`base64.z85encode` via the " "``pad`` parameter." msgstr "" -#: ../NEWS:4592 +#: ../NEWS:5355 msgid "" ":gh:`130796`: Undeprecate the :func:`locale.getdefaultlocale` function. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:4595 +#: ../NEWS:5358 msgid "" ":gh:`74902`: Add the :func:`~unicodedata.iter_graphemes` function in the :" "mod:`unicodedata` module to iterate over grapheme clusters according to " @@ -7805,43 +9041,43 @@ msgid "" "character which are related to the above algorithm." msgstr "" -#: ../NEWS:4604 +#: ../NEWS:5367 msgid "" ":gh:`143004`: Fix a potential use-after-free in :meth:`collections.Counter." "update` when user code mutates the Counter during an update." msgstr "" -#: ../NEWS:4608 +#: ../NEWS:5371 msgid "" ":gh:`140648`: The :mod:`asyncio` REPL now respects the :option:`-I` flag " "(isolated mode). Previously, it would load and execute :envvar:" "`PYTHONSTARTUP` even if the flag was set. Contributed by Bartosz Sławecki." msgstr "" -#: ../NEWS:4613 +#: ../NEWS:5376 msgid "" ":gh:`142991`: Fixed socket operations such as recvfrom() and sendto() for " "FreeBSD divert(4) socket." msgstr "" -#: ../NEWS:4616 +#: ../NEWS:5379 msgid "" ":gh:`116738`: Make the attributes in :mod:`lzma` thread-safe on the :term:" "`free threaded ` build." msgstr "" -#: ../NEWS:4619 +#: ../NEWS:5382 msgid "" ":gh:`142950`: Fix regression in :mod:`argparse` where format specifiers in " "help strings raised :exc:`ValueError`." msgstr "" -#: ../NEWS:4622 +#: ../NEWS:5385 msgid "" ":gh:`142881`: Fix concurrent and reentrant call of :func:`atexit.unregister`." msgstr "" -#: ../NEWS:4624 +#: ../NEWS:5387 msgid "" ":gh:`142615`: Fix possible crashes when initializing :class:`asyncio.Task` " "or :class:`asyncio.Future` multiple times. These classes can now be " @@ -7849,7 +9085,7 @@ msgid "" "RuntimeError. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:4629 +#: ../NEWS:5392 msgid "" ":gh:`142517`: The non-``compat32`` :mod:`email` policies now correctly " "handle refolding encoded words that contain bytes that can not be decoded in " @@ -7857,7 +9093,7 @@ msgid "" "exception during folding." msgstr "" -#: ../NEWS:4634 +#: ../NEWS:5397 msgid "" ":gh:`138122`: The Tachyon profiler's live TUI now integrates with the " "experimental :mod:`!_colorize` theming system. Users can customize colors " @@ -7866,31 +9102,31 @@ msgid "" "Patch by Pablo Galindo." msgstr "" -#: ../NEWS:4640 +#: ../NEWS:5403 msgid "" ":gh:`142306`: Improve errors for :meth:`Element.remove `." msgstr "" -#: ../NEWS:4643 +#: ../NEWS:5406 msgid "" ":gh:`63016`: Add a ``flags`` parameter to :meth:`mmap.mmap.flush` to control " "synchronization behavior." msgstr "" -#: ../NEWS:4646 +#: ../NEWS:5409 msgid "" ":gh:`139262`: Some keystrokes can be swallowed in the new ``PyREPL`` on " "Windows, especially when used together with the ALT key. Fix by Chris Eibl." msgstr "" -#: ../NEWS:4650 +#: ../NEWS:5413 msgid "" ":gh:`138897`: Improved :data:`license`/:data:`copyright`/:data:`credits` " "display in the :term:`REPL`: now uses a pager." msgstr "" -#: ../NEWS:4653 +#: ../NEWS:5416 msgid "" ":gh:`135852`: Add :func:`!_winapi.RegisterEventSource`, :func:`!_winapi." "DeregisterEventSource` and :func:`!_winapi.ReportEvent`. Using these " @@ -7898,104 +9134,104 @@ msgid "" "pywin32`." msgstr "" -#: ../NEWS:4658 +#: ../NEWS:5421 msgid "" ":gh:`109263`: Starting a process from spawn context in :mod:" "`multiprocessing` no longer sets the start method globally." msgstr "" -#: ../NEWS:4661 +#: ../NEWS:5424 msgid "" ":gh:`132715`: Skip writing objects during marshalling once a failure has " "occurred." msgstr "" -#: ../NEWS:4667 +#: ../NEWS:5430 msgid ":gh:`140806`: Add documentation for :func:`enum.bin`." msgstr "" -#: ../NEWS:4672 +#: ../NEWS:5435 msgid "" ":gh:`134584`: Eliminate redundant refcounting from ``_CONTAINS_OP``, " "``_CONTAINS_OP_SET`` and ``_CONTAINS_OP_DICT``." msgstr "" -#: ../NEWS:4675 +#: ../NEWS:5438 msgid "" ":gh:`143604`: Fix a reference counting issue in the JIT tracer where the " "current executor could be prematurely freed during tracing." msgstr "" -#: ../NEWS:4678 +#: ../NEWS:5441 msgid "" ":gh:`143469`: Enable :opcode:`!LOAD_ATTR_MODULE` specialization even if :" "func:`!__getattr__` is defined in module." msgstr "" -#: ../NEWS:4681 +#: ../NEWS:5444 msgid ":gh:`134584`: Eliminate redundant refcounting from ``TO_BOOL_STR``." msgstr "" -#: ../NEWS:4683 +#: ../NEWS:5446 msgid "" ":gh:`143377`: Fix a crash in :func:`!_interpreters.capture_exception` when " "the exception is incorrectly formatted. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4686 +#: ../NEWS:5449 msgid "" ":gh:`139757`: Add ``BINARY_OP_SUBSCR_USTR_INT`` to specialize reading an " "ASCII character from any string. Patch by Chris Eibl." msgstr "" -#: ../NEWS:4689 +#: ../NEWS:5452 msgid "" ":gh:`141504`: Factor out tracing and optimization heuristics into a single " "object. Patch by Donghee Na." msgstr "" -#: ../NEWS:4692 +#: ../NEWS:5455 msgid "" ":gh:`142982`: Specialize :opcode:`CALL_FUNCTION_EX` for Python and non-" "Python callables." msgstr "" -#: ../NEWS:4695 +#: ../NEWS:5458 msgid "" ":gh:`136924`: The interactive help mode in the :term:`REPL` no longer " "incorrectly syntax highlights text input as Python code. Contributed by Olga " "Matoula." msgstr "" -#: ../NEWS:4699 +#: ../NEWS:5462 msgid "" ":gh:`139757`: Fix unintended bytecode specialization for non-ascii string. " "Patch by Donghee Na, Ken Jin and Chris Eibl." msgstr "" -#: ../NEWS:4702 +#: ../NEWS:5465 msgid "" ":gh:`143361`: Add ``PY_VECTORCALL_ARGUMENTS_OFFSET`` to " "``_Py_CallBuiltinClass_StackRefSteal`` to avoid redundant allocations" msgstr "" -#: ../NEWS:4705 +#: ../NEWS:5468 msgid "" ":gh:`131798`: The JIT optimizer now understands more generator instructions." msgstr "" -#: ../NEWS:4707 +#: ../NEWS:5470 msgid ":gh:`134584`: Eliminate redundant refcounting from ``_LOAD_ATTR_SLOT``." msgstr "" -#: ../NEWS:4709 +#: ../NEWS:5472 msgid "" ":gh:`143189`: Fix crash when inserting a non-:class:`str` key into a split " "table dictionary when the key matches an existing key in the split table but " "has no corresponding value in the dict." msgstr "" -#: ../NEWS:4713 +#: ../NEWS:5476 msgid "" ":gh:`143228`: Fix use-after-free in perf trampoline when toggling profiling " "while threads are running or during interpreter finalization with daemon " @@ -8004,189 +9240,189 @@ msgid "" "Galindo" msgstr "" -#: ../NEWS:4719 +#: ../NEWS:5482 msgid "" ":gh:`142664`: Fix a use-after-free crash in :meth:`memoryview.__hash__ " "` when the ``__hash__`` method of the referenced object " "mutates that object or the view. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4723 +#: ../NEWS:5486 msgid "" ":gh:`142557`: Fix a use-after-free crash in :ref:`bytearray.__mod__ ` when the :class:`!bytearray` is mutated while formatting the " "``%``-style arguments. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4727 +#: ../NEWS:5490 msgid "" ":gh:`143195`: Fix use-after-free crashes in :meth:`bytearray.hex` and :meth:" "`memoryview.hex` when the separator's :meth:`~object.__len__` mutates the " "original object. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4731 +#: ../NEWS:5494 msgid "" ":gh:`143183`: Fix a bug in the JIT when dealing with unsupported control-" "flow or operations." msgstr "" -#: ../NEWS:4734 +#: ../NEWS:5497 msgid "" ":gh:`142975`: Fix crash after unfreezing all objects tracked by the garbage " "collector on the :term:`free threaded ` build." msgstr "" -#: ../NEWS:4737 +#: ../NEWS:5500 msgid "" ":gh:`143135`: Set :data:`sys.flags.inspect` to ``1`` when :envvar:" "`PYTHONINSPECT` is ``0``. Previously, it was set to ``0`` in this case." msgstr "" -#: ../NEWS:4741 +#: ../NEWS:5504 msgid ":gh:`143123`: Protect the JIT against recursive tracing." msgstr "" -#: ../NEWS:4743 +#: ../NEWS:5506 msgid "" ":gh:`143092`: Fix a crash in the JIT when dealing with ``list.append(x)`` " "style code." msgstr "" -#: ../NEWS:4746 +#: ../NEWS:5509 msgid "" ":gh:`143003`: Fix an overflow of the shared empty buffer in :meth:`bytearray." "extend` when ``__length_hint__()`` returns 0 for non-empty iterator." msgstr "" -#: ../NEWS:4750 +#: ../NEWS:5513 msgid "" ":gh:`143006`: Fix a possible assertion error when comparing negative non-" "integer ``float`` and ``int`` with the same number of bits in the integer " "part." msgstr "" -#: ../NEWS:4754 +#: ../NEWS:5517 msgid ":gh:`116738`: Fix thread safety of :func:`contextvars.Context.run`." msgstr "" -#: ../NEWS:4756 +#: ../NEWS:5519 msgid "" ":gh:`142829`: Fix a use-after-free crash in :class:`contextvars.Context` " "comparison when a custom ``__eq__`` method modifies the context via :meth:" "`~contextvars.ContextVar.set`." msgstr "" -#: ../NEWS:4760 +#: ../NEWS:5523 msgid "" ":gh:`142863`: Generate optimized bytecode when calling :class:`list` or :" "class:`set` with generator expression." msgstr "" -#: ../NEWS:4763 +#: ../NEWS:5526 msgid "" ":gh:`41779`: Allowed defining any :ref:`__slots__ ` for a class " "derived from :class:`tuple` (including classes created by :func:`collections." "namedtuple`)." msgstr "" -#: ../NEWS:4767 +#: ../NEWS:5530 msgid "" ":gh:`69605`: Fix edge-cases around already imported modules in the :term:" "`REPL` auto-completion of imports." msgstr "" -#: ../NEWS:4770 +#: ../NEWS:5533 msgid "" ":gh:`138568`: Adjusted the built-in :func:`help` function so that empty " "inputs are ignored in interactive mode." msgstr "" -#: ../NEWS:4773 +#: ../NEWS:5536 msgid "" ":gh:`131798`: Remove bounds check when indexing into tuples with a constant " "index." msgstr "" -#: ../NEWS:4776 +#: ../NEWS:5539 msgid "" ":gh:`134584`: Eliminate redundant refcounting from ``_CALL_TYPE_1``. Patch " "by Tomas Roun" msgstr "" -#: ../NEWS:4779 +#: ../NEWS:5542 msgid "" ":gh:`132108`: Speed up :meth:`int.from_bytes` when passed object supports :" "ref:`buffer protocol `, like :class:`bytearray` by ~1.2x." msgstr "" -#: ../NEWS:4782 +#: ../NEWS:5545 msgid "" ":gh:`128334`: Make the :class:`slice` class subscriptable at runtime to be " "consistent with typing implementation." msgstr "" -#: ../NEWS:4788 +#: ../NEWS:5551 msgid "" ":gh:`141671`: :c:macro:`PyMODINIT_FUNC` (and the new :c:macro:" "`PyMODEXPORT_FUNC`) now adds a linkage declaration " "(``__declspec(dllexport)``) on Windows." msgstr "" -#: ../NEWS:4794 +#: ../NEWS:5557 msgid "Python 3.15.0 alpha 4" msgstr "" -#: ../NEWS:4796 +#: ../NEWS:5559 msgid "*Release date: 2026-01-13*" msgstr "" -#: ../NEWS:4801 +#: ../NEWS:5564 msgid "" ":gh:`142836`: Accommodated Solaris in ``test_pdb." "test_script_target_anonymous_pipe``." msgstr "" -#: ../NEWS:4807 +#: ../NEWS:5570 msgid "" ":gh:`122431`: Corrected the error message in :func:`readline." "append_history_file` to state that ``nelements`` must be non-negative " "instead of positive." msgstr "" -#: ../NEWS:4811 +#: ../NEWS:5574 msgid "" ":gh:`143046`: The :mod:`asyncio` REPL no longer prints copyright and version " "messages in the quiet mode (:option:`-q`). Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:4814 +#: ../NEWS:5577 msgid "" ":gh:`80744`: Fix issue where ``pdb`` would read a ``.pdbrc`` twice if " "launched from the home directory" msgstr "" -#: ../NEWS:4817 +#: ../NEWS:5580 msgid "" ":gh:`138122`: Add blocking mode to Tachyon for accurate stack traces in " "applications with many generators or fast-changing call stacks. Patch by " "Pablo Galindo." msgstr "" -#: ../NEWS:4821 +#: ../NEWS:5584 msgid "" ":gh:`143010`: Fixed a bug in :mod:`mailbox` where the precise timing of an " "external event could result in the library opening an existing file instead " "of a file it expected to create." msgstr "" -#: ../NEWS:4825 +#: ../NEWS:5588 msgid "" ":gh:`112127`: Fix possible use-after-free in :func:`atexit.unregister` when " "the callback is unregistered during comparison." msgstr "" -#: ../NEWS:4828 +#: ../NEWS:5591 msgid "" ":gh:`138122`: Fix incomplete stack traces in the Tachyon profiler's frame " "cache when profiling code with deeply nested generators. The frame cache now " @@ -8194,35 +9430,35 @@ msgid "" "broken flamegraphs. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:4833 +#: ../NEWS:5596 msgid "" ":gh:`142834`: Change the :mod:`pdb` ``commands`` command to use the last " "available breakpoint instead of failing when the most recently created " "breakpoint was deleted." msgstr "" -#: ../NEWS:4837 +#: ../NEWS:5600 msgid "" ":gh:`142783`: Fix zoneinfo use-after-free with descriptor _weak_cache. a " "descriptor as _weak_cache could cause crashes during object creation. The " "fix ensures proper reference counting for descriptor-provided objects." msgstr "" -#: ../NEWS:4841 +#: ../NEWS:5604 msgid "" ":gh:`76007`: Deprecate ``VERSION`` from :mod:`xml.etree.ElementTree` and " "``version`` from :mod:`!xml.sax.expatreader` and :mod:`xml.sax.handler`. " "Patch by Hugo van Kemenade." msgstr "" -#: ../NEWS:4845 +#: ../NEWS:5608 msgid "" ":gh:`142784`: The :mod:`asyncio` REPL now properly closes the loop upon the " "end of interactive session. Previously, it could cause surprising warnings. " "Contributed by Bartosz Sławecki." msgstr "" -#: ../NEWS:4849 +#: ../NEWS:5612 msgid "" ":gh:`138122`: Add binary output format to :mod:`profiling.sampling` for " "compact storage of profiling data. The new ``--binary`` option captures " @@ -8230,7 +9466,7 @@ msgid "" "``replay`` command. Patch by Pablo Galindo" msgstr "" -#: ../NEWS:4854 +#: ../NEWS:5617 msgid "" ":gh:`142495`: :class:`collections.defaultdict` now prioritizes :meth:" "`~object.__setitem__` when inserting default values from " @@ -8238,13 +9474,13 @@ msgid "" "would overwrite a value set before ``default_factory`` returns." msgstr "" -#: ../NEWS:4859 +#: ../NEWS:5622 msgid "" ":gh:`142654`: Show the clearer error message when using ``profiling." "sampling`` on an unknown PID." msgstr "" -#: ../NEWS:4862 +#: ../NEWS:5625 msgid "" ":gh:`142560`: Fix use-after-free in :class:`bytearray` search-like methods (:" "meth:`~bytearray.find`, :meth:`~bytearray.count`, :meth:`~bytearray.index`, :" @@ -8255,20 +9491,20 @@ msgid "" "used for this." msgstr "" -#: ../NEWS:4871 +#: ../NEWS:5634 msgid "" ":gh:`142419`: :meth:`mmap.mmap.set_name` method added to annotate an " "anonymous memory map if Linux kernel supports ``PR_SET_VMA_ANON_NAME`` " "(Linux 5.17 or newer). Patch by Donghee Na." msgstr "" -#: ../NEWS:4875 +#: ../NEWS:5638 msgid "" ":gh:`139971`: :mod:`pydoc`: Ensure that the link to the online documentation " "of a :term:`stdlib` module is correct." msgstr "" -#: ../NEWS:4878 +#: ../NEWS:5641 msgid "" ":gh:`124098`: Fix issue where methods in handlers that lacked the protocol " "name but matched a valid base handler method (e.g., ``_open()`` or " @@ -8276,83 +9512,83 @@ msgid "" "OpenerDirector`'s handlers. Contributed by Andrea Mattei." msgstr "" -#: ../NEWS:4884 +#: ../NEWS:5647 msgid "" ":gh:`136282`: Add support for :const:`~configparser.UNNAMED_SECTION` when " "creating a section via the mapping protocol access" msgstr "" -#: ../NEWS:4890 +#: ../NEWS:5653 msgid "" ":gh:`143057`: Avoid locking in :c:func:`PyTraceMalloc_Track` and :c:func:" "`PyTraceMalloc_Untrack` when :mod:`tracemalloc` is not enabled." msgstr "" -#: ../NEWS:4893 +#: ../NEWS:5656 msgid "" ":gh:`139109`: Add missing terminator in certain cases when tracing in the " "new JIT compiler." msgstr "" -#: ../NEWS:4896 +#: ../NEWS:5659 msgid "" ":gh:`142961`: Fix a segfault in the JIT when constant folding ``len(tuple)``." msgstr "" -#: ../NEWS:4898 +#: ../NEWS:5661 msgid ":gh:`142776`: Fix a file descriptor leak in import.c" msgstr "" -#: ../NEWS:4900 +#: ../NEWS:5663 msgid ":gh:`139757`: Fix building JIT stencils on free-threaded builds." msgstr "" -#: ../NEWS:4902 +#: ../NEWS:5665 msgid "" ":gh:`129068`: Make concurrent iteration over the same range iterator thread-" "safe in the free threading build." msgstr "" -#: ../NEWS:4905 +#: ../NEWS:5668 msgid "" ":gh:`142543`: Fix a stack overflow on Clang JIT build configurations with " "full LTO." msgstr "" -#: ../NEWS:4908 +#: ../NEWS:5671 msgid ":gh:`142448`: Fix a bug when using monitoring with the JIT." msgstr "" -#: ../NEWS:4910 +#: ../NEWS:5673 msgid "" ":gh:`142766`: Clear the frame of a generator when :meth:`generator.close` is " "called." msgstr "" -#: ../NEWS:4913 +#: ../NEWS:5676 msgid "" ":gh:`134584`: Eliminate redundant refcounting from " "``_LOAD_ATTR_INSTANCE_VALUE``." msgstr "" -#: ../NEWS:4916 +#: ../NEWS:5679 msgid "" ":gh:`134584`: Eliminate redundant refcounting from ``_STORE_ATTR_WITH_HINT``." msgstr "" -#: ../NEWS:4918 +#: ../NEWS:5681 msgid "" ":gh:`142476`: Fix a memory leak in the experimental Tier 2 optimizer when " "creating executors. Patched by Shamil Abdulaev." msgstr "" -#: ../NEWS:4921 +#: ../NEWS:5684 msgid "" ":gh:`100964`: Fix reference cycle in exhausted generator frames. Patch by " "Savannah Ostrowski." msgstr "" -#: ../NEWS:4924 +#: ../NEWS:5687 msgid "" ":gh:`139922`: Allow building CPython with the tail calling interpreter on " "Visual Studio 2026 MSVC. This provides a performance gain over the prior " @@ -8360,15 +9596,15 @@ msgid "" "help from the MSVC team including Hulon Jenkins." msgstr "" -#: ../NEWS:4931 +#: ../NEWS:5694 msgid "Python 3.15.0 alpha 3" msgstr "" -#: ../NEWS:4933 +#: ../NEWS:5696 msgid "*Release date: 2025-12-16*" msgstr "" -#: ../NEWS:4938 +#: ../NEWS:5701 msgid "" ":gh:`141692`: Each slice of an iOS XCframework now contains a ``lib`` folder " "that contains a symlink to the libpython dylib. This allows binary modules " @@ -8376,33 +9612,33 @@ msgid "" "linking." msgstr "" -#: ../NEWS:4946 +#: ../NEWS:5709 msgid "" ":gh:`140381`: Fix flaky test_profiling tests on i686 and s390x architectures " "by increasing slow_fibonacci call frequency from every 5th iteration to " "every 2nd iteration." msgstr "" -#: ../NEWS:4950 +#: ../NEWS:5713 msgid "" ":gh:`140210`: Make ``test_sysconfig.test_parse_makefile_renamed_vars`` less " "fragile by clearing the environment variables before parsing the Makefile." msgstr "" -#: ../NEWS:4956 +#: ../NEWS:5719 msgid "" ":gh:`142145`: Remove quadratic behavior in ``xml.minidom`` node ID cache " "clearing." msgstr "" -#: ../NEWS:4959 +#: ../NEWS:5722 msgid "" ":gh:`42400`: Fix buffer overflow in ``_Py_wrealpath()`` for paths exceeding " "``MAXPATHLEN`` bytes by using dynamic memory allocation instead of fixed-" "size buffer. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:4963 +#: ../NEWS:5726 msgid "" ":gh:`119451`: Fix a potential memory denial of service in the :mod:`http." "client` module. When connecting to a malicious server, it could cause an " @@ -8411,7 +9647,7 @@ msgid "" "processes or containers, or even system crashes." msgstr "" -#: ../NEWS:4969 +#: ../NEWS:5732 msgid "" ":gh:`119342`: Fix a potential memory denial of service in the :mod:" "`plistlib` module. When reading a Plist file received from untrusted source, " @@ -8420,7 +9656,7 @@ msgid "" "(OOM) killed processes or containers, or even system crashes." msgstr "" -#: ../NEWS:4978 +#: ../NEWS:5741 msgid "" ":gh:`142754`: Add the *ownerDocument* attribute to :mod:`xml.dom.minidom` " "elements and attributes created by directly instantiating the ``Element`` or " @@ -8429,38 +9665,38 @@ msgid "" "used instead." msgstr "" -#: ../NEWS:4984 +#: ../NEWS:5747 msgid "" ":gh:`142594`: Fix crash in ``TextIOWrapper.close()`` when the underlying " "buffer's ``closed`` property calls :meth:`~io.TextIOBase.detach`." msgstr "" -#: ../NEWS:4987 +#: ../NEWS:5750 msgid "" ":gh:`76007`: Deprecate ``__version__`` from :mod:`ctypes`. Patch by Hugo van " "Kemenade." msgstr "" -#: ../NEWS:4990 +#: ../NEWS:5753 msgid "" ":gh:`76007`: Deprecate ``__version__`` from :mod:`wsgiref.simple_server`. " "Patch by Hugo van Kemenade." msgstr "" -#: ../NEWS:4993 +#: ../NEWS:5756 msgid "" ":gh:`142651`: :mod:`unittest.mock`: fix a thread safety issue where :attr:" "`Mock.call_count ` may return inaccurate " "values when the mock is called concurrently from multiple threads." msgstr "" -#: ../NEWS:4998 +#: ../NEWS:5761 msgid "" ":gh:`76007`: Deprecate ``__version__`` from :mod:`http.server`. Patch by " "Hugo van Kemenade." msgstr "" -#: ../NEWS:5001 +#: ../NEWS:5764 msgid "" ":gh:`138122`: Add ``--subprocesses`` flag to :mod:`profiling.sampling` CLI " "to automatically profile subprocesses spawned by the target. When enabled, " @@ -8471,46 +9707,46 @@ msgid "" "by Pablo Galindo." msgstr "" -#: ../NEWS:5009 +#: ../NEWS:5772 msgid "" ":gh:`142595`: Added type check during initialization of the :mod:`decimal` " "module to prevent a crash in case of broken stdlib. Patch by Sergey B " "Kirpichev." msgstr "" -#: ../NEWS:5013 +#: ../NEWS:5776 msgid "" ":gh:`142556`: Fix crash when a task gets re-registered during finalization " "in :mod:`asyncio`. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:5016 +#: ../NEWS:5779 msgid "" ":gh:`138122`: Add ``--mode=exception`` to the sampling profiler to capture " "samples only from threads with an active exception, useful for analyzing " "exception handling overhead. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:5020 +#: ../NEWS:5783 msgid "" ":gh:`142539`: :mod:`traceback`: Fix location of carets in :exc:" "`SyntaxError`\\s when the source contains wide characters." msgstr "" -#: ../NEWS:5023 +#: ../NEWS:5786 msgid "" ":gh:`123241`: Avoid reference count operations in garbage collection of :mod:" "`ctypes` objects." msgstr "" -#: ../NEWS:5026 +#: ../NEWS:5789 msgid "" ":gh:`142451`: :mod:`hmac`: correctly copy :class:`~hmac.HMAC` attributes for " "objects copied through :meth:`HMAC.copy() `. Patch by " "Bénédikt Tran." msgstr "" -#: ../NEWS:5030 +#: ../NEWS:5793 msgid "" ":gh:`138122`: The ``profiling.sampling`` flamegraph profiler now supports " "inverted flamegraph view that aggregates all leaf nodes. In a standard " @@ -8523,17 +9759,17 @@ msgid "" "called from." msgstr "" -#: ../NEWS:5040 +#: ../NEWS:5803 msgid "" ":gh:`112527`: The help text for required options in :mod:`argparse` no " "longer extended with \" (default: None)\"." msgstr "" -#: ../NEWS:5043 +#: ../NEWS:5806 msgid ":gh:`142438`: Fixed a possible leaked GIL in _PySSL_keylog_callback." msgstr "" -#: ../NEWS:5045 +#: ../NEWS:5808 msgid "" ":gh:`138122`: Add bytecode-level instruction profiling to the sampling " "profiler via the new ``--opcodes`` flag. When enabled, the profiler captures " @@ -8542,20 +9778,20 @@ msgid "" "flamegraph, gecko, and live output formats. Patch by Pablo Galindo" msgstr "" -#: ../NEWS:5052 +#: ../NEWS:5815 msgid "" ":gh:`142389`: Add backtick markup support in :mod:`argparse` description and " "epilog text to highlight inline code when color output is enabled." msgstr "" -#: ../NEWS:5055 +#: ../NEWS:5818 msgid "" ":gh:`142346`: Fix usage formatting for mutually exclusive groups in :mod:" "`argparse` when they are preceded by positional arguments or followed or " "intermixed with other optional arguments." msgstr "" -#: ../NEWS:5059 +#: ../NEWS:5822 msgid "" ":gh:`142374`: Fix cumulative percentage calculation for recursive functions " "in the new sampling profiler. When profiling recursive functions, cumulative " @@ -8567,70 +9803,70 @@ msgid "" "Patch by Pablo Galindo." msgstr "" -#: ../NEWS:5068 +#: ../NEWS:5831 msgid "" ":gh:`142315`: Pdb can now run scripts from anonymous pipes used in process " "substitution. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:5071 +#: ../NEWS:5834 msgid "" ":gh:`64532`: Subparser help now includes required optional arguments from " "the parent parser in the usage, making it clearer what arguments are needed " "to run a subcommand. Patch by Savannah Ostrowski." msgstr "" -#: ../NEWS:5075 +#: ../NEWS:5838 msgid "" ":gh:`142207`: Fix: profiling.sampling may cause assertion ``!(has_gil && " "gil_requested)``" msgstr "" -#: ../NEWS:5078 +#: ../NEWS:5841 msgid "" ":gh:`142332`: Fix usage formatting for positional arguments in mutually " "exclusive groups in :mod:`argparse`. in :mod:`argparse`." msgstr "" -#: ../NEWS:5081 +#: ../NEWS:5844 msgid "" ":gh:`142282`: Fix :func:`winreg.QueryValueEx` to not accidentally read " "garbage buffer under race condition." msgstr "" -#: ../NEWS:5084 +#: ../NEWS:5847 msgid "" ":gh:`142318`: Fix typing ``'q'`` at the help of the interactive tachyon " "profiler exiting the profiler." msgstr "" -#: ../NEWS:5087 +#: ../NEWS:5850 msgid "" ":gh:`75949`: Fix :mod:`argparse` to preserve ``|`` separators in mutually " "exclusive groups when the usage line wraps due to length." msgstr "" -#: ../NEWS:5090 +#: ../NEWS:5853 msgid "" ":gh:`142267`: Improve :mod:`argparse` performance by caching the formatter " "used for argument validation." msgstr "" -#: ../NEWS:5093 +#: ../NEWS:5856 msgid "" ":gh:`139862`: Remove ``color`` parameter from :class:`!argparse." "HelpFormatter` constructor. Color is controlled by :class:`~argparse." "ArgumentParser`." msgstr "" -#: ../NEWS:5097 +#: ../NEWS:5860 msgid "" ":gh:`68552`: ``MisplacedEnvelopeHeaderDefect`` and ``Missing header name`` " "defects are now correctly passed to the ``handle_defect`` method of " "``policy`` in :class:`~email.parser.FeedParser`." msgstr "" -#: ../NEWS:5101 +#: ../NEWS:5864 msgid "" ":gh:`142206`: The resource tracker in the :mod:`multiprocessing` module can " "now understand messages from older versions of itself. This avoids issues " @@ -8638,37 +9874,37 @@ msgid "" "upgrades are not tested.)" msgstr "" -#: ../NEWS:5106 +#: ../NEWS:5869 msgid "" ":gh:`142214`: Fix two regressions in :mod:`dataclasses` in Python 3.14.1 " "related to annotations." msgstr "" -#: ../NEWS:5109 +#: ../NEWS:5872 msgid "" "An exception is no longer raised if ``slots=True`` is used and the " "``__init__`` method does not have an ``__annotate__`` attribute (likely " "because ``init=False`` was used)." msgstr "" -#: ../NEWS:5113 +#: ../NEWS:5876 msgid "" "An exception is no longer raised if annotations are requested on the " "``__init__`` method and one of the fields is not present in the class " "annotations. This can occur in certain dynamic scenarios." msgstr "" -#: ../NEWS:5117 ../NEWS:32297 +#: ../NEWS:5880 ../NEWS:33060 msgid "Patch by Jelle Zijlstra." msgstr "" -#: ../NEWS:5119 +#: ../NEWS:5882 msgid "" ":gh:`142203`: Remove the *debug_override* parameter from :func:`importlib." "util.cache_from_source` which has been deprecated since Python 3.5." msgstr "" -#: ../NEWS:5123 +#: ../NEWS:5886 msgid "" ":gh:`138122`: The ``_remote_debugging`` module now implements frame caching " "in the ``RemoteUnwinder`` class to reduce memory reads when profiling remote " @@ -8677,26 +9913,26 @@ msgid "" "performance for deep call stacks." msgstr "" -#: ../NEWS:5129 +#: ../NEWS:5892 msgid "" ":gh:`116738`: Fix :mod:`cmath` data race when initializing trigonometric " "tables with subinterpreters." msgstr "" -#: ../NEWS:5132 +#: ../NEWS:5895 msgid "" ":gh:`141982`: Allow :mod:`pdb` to set breakpoints on async functions with " "function names." msgstr "" -#: ../NEWS:5135 +#: ../NEWS:5898 msgid "" ":gh:`74389`: When the stdin being used by a :class:`subprocess.Popen` " "instance is closed, this is now ignored in :meth:`subprocess.Popen." "communicate` instead of leaving the class in an inconsistent state." msgstr "" -#: ../NEWS:5140 +#: ../NEWS:5903 msgid "" ":gh:`87512`: Fix :func:`subprocess.Popen.communicate` timeout handling on " "Windows when writing large input. Previously, the timeout was ignored during " @@ -8705,13 +9941,13 @@ msgid "" "background thread, allowing the timeout to be properly enforced." msgstr "" -#: ../NEWS:5147 +#: ../NEWS:5910 msgid "" ":gh:`141939`: Add color to all interpolated values in :mod:`argparse` help, " "like ``%(default)s`` or ``%(choices)s``. Patch by Alex Prengère." msgstr "" -#: ../NEWS:5150 +#: ../NEWS:5913 msgid "" ":gh:`141473`: When :meth:`subprocess.Popen.communicate` was called with " "*input* and a *timeout* and is called for a second time after a :exc:" @@ -8719,63 +9955,63 @@ msgid "" "should no longer hang." msgstr "" -#: ../NEWS:5155 +#: ../NEWS:5918 msgid "" ":gh:`141999`: Correctly allow :exc:`KeyboardInterrupt` to stop the process " "when using :mod:`!profiling.sampling`." msgstr "" -#: ../NEWS:5158 +#: ../NEWS:5921 msgid "" ":gh:`142006`: Fix a bug in the :mod:`email.policy.default` folding algorithm " "which incorrectly resulted in a doubled newline when a line ending at " "exactly max_line_length was followed by an unfoldable token." msgstr "" -#: ../NEWS:5162 +#: ../NEWS:5925 msgid "" ":gh:`141968`: Remove data copy from :mod:`re` compilation of regexes with " "large charsets by using :meth:`bytearray.take_bytes`." msgstr "" -#: ../NEWS:5165 +#: ../NEWS:5928 msgid "" ":gh:`141968`: Remove data copy from :mod:`encodings.idna` :meth:`~codecs." "Codec.encode` and :meth:`~codecs.IncrementalEncoder.encode` by using :meth:" "`bytearray.take_bytes`." msgstr "" -#: ../NEWS:5169 +#: ../NEWS:5932 msgid "" ":gh:`141968`: Remove data copy from :mod:`codecs` ``punycode`` encoding by " "using :meth:`bytearray.take_bytes`." msgstr "" -#: ../NEWS:5172 +#: ../NEWS:5935 msgid "" ":gh:`141968`: Remove data copy from :func:`wave.Wave_read.readframes` and :" "func:`wave.Wave_write.writeframes` by using :meth:`bytearray.take_bytes`." msgstr "" -#: ../NEWS:5175 +#: ../NEWS:5938 msgid "" ":gh:`141968`: Remove a data copy from :func:`base64.b32decode` and :func:" "`base64.b32encode` by using :meth:`bytearray.take_bytes`." msgstr "" -#: ../NEWS:5178 +#: ../NEWS:5941 msgid "" ":gh:`59000`: Fix :mod:`pdb` breakpoint resolution for class methods when the " "module defining the class is not imported." msgstr "" -#: ../NEWS:5181 +#: ../NEWS:5944 msgid "" ":gh:`116738`: Fix thread safety issue with :mod:`re` scanner objects in free-" "threaded builds." msgstr "" -#: ../NEWS:5184 +#: ../NEWS:5947 msgid "" ":gh:`138122`: The ``profiling.sampling`` flamegraph profiler now displays " "thread status statistics showing the percentage of time threads spend " @@ -8785,55 +10021,55 @@ msgid "" "per-thread metrics." msgstr "" -#: ../NEWS:5191 +#: ../NEWS:5954 msgid "" ":gh:`141781`: Fixed an issue where pdb.line_prefix assignment was ignored if " "assigned after the module was imported." msgstr "" -#: ../NEWS:5194 +#: ../NEWS:5957 msgid "" ":gh:`141863`: Update :ref:`asyncio-streams` to use :meth:`bytearray." "take_bytes` for a over 10% performance improvement on pyperformance " "asyncio_tcp benchmark." msgstr "" -#: ../NEWS:5198 +#: ../NEWS:5961 msgid ":gh:`141817`: Add :data:`!socket.IPV6_HDRINCL` constant." msgstr "" -#: ../NEWS:5200 +#: ../NEWS:5963 msgid "" ":gh:`105836`: Fix :meth:`asyncio.run_coroutine_threadsafe` leaving " "underlying cancelled asyncio task running." msgstr "" -#: ../NEWS:5203 +#: ../NEWS:5966 msgid "" ":gh:`141570`: Support :term:`file-like object` raising :exc:`OSError` from :" "meth:`~io.IOBase.fileno` in color detection (``_colorize.can_colorize()``). " "This can occur when ``sys.stdout`` is redirected." msgstr "" -#: ../NEWS:5208 +#: ../NEWS:5971 msgid "" ":gh:`141679`: Add colour to defaults in :mod:`argparse` help. Patch by Hugo " "van Kemenade." msgstr "" -#: ../NEWS:5211 +#: ../NEWS:5974 msgid "" ":gh:`141686`: Break reference cycles created by each call to :func:`json." "dump` or :meth:`json.JSONEncoder.iterencode`." msgstr "" -#: ../NEWS:5214 +#: ../NEWS:5977 msgid "" ":gh:`141659`: Fix bad file descriptor errors from ``_posixsubprocess`` on " "AIX." msgstr "" -#: ../NEWS:5217 +#: ../NEWS:5980 msgid "" ":gh:`141645`: Add a new ``--live`` mode to the tachyon profiler in :mod:`!" "profiling.sampling` module. This mode consist of a live TUI that displays " @@ -8841,31 +10077,31 @@ msgid "" "``top``. Patch by Pablo Galindo" msgstr "" -#: ../NEWS:5222 +#: ../NEWS:5985 msgid "" ":gh:`141615`: Check ``stdin`` instead of ``stdout`` for ``use_rawinput`` in :" "mod:`pdb`." msgstr "" -#: ../NEWS:5225 +#: ../NEWS:5988 msgid "" ":gh:`69113`: Fix :mod:`doctest` to correctly report line numbers for " "doctests in ``__test__`` dictionary when formatted as triple-quoted strings " "by finding unique lines in the string and matching them in the source file." msgstr "" -#: ../NEWS:5229 +#: ../NEWS:5992 msgid ":gh:`141600`: Fix musl version detection on Void Linux." msgstr "" -#: ../NEWS:5231 +#: ../NEWS:5994 msgid "" ":gh:`48752`: Add :func:`readline.get_pre_input_hook` function to retrieve " "the current pre-input hook. This allows applications to save and restore the " "hook without overwriting user settings. Patch by Sanyam Khurana." msgstr "" -#: ../NEWS:5235 +#: ../NEWS:5998 msgid "" ":gh:`141565`: Add async-aware profiling to the Tachyon sampling profiler. " "The profiler now reconstructs and displays async task hierarchies in " @@ -8873,34 +10109,34 @@ msgid "" "Ostrowski and Pablo Galindo Salgado." msgstr "" -#: ../NEWS:5240 +#: ../NEWS:6003 msgid "" ":gh:`60107`: Remove a copy from :meth:`io.RawIOBase.read`. If the underlying " "I/O class keeps a reference to the mutable memory, raise a :exc:" "`BufferError`." msgstr "" -#: ../NEWS:5244 +#: ../NEWS:6007 msgid "" ":gh:`116738`: Make csv module thread-safe on the :term:`free threaded ` build." msgstr "" -#: ../NEWS:5247 +#: ../NEWS:6010 msgid "" ":gh:`140911`: :mod:`collections`: Ensure that the methods ``UserString." "rindex()`` and ``UserString.index()`` accept :class:`collections.UserString` " "instances as the sub argument." msgstr "" -#: ../NEWS:5251 +#: ../NEWS:6014 msgid "" ":gh:`140875`: Fix handling of unclosed character references (named and " "numerical) followed by the end of file in :class:`html.parser.HTMLParser` " "with ``convert_charrefs=False``." msgstr "" -#: ../NEWS:5255 +#: ../NEWS:6018 msgid "" ":gh:`140677`: Add heatmap visualization mode to the Tachyon sampling " "profiler. The new ``--heatmap`` output format provides a line-by-line view " @@ -8908,19 +10144,19 @@ msgid "" "interactive call graph navigation between callers and callees." msgstr "" -#: ../NEWS:5260 +#: ../NEWS:6023 msgid "" ":gh:`139946`: Distinguish stdout and stderr when colorizing output in " "argparse module." msgstr "" -#: ../NEWS:5263 +#: ../NEWS:6026 msgid "" ":gh:`76007`: :mod:`pydoc`: Fix :exc:`DeprecationWarning` being raised when " "generating doc for :term:`stdlib` modules." msgstr "" -#: ../NEWS:5266 +#: ../NEWS:6029 msgid "" ":gh:`138697`: Fix inferring *dest* from a single-dash long option in :mod:" "`argparse`. If a short option and a single-dash long option are passed to :" @@ -8928,26 +10164,26 @@ msgid "" "option." msgstr "" -#: ../NEWS:5271 +#: ../NEWS:6034 msgid "" ":gh:`138525`: Add support for single-dash long options and alternate prefix " "characters in :class:`argparse.BooleanOptionalAction`." msgstr "" -#: ../NEWS:5274 +#: ../NEWS:6037 msgid "" ":gh:`79986`: Add parsing for ``References`` and ``In-Reply-To`` headers to " "the :mod:`email` library that parses the header content as lists of message " "id tokens. This prevents them from being folded incorrectly." msgstr "" -#: ../NEWS:5278 +#: ../NEWS:6041 msgid "" ":gh:`135559`: Flag: a ``dir()`` on a ``Flag`` enumeration now shows non-" "canonical members. (i.e. aliases)." msgstr "" -#: ../NEWS:5281 +#: ../NEWS:6044 msgid "" ":gh:`134453`: Fixed :func:`subprocess.Popen.communicate` ``input=`` handling " "of :class:`memoryview` instances that were non-byte shaped on POSIX " @@ -8955,11 +10191,11 @@ msgid "" "truncating the input. Windows platforms did not have this bug." msgstr "" -#: ../NEWS:5286 +#: ../NEWS:6049 msgid ":gh:`127930`: Add ``__all__`` to :mod:`tkinter.simpledialog`." msgstr "" -#: ../NEWS:5288 +#: ../NEWS:6051 msgid "" ":gh:`115952`: Fix a potential memory denial of service in the :mod:`pickle` " "module. When reading a pickled data received from untrusted source, it could " @@ -8970,12 +10206,12 @@ msgid "" "containers, or even system crashes." msgstr "" -#: ../NEWS:5296 +#: ../NEWS:6059 msgid "" ":issue:`40350`: Fix support for namespace packages in :mod:`modulefinder`." msgstr "" -#: ../NEWS:5301 +#: ../NEWS:6064 msgid "" ":gh:`141994`: :mod:`xml.sax.handler`: Make Documentation of :data:`xml.sax." "handler.feature_external_ges` warn of opening up to `external entity attacks " @@ -8983,43 +10219,43 @@ msgid "" "Sebastian Pipping." msgstr "" -#: ../NEWS:5310 +#: ../NEWS:6073 msgid "" ":gh:`134584`: Eliminate redundant refcounting from " "``_STORE_ATTR_INSTANCE_VALUE``." msgstr "" -#: ../NEWS:5313 +#: ../NEWS:6076 msgid "" ":gh:`142718`: JIT: Fix segfault caused by not flushing the stack to memory " "at side exits." msgstr "" -#: ../NEWS:5316 +#: ../NEWS:6079 msgid "" ":gh:`142737`: Tracebacks will be displayed in fallback mode even if :func:" "`io.open` is lost. Previously, this would crash the interpreter. Patch by " "Bartosz Sławecki." msgstr "" -#: ../NEWS:5320 +#: ../NEWS:6083 msgid "" ":gh:`116738`: Make the attributes in :mod:`bz2` thread-safe on the :term:" "`free threaded ` build." msgstr "" -#: ../NEWS:5323 +#: ../NEWS:6086 msgid "" ":gh:`134584`: Eliminate redundant refcounting from ``_CALL_LIST_APPEND``." msgstr "" -#: ../NEWS:5325 +#: ../NEWS:6088 msgid "" ":gh:`142554`: Fix a crash in :func:`divmod` when :func:`!_pylong.int_divmod` " "does not return a tuple of length two exactly. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:5328 +#: ../NEWS:6091 msgid "" ":gh:`142531`: Fix a free-threaded GC performance regression. If there are " "many untracked tuples, the GC will run too often, resulting in poor " @@ -9028,25 +10264,25 @@ msgid "" "free-threaded GC must scan those too." msgstr "" -#: ../NEWS:5334 +#: ../NEWS:6097 msgid "" ":gh:`142402`: Fix reference counting when adjacent literal parts are merged " "while constructing :class:`string.templatelib.Template`, preventing the " "displaced string object from leaking." msgstr "" -#: ../NEWS:5338 +#: ../NEWS:6101 msgid "" ":gh:`116738`: Make the attributes in :mod:`zlib` thread-safe on the :term:" "`free threaded ` build." msgstr "" -#: ../NEWS:5341 +#: ../NEWS:6104 msgid "" ":gh:`142343`: Fix SIGILL crash on m68k due to incorrect assembly constraint." msgstr "" -#: ../NEWS:5343 +#: ../NEWS:6106 msgid "" ":gh:`142236`: Improve the \"Perhaps you forgot a comma?\" syntax error for " "multi-line string concatenations to point to the last string instead of the " @@ -9054,7 +10290,7 @@ msgid "" "Galindo." msgstr "" -#: ../NEWS:5348 +#: ../NEWS:6111 msgid "" ":gh:`142236`: Fix incorrect keyword suggestions for syntax errors in :mod:" "`traceback`. The keyword typo suggestion mechanism would incorrectly suggest " @@ -9062,13 +10298,13 @@ msgid "" "containing an actual typo. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:5353 +#: ../NEWS:6116 msgid "" ":gh:`142305`: Decrease the size of the generated stencils and the runtime " "JIT code. Patch by Diego Russo." msgstr "" -#: ../NEWS:5356 +#: ../NEWS:6119 msgid "" ":gh:`135379`: Implement a limited form of register allocation known as \"top " "of stack caching\" in the JIT. It works by keeping 0-3 of the top items in " @@ -9078,78 +10314,78 @@ msgid "" "spilling or reloading values when needed." msgstr "" -#: ../NEWS:5363 +#: ../NEWS:6126 msgid "" ":gh:`142276`: Fix missing type watcher when promoting attribute loads to " "constants in the JIT. Patch by Ken Jin. Reproducer by Yuancheng Jiang." msgstr "" -#: ../NEWS:5366 +#: ../NEWS:6129 msgid "" ":gh:`142218`: Fix crash when inserting into a split table dictionary with a " "non :class:`str` key that matches an existing key." msgstr "" -#: ../NEWS:5369 +#: ../NEWS:6132 msgid "" ":gh:`141976`: Check against abstract stack overflow in the JIT optimizer." msgstr "" -#: ../NEWS:5371 +#: ../NEWS:6134 msgid "" ":gh:`97850`: Remove all ``*.load_module()`` usage and definitions from the " "import system and importlib. The method has been deprecated in favor of " "``importlib.abc.Loader.exec_module()`` since Python 3.4." msgstr "" -#: ../NEWS:5375 +#: ../NEWS:6138 msgid "" ":gh:`142048`: Fix quadratically increasing garbage collection delays in free-" "threaded build." msgstr "" -#: ../NEWS:5378 +#: ../NEWS:6141 msgid ":gh:`65961`: Stop setting ``__cached__`` on modules." msgstr "" -#: ../NEWS:5380 +#: ../NEWS:6143 msgid "" ":gh:`141770`: Annotate anonymous mmap usage only when supported by the Linux " "kernel and if ``-X dev`` is used or Python is built in debug mode. Patch by " "Donghee Na." msgstr "" -#: ../NEWS:5384 +#: ../NEWS:6147 msgid "" ":gh:`142029`: Raise :exc:`ModuleNotFoundError` instead of crashing when a " "nonexistent module is used as a name in ``_imp.create_builtin()``." msgstr "" -#: ../NEWS:5387 +#: ../NEWS:6150 msgid "" ":gh:`142029`: Raise :exc:`ValueError` instead of crashing when empty string " "is used as a name in ``_imp.create_builtin()``." msgstr "" -#: ../NEWS:5390 +#: ../NEWS:6153 msgid "" ":gh:`141976`: Protect against specialization failures in the tracing JIT " "compiler for performance reasons." msgstr "" -#: ../NEWS:5393 +#: ../NEWS:6156 msgid "" ":gh:`141861`: Fix invalid memory read in the ``ENTER_EXECUTOR`` instruction." msgstr "" -#: ../NEWS:5395 +#: ../NEWS:6158 msgid "" ":gh:`141930`: When importing a module, use Python's regular file object to " "ensure that writes to ``.pyc`` files are complete or an appropriate error is " "raised." msgstr "" -#: ../NEWS:5399 +#: ../NEWS:6162 msgid "" ":gh:`138122`: Add incomplete sample detection to prevent corrupted profiling " "data. Each thread state now contains an embedded base frame (sentinel at the " @@ -9160,38 +10396,38 @@ msgid "" "included as spurious data." msgstr "" -#: ../NEWS:5407 +#: ../NEWS:6170 msgid "" ":gh:`120158`: Fix inconsistent state when enabling or disabling monitoring " "events too many times." msgstr "" -#: ../NEWS:5410 +#: ../NEWS:6173 msgid "" ":gh:`140638`: Expose a ``\"candidates\"`` stat in :func:`gc.get_stats` and :" "data:`gc.callbacks`." msgstr "" -#: ../NEWS:5413 +#: ../NEWS:6176 msgid "" ":gh:`141780`: Fix :c:macro:`Py_mod_gil` with API added in :pep:`793`: :c:" "func:`!PyModule_FromSlotsAndSpec` and ``PyModExport`` hooks" msgstr "" -#: ../NEWS:5416 +#: ../NEWS:6179 msgid "" ":gh:`141732`: Ensure the :meth:`~object.__repr__` for :exc:`ExceptionGroup` " "and :exc:`BaseExceptionGroup` does not change when the exception sequence " "that was original passed in to its constructor is subsequently mutated." msgstr "" -#: ../NEWS:5420 +#: ../NEWS:6183 msgid "" ":gh:`140638`: Expose a ``\"duration\"`` stat in :func:`gc.get_stats` and :" "data:`gc.callbacks`." msgstr "" -#: ../NEWS:5423 +#: ../NEWS:6186 msgid "" ":gh:`139653`: Only raise a ``RecursionError`` or trigger a fatal error if " "the stack pointer is both below the limit pointer *and* above the stack " @@ -9199,68 +10435,68 @@ msgid "" "positives when user-space threads swap stacks." msgstr "" -#: ../NEWS:5428 +#: ../NEWS:6191 msgid "" ":gh:`41779`: Allowed defining the *__dict__* and *__weakref__* :ref:" "`__slots__ ` for any class." msgstr "" -#: ../NEWS:5431 +#: ../NEWS:6194 msgid "" ":gh:`139103`: Improve multithreaded scaling of dataclasses on the free-" "threaded build." msgstr "" -#: ../NEWS:5434 +#: ../NEWS:6197 msgid "" ":gh:`141589`: Change ``backoff counter`` to use prime numbers instead of " "powers of 2. Use only 3 bits for ``counter`` and 13 bits for ``value``. This " "allows to support values up to 8191. Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:5438 +#: ../NEWS:6201 msgid "" ":gh:`137007`: Fix a bug during JIT compilation failure which caused garbage " "collection debug assertions to fail." msgstr "" -#: ../NEWS:5441 +#: ../NEWS:6204 msgid "" ":gh:`132657`: For the free-threaded build, avoid locking the :class:`set` " "object for the ``__contains__`` method." msgstr "" -#: ../NEWS:5444 +#: ../NEWS:6207 msgid ":gh:`134584`: Eliminate redundant refcounting from ``_CALL_STR_1``." msgstr "" -#: ../NEWS:5446 +#: ../NEWS:6209 msgid ":gh:`134584`: Eliminate redundant refcounting from ``_CALL_BUILTIN_O``." msgstr "" -#: ../NEWS:5448 +#: ../NEWS:6211 msgid "" ":gh:`134584`: Eliminate redundant refcounting from ``_CALL_TUPLE_1``. Patch " "by Noam Cohen" msgstr "" -#: ../NEWS:5454 +#: ../NEWS:6217 msgid "" ":gh:`142589`: Fix :c:func:`PyUnstable_Object_IsUniqueReferencedTemporary()` " "handling of tagged ints on the interpreter stack." msgstr "" -#: ../NEWS:5457 +#: ../NEWS:6220 msgid "" ":gh:`142571`: :c:func:`!PyUnstable_CopyPerfMapFile` now checks that opening " "the file succeeded before flushing." msgstr "" -#: ../NEWS:5460 +#: ../NEWS:6223 msgid ":gh:`142225`: Fixed the :c:macro:`PyABIInfo_VAR` macro." msgstr "" -#: ../NEWS:5462 +#: ../NEWS:6225 msgid "" ":gh:`141049`: :c:func:`!_PyObject_CallMethodId`, :c:func:`!" "_PyObject_GetAttrId` and :c:func:`!_PyUnicode_FromId` are deprecated since " @@ -9270,13 +10506,13 @@ msgid "" "by Victor Stinner." msgstr "" -#: ../NEWS:5469 +#: ../NEWS:6232 msgid "" ":gh:`142163`: Fix the ``HAVE_THREAD_LOCAL`` macro being defined without the " "``Py_BUILD_CORE`` macro set after including :file:`Python.h`." msgstr "" -#: ../NEWS:5472 +#: ../NEWS:6235 msgid "" ":gh:`137422`: Fix :term:`free threading` race condition in :c:func:" "`PyImport_AddModuleRef`. It was previously possible for two calls to the " @@ -9284,35 +10520,35 @@ msgid "" "`sys.modules`." msgstr "" -#: ../NEWS:5477 +#: ../NEWS:6240 msgid ":gh:`141726`: Add :c:func:`PyDict_SetDefaultRef` to the Stable ABI." msgstr "" -#: ../NEWS:5479 +#: ../NEWS:6242 msgid "" ":gh:`140042`: Removed the sqlite3_shutdown call that could cause closing " "connections for sqlite when used with multiple sub interpreters." msgstr "" -#: ../NEWS:5482 +#: ../NEWS:6245 msgid "" ":gh:`141070`: Add :c:func:`!PyUnstable_Object_Dump` to dump an object to " "``stderr``. It should only be used for debugging. Patch by Victor Stinner." msgstr "" -#: ../NEWS:5485 +#: ../NEWS:6248 msgid "" ":gh:`139165`: Expose the functions :c:func:`Py_SIZE`, :c:func:`Py_IS_TYPE` " "and :c:func:`Py_SET_SIZE` in the Stable ABI." msgstr "" -#: ../NEWS:5491 +#: ../NEWS:6254 msgid "" ":gh:`131372`: Add ``LDVERSION`` and ``EXE`` to the ``base_interpreter`` " "value of ``build-details.json``." msgstr "" -#: ../NEWS:5494 +#: ../NEWS:6257 msgid "" ":gh:`142454`: When calculating the digest of the JIT stencils input, sort " "the hashed files by filenames before adding their content to the hasher. " @@ -9320,33 +10556,33 @@ msgid "" "independent on filesystem order." msgstr "" -#: ../NEWS:5499 +#: ../NEWS:6262 msgid "" ":gh:`131372`: ``build-details.py`` will only be installed as part of the " "main install (``make install``). ``make altinstall`` will no longer include " "it." msgstr "" -#: ../NEWS:5502 +#: ../NEWS:6265 msgid "" ":gh:`142234`: Allow ``--enable-wasm-dynamic-linking`` for WASI. While " "CPython doesn't directly support it so external/downstream users do not have " "to patch in support for the flag." msgstr "" -#: ../NEWS:5506 +#: ../NEWS:6269 msgid "" ":gh:`142050`: Fixed a bug where JIT stencils produced on Windows contained " "debug data. Patch by Chris Eibl." msgstr "" -#: ../NEWS:5509 +#: ../NEWS:6272 msgid "" ":gh:`141808`: Do not generate the jit stencils twice in case of PGO builds " "on Windows." msgstr "" -#: ../NEWS:5512 +#: ../NEWS:6275 msgid "" ":gh:`141926`: ``RUNSHARED`` is no longer cleared when cross-compiling. " "Previously, ``RUNSHARED`` was cleared when cross-compiling, which breaks PGO " @@ -9354,7 +10590,7 @@ msgid "" "is otherwise executable (e.g., via transparent emulation)." msgstr "" -#: ../NEWS:5517 +#: ../NEWS:6280 msgid "" ":gh:`141808`: When running ``make clean-retain-profile``, keep the generated " "JIT stencils. That way, the stencils are not generated twice when Profile-" @@ -9362,7 +10598,7 @@ msgid "" "their own pre-built JIT stencils." msgstr "" -#: ../NEWS:5522 +#: ../NEWS:6285 msgid "" ":gh:`141784`: Fix ``_remote_debugging_module.c`` compilation on 32-bit " "Linux. Include Python.h before system headers to make sure that " @@ -9370,11 +10606,11 @@ msgid "" "by Victor Stinner." msgstr "" -#: ../NEWS:5527 +#: ../NEWS:6290 msgid ":gh:`141172`: Update to WASI SDK 29." msgstr "" -#: ../NEWS:5529 +#: ../NEWS:6292 msgid "" ":gh:`139707`: Add configure option :option:`--with-missing-stdlib-" "config=FILE` allows which distributors to pass a `JSON ` and :meth:`IPv6Network.hosts() " "` always return an iterator." msgstr "" -#: ../NEWS:5596 +#: ../NEWS:6359 msgid "" ":gh:`140938`: The :func:`statistics.stdev` and :func:`statistics.pstdev` " "functions now raise a :exc:`ValueError` when the input contains an infinity " "or a NaN." msgstr "" -#: ../NEWS:5600 +#: ../NEWS:6363 msgid "" ":gh:`124111`: Updated Tcl threading configuration in :mod:`_tkinter` to " "assume that threads are always available in Tcl 9 and later." msgstr "" -#: ../NEWS:5603 +#: ../NEWS:6366 msgid "" ":gh:`137109`: The :mod:`os.fork` and related forking APIs will no longer " "warn in the common case where Linux or macOS platform APIs return the number " @@ -9485,26 +10721,26 @@ msgid "" "register_at_fork` ``after_in_parent=`` callback (re)starts a thread." msgstr "" -#: ../NEWS:5609 +#: ../NEWS:6372 msgid "" ":gh:`141314`: Fix assertion failure in :meth:`io.TextIOWrapper.tell` when " "reading files with standalone carriage return (``\\r``) line endings." msgstr "" -#: ../NEWS:5612 +#: ../NEWS:6375 msgid "" ":gh:`141311`: Fix assertion failure in :func:`!io.BytesIO.readinto` and " "undefined behavior arising when read position is above capcity in :class:`io." "BytesIO`." msgstr "" -#: ../NEWS:5616 +#: ../NEWS:6379 msgid "" ":gh:`87710`: :mod:`mimetypes`: Update mime type for ``.ai`` files to " "``application/pdf``." msgstr "" -#: ../NEWS:5619 +#: ../NEWS:6382 msgid "" ":gh:`85524`: Update ``io.FileIO.readall``, an implementation of :meth:`io." "RawIOBase.readall`, to follow :class:`io.IOBase` guidelines and raise :exc:" @@ -9512,31 +10748,31 @@ msgid "" "`OSError`" msgstr "" -#: ../NEWS:5624 +#: ../NEWS:6387 msgid "" ":gh:`141141`: Fix a thread safety issue with :func:`base64.b85decode`. " "Contributed by Benel Tayar." msgstr "" -#: ../NEWS:5627 +#: ../NEWS:6390 msgid "" ":gh:`141018`: :mod:`mimetypes`: Update ``.exe``, ``.dll``, ``.rtf`` and " "(when ``strict=False``) ``.jpg`` to their correct IANA mime type." msgstr "" -#: ../NEWS:5630 +#: ../NEWS:6393 msgid "" ":gh:`137969`: Fix :meth:`annotationlib.ForwardRef.evaluate` returning :class:" "`~annotationlib.ForwardRef` objects which don't update with new globals." msgstr "" -#: ../NEWS:5634 +#: ../NEWS:6397 msgid "" ":gh:`75593`: Add support of :term:`path-like objects ` " "and :term:`bytes-like objects ` in :func:`wave.open`." msgstr "" -#: ../NEWS:5637 +#: ../NEWS:6400 msgid "" ":gh:`140797`: The undocumented :class:`!re.Scanner` class now forbids " "regular expressions containing capturing groups in its lexicon patterns. " @@ -9544,103 +10780,103 @@ msgid "" "segmentation fault. Use non-capturing groups (?:...) instead." msgstr "" -#: ../NEWS:5642 +#: ../NEWS:6405 msgid "" ":gh:`125115`: Refactor the :mod:`pdb` parsing issue so positional arguments " "can pass through intuitively." msgstr "" -#: ../NEWS:5645 +#: ../NEWS:6408 msgid "" ":gh:`140815`: :mod:`faulthandler` now detects if a frame or a code object is " "invalid or freed. Patch by Victor Stinner." msgstr "" -#: ../NEWS:5648 +#: ../NEWS:6411 msgid "" ":gh:`100218`: Correctly set :attr:`~OSError.errno` when :func:`socket." "if_nametoindex` or :func:`socket.if_indextoname` raise an :exc:`OSError`. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:5652 +#: ../NEWS:6415 msgid "" ":gh:`140734`: :mod:`multiprocessing`: fix off-by-one error when checking the " "length of a temporary socket file path. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:5655 +#: ../NEWS:6418 msgid "" ":gh:`140873`: Add support of non-:term:`descriptor` callables in :func:" "`functools.singledispatchmethod`." msgstr "" -#: ../NEWS:5658 +#: ../NEWS:6421 msgid "" ":gh:`140874`: Bump the version of pip bundled in ensurepip to version 25.3" msgstr "" -#: ../NEWS:5660 +#: ../NEWS:6423 msgid "" ":gh:`140826`: Now :class:`!winreg.HKEYType` objects are compared by their " "underlying Windows registry handle value instead of their object identity." msgstr "" -#: ../NEWS:5663 +#: ../NEWS:6426 msgid "" ":gh:`140808`: The internal class ``mailbox._ProxyFile`` is no longer a " "parameterized generic." msgstr "" -#: ../NEWS:5666 +#: ../NEWS:6429 msgid "" ":gh:`140691`: In :mod:`urllib.request`, when opening a FTP URL fails because " "a data connection cannot be made, the control connection's socket is now " "closed to avoid a :exc:`ResourceWarning`." msgstr "" -#: ../NEWS:5670 +#: ../NEWS:6433 msgid "" ":gh:`103847`: Fix hang when cancelling process created by :func:`asyncio." "create_subprocess_exec` or :func:`asyncio.create_subprocess_shell`. Patch by " "Kumar Aditya." msgstr "" -#: ../NEWS:5674 +#: ../NEWS:6437 msgid "" ":gh:`137821`: Convert ``_json`` module to use Argument Clinic. Patched by " "Yoonho Hann." msgstr "" -#: ../NEWS:5677 +#: ../NEWS:6440 msgid "" ":gh:`140790`: Initialize all Pdb's instance variables in ``__init__``, " "remove some hasattr/getattr" msgstr "" -#: ../NEWS:5680 +#: ../NEWS:6443 msgid "" ":gh:`140766`: Add :func:`enum.show_flag_values` and ``enum.bin`` to ``enum." "__all__``." msgstr "" -#: ../NEWS:5683 +#: ../NEWS:6446 msgid ":gh:`120057`: Add :func:`os.reload_environ` to ``os.__all__``." msgstr "" -#: ../NEWS:5685 +#: ../NEWS:6448 msgid "" ":gh:`140741`: Fix ``profiling.sampling.sample()`` incorrectly handling a :" "exc:`FileNotFoundError` or :exc:`PermissionError`." msgstr "" -#: ../NEWS:5688 +#: ../NEWS:6451 msgid "" ":gh:`140228`: Avoid making unnecessary filesystem calls for frozen modules " "in :mod:`linecache` when the global module cache is not present." msgstr "" -#: ../NEWS:5691 +#: ../NEWS:6454 msgid "" ":gh:`139946`: Error and warning keywords in ``argparse.ArgumentParser`` " "messages are now colorized when color output is enabled, fixing a visual " @@ -9648,40 +10884,40 @@ msgid "" "colorized." msgstr "" -#: ../NEWS:5696 +#: ../NEWS:6459 msgid "" ":gh:`140590`: Fix arguments checking for the :meth:`!functools.partial." "__setstate__` that may lead to internal state corruption and crash. Patch by " "Sergey Miryanov." msgstr "" -#: ../NEWS:5700 +#: ../NEWS:6463 msgid "" ":gh:`125434`: Display thread name in :mod:`faulthandler` on Windows. Patch " "by Victor Stinner." msgstr "" -#: ../NEWS:5703 +#: ../NEWS:6466 msgid "" ":gh:`140634`: Fix a reference counting bug in :meth:`!os.sched_param." "__reduce__`." msgstr "" -#: ../NEWS:5706 +#: ../NEWS:6469 msgid "" ":gh:`140650`: Fix an issue where closing :class:`io.BufferedWriter` could " "crash if the closed attribute raised an exception on access or could not be " "converted to a boolean." msgstr "" -#: ../NEWS:5710 +#: ../NEWS:6473 msgid "" ":gh:`140633`: Ignore :exc:`AttributeError` when setting a module's " "``__file__`` attribute when loading an extension module packaged as Apple " "Framework." msgstr "" -#: ../NEWS:5714 +#: ../NEWS:6477 msgid "" ":gh:`140601`: :func:`xml.etree.ElementTree.iterparse` now emits a :exc:" "`ResourceWarning` when the iterator is not explicitly closed and was opened " @@ -9689,84 +10925,84 @@ msgid "" "Patch by Osama Abdelkader." msgstr "" -#: ../NEWS:5719 +#: ../NEWS:6482 msgid "" ":gh:`140593`: :mod:`xml.parsers.expat`: Fix a memory leak that could affect " "users with :meth:`~xml.parsers.expat.xmlparser.ElementDeclHandler` set to a " "custom element declaration handler. Patch by Sebastian Pipping." msgstr "" -#: ../NEWS:5723 +#: ../NEWS:6486 msgid "" ":gh:`140607`: Inside :meth:`io.RawIOBase.read`, validate that the count of " "bytes returned by :meth:`io.RawIOBase.readinto` is valid (inside the " "provided buffer)." msgstr "" -#: ../NEWS:5727 +#: ../NEWS:6490 msgid "" ":gh:`138162`: Fix :class:`logging.LoggerAdapter` with ``merge_extra=True`` " "and without the *extra* argument." msgstr "" -#: ../NEWS:5730 +#: ../NEWS:6493 msgid "" ":gh:`140481`: Improve error message when trying to iterate a Tk widget, " "image or font." msgstr "" -#: ../NEWS:5733 +#: ../NEWS:6496 msgid "" ":gh:`138774`: :func:`ast.unparse` now generates full source code when " "handling :class:`ast.Interpolation` nodes that do not have a specified " "source." msgstr "" -#: ../NEWS:5737 +#: ../NEWS:6500 msgid "" ":gh:`140474`: Fix memory leak in :class:`array.array` when creating arrays " "from an empty :class:`str` and the ``u`` type code." msgstr "" -#: ../NEWS:5740 +#: ../NEWS:6503 msgid "" ":gh:`140448`: Change the default of ``suggest_on_error`` to ``True`` in " "``argparse.ArgumentParser``." msgstr "" -#: ../NEWS:5743 +#: ../NEWS:6506 msgid "" ":gh:`137530`: :mod:`dataclasses` Fix annotations for generated ``__init__`` " "methods by replacing the annotations that were in-line in the generated " "source code with ``__annotate__`` functions attached to the methods." msgstr "" -#: ../NEWS:5747 +#: ../NEWS:6510 msgid "" ":gh:`140348`: Fix regression in Python 3.14.0 where using the ``|`` operator " "on a :class:`typing.Union` object combined with an object that is not a type " "would raise an error." msgstr "" -#: ../NEWS:5751 +#: ../NEWS:6514 msgid "" ":gh:`76007`: :mod:`decimal`: Deprecate ``__version__`` and replace with :" "data:`decimal.SPEC_VERSION`." msgstr "" -#: ../NEWS:5754 +#: ../NEWS:6517 msgid "" ":gh:`76007`: Deprecate ``__version__`` from :mod:`imaplib`. Patch by Hugo " "van Kemenade." msgstr "" -#: ../NEWS:5757 +#: ../NEWS:6520 msgid "" ":gh:`140272`: Fix memory leak in the :meth:`!clear` method of the :mod:`dbm." "gnu` database." msgstr "" -#: ../NEWS:5760 +#: ../NEWS:6523 msgid "" ":gh:`129117`: :mod:`unicodedata`: Add :func:`~unicodedata.isxidstart` and :" "func:`~unicodedata.isxidcontinue` functions to check whether a character can " @@ -9774,13 +11010,13 @@ msgid "" "reports/tr31/>`_ identifier." msgstr "" -#: ../NEWS:5765 +#: ../NEWS:6528 msgid "" ":gh:`140251`: Colorize the default import statement ``import asyncio`` in " "asyncio REPL." msgstr "" -#: ../NEWS:5768 +#: ../NEWS:6531 msgid "" ":gh:`140212`: Calendar's HTML formatting now accepts year and month as " "options. Previously, running ``python -m calendar -t html 2025 10`` would " @@ -9788,7 +11024,7 @@ msgid "" "calendar for the specified month. Contributed by Pål Grønås Drange." msgstr "" -#: ../NEWS:5773 +#: ../NEWS:6536 msgid "" ":gh:`135801`: Improve filtering by module in :func:`warnings.warn_explicit` " "if no *module* argument is passed. It now tests the module regular " @@ -9798,25 +11034,25 @@ msgid "" "Windows, ``.pyw`` stripped)." msgstr "" -#: ../NEWS:5780 +#: ../NEWS:6543 msgid "" ":gh:`139707`: Improve :exc:`ModuleNotFoundError` error message when a :term:" "`standard library` module is missing." msgstr "" -#: ../NEWS:5783 +#: ../NEWS:6546 msgid "" ":gh:`140041`: Fix import of :mod:`ctypes` on Android and Cygwin when ABI " "flags are present." msgstr "" -#: ../NEWS:5786 +#: ../NEWS:6549 msgid "" ":gh:`140120`: Fixed a memory leak in :mod:`hmac` when it was using the hacl-" "star backend. Discovered by ``@ashm-dev`` using AddressSanitizer." msgstr "" -#: ../NEWS:5789 +#: ../NEWS:6552 msgid "" ":gh:`140141`: The :py:class:`importlib.metadata.PackageNotFoundError` " "traceback raised when ``importlib.metadata.Distribution.from_name`` cannot " @@ -9824,11 +11060,11 @@ msgid "" "exception trace." msgstr "" -#: ../NEWS:5794 +#: ../NEWS:6557 msgid "Contributed by Bartosz Sławecki in :gh:`140142`." msgstr "" -#: ../NEWS:5796 +#: ../NEWS:6559 msgid "" ":gh:`140166`: :mod:`mimetypes`: Per the `IANA assignment `_, update the MIME type for " @@ -9836,32 +11072,32 @@ msgid "" "instead of ``application/x-texinfo``." msgstr "" -#: ../NEWS:5801 +#: ../NEWS:6564 msgid "" ":gh:`140135`: Speed up :meth:`io.RawIOBase.readall` by using PyBytesWriter " "API (about 4x faster)" msgstr "" -#: ../NEWS:5804 +#: ../NEWS:6567 msgid "" ":gh:`76007`: :mod:`zlib`: Deprecate ``__version__`` and schedule for removal " "in Python 3.20." msgstr "" -#: ../NEWS:5807 +#: ../NEWS:6570 msgid "" ":gh:`136702`: :mod:`encodings`: Deprecate passing a non-ascii *encoding* " "name to :func:`encodings.normalize_encoding` and schedule removal of support " "for Python 3.17." msgstr "" -#: ../NEWS:5811 +#: ../NEWS:6574 msgid "" ":gh:`139940`: Print clearer error message when using ``pdb`` to attach to a " "non-existing process." msgstr "" -#: ../NEWS:5814 +#: ../NEWS:6577 msgid "" ":gh:`139462`: When a child process in a :class:`concurrent.futures." "ProcessPoolExecutor` terminates abruptly, the resulting traceback will now " @@ -9869,97 +11105,97 @@ msgid "" "Jonathan Berg." msgstr "" -#: ../NEWS:5819 +#: ../NEWS:6582 msgid "" ":gh:`63161`: Fix :func:`tokenize.detect_encoding`. Support non-UTF-8 shebang " "and comments if non-UTF-8 encoding is specified. Detect decoding error for " "non-UTF-8 encoding. Detect null bytes in source code." msgstr "" -#: ../NEWS:5823 +#: ../NEWS:6586 msgid "" ":gh:`101828`: Fix ``'shift_jisx0213'``, ``'shift_jis_2004'``, " "``'euc_jisx0213'`` and ``'euc_jis_2004'`` codecs truncating null chars as " "they were treated as part of multi-character sequences." msgstr "" -#: ../NEWS:5827 +#: ../NEWS:6590 msgid ":gh:`139246`: fix: paste zero-width in default repl width is wrong." msgstr "" -#: ../NEWS:5829 +#: ../NEWS:6592 msgid "" ":gh:`83714`: Implement :func:`os.statx` on Linux kernel versions 4.11 and " "later with glibc versions 2.28 and later. Contributed by Jeffrey Bosboom " "and Victor Stinner." msgstr "" -#: ../NEWS:5833 +#: ../NEWS:6596 msgid "" ":gh:`138891`: Fix ``SyntaxError`` when ``inspect.get_annotations(f, " "eval_str=True)`` is called on a function annotated with a :pep:`646` " "``star_expression``" msgstr "" -#: ../NEWS:5837 +#: ../NEWS:6600 msgid "" ":gh:`138859`: Fix generic type parameterization raising a :exc:`TypeError` " "when omitting a :class:`ParamSpec` that has a default which is not a list of " "types." msgstr "" -#: ../NEWS:5841 +#: ../NEWS:6604 msgid "" ":gh:`138764`: Prevent :func:`annotationlib.call_annotate_function` from " "calling ``__annotate__`` functions that don't support " "``VALUE_WITH_FAKE_GLOBALS`` in a fake globals namespace with empty globals." msgstr "" -#: ../NEWS:5846 +#: ../NEWS:6609 msgid "" "Make ``FORWARDREF`` and ``STRING`` annotations fall back to using ``VALUE`` " "annotations in the case that neither their own format, nor " "``VALUE_WITH_FAKE_GLOBALS`` are supported." msgstr "" -#: ../NEWS:5850 +#: ../NEWS:6613 msgid "" ":gh:`138775`: Use of ``python -m`` with :mod:`base64` has been fixed to " "detect input from a terminal so that it properly notices EOF." msgstr "" -#: ../NEWS:5853 +#: ../NEWS:6616 msgid "" ":gh:`98896`: Fix a failure in multiprocessing resource_tracker when " "SharedMemory names contain colons. Patch by Rani Pinchuk." msgstr "" -#: ../NEWS:5856 +#: ../NEWS:6619 msgid "" ":gh:`138425`: Fix partial evaluation of :class:`annotationlib.ForwardRef` " "objects which rely on names defined as globals." msgstr "" -#: ../NEWS:5859 +#: ../NEWS:6622 msgid "" ":gh:`138151`: In :mod:`annotationlib`, improve evaluation of forward " "references to nonlocal variables that are not yet defined when the " "annotations are initially evaluated." msgstr "" -#: ../NEWS:5863 +#: ../NEWS:6626 msgid "" ":gh:`69528`: The :attr:`~io.FileIO.mode` attribute of files opened in the " "``'wb+'`` mode is now ``'wb+'`` instead of ``'rb+'``." msgstr "" -#: ../NEWS:5866 +#: ../NEWS:6629 msgid "" ":gh:`137627`: Speed up :meth:`csv.Sniffer.sniff` delimiter detection by up " "to 1.6x." msgstr "" -#: ../NEWS:5869 +#: ../NEWS:6632 msgid "" ":gh:`55531`: :mod:`encodings`: Improve :func:`~encodings.normalize_encoding` " "performance by implementing the function in C using the private " @@ -9967,57 +11203,57 @@ msgid "" "conversion optional." msgstr "" -#: ../NEWS:5874 +#: ../NEWS:6637 msgid "" ":gh:`136057`: Fixed the bug in :mod:`pdb` and :mod:`bdb` where ``next`` and " "``step`` can't go over the line if a loop exists in the line." msgstr "" -#: ../NEWS:5877 +#: ../NEWS:6640 msgid "" ":gh:`133390`: Support table, index, trigger, view, column, function, and " "schema completion for :mod:`sqlite3`'s :ref:`command-line interface `." msgstr "" -#: ../NEWS:5881 +#: ../NEWS:6644 msgid "" ":gh:`135307`: :mod:`email`: Fix exception in ``set_content()`` when encoding " "text and max_line_length is set to ``0`` or ``None`` (unlimited)." msgstr "" -#: ../NEWS:5884 +#: ../NEWS:6647 msgid "" ":gh:`133789`: Fix unpickling of :mod:`pathlib` objects that were pickled in " "Python 3.13." msgstr "" -#: ../NEWS:5887 +#: ../NEWS:6650 msgid "" ":gh:`133601`: Remove deprecated :func:`!typing.no_type_check_decorator`." msgstr "" -#: ../NEWS:5889 +#: ../NEWS:6652 msgid "" ":gh:`132686`: Add parameters *inherit_class_doc* and *fallback_to_class_doc* " "for :func:`inspect.getdoc`." msgstr "" -#: ../NEWS:5892 +#: ../NEWS:6655 msgid "" ":gh:`131116`: :func:`inspect.getdoc` now correctly returns an inherited " "docstring on :class:`~functools.cached_property` objects if none is given in " "a subclass." msgstr "" -#: ../NEWS:5896 +#: ../NEWS:6659 msgid "" ":gh:`130693`: Add support for ``-nolinestop``, and ``-strictlimits`` options " "to :meth:`!tkinter.Text.search`. Also add the :meth:`!tkinter.Text." "search_all` method for ``-all`` and ``-overlap`` options." msgstr "" -#: ../NEWS:5901 +#: ../NEWS:6664 msgid "" ":gh:`122255`: In the :mod:`linecache` module and in the Python " "implementation of the :mod:`warnings` module, a ``DeprecationWarning`` is " @@ -10025,162 +11261,162 @@ msgid "" "the C implementation of the :mod:`!warnings` module)." msgstr "" -#: ../NEWS:5906 +#: ../NEWS:6669 msgid "" ":gh:`121011`: :func:`math.log` now supports arbitrary large integer-like " "arguments in the same way as arbitrary large integer arguments." msgstr "" -#: ../NEWS:5909 +#: ../NEWS:6672 msgid "" ":gh:`119668`: Publicly expose and document :class:`importlib.machinery." "NamespacePath`." msgstr "" -#: ../NEWS:5912 +#: ../NEWS:6675 msgid "" ":gh:`102431`: Clarify constraints for \"logical\" arguments in methods of :" "class:`decimal.Context`." msgstr "" -#: ../NEWS:5915 +#: ../NEWS:6678 msgid ":gh:`81313`: Add the :mod:`math.integer` module (:pep:`791`)." msgstr "" -#: ../NEWS:5920 +#: ../NEWS:6683 msgid "" ":gh:`141579`: Fix :func:`sys.activate_stack_trampoline` to properly support " "the ``perf_jit`` backend. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:5923 +#: ../NEWS:6686 msgid "" ":gh:`114203`: Skip locking if object is already locked by two-mutex critical " "section." msgstr "" -#: ../NEWS:5926 +#: ../NEWS:6689 msgid "" ":gh:`141528`: Suggest using :meth:`concurrent.interpreters.Interpreter." "close` instead of the private ``_interpreters.destroy`` function when " "warning about remaining subinterpreters. Patch by Sergey Miryanov." msgstr "" -#: ../NEWS:5930 +#: ../NEWS:6693 msgid "" ":gh:`141367`: Specialize ``CALL_LIST_APPEND`` instruction only for lists, " "not for list subclasses, to avoid unnecessary deopt. Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:5933 +#: ../NEWS:6696 msgid "" ":gh:`141312`: Fix the assertion failure in the ``__setstate__`` method of " "the range iterator when a non-integer argument is passed. Patch by Sergey " "Miryanov." msgstr "" -#: ../NEWS:5937 +#: ../NEWS:6700 msgid "" ":gh:`140643`: Add support for ```` and ```` frames to :mod:`!" "profiling.sampling` output to denote active garbage collection and calls to " "native code." msgstr "" -#: ../NEWS:5944 +#: ../NEWS:6707 msgid "" ":gh:`140942`: Add ``.cjs`` to :mod:`mimetypes` to give CommonJS modules a " "MIME type of ``application/node``." msgstr "" -#: ../NEWS:5950 +#: ../NEWS:6713 msgid ":gh:`140479`: Update JIT compilation to use LLVM 21 at build time." msgstr "" -#: ../NEWS:5952 +#: ../NEWS:6715 msgid "" ":gh:`140939`: Fix memory leak when :class:`bytearray` or :class:`bytes` is " "formated with the ``%*b`` format with a large width that results in a :exc:" "`MemoryError`." msgstr "" -#: ../NEWS:5959 +#: ../NEWS:6722 msgid "" ":gh:`140260`: Fix :mod:`struct` data race in endian table initialization " "with subinterpreters. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:5965 +#: ../NEWS:6728 msgid "" ":gh:`140530`: Fix a reference leak when ``raise exc from cause`` fails. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:5971 +#: ../NEWS:6734 msgid "" ":gh:`90344`: Replace :class:`io.IncrementalNewlineDecoder` with non " "incremental newline decoders in codebase where :meth:`!io." "IncrementalNewlineDecoder.decode` was being called once." msgstr "" -#: ../NEWS:5978 +#: ../NEWS:6741 msgid "" ":gh:`140373`: Correctly emit ``PY_UNWIND`` event when generator object is " "closed. Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:5981 +#: ../NEWS:6744 msgid "" ":gh:`140729`: Fix pickling error in the sampling profiler when using " "``concurrent.futures.ProcessPoolExecutor`` script can not be properly " "pickled and executed in worker processes." msgstr "" -#: ../NEWS:5985 +#: ../NEWS:6748 msgid "" ":gh:`131527`: Dynamic borrow checking for stackrefs is added to " "``Py_STACKREF_DEBUG`` mode. Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:5988 +#: ../NEWS:6751 msgid "" ":gh:`140576`: Fixed crash in :func:`tokenize.generate_tokens` in case of " "specific incorrect input. Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:5991 +#: ../NEWS:6754 msgid "" ":gh:`140544`: Speed up accessing interpreter state by caching it in a thread " "local variable. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:5994 +#: ../NEWS:6757 msgid "" ":gh:`140551`: Fixed crash in :class:`dict` if :meth:`dict.clear` is called " "at the lookup stage. Patch by Mikhail Efimov and Inada Naoki." msgstr "" -#: ../NEWS:5997 +#: ../NEWS:6760 msgid "" ":gh:`140517`: Fixed a reference leak when iterating over the result of :func:" "`map` with ``strict=True`` when the input iterables have different lengths. " "Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:6001 +#: ../NEWS:6764 msgid "" ":gh:`133467`: Fix race when updating :attr:`!type.__bases__` that could " "allow a read of :attr:`!type.__base__` to observe an inconsistent value on " "the free threaded build." msgstr "" -#: ../NEWS:6005 +#: ../NEWS:6768 msgid "" ":gh:`140471`: Fix potential buffer overflow in :class:`ast.AST` node " "initialization when encountering malformed :attr:`~ast.AST._fields` " "containing non-:class:`str`." msgstr "" -#: ../NEWS:6012 +#: ../NEWS:6775 msgid "" ":gh:`140443`: The logarithm functions (such as :func:`math.log10` and :func:" "`math.log`) may now produce slightly different results for extremely large " @@ -10189,7 +11425,7 @@ msgid "" "overall error distribution." msgstr "" -#: ../NEWS:6021 +#: ../NEWS:6784 msgid "" ":gh:`140431`: Fix a crash in Python's :term:`garbage collector ` due to partially initialized :term:`coroutine` objects when " @@ -10197,20 +11433,20 @@ msgid "" "set_coroutine_origin_tracking_depth`)." msgstr "" -#: ../NEWS:6026 +#: ../NEWS:6789 msgid "" ":gh:`140476`: Optimize :c:func:`PySet_Add` for :class:`frozenset` in :term:" "`free threaded ` build." msgstr "" -#: ../NEWS:6029 +#: ../NEWS:6792 msgid "" ":gh:`135904`: Add special labels to the assembly created during stencil " "creation to support relocations that the native object file format does not " "support. Specifically, 19 bit branches for AArch64 in Mach-O object files." msgstr "" -#: ../NEWS:6037 +#: ../NEWS:6800 msgid "" ":gh:`140398`: Fix memory leaks in :mod:`readline` functions :func:`~readline." "read_init_file`, :func:`~readline.read_history_file`, :func:`~readline." @@ -10218,13 +11454,13 @@ msgid "" "`PySys_Audit` fails." msgstr "" -#: ../NEWS:6045 +#: ../NEWS:6808 msgid "" ":gh:`140406`: Fix memory leak when an object's :meth:`~object.__hash__` " "method returns an object that isn't an :class:`int`." msgstr "" -#: ../NEWS:6048 +#: ../NEWS:6811 msgid "" ":gh:`140358`: Restore elapsed time and unreachable object count in GC debug " "output. These were inadvertently removed during a refactor of ``gc.c``. The " @@ -10232,112 +11468,112 @@ msgid "" "unreachable objects. Contributed by Pål Grønås Drange." msgstr "" -#: ../NEWS:6053 +#: ../NEWS:6816 msgid ":gh:`136895`: Update JIT compilation to use LLVM 20 at build time." msgstr "" -#: ../NEWS:6055 +#: ../NEWS:6818 msgid "" ":gh:`139109`: A new tracing frontend for the JIT compiler has been " "implemented. Patch by Ken Jin. Design for CPython by Ken Jin, Mark Shannon " "and Brandt Bucher." msgstr "" -#: ../NEWS:6059 +#: ../NEWS:6822 msgid "" ":gh:`140306`: Fix memory leaks in cross-interpreter channel operations and " "shared namespace handling." msgstr "" -#: ../NEWS:6062 +#: ../NEWS:6825 msgid "" ":gh:`116738`: Make _suggestions module thread-safe on the :term:`free " "threaded ` build." msgstr "" -#: ../NEWS:6065 +#: ../NEWS:6828 msgid ":gh:`140301`: Fix memory leak of ``PyConfig`` in subinterpreters." msgstr "" -#: ../NEWS:6067 +#: ../NEWS:6830 msgid "" ":gh:`140257`: Fix data race between interpreter_clear() and take_gil() on " "eval_breaker during finalization with daemon threads." msgstr "" -#: ../NEWS:6070 +#: ../NEWS:6833 msgid "" ":gh:`139951`: Fixes a regression in GC performance for a growing heap " "composed mostly of small tuples." msgstr "" -#: ../NEWS:6073 +#: ../NEWS:6836 msgid "" "Counts number of actually tracked objects, instead of trackable objects. " "This ensures that untracking tuples has the desired effect of reducing GC " "overhead." msgstr "" -#: ../NEWS:6075 +#: ../NEWS:6838 msgid "" "Does not track most untrackable tuples during creation. This prevents large " "numbers of small tuples causing excessive GCs." msgstr "" -#: ../NEWS:6078 +#: ../NEWS:6841 msgid "" ":gh:`140253`: Wrong placement of a double-star pattern inside a mapping " "pattern now throws a specialized syntax error. Contributed by Bartosz " "Sławecki in :gh:`140253`." msgstr "" -#: ../NEWS:6082 +#: ../NEWS:6845 msgid "" ":gh:`140104`: Fix a bug with exception handling in the JIT. Patch by Ken " "Jin. Bug reported by Daniel Diniz." msgstr "" -#: ../NEWS:6085 +#: ../NEWS:6848 msgid "" ":gh:`140149`: Speed up parsing bytes literals concatenation by using " "PyBytesWriter API and a single memory allocation (about 3x faster)." msgstr "" -#: ../NEWS:6088 +#: ../NEWS:6851 msgid "" ":gh:`140061`: Fixing the checking of whether an object is uniquely " "referenced to ensure free-threaded compatibility. Patch by Sergey Miryanov." msgstr "" -#: ../NEWS:6091 +#: ../NEWS:6854 msgid "" ":gh:`140080`: Fix hang during finalization when attempting to call :mod:" "`atexit` handlers under no memory." msgstr "" -#: ../NEWS:6094 +#: ../NEWS:6857 msgid "" ":gh:`139871`: Update :class:`bytearray` to use a :class:`bytes` under the " "hood as its buffer and add :meth:`bytearray.take_bytes` to take it out." msgstr "" -#: ../NEWS:6097 +#: ../NEWS:6860 msgid ":gh:`140067`: Fix memory leak in sub-interpreter creation." msgstr "" -#: ../NEWS:6099 +#: ../NEWS:6862 msgid "" ":gh:`139914`: Restore support for HP PA-RISC, which has an upwards-growing " "stack." msgstr "" -#: ../NEWS:6102 +#: ../NEWS:6865 msgid "" ":gh:`139817`: Attribute ``__qualname__`` is added to :class:`typing." "TypeAliasType`. Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:6105 +#: ../NEWS:6868 msgid "" ":gh:`135801`: Many functions related to compiling or parsing Python code, " "such as :func:`compile`, :func:`ast.parse`, :func:`symtable.symtable`, and :" @@ -10346,78 +11582,78 @@ msgid "" "syntax warnings by module name." msgstr "" -#: ../NEWS:6111 +#: ../NEWS:6874 msgid "" ":gh:`139640`: :func:`ast.parse` no longer emits syntax warnings for " "``return``/``break``/``continue`` in ``finally`` (see :pep:`765`) -- they " "are only emitted during compilation." msgstr "" -#: ../NEWS:6115 +#: ../NEWS:6878 msgid "" ":gh:`139640`: Fix swallowing some syntax warnings in different modules if " "they accidentally have the same message and are emitted from the same line. " "Fix duplicated warnings in the ``finally`` block." msgstr "" -#: ../NEWS:6119 +#: ../NEWS:6882 msgid "" ":gh:`139475`: Changes in stackref debugging mode when ``Py_STACKREF_DEBUG`` " "is set. We use the same pattern of refcounting for stackrefs as in " "production build." msgstr "" -#: ../NEWS:6123 +#: ../NEWS:6886 msgid "" ":gh:`139269`: Fix undefined behavior when using unaligned store in JIT's " "``patch_*`` functions." msgstr "" -#: ../NEWS:6126 +#: ../NEWS:6889 msgid "" ":gh:`138944`: Fix :exc:`SyntaxError` message when invalid syntax appears on " "the same line as a valid ``import ... as ...`` or ``from ... import ... " "as ...`` statement. Patch by Brian Schubert." msgstr "" -#: ../NEWS:6130 +#: ../NEWS:6893 msgid "" ":gh:`138857`: Improve :exc:`SyntaxError` message for ``case`` keyword placed " "outside :keyword:`match` body." msgstr "" -#: ../NEWS:6133 +#: ../NEWS:6896 msgid "" ":gh:`131253`: Support the ``--enable-pystats`` build option for the free-" "threaded build." msgstr "" -#: ../NEWS:6136 +#: ../NEWS:6899 msgid "" ":gh:`136327`: Errors when calling functions with invalid values after ``*`` " "and ``**`` now do not include the function name. Patch by Ilia Solin." msgstr "" -#: ../NEWS:6139 +#: ../NEWS:6902 msgid "" ":gh:`134786`: If :c:macro:`Py_TPFLAGS_MANAGED_DICT` and :c:macro:" "`Py_TPFLAGS_MANAGED_WEAKREF` are used, then :c:macro:`Py_TPFLAGS_HAVE_GC` " "must be used as well." msgstr "" -#: ../NEWS:6146 +#: ../NEWS:6909 msgid "" ":gh:`141341`: On Windows, rename the ``COMPILER`` macro to ``_Py_COMPILER`` " "to avoid name conflicts. Patch by Victor Stinner." msgstr "" -#: ../NEWS:6149 +#: ../NEWS:6912 msgid "" ":gh:`116146`: Add a new :c:func:`PyImport_CreateModuleFromInitfunc` C-API " "for creating a module from a *spec* and *initfunc*. Patch by Itamar Oren." msgstr "" -#: ../NEWS:6152 +#: ../NEWS:6915 msgid "" ":gh:`141042`: Make qNaN in :c:func:`PyFloat_Pack2` and :c:func:" "`PyFloat_Pack4`, if while conversion to a narrower precision floating-point " @@ -10425,37 +11661,37 @@ msgid "" "Sergey B Kirpichev." msgstr "" -#: ../NEWS:6157 +#: ../NEWS:6920 msgid "" ":gh:`141004`: :c:macro:`!Py_MATH_El` and :c:macro:`!Py_MATH_PIl` are " "deprecated." msgstr "" -#: ../NEWS:6160 +#: ../NEWS:6923 msgid "" ":gh:`141004`: The :c:macro:`!Py_INFINITY` macro is :term:`soft deprecated`." msgstr "" -#: ../NEWS:6162 +#: ../NEWS:6925 msgid "" ":gh:`140556`: :pep:`793`: Add a new entry point for C extension modules, " "``PyModExport_``." msgstr "" -#: ../NEWS:6165 +#: ../NEWS:6928 msgid "" ":gh:`140487`: Fix :c:macro:`Py_RETURN_NOTIMPLEMENTED` in limited C API 3.11 " "and older: don't treat ``Py_NotImplemented`` as immortal. Patch by Victor " "Stinner." msgstr "" -#: ../NEWS:6169 +#: ../NEWS:6932 msgid "" ":gh:`140153`: Fix :c:func:`Py_REFCNT` definition on limited C API 3.11-3.13. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:6172 +#: ../NEWS:6935 msgid "" ":gh:`139653`: Add :c:func:`PyUnstable_ThreadState_SetStackProtection` and :c:" "func:`PyUnstable_ThreadState_ResetStackProtection` functions to set the " @@ -10463,125 +11699,125 @@ msgid "" "state. Patch by Victor Stinner." msgstr "" -#: ../NEWS:6180 +#: ../NEWS:6943 msgid "" ":gh:`140454`: When building the JIT, match the jit_stencils filename " "expectations in Makefile with the generator script. This avoid needless JIT " "recompilation during ``make install``." msgstr "" -#: ../NEWS:6184 +#: ../NEWS:6947 msgid "" ":gh:`140768`: Warn when the WASI SDK version doesn't match what's supported." msgstr "" -#: ../NEWS:6186 +#: ../NEWS:6949 msgid "" ":gh:`140513`: Generate a clear compilation error when " "``_Py_TAIL_CALL_INTERP`` is enabled but either ``preserve_none`` or " "``musttail`` is not supported." msgstr "" -#: ../NEWS:6190 +#: ../NEWS:6953 msgid ":gh:`140475`: Support WASI SDK 25." msgstr "" -#: ../NEWS:6192 +#: ../NEWS:6955 msgid "" ":gh:`140239`: Check ``statx`` availability only on Linux (including Android)." msgstr "" -#: ../NEWS:6194 +#: ../NEWS:6957 msgid ":gh:`140189`: iOS builds were added to CI." msgstr "" -#: ../NEWS:6196 +#: ../NEWS:6959 msgid "" ":gh:`137618`: ``PYTHON_FOR_REGEN`` now requires Python 3.10 to Python 3.15. " "Patch by Adam Turner." msgstr "" -#: ../NEWS:6201 +#: ../NEWS:6964 msgid "Python 3.15.0 alpha 1" msgstr "" -#: ../NEWS:6203 +#: ../NEWS:6966 msgid "*Release date: 2025-10-14*" msgstr "" -#: ../NEWS:6208 +#: ../NEWS:6971 msgid ":gh:`115119`: Update macOS installer to use libmpdecimal 4.0.1." msgstr "" -#: ../NEWS:6210 +#: ../NEWS:6973 msgid ":gh:`124111`: Update macOS installer to use Tcl/Tk 9.0.2." msgstr "" -#: ../NEWS:6212 +#: ../NEWS:6975 msgid ":gh:`132339`: Update macOS installer version of OpenSSL to 3.5.4." msgstr "" -#: ../NEWS:6214 +#: ../NEWS:6977 msgid "" ":gh:`137450`: macOS installer shell path management improvements: separate " "the installer ``Shell profile updater`` postinstall script from the ``Update " "Shell Profile.command`` to enable more robust error handling." msgstr "" -#: ../NEWS:6218 +#: ../NEWS:6981 msgid "" ":gh:`137134`: Update macOS installer to ship with SQLite version 3.50.4." msgstr "" -#: ../NEWS:6223 +#: ../NEWS:6986 msgid "" ":gh:`139810`: Installing with ``py install 3[.x]-dev`` will now select final " "versions as well as prereleases." msgstr "" -#: ../NEWS:6226 +#: ../NEWS:6989 msgid ":gh:`139573`: Updated bundled version of OpenSSL to 3.0.18." msgstr "" -#: ../NEWS:6228 +#: ../NEWS:6991 msgid "" ":gh:`138896`: Fix error installing C runtime on non-updated Windows machines" msgstr "" -#: ../NEWS:6230 +#: ../NEWS:6993 msgid ":gh:`138314`: Add :func:`winreg.DeleteTree`." msgstr "" -#: ../NEWS:6232 +#: ../NEWS:6995 msgid "" ":gh:`137136`: Suppress build warnings when build on Windows with ``--" "experimental-jit-interpreter``." msgstr "" -#: ../NEWS:6235 +#: ../NEWS:6998 msgid ":gh:`137134`: Update Windows installer to ship with SQLite 3.50.4." msgstr "" -#: ../NEWS:6237 +#: ../NEWS:7000 msgid "" ":gh:`135099`: Fix a crash that could occur on Windows when a background " "thread waits on a :c:type:`PyMutex` while the main thread is shutting down " "the interpreter." msgstr "" -#: ../NEWS:6241 +#: ../NEWS:7004 msgid "" ":gh:`130727`: Fix a race in internal calls into WMI that can result in an " "\"invalid handle\" exception under high load. Patch by Chris Eibl." msgstr "" -#: ../NEWS:6244 +#: ../NEWS:7007 msgid "" ":gh:`76023`: Make :func:`os.path.realpath` ignore Windows error 1005 when in " "non-strict mode." msgstr "" -#: ../NEWS:6247 +#: ../NEWS:7010 msgid "" ":gh:`133779`: Reverts the change to generate different :file:`pyconfig.h` " "files based on compiler settings, as it was frequently causing extension " @@ -10592,113 +11828,113 @@ msgid "" "with that flag or not." msgstr "" -#: ../NEWS:6255 +#: ../NEWS:7018 msgid "" ":gh:`133626`: Ensures packages are not accidentally bundled into the " "traditional installer." msgstr "" -#: ../NEWS:6258 +#: ../NEWS:7021 msgid "" ":gh:`133580`: Fix :func:`sys.getwindowsversion` failing without setting an " "exception when called on some WinAPI partitions." msgstr "" -#: ../NEWS:6261 +#: ../NEWS:7024 msgid "" ":gh:`133572`: Avoid LsaNtStatus to WinError conversion on unsupported WinAPI " "partitions." msgstr "" -#: ../NEWS:6264 +#: ../NEWS:7027 msgid "" ":gh:`133568`: Fix compile error when using a WinAPI partition that doesn't " "support the RPC runtime library." msgstr "" -#: ../NEWS:6267 +#: ../NEWS:7030 msgid "" ":gh:`133562`: Disable handling of security descriptors by :func:`os.mkdir` " "with mode ``0o700`` on WinAPI partitions that do not support it. This only " "affects custom builds for specialized targets." msgstr "" -#: ../NEWS:6271 +#: ../NEWS:7034 msgid "" ":gh:`133537`: Avoid using console I/O in WinAPI partitions that don’t " "support it" msgstr "" -#: ../NEWS:6274 +#: ../NEWS:7037 msgid "" ":gh:`131942`: Use the Python-specific :c:macro:`Py_DEBUG` macro rather than :" "c:macro:`!_DEBUG` in Windows-related C code. Patch by Xuehai Pan." msgstr "" -#: ../NEWS:6280 +#: ../NEWS:7043 msgid "" ":gh:`139330`: SBOM generation tool didn't cross-check the version and " "checksum values against the ``Modules/expat/refresh.sh`` script, leading to " "the values becoming out-of-date during routine updates." msgstr "" -#: ../NEWS:6284 +#: ../NEWS:7047 msgid "" ":gh:`132006`: XCframeworks now include privacy manifests to satisfy Apple " "App Store submission requirements." msgstr "" -#: ../NEWS:6287 +#: ../NEWS:7050 msgid "" ":gh:`138171`: A script for building an iOS XCframework was added. As part of " "this change, the top level ``iOS`` folder has been moved to be a " "subdirectory of the ``Apple`` folder." msgstr "" -#: ../NEWS:6291 +#: ../NEWS:7054 msgid "" ":gh:`137873`: The iOS test runner has been simplified, resolving some issues " "that have been observed using the runner in GitHub Actions and Azure " "Pipelines test environments." msgstr "" -#: ../NEWS:6295 +#: ../NEWS:7058 msgid "" ":gh:`137484`: Have ``Tools/wasm/wasi`` put the build Python into a directory " "named after the build triple instead of \"build\"." msgstr "" -#: ../NEWS:6298 +#: ../NEWS:7061 msgid "" ":gh:`137025`: The ``wasm_build.py`` script has been removed. ``Tools/wasm/" "emscripten`` and ``Tools/wasm/wasi`` should be used instead, as described in " "the `Dev Guide `__." msgstr "" -#: ../NEWS:6303 +#: ../NEWS:7066 msgid "" ":gh:`137248`: Add a ``--logdir`` option to ``Tools/wasm/wasi`` for " "specifying where to write log files." msgstr "" -#: ../NEWS:6306 +#: ../NEWS:7069 msgid "" ":gh:`137243`: Have Tools/wasm/wasi detect a WASI SDK install in /opt when it " "was directly extracted from a release tarball." msgstr "" -#: ../NEWS:6309 +#: ../NEWS:7072 msgid "" ":gh:`136251`: Fixes and usability improvements for ``Tools/wasm/emscripten/" "web_example``" msgstr "" -#: ../NEWS:6312 +#: ../NEWS:7075 msgid "" ":gh:`135968`: Stubs for ``strip`` are now provided as part of an iOS install." msgstr "" -#: ../NEWS:6314 +#: ../NEWS:7077 msgid "" ":gh:`135379`: The cases generator no longer accepts type annotations on " "stack items. Conversions to non-default types are now done explicitly in " @@ -10706,94 +11942,94 @@ msgid "" "for top-of-stack caching and other future features." msgstr "" -#: ../NEWS:6319 +#: ../NEWS:7082 msgid "" ":gh:`134215`: :term:`REPL` import autocomplete only suggests private modules " "when explicitly specified." msgstr "" -#: ../NEWS:6325 +#: ../NEWS:7088 msgid "" ":gh:`139208`: Fix regrtest ``--fast-ci --verbose``: don't ignore the ``--" "verbose`` option anymore. Patch by Victor Stinner." msgstr "" -#: ../NEWS:6328 +#: ../NEWS:7091 msgid "" ":gh:`138313`: Restore skipped test and add janky workaround to prevent " "select buildbots from failing with a ResourceWarning." msgstr "" -#: ../NEWS:6331 +#: ../NEWS:7094 msgid "" ":gh:`135966`: The iOS testbed now handles the ``app_packages`` folder as a " "site directory." msgstr "" -#: ../NEWS:6334 +#: ../NEWS:7097 msgid "" ":gh:`135494`: Fix regrtest to support excluding tests from ``--pgo`` tests. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:6337 +#: ../NEWS:7100 msgid "" ":gh:`132815`: Fix test__opcode: add ``JUMP_BACKWARD`` to specialization " "stats." msgstr "" -#: ../NEWS:6340 +#: ../NEWS:7103 msgid "" ":gh:`135489`: Show verbose output for failing tests during PGO profiling " "step with --enable-optimizations." msgstr "" -#: ../NEWS:6343 +#: ../NEWS:7106 msgid "" ":gh:`135401`: Add a new GitHub CI job to test the :mod:`ssl` module with " "`AWS-LC `_ as the backing cryptography and " "TLS library." msgstr "" -#: ../NEWS:6347 +#: ../NEWS:7110 msgid ":gh:`135120`: Add :func:`!test.support.subTests`." msgstr "" -#: ../NEWS:6349 +#: ../NEWS:7112 msgid "" ":gh:`134567`: Expose log formatter to users in TestCase.assertLogs. :func:" "`unittest.TestCase.assertLogs` will now optionally accept a formatter that " "will be used to format the strings in output if provided." msgstr "" -#: ../NEWS:6353 +#: ../NEWS:7116 msgid "" ":gh:`133744`: Fix multiprocessing interrupt test. Add an event to " "synchronize the parent process with the child process: wait until the child " "process starts sleeping. Patch by Victor Stinner." msgstr "" -#: ../NEWS:6357 +#: ../NEWS:7120 msgid "" ":gh:`133682`: Fixed test case ``test.test_annotationlib.TestStringFormat." "test_displays`` which ensures proper handling of complex data structures " "(lists, sets, dictionaries, and tuples) in string annotations." msgstr "" -#: ../NEWS:6362 +#: ../NEWS:7125 msgid "" ":gh:`133639`: Fix ``TestPyReplAutoindent.test_auto_indent_default()`` " "doesn't run ``input_code``." msgstr "" -#: ../NEWS:6368 +#: ../NEWS:7131 msgid "" ":gh:`139700`: Check consistency of the zip64 end of central directory " "record. Support records with \"zip64 extensible data\" if there are no bytes " "prepended to the ZIP file." msgstr "" -#: ../NEWS:6372 +#: ../NEWS:7135 msgid "" ":gh:`139400`: :mod:`xml.parsers.expat`: Make sure that parent Expat parsers " "are only garbage-collected once they are no longer referenced by subparsers " @@ -10801,7 +12037,7 @@ msgid "" "Patch by Sebastian Pipping." msgstr "" -#: ../NEWS:6378 +#: ../NEWS:7141 msgid "" ":gh:`139283`: :mod:`sqlite3`: correctly handle maximum number of rows to " "fetch in :meth:`Cursor.fetchmany ` and reject " @@ -10809,54 +12045,54 @@ msgid "" "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6383 +#: ../NEWS:7146 msgid "" ":gh:`136053`: :mod:`marshal`: fix a possible crash when deserializing :class:" "`slice` objects." msgstr "" -#: ../NEWS:6386 +#: ../NEWS:7149 msgid "" ":gh:`135661`: Fix parsing start and end tags in :class:`html.parser." "HTMLParser` according to the HTML5 standard." msgstr "" -#: ../NEWS:6389 +#: ../NEWS:7152 msgid "" "Whitespaces no longer accepted between ```` does not end the script section." msgstr "" -#: ../NEWS:6392 +#: ../NEWS:7155 msgid "" "Vertical tabulation (``\\v``) and non-ASCII whitespaces no longer recognized " "as whitespaces. The only whitespaces are ``\\t\\n\\r\\f`` and space." msgstr "" -#: ../NEWS:6395 +#: ../NEWS:7158 msgid "Null character (U+0000) no longer ends the tag name." msgstr "" -#: ../NEWS:6397 +#: ../NEWS:7160 msgid "" "Attributes and slashes after the tag name in end tags are now ignored, " "instead of terminating after the first ``>`` in quoted attribute value. E.g. " "``\"/>``." msgstr "" -#: ../NEWS:6401 +#: ../NEWS:7164 msgid "" "Multiple slashes and whitespaces between the last attribute and closing " "``>`` are now ignored in both start and end tags. E.g. ````." msgstr "" -#: ../NEWS:6404 +#: ../NEWS:7167 msgid "" "Multiple ``=`` between attribute name and value are no longer collapsed. E." "g. ```` produces attribute \"foo\" with value \"=bar\"." msgstr "" -#: ../NEWS:6407 +#: ../NEWS:7170 msgid "" ":gh:`135661`: Fix CDATA section parsing in :class:`html.parser.HTMLParser` " "according to the HTML5 standard: ``] ]>`` and ``]] >`` no longer end the " @@ -10865,7 +12101,7 @@ msgid "" "content (SVG or MathML) or as a bogus comment in the HTML namespace." msgstr "" -#: ../NEWS:6414 +#: ../NEWS:7177 msgid "" ":gh:`102555`: Fix comment parsing in :class:`html.parser.HTMLParser` " "according to the HTML5 standard. ``--!>`` now ends the comment. ``-- >`` no " @@ -10873,7 +12109,7 @@ msgid "" "and ``<--->``." msgstr "" -#: ../NEWS:6419 +#: ../NEWS:7182 msgid "" ":gh:`135462`: Fix quadratic complexity in processing specially crafted input " "in :class:`html.parser.HTMLParser`. End-of-file errors are now handled " @@ -10881,65 +12117,65 @@ msgid "" "closed, tags are ignored." msgstr "" -#: ../NEWS:6424 +#: ../NEWS:7187 msgid "" ":gh:`118350`: Fix support of escapable raw text mode (elements \"textarea\" " "and \"title\") in :class:`html.parser.HTMLParser`." msgstr "" -#: ../NEWS:6427 +#: ../NEWS:7190 msgid "" ":gh:`135034`: Fixes multiple issues that allowed ``tarfile`` extraction " "filters (``filter=\"data\"`` and ``filter=\"tar\"``) to be bypassed using " "crafted symlinks and hard links." msgstr "" -#: ../NEWS:6431 +#: ../NEWS:7194 msgid "" "Addresses :cve:`2024-12718`, :cve:`2025-4138`, :cve:`2025-4330`, and :cve:" "`2025-4517`." msgstr "" -#: ../NEWS:6434 +#: ../NEWS:7197 msgid "" ":gh:`133767`: Fix use-after-free in the \"unicode-escape\" decoder with a " "non-\"strict\" error handler." msgstr "" -#: ../NEWS:6437 +#: ../NEWS:7200 msgid "" ":gh:`133623`: Indicate through :data:`ssl.HAS_PSK_TLS13` whether the :mod:" "`ssl` module supports \"External PSKs\" in TLSv1.3, as described in RFC " "9258. Patch by Will Childs-Klein." msgstr "" -#: ../NEWS:6441 +#: ../NEWS:7204 msgid "" ":gh:`128840`: Short-circuit the processing of long IPv6 addresses early in :" "mod:`ipaddress` to prevent excessive memory consumption and a minor denial-" "of-service." msgstr "" -#: ../NEWS:6448 +#: ../NEWS:7211 msgid "" ":gh:`139482`: Optimize :data:`os.environ.clear() ` by calling :" "manpage:`clearenv(3)` when this function is available. Patch by Victor " "Stinner." msgstr "" -#: ../NEWS:6452 +#: ../NEWS:7215 msgid "" ":gh:`139958`: The ``application/toml`` mime type is now supported by :mod:" "`mimetypes`. Patch by Gil Forcada." msgstr "" -#: ../NEWS:6455 +#: ../NEWS:7218 msgid "" ":gh:`139823`: :mod:`ensurepip` now fails with a nicer error message when " "the :mod:`zlib` module is not available." msgstr "" -#: ../NEWS:6458 +#: ../NEWS:7221 msgid "" ":gh:`139905`: Add suggestion to error message for :class:`typing.Generic` " "subclasses when ``cls.__parameters__`` is missing due to a parent class " @@ -10947,38 +12183,38 @@ msgid "" "__init_subclass__>` in its ``__init_subclass__``." msgstr "" -#: ../NEWS:6463 +#: ../NEWS:7226 msgid "" ":gh:`139894`: Fix incorrect sharing of current task with the child process " "while forking in :mod:`asyncio`. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:6466 +#: ../NEWS:7229 msgid "" ":gh:`139845`: Fix to not print KeyboardInterrupt twice in default asyncio " "REPL." msgstr "" -#: ../NEWS:6469 +#: ../NEWS:7232 msgid "" ":gh:`139783`: Fix :func:`inspect.getsourcelines` for the case when a " "decorator is followed by a comment or an empty line." msgstr "" -#: ../NEWS:6472 +#: ../NEWS:7235 msgid "" ":gh:`139809`: Prevent premature colorization of subparser ``prog`` in :meth:" "`argparse.ArgumentParser.add_subparsers` to respect color environment " "variable changes after parser creation." msgstr "" -#: ../NEWS:6476 +#: ../NEWS:7239 msgid "" ":gh:`139736`: Fix excessive indentation in the default :mod:`argparse` :" "class:`!HelpFormatter`. Patch by Alexander Edland." msgstr "" -#: ../NEWS:6479 +#: ../NEWS:7242 msgid "" ":gh:`70765`: :mod:`http.server`: fix default handling of HTTP/0.9 requests " "in :class:`~http.server.BaseHTTPRequestHandler`. Previously, :meth:`!" @@ -10986,36 +12222,36 @@ msgid "" "request although those are not supported in HTTP/0.9. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6485 +#: ../NEWS:7248 msgid "" ":gh:`139322`: Fix :func:`os.getlogin` error handling: fix the error number. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:6488 +#: ../NEWS:7251 msgid "" ":gh:`135953`: Add a Gecko format output to the tachyon profiler via ``--" "gecko``." msgstr "" -#: ../NEWS:6491 +#: ../NEWS:7254 msgid "" ":gh:`139184`: :func:`os.forkpty` does now make the returned file descriptor " "non-inheritable." msgstr "" -#: ../NEWS:6494 +#: ../NEWS:7257 msgid "" ":gh:`139391`: Fix an issue when, on non-Windows platforms, it was not " "possible to gracefully exit a ``python -m asyncio`` process suspended by " "Ctrl+Z and later resumed by :manpage:`fg` other than with :manpage:`kill`." msgstr "" -#: ../NEWS:6498 +#: ../NEWS:7261 msgid ":gh:`139374`: :mod:`timeit`: Add color to error tracebacks." msgstr "" -#: ../NEWS:6500 +#: ../NEWS:7263 msgid "" ":gh:`90949`: Add :meth:`~xml.parsers.expat.xmlparser." "SetBillionLaughsAttackProtectionActivationThreshold` and :meth:`~xml.parsers." @@ -11025,17 +12261,17 @@ msgid "" "attacks. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6509 +#: ../NEWS:7272 msgid ":gh:`139312`: Upgrade bundled libexpat to 2.7.3" msgstr "" -#: ../NEWS:6511 +#: ../NEWS:7274 msgid "" ":gh:`139289`: Do a real lazy-import on :mod:`rlcompleter` in :mod:`pdb` and " "restore the existing completer after importing :mod:`rlcompleter`." msgstr "" -#: ../NEWS:6514 +#: ../NEWS:7277 msgid "" ":gh:`90949`: Add :meth:`~xml.parsers.expat.xmlparser." "SetAllocTrackerActivationThreshold` and :meth:`~xml.parsers.expat.xmlparser." @@ -11044,7 +12280,7 @@ msgid "" "memory usage from within an Expat parser. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6522 +#: ../NEWS:7285 msgid "" ":gh:`67795`: Functions that take timestamp or timeout arguments now accept " "any real numbers (such as :class:`~decimal.Decimal` and :class:`~fractions." @@ -11052,38 +12288,38 @@ msgid "" "precision." msgstr "" -#: ../NEWS:6527 +#: ../NEWS:7290 msgid "" ":gh:`95953`: A CSS class, ``diff_changed``, was added to the changed lines " "in the ``make_table`` output of :class:`difflib.HtmlDiff`. Patch by Katie " "Gardner." msgstr "" -#: ../NEWS:6531 +#: ../NEWS:7294 msgid "" ":gh:`139210`: Fix use-after-free when reporting unknown event in :func:`xml." "etree.ElementTree.iterparse`. Patch by Ken Jin." msgstr "" -#: ../NEWS:6534 +#: ../NEWS:7297 msgid "" ":gh:`138860`: Lazy import :mod:`rlcompleter` in :mod:`pdb` to avoid deadlock " "in subprocess." msgstr "" -#: ../NEWS:6537 +#: ../NEWS:7300 msgid "" ":gh:`112729`: Fix crash when calling :func:`concurrent.interpreters.create` " "when the process is out of memory." msgstr "" -#: ../NEWS:6540 +#: ../NEWS:7303 msgid "" ":gh:`126016`: Fix an assertion failure when sending :exc:`KeyboardInterrupt` " "to a Python process running a subinterpreter in a separate thread." msgstr "" -#: ../NEWS:6543 +#: ../NEWS:7306 msgid "" ":gh:`118803`: :class:`collections.abc.ByteString` has been removed from " "``collections.abc.__all__``, and :class:`typing.ByteString` has been removed " @@ -11092,7 +12328,7 @@ msgid "" "scheduled for removal in Python 3.17." msgstr "" -#: ../NEWS:6549 +#: ../NEWS:7312 msgid "" "Additionally, the following statements now cause ``DeprecationWarning``\\ s " "to be emitted at runtime: ``from collections.abc import ByteString``, ``from " @@ -11104,50 +12340,50 @@ msgid "" "merely imported or accessed from their respective modules." msgstr "" -#: ../NEWS:6559 +#: ../NEWS:7322 msgid "" ":gh:`135729`: Fix unraisable exception during finalization when using :mod:" "`concurrent.interpreters` in the REPL." msgstr "" -#: ../NEWS:6562 +#: ../NEWS:7325 msgid "" ":gh:`139076`: Fix a bug in the :mod:`pydoc` module that was hiding functions " "in a Python module if they were implemented in an extension module and the " "module did not have ``__all__``." msgstr "" -#: ../NEWS:6566 +#: ../NEWS:7329 msgid ":gh:`139090`: Add :data:`os.RWF_DONTCACHE` constant for Linux 6.14+." msgstr "" -#: ../NEWS:6568 +#: ../NEWS:7331 msgid "" ":gh:`139065`: Fix trailing space before a wrapped long word if the line " "length is exactly *width* in :mod:`textwrap`." msgstr "" -#: ../NEWS:6571 +#: ../NEWS:7334 msgid "" ":gh:`139001`: Fix race condition in :class:`pathlib.Path` on the internal " "``_raw_paths`` field." msgstr "" -#: ../NEWS:6574 +#: ../NEWS:7337 msgid "" ":gh:`138813`: :class:`!multiprocessing.BaseProcess` defaults ``kwargs`` to " "``None`` instead of a shared dictionary." msgstr "" -#: ../NEWS:6577 +#: ../NEWS:7340 msgid ":gh:`138998`: Update bundled libexpat to 2.7.2" msgstr "" -#: ../NEWS:6579 +#: ../NEWS:7342 msgid ":gh:`138993`: Dedent :data:`credits` text." msgstr "" -#: ../NEWS:6581 +#: ../NEWS:7344 msgid "" ":gh:`118803`: Add back :class:`collections.abc.ByteString` and :class:" "`typing.ByteString`. Both had been removed in prior alpha, beta and release " @@ -11155,55 +12391,55 @@ msgid "" "Python 3.17." msgstr "" -#: ../NEWS:6586 +#: ../NEWS:7349 msgid "" ":gh:`130567`: Fix possible crash in :func:`locale.strxfrm` due to a platform " "bug on macOS." msgstr "" -#: ../NEWS:6589 +#: ../NEWS:7352 msgid "" ":gh:`137226`: Fix :func:`typing.get_type_hints` calls on generic :class:" "`typing.TypedDict` classes defined with string annotations." msgstr "" -#: ../NEWS:6592 +#: ../NEWS:7355 msgid "" ":gh:`138899`: Executing ``quit`` command in :mod:`pdb` will raise :exc:`bdb." "BdbQuit` when :mod:`pdb` is started from an asyncio console using :func:" "`breakpoint` or :func:`pdb.set_trace`." msgstr "" -#: ../NEWS:6596 +#: ../NEWS:7359 msgid "" ":gh:`138804`: Raise :exc:`TypeError` instead of :exc:`AttributeError` when " "an argument of incorrect type is passed to :func:`shlex.quote`. This " "restores the behavior of the function prior to 3.14." msgstr "" -#: ../NEWS:6600 +#: ../NEWS:7363 msgid "" ":gh:`138779`: Support device numbers larger than ``2**63-1`` for the :attr:" "`~os.stat_result.st_rdev` field of the :class:`os.stat_result` structure." msgstr "" -#: ../NEWS:6604 +#: ../NEWS:7367 msgid "" ":gh:`138682`: Added symmetric difference support to :class:`collections." "Counter` objects." msgstr "" -#: ../NEWS:6607 +#: ../NEWS:7370 msgid ":gh:`138712`: Add :const:`os.NODEV`." msgstr "" -#: ../NEWS:6609 +#: ../NEWS:7372 msgid "" ":gh:`128636`: Fix crash in PyREPL when os.environ is overwritten with an " "invalid value for mac" msgstr "" -#: ../NEWS:6612 +#: ../NEWS:7375 msgid "" ":gh:`138720`: Fix an issue where :class:`io.BufferedWriter` and :class:`io." "BufferedRandom` had different definitions of \"closed\" for :meth:`~io." @@ -11211,41 +12447,41 @@ msgid "" "when close called flush but flush thought the file was already closed." msgstr "" -#: ../NEWS:6618 +#: ../NEWS:7381 msgid ":gh:`138706`: Update :mod:`unicodedata` database to Unicode 17.0.0." msgstr "" -#: ../NEWS:6620 +#: ../NEWS:7383 msgid "" ":gh:`76007`: Deprecate ``__version__`` from a number of standard library " "modules. Patch by Hugo van Kemenade." msgstr "" -#: ../NEWS:6623 +#: ../NEWS:7386 msgid "" ":gh:`138535`: Speed up :func:`os.stat` for files with reasonable timestamps. " "Contributed by Jeffrey Bosboom." msgstr "" -#: ../NEWS:6626 +#: ../NEWS:7389 msgid "" ":gh:`116946`: :mod:`curses.panel`: the type of :func:`curses.panel." "new_panel` is now immutable. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6629 +#: ../NEWS:7392 msgid "" ":gh:`116946`: :mod:`zlib`: the types of :func:`zlib.compressobj` and :func:" "`zlib.decompressobj` are now immutable. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6632 +#: ../NEWS:7395 msgid "" ":gh:`116946`: :mod:`os`: the :class:`os.DirEntry` type and the type of :func:" "`os.scandir` are now immutable. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6635 +#: ../NEWS:7398 msgid "" ":gh:`116946`: :mod:`tkinter`: the types :class:`!_tkinter.Tcl_Obj` (wrapper " "for Tcl objects), :class:`!_tkinter.tktimertoken` (obtained by calling " @@ -11254,20 +12490,20 @@ msgid "" "immutable. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6641 +#: ../NEWS:7404 msgid "" ":gh:`138514`: Raise :exc:`ValueError` when a multi-character string is " "passed to the *echo_char* parameter of :func:`getpass.getpass`. Patch by " "Benjamin Johnson." msgstr "" -#: ../NEWS:6645 +#: ../NEWS:7408 msgid "" ":gh:`137706`: Fix the partial evaluation of annotations that use ``typing." "Annotated[T, x]`` where ``T`` is a forward reference." msgstr "" -#: ../NEWS:6648 +#: ../NEWS:7411 msgid "" ":gh:`88375`: Fix normalization of the ``robots.txt`` rules and URLs in the :" "mod:`urllib.robotparser` module. No longer ignore trailing ``?``. " @@ -11275,23 +12511,23 @@ msgid "" "encoded ones." msgstr "" -#: ../NEWS:6653 +#: ../NEWS:7416 msgid ":gh:`138515`: :mod:`email` is added to Emscripten build." msgstr "" -#: ../NEWS:6655 +#: ../NEWS:7418 msgid "" ":gh:`99948`: :func:`ctypes.util.find_library` now works in Emscripten build." msgstr "" -#: ../NEWS:6657 +#: ../NEWS:7420 msgid "" ":gh:`111788`: Fix parsing errors in the :mod:`urllib.robotparser` module. " "Don't fail trying to parse weird paths. Don't fail trying to decode non-" "UTF-8 ``robots.txt`` files." msgstr "" -#: ../NEWS:6661 +#: ../NEWS:7424 msgid "" ":gh:`138432`: :meth:`zoneinfo.reset_tzpath` will now convert any :class:`os." "PathLike` objects it receives into strings before adding them to ``TZPATH``. " @@ -11301,44 +12537,44 @@ msgid "" "and present a more informative error message." msgstr "" -#: ../NEWS:6668 +#: ../NEWS:7431 msgid "" ":gh:`132657`: Improve the scaling of :func:`copy.copy` and :func:`copy." "deepcopy` in the free-threading build." msgstr "" -#: ../NEWS:6671 +#: ../NEWS:7434 msgid "" ":gh:`116946`: The types of :func:`select.poll` and :func:`select.epoll` " "objects are now immutable. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6674 +#: ../NEWS:7437 msgid "" ":gh:`116946`: The :class:`!_random.Random` C type is now immutable. Patch by " "Bénédikt Tran." msgstr "" -#: ../NEWS:6677 +#: ../NEWS:7440 msgid "" ":gh:`57911`: When extracting tar files on Windows, slashes in symlink " "targets will be replaced by backslashes to prevent corrupted links." msgstr "" -#: ../NEWS:6680 +#: ../NEWS:7443 msgid "" ":gh:`138205`: Removed the :meth:`~mmap.mmap.resize` method on platforms that " "don't support the underlying syscall, instead of raising a :exc:" "`SystemError`." msgstr "" -#: ../NEWS:6684 +#: ../NEWS:7447 msgid "" ":gh:`138008`: Fix segmentation faults in the :mod:`ctypes` module due to " "invalid :attr:`~ctypes._CFuncPtr.argtypes`. Patch by Dung Nguyen." msgstr "" -#: ../NEWS:6687 +#: ../NEWS:7450 msgid "" ":gh:`138252`: :mod:`ssl`: :class:`~ssl.SSLContext` objects can now set " "client and server TLS signature algorithms. If Python has been built with " @@ -11346,39 +12582,39 @@ msgid "" "signature algorithms selected on a connection." msgstr "" -#: ../NEWS:6692 +#: ../NEWS:7455 msgid "" ":gh:`138253`: Add the *block* parameter in the :meth:`!put` and :meth:`!get` " "methods of the :mod:`concurrent.interpreters` queues for compatibility with " "the :class:`queue.Queue` interface." msgstr "" -#: ../NEWS:6696 +#: ../NEWS:7459 msgid "" ":gh:`60462`: Fix :func:`locale.strxfrm` on Solaris (and possibly other " "platforms)." msgstr "" -#: ../NEWS:6699 +#: ../NEWS:7462 msgid "" ":gh:`138239`: The REPL now highlights :keyword:`type` as a soft keyword in :" "ref:`type statements `." msgstr "" -#: ../NEWS:6702 +#: ../NEWS:7465 msgid "" ":gh:`78502`: :class:`mmap.mmap` now has a *trackfd* parameter on Windows; if " "it is ``False``, the file handle corresponding to *fileno* will not be " "duplicated." msgstr "" -#: ../NEWS:6706 +#: ../NEWS:7469 msgid "" ":gh:`138204`: Forbid expansion of shared anonymous :mod:`memory maps ` " "on Linux, which caused a bus error." msgstr "" -#: ../NEWS:6709 +#: ../NEWS:7472 msgid "" ":gh:`138010`: Fix an issue where defining a class with a :deco:`warnings." "deprecated`-decorated base class may not invoke the correct :meth:`~object." @@ -11386,53 +12622,53 @@ msgid "" "Brian Schubert." msgstr "" -#: ../NEWS:6714 +#: ../NEWS:7477 msgid "" ":gh:`134716`: Add support of regular expressions in the :option:`-W` option " "and the :envvar:`PYTHONWARNINGS` environment variable." msgstr "" -#: ../NEWS:6717 +#: ../NEWS:7480 msgid "" ":gh:`138133`: Prevent infinite traceback loop when sending CTRL^C to Python " "through ``strace``." msgstr "" -#: ../NEWS:6720 +#: ../NEWS:7483 msgid "" ":gh:`138122`: Implement :pep:`799` -- A dedicated profiling package for " "organizing Python profiling tools. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:6723 +#: ../NEWS:7486 msgid "" ":gh:`138092`: Fixed a bug in :meth:`mmap.mmap.flush` where calling with only " "an offset parameter would fail." msgstr "" -#: ../NEWS:6726 +#: ../NEWS:7489 msgid "" ":gh:`138044`: Remove compatibility shim for deprecated parameter *package* " "in :func:`importlib.resources.files`. Patch by Semyon Moroz." msgstr "" -#: ../NEWS:6729 +#: ../NEWS:7492 msgid ":gh:`86819`: :mod:`socket`: Add missing constants for ISO-TP sockets." msgstr "" -#: ../NEWS:6731 +#: ../NEWS:7494 msgid "" ":gh:`137884`: Add :func:`threading.get_native_id` support for Illumos/" "Solaris. Patch by Yüce Tekol." msgstr "" -#: ../NEWS:6734 +#: ../NEWS:7497 msgid "" ":gh:`134869`: Fix an issue where pressing Ctrl+C during tab completion in " "the REPL would leave the autocompletion menu in a corrupted state." msgstr "" -#: ../NEWS:6737 +#: ../NEWS:7500 msgid "" ":gh:`137840`: :class:`typing.TypedDict` now supports the ``closed`` and " "``extra_items`` keyword arguments (as described in :pep:`728`) to control " @@ -11440,7 +12676,7 @@ msgid "" "type." msgstr "" -#: ../NEWS:6742 +#: ../NEWS:7505 msgid "" ":gh:`132947`: Applied changes to ``importlib.metadata`` from " "`importlib_metadata 8.7 ` was blocked in one thread, and then " @@ -11511,26 +12747,26 @@ msgid "" "socket.send>`) was subsequently called in another thread." msgstr "" -#: ../NEWS:6783 +#: ../NEWS:7546 msgid "" ":gh:`92936`: Update regex used by ``http.cookies.SimpleCookie`` to handle " "values containing double quotes." msgstr "" -#: ../NEWS:6786 +#: ../NEWS:7549 msgid "" ":gh:`137426`: Remove the code deprecation of ``importlib.abc." "ResourceLoader``. It is documented as deprecated, but left for backwards " "compatibility with other classes in ``importlib.abc``." msgstr "" -#: ../NEWS:6790 +#: ../NEWS:7553 msgid "" ":gh:`137490`: Handle :data:`~errno.ECANCELED` in the same way as :data:" "`~errno.EINTR` in :func:`signal.sigwaitinfo` on NetBSD." msgstr "" -#: ../NEWS:6793 +#: ../NEWS:7556 msgid "" ":gh:`137512`: Add new constants in the :mod:`resource` module: :data:" "`~resource.RLIMIT_NTHR`, :data:`~resource.RLIMIT_UMTXP`, :data:`~resource." @@ -11538,7 +12774,7 @@ msgid "" "RLIM_SAVED_CUR`, and :data:`~resource.RLIM_SAVED_MAX`." msgstr "" -#: ../NEWS:6798 +#: ../NEWS:7561 msgid "" ":gh:`137044`: :data:`resource.RLIM_INFINITY` is now always a positive " "integer. On all supported platforms, it is larger than any limited resource " @@ -11546,26 +12782,26 @@ msgid "" "could be negative, such as -1 or -3, depending on platform." msgstr "" -#: ../NEWS:6803 +#: ../NEWS:7566 msgid "" ":gh:`137477`: Fix :func:`!inspect.getblock`, :func:`inspect.getsourcelines` " "and :func:`inspect.getsource` for generator expressions." msgstr "" -#: ../NEWS:6806 +#: ../NEWS:7569 msgid "" ":gh:`137481`: Calendar uses the lengths of the locale's weekdays to decide " "if the width requires abbreviation." msgstr "" -#: ../NEWS:6809 +#: ../NEWS:7572 msgid "" ":gh:`137466`: Remove undocumented :func:`!glob.glob0` and :func:`!glob." "glob1` functions, which have been deprecated since Python 3.13. Use :func:" "`glob.glob` and pass a directory to its *root_dir* argument instead." msgstr "" -#: ../NEWS:6813 +#: ../NEWS:7576 msgid "" ":gh:`137044`: Return large limit values as positive integers instead of " "negative integers in :func:`resource.getrlimit`. Accept large values and " @@ -11573,18 +12809,18 @@ msgid "" "in :func:`resource.setrlimit`." msgstr "" -#: ../NEWS:6818 +#: ../NEWS:7581 msgid ":gh:`115766`: Fix :attr:`!ipaddress.IPv4Interface.is_unspecified`." msgstr "" -#: ../NEWS:6820 +#: ../NEWS:7583 msgid "" ":gh:`75989`: :func:`tarfile.TarFile.extractall` and :func:`tarfile.TarFile." "extract` now overwrite symlinks when extracting hardlinks. (Contributed by " "Alexander Enrique Urieles Nieto in :gh:`75989`.)" msgstr "" -#: ../NEWS:6825 +#: ../NEWS:7588 msgid "" ":gh:`137017`: Fix :obj:`threading.Thread.is_alive` to remain ``True`` until " "the underlying OS thread is fully cleaned up. This avoids false negatives in " @@ -11592,13 +12828,13 @@ msgid "" "is_alive` calls." msgstr "" -#: ../NEWS:6830 +#: ../NEWS:7593 msgid "" ":gh:`137273`: Fix debug assertion failure in :func:`locale.setlocale` on " "Windows." msgstr "" -#: ../NEWS:6833 +#: ../NEWS:7596 msgid "" ":gh:`137191`: Fix how type parameters are collected, when :class:`typing." "Protocol` are specified with explicit parameters. Now, :class:`typing." @@ -11606,87 +12842,87 @@ msgid "" "and parameter ordering of types. Previous behavior was a bug." msgstr "" -#: ../NEWS:6839 +#: ../NEWS:7602 msgid "" ":gh:`137282`: Fix tab completion and :func:`dir` on :mod:`concurrent." "futures`." msgstr "" -#: ../NEWS:6842 +#: ../NEWS:7605 msgid "" ":gh:`137257`: Bump the version of pip bundled in ensurepip to version 25.2" msgstr "" -#: ../NEWS:6844 +#: ../NEWS:7607 msgid "" ":gh:`137239`: :mod:`heapq`: Update :data:`!heapq.__all__` with ``*_max`` " "functions." msgstr "" -#: ../NEWS:6847 +#: ../NEWS:7610 msgid "" ":gh:`124503`: :func:`ast.literal_eval` is 10-20% faster for small inputs." msgstr "" -#: ../NEWS:6849 +#: ../NEWS:7612 msgid "" ":gh:`137226`: Fix behavior of :meth:`annotationlib.ForwardRef.evaluate` when " "the *type_params* parameter is passed and the name of a type param is also " "present in an enclosing scope." msgstr "" -#: ../NEWS:6853 +#: ../NEWS:7616 msgid "" ":gh:`137197`: :class:`~ssl.SSLContext` objects can now set TLS 1.3 cipher " "suites via :meth:`~ssl.SSLContext.set_ciphersuites`." msgstr "" -#: ../NEWS:6856 +#: ../NEWS:7619 msgid "" ":gh:`81325`: :class:`tarfile.TarFile` now accepts a :term:`path-like ` when working on a tar archive. (Contributed by Alexander " "Enrique Urieles Nieto in :gh:`81325`.)" msgstr "" -#: ../NEWS:6860 +#: ../NEWS:7623 msgid "" ":gh:`137185`: Fix a potential async-signal-safety issue in :mod:" "`faulthandler` when printing C stack traces." msgstr "" -#: ../NEWS:6863 +#: ../NEWS:7626 msgid "" ":gh:`133951`: Remove lib64-lib symlink creation when creating new virtual " "environments in :mod:`venv` module" msgstr "" -#: ../NEWS:6866 +#: ../NEWS:7629 msgid "" ":gh:`130522`: Fix unraisable :exc:`TypeError` raised during :term:" "`interpreter shutdown` in the :mod:`threading` module." msgstr "" -#: ../NEWS:6869 +#: ../NEWS:7632 msgid "" ":gh:`137059`: Fix handling of file URLs with a Windows drive letter in the " "URL authority by :func:`urllib.request.url2pathname`. This fixes a " "regression in earlier pre-releases of Python 3.14." msgstr "" -#: ../NEWS:6873 +#: ../NEWS:7636 msgid "" ":gh:`136980`: Remove unused C tracing code in bdb for event type ``c_call``, " "``c_return`` and ``c_exception``" msgstr "" -#: ../NEWS:6876 +#: ../NEWS:7639 msgid "" ":gh:`130577`: :mod:`tarfile` now validates archives to ensure member offsets " "are non-negative. (Contributed by Alexander Enrique Urieles Nieto in :gh:" "`130577`.)" msgstr "" -#: ../NEWS:6880 +#: ../NEWS:7643 msgid "" ":gh:`136170`: Removed the unreleased ``zipfile.ZipFile.data_offset`` " "property added in 3.14.0a7 as it wasn't fully clear which behavior it should " @@ -11694,14 +12930,14 @@ msgid "" "expect." msgstr "" -#: ../NEWS:6884 +#: ../NEWS:7647 msgid "" ":gh:`121237`: Support ``%:z`` directive for :meth:`datetime.datetime." "strptime`, :meth:`datetime.time.strptime` and :func:`time.strptime`. Patch " "by Lucas Esposito and Semyon Moroz." msgstr "" -#: ../NEWS:6888 +#: ../NEWS:7651 msgid "" ":gh:`136929`: Ensure that hash functions guaranteed to be always *available* " "exist as attributes of :mod:`hashlib` even if they will not work at runtime " @@ -11710,30 +12946,30 @@ msgid "" "has been built without MD5 support. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6895 +#: ../NEWS:7658 msgid ":gh:`124621`: pyrepl now works in Emscripten." msgstr "" -#: ../NEWS:6897 +#: ../NEWS:7660 msgid "" ":gh:`136914`: Fix retrieval of :attr:`doctest.DocTest.lineno` for objects " "decorated with :func:`functools.cache` or :class:`functools.cached_property`." msgstr "" -#: ../NEWS:6901 +#: ../NEWS:7664 msgid "" ":gh:`136912`: :func:`hmac.digest` now properly handles large keys and " "messages by falling back to the pure Python implementation when necessary. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6905 +#: ../NEWS:7668 msgid "" ":gh:`83424`: Allows creating a :class:`ctypes.CDLL` without name when " "passing a handle as an argument." msgstr "" -#: ../NEWS:6908 +#: ../NEWS:7671 msgid "" ":gh:`135228`: When :mod:`dataclasses` replaces a class with a slotted " "dataclass, the original class can now be garbage collected again. Earlier " @@ -11741,13 +12977,13 @@ msgid "" "together with the replacement class synthesized by :mod:`dataclasses`." msgstr "" -#: ../NEWS:6913 +#: ../NEWS:7676 msgid "" ":gh:`136874`: Discard URL query and fragment in :func:`urllib.request." "url2pathname`." msgstr "" -#: ../NEWS:6916 +#: ../NEWS:7679 msgid "" ":gh:`136787`: :mod:`hashlib`: improve exception messages when a hash " "algorithm is not recognized, blocked by the current security policy or " @@ -11755,11 +12991,11 @@ msgid "" "SHAKE). Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6921 +#: ../NEWS:7684 msgid ":gh:`130645`: Enable color help by default in :mod:`argparse`." msgstr "" -#: ../NEWS:6923 +#: ../NEWS:7686 msgid "" ":gh:`131724`: In :mod:`http.client`, a new *max_response_headers* keyword-" "only parameter has been added to :class:`~http.client.HTTPConnection` and :" @@ -11768,7 +13004,7 @@ msgid "" "service attacks." msgstr "" -#: ../NEWS:6930 +#: ../NEWS:7693 msgid "" ":gh:`135427`: With :option:`-Werror <-W>`, the DeprecationWarning emitted " "by :py:func:`os.fork` and :py:func:`os.forkpty` in mutli-threaded processes " @@ -11776,24 +13012,24 @@ msgid "" "Rani Pinchuk." msgstr "" -#: ../NEWS:6935 +#: ../NEWS:7698 msgid "" ":gh:`136234`: Fix :meth:`asyncio.WriteTransport.writelines` to be robust to " "connection failure, by using the same behavior as :meth:`~asyncio." "WriteTransport.write`." msgstr "" -#: ../NEWS:6939 +#: ../NEWS:7702 msgid ":gh:`53144`: :mod:`!encodings.aliases`: Add ``latin_N`` aliases" msgstr "" -#: ../NEWS:6941 +#: ../NEWS:7704 msgid "" ":gh:`136669`: :mod:`!_asyncio` is now statically linked for improved " "performance." msgstr "" -#: ../NEWS:6944 +#: ../NEWS:7707 msgid "" ":gh:`136134`: :meth:`!SMTP.auth_cram_md5` now raises an :exc:`~smtplib." "SMTPException` instead of a :exc:`ValueError` if Python has been built " @@ -11802,88 +13038,88 @@ msgid "" "it. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6950 +#: ../NEWS:7713 msgid "" ":gh:`136134`: :meth:`IMAP4.login_cram_md5 ` " "now raises an :exc:`IMAP4.error ` if CRAM-MD5 " "authentication is not supported. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6954 +#: ../NEWS:7717 msgid "" ":gh:`136591`: :mod:`!_hashlib`: avoid using deprecated functions :manpage:" "`ERR_func_error_string` and :manpage:`EVP_MD_CTX_md` when using OpenSSL 3.0 " "and later. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:6958 +#: ../NEWS:7721 msgid "" ":gh:`136571`: :meth:`datetime.date.fromisocalendar` can now raise " "OverflowError for out of range arguments." msgstr "" -#: ../NEWS:6961 +#: ../NEWS:7724 msgid ":gh:`136549`: Fix signature of :func:`threading.excepthook`." msgstr "" -#: ../NEWS:6963 +#: ../NEWS:7726 msgid "" ":gh:`136492`: Expose :pep:`667`'s :data:`~types.FrameLocalsProxyType` in " "the :mod:`types` module." msgstr "" -#: ../NEWS:6966 +#: ../NEWS:7729 msgid ":gh:`83336`: ``utf8_sig`` is now aliased to :mod:`encodings.utf_8_sig`" msgstr "" -#: ../NEWS:6968 +#: ../NEWS:7731 msgid "" ":gh:`136523`: Fix :class:`wave.Wave_write` emitting an unraisable when open " "raises." msgstr "" -#: ../NEWS:6971 +#: ../NEWS:7734 msgid ":gh:`136507`: Fix mimetypes CLI to handle multiple file parameters." msgstr "" -#: ../NEWS:6973 +#: ../NEWS:7736 msgid "" ":gh:`52876`: Add missing ``keepends`` (default ``True``) parameter to :meth:" "`!codecs.StreamReaderWriter.readline` and :meth:`!codecs.StreamReaderWriter." "readlines`." msgstr "" -#: ../NEWS:6977 +#: ../NEWS:7740 msgid "" ":gh:`136470`: Correct :class:`concurrent.futures.InterpreterPoolExecutor`'s " "default thread name." msgstr "" -#: ../NEWS:6980 +#: ../NEWS:7743 msgid "" ":gh:`136476`: Fix a bug that was causing the ``get_async_stack_trace`` " "function to miss some frames in the stack trace." msgstr "" -#: ../NEWS:6983 +#: ../NEWS:7746 msgid "" ":gh:`136434`: Fix docs generation of ``UnboundItem`` in :mod:`concurrent." "interpreters` when running with :option:`-OO`." msgstr "" -#: ../NEWS:6986 +#: ../NEWS:7749 msgid "" ":gh:`136380`: Raises :exc:`AttributeError` when accessing :class:`concurrent." "futures.InterpreterPoolExecutor` and subinterpreters are not available." msgstr "" -#: ../NEWS:6990 +#: ../NEWS:7753 msgid "" ":gh:`72327`: Suggest using the system command prompt when ``pip install`` is " "typed into the REPL. Patch by Tom Viner, Richard Si, and Brian Schubert." msgstr "" -#: ../NEWS:6993 +#: ../NEWS:7756 msgid "" ":gh:`135953`: Implement a new high-frequency runtime profiler that leverages " "the existing remote debugging functionality to collect detailed execution " @@ -11896,142 +13132,142 @@ msgid "" "applications." msgstr "" -#: ../NEWS:7003 +#: ../NEWS:7766 msgid "" ":gh:`136021`: Make ``type_params`` parameter required in :func:`!typing." "_eval_type` after a deprecation period for not providing this parameter. " "Also remove the :exc:`DeprecationWarning` for the old behavior." msgstr "" -#: ../NEWS:7008 +#: ../NEWS:7771 msgid "" ":gh:`136286`: Fix pickling failures for protocols 0 and 1 for many objects " "related to subinterpreters." msgstr "" -#: ../NEWS:7011 +#: ../NEWS:7774 msgid "" ":gh:`136047`: Fix issues with :mod:`typing` when the C implementation of :" "mod:`abc` is not available." msgstr "" -#: ../NEWS:7014 +#: ../NEWS:7777 msgid "" ":gh:`136316`: Improve support for evaluating nested forward references in :" "func:`typing.evaluate_forward_ref`." msgstr "" -#: ../NEWS:7017 +#: ../NEWS:7780 msgid "" ":gh:`136306`: :mod:`ssl` can now get and set groups used for key agreement." msgstr "" -#: ../NEWS:7019 +#: ../NEWS:7782 msgid "" ":gh:`136156`: :func:`tempfile.TemporaryFile` no longer uses :data:`os." "O_EXCL` with :data:`os.O_TMPFILE`, so it's possible to use ``linkat()`` on " "the file descriptor. Patch by Victor Stinner." msgstr "" -#: ../NEWS:7023 +#: ../NEWS:7786 msgid "" ":gh:`133982`: Update Python implementation of :class:`io.BytesIO` to be " "thread safe." msgstr "" -#: ../NEWS:7026 +#: ../NEWS:7789 msgid "" ":gh:`136193`: Improve :exc:`TypeError` error message, when richcomparing " "two :class:`types.SimpleNamespace` objects." msgstr "" -#: ../NEWS:7029 +#: ../NEWS:7792 msgid "" ":gh:`136097`: Fix potential infinite recursion and KeyError in ``sysconfig --" "generate-posix-vars``." msgstr "" -#: ../NEWS:7032 +#: ../NEWS:7795 msgid "" ":gh:`85702`: If ``zoneinfo._common.load_tzdata`` is given a package without " "a resource a :exc:`zoneinfo.ZoneInfoNotFoundError` is raised rather than a :" "exc:`PermissionError`. Patch by Victor Stinner." msgstr "" -#: ../NEWS:7036 +#: ../NEWS:7799 msgid "" ":gh:`90733`: Improve error messages when reporting invalid parameters in :" "func:`hashlib.scrypt`. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7039 +#: ../NEWS:7802 msgid "" ":gh:`134759`: Fix :exc:`UnboundLocalError` in :func:`email.message.Message." "get_payload` when the payload to decode is a :class:`bytes` object. Patch by " "Kliment Lamonov." msgstr "" -#: ../NEWS:7043 +#: ../NEWS:7806 msgid "" ":gh:`136028`: Fix parsing month names containing \"İ\" (U+0130, LATIN " "CAPITAL LETTER I WITH DOT ABOVE) in :func:`time.strptime`. This affects " "locales az_AZ, ber_DZ, ber_MA and crh_UA." msgstr "" -#: ../NEWS:7047 +#: ../NEWS:7810 msgid "" ":gh:`87135`: Acquiring a :class:`threading.Lock` or :class:`threading.RLock` " "at interpreter shutdown will raise :exc:`PythonFinalizationError` if Python " "can determine that it would otherwise deadlock." msgstr "" -#: ../NEWS:7051 +#: ../NEWS:7814 msgid "" ":gh:`135995`: In the palmos encoding, make byte ``0x9b`` decode to ``›`` " "(U+203A - SINGLE RIGHT-POINTING ANGLE QUOTATION MARK)." msgstr "" -#: ../NEWS:7054 +#: ../NEWS:7817 msgid "" ":gh:`105456`: Removed :mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!" "sre_parse` modules." msgstr "" -#: ../NEWS:7057 +#: ../NEWS:7820 msgid "" ":gh:`53203`: Fix :func:`time.strptime` for ``%c`` and ``%x`` formats on " "locales byn_ER, wal_ET and lzh_TW, and for ``%X`` format on locales ar_SA, " "bg_BG and lzh_TW." msgstr "" -#: ../NEWS:7061 +#: ../NEWS:7824 msgid "" ":gh:`135878`: Fixes a crash of :class:`types.SimpleNamespace` on :term:`free " "threading` builds, when several threads were calling its :meth:`~object." "__repr__` method at the same time." msgstr "" -#: ../NEWS:7065 +#: ../NEWS:7828 msgid "" ":gh:`135853`: Add :func:`math.fmax` and :func:`math.fmin` to get the larger " "and smaller of two floating-point values. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7068 +#: ../NEWS:7831 msgid "" ":gh:`135836`: Fix :exc:`IndexError` in :meth:`asyncio.loop." "create_connection` that could occur when non-\\ :exc:`OSError` exception is " "raised during connection and socket's ``close()`` raises :exc:`!OSError`." msgstr "" -#: ../NEWS:7072 +#: ../NEWS:7835 msgid "" ":gh:`135853`: :mod:`math`: expose C99 :func:`~math.signbit` function to " "determine whether the sign bit of a floating-point value is set. Patch by " "Bénédikt Tran." msgstr "" -#: ../NEWS:7076 +#: ../NEWS:7839 msgid "" ":gh:`134531`: :mod:`hmac`: use the :manpage:`EVP_MAC(3ssl)` interface for " "HMAC when Python is built with OpenSSL 3.0 and later instead of the " @@ -12039,34 +13275,34 @@ msgid "" "Tran." msgstr "" -#: ../NEWS:7081 +#: ../NEWS:7844 msgid "" ":gh:`135836`: Fix :exc:`IndexError` in :meth:`asyncio.loop." "create_connection` that could occur when the Happy Eyeballs algorithm " "resulted in an empty exceptions list during connection attempts." msgstr "" -#: ../NEWS:7085 +#: ../NEWS:7848 msgid "" ":gh:`135855`: Raise :exc:`TypeError` instead of :exc:`SystemError` when :" "func:`!_interpreters.set___main___attrs` is passed a non-dict object. Patch " "by Brian Schubert." msgstr "" -#: ../NEWS:7089 +#: ../NEWS:7852 msgid "" ":gh:`135823`: :mod:`netrc`: improve the error message when the security " "check for the ownership of the default configuration file ``~/.netrc`` " "fails. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7093 +#: ../NEWS:7856 msgid "" ":gh:`135815`: :mod:`netrc`: skip security checks if :func:`os.getuid` is " "missing. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7096 +#: ../NEWS:7859 msgid "" ":gh:`135640`: Address bug where it was possible to call :func:`xml.etree." "ElementTree.ElementTree.write` on an ElementTree object with an invalid root " @@ -12074,12 +13310,12 @@ msgid "" "existed." msgstr "" -#: ../NEWS:7101 +#: ../NEWS:7864 msgid "" ":gh:`90117`: Speed up :mod:`pprint` for :class:`list` and :class:`tuple`." msgstr "" -#: ../NEWS:7103 +#: ../NEWS:7866 msgid "" ":gh:`135759`: :mod:`hashlib`: reject negative digest lengths in OpenSSL-" "based SHAKE objects by raising a :exc:`ValueError`. Previously, negative " @@ -12087,128 +13323,128 @@ msgid "" "`SystemError`. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7108 +#: ../NEWS:7871 msgid "" ":gh:`123471`: Make concurrent iterations over :class:`itertools.chain` safe " "under :term:`free threading`." msgstr "" -#: ../NEWS:7111 +#: ../NEWS:7874 msgid "" ":gh:`135645`: Added ``supports_isolated_interpreters`` field to :data:`sys." "implementation`." msgstr "" -#: ../NEWS:7114 +#: ../NEWS:7877 msgid "" ":gh:`135646`: Raise consistent :exc:`NameError` exceptions in :func:" "`annotationlib.ForwardRef.evaluate`" msgstr "" -#: ../NEWS:7117 +#: ../NEWS:7880 msgid "" ":gh:`135557`: Fix races on :mod:`heapq` updates and :class:`list` reads on " "the :term:`free threaded ` build." msgstr "" -#: ../NEWS:7120 +#: ../NEWS:7883 msgid "" ":gh:`119180`: Only fetch globals and locals if necessary in :func:" "`annotationlib.get_annotations`" msgstr "" -#: ../NEWS:7123 +#: ../NEWS:7886 msgid "" ":gh:`135561`: Fix a crash on DEBUG builds when an HACL* HMAC routine fails. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7126 +#: ../NEWS:7889 msgid "" ":gh:`135386`: Fix opening a :mod:`dbm.sqlite3` database for reading from " "read-only file or directory." msgstr "" -#: ../NEWS:7129 +#: ../NEWS:7892 msgid "" ":gh:`135444`: Fix :meth:`asyncio.DatagramTransport.sendto` to account for " "datagram header size when data cannot be sent." msgstr "" -#: ../NEWS:7132 +#: ../NEWS:7895 msgid "" ":gh:`65697`: :class:`configparser`'s error message when attempting to write " "an invalid key is now more helpful." msgstr "" -#: ../NEWS:7135 +#: ../NEWS:7898 msgid "" ":gh:`135497`: Fix :func:`os.getlogin` failing for longer usernames on BSD-" "based platforms." msgstr "" -#: ../NEWS:7138 +#: ../NEWS:7901 msgid "" ":gh:`135487`: Fix :meth:`!reprlib.Repr.repr_int` when given integers with " "more than :func:`sys.get_int_max_str_digits` digits. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7142 +#: ../NEWS:7905 msgid "" ":gh:`135429`: Fix the argument mismatch in ``_lsprof`` for ``PY_THROW`` " "event." msgstr "" -#: ../NEWS:7145 +#: ../NEWS:7908 msgid "" ":gh:`135368`: Fix :class:`unittest.mock.Mock` generation on :func:" "`dataclasses.dataclass` objects. Now all special attributes are set as it " "was before :gh:`124429`." msgstr "" -#: ../NEWS:7149 +#: ../NEWS:7912 msgid "" ":gh:`135336`: :mod:`json` now encodes strings up to 2.2x faster if they " "consist solely of characters that don’t require escaping." msgstr "" -#: ../NEWS:7152 +#: ../NEWS:7915 msgid "" ":gh:`135335`: :mod:`multiprocessing`: Flush ``stdout`` and ``stderr`` after " "preloading modules in the ``forkserver``." msgstr "" -#: ../NEWS:7155 +#: ../NEWS:7918 msgid "" ":gh:`126631`: Fix :mod:`multiprocessing` ``forkserver`` bug which prevented " "``__main__`` from being preloaded." msgstr "" -#: ../NEWS:7158 +#: ../NEWS:7921 msgid "" ":gh:`133967`: Do not normalize :mod:`locale` name 'C.UTF-8' to 'en_US.UTF-8'." msgstr "" -#: ../NEWS:7160 +#: ../NEWS:7923 msgid "" ":gh:`130870`: Preserve :class:`types.GenericAlias` subclasses in :func:" "`typing.get_type_hints`" msgstr "" -#: ../NEWS:7163 +#: ../NEWS:7926 msgid "" ":gh:`135321`: Raise a correct exception for values greater than 0x7fffffff " "for the ``BINSTRING`` opcode in the C implementation of :mod:`pickle`." msgstr "" -#: ../NEWS:7166 +#: ../NEWS:7929 msgid "" ":gh:`121914`: Changed the names of the symbol tables for lambda expressions " "and generator expressions to \"\" and \"\" respectively to " "avoid conflicts with user-defined names." msgstr "" -#: ../NEWS:7170 +#: ../NEWS:7933 msgid "" ":gh:`135276`: Synchronized zipfile.Path with zipp 3.23, including improved " "performance of :meth:`zipfile.Path.open` for non-reading modes, rely on :" @@ -12218,7 +13454,7 @@ msgid "" "working with a zipfile on disk." msgstr "" -#: ../NEWS:7177 +#: ../NEWS:7940 msgid "" ":gh:`135234`: :mod:`hashlib`: improve exception messages when an OpenSSL " "function failed. When memory allocation fails on OpenSSL's side, a :exc:" @@ -12226,7 +13462,7 @@ msgid "" "Tran." msgstr "" -#: ../NEWS:7182 +#: ../NEWS:7945 msgid "" ":gh:`135244`: :mod:`uuid`: when the MAC address cannot be determined, the 48-" "bit node ID is now generated with a cryptographically-secure pseudo-random " @@ -12235,52 +13471,52 @@ msgid "" "uuid6`." msgstr "" -#: ../NEWS:7188 +#: ../NEWS:7951 msgid "" ":gh:`135241`: The :code:`INT` opcode of the C accelerator :mod:`!_pickle` " "module was updated to look only for \"00\" and \"01\" to push booleans onto " "the stack, aligning with the Python :mod:`pickle` module." msgstr "" -#: ../NEWS:7192 +#: ../NEWS:7955 msgid ":gh:`133934`: Improve :mod:`sqlite3` CLI's ``.help`` message." msgstr "" -#: ../NEWS:7194 +#: ../NEWS:7957 msgid "" ":gh:`135069`: Fix the \"Invalid error handling\" exception in :class:`!" "encodings.idna.IncrementalDecoder` to correctly replace the 'errors' " "parameter." msgstr "" -#: ../NEWS:7198 +#: ../NEWS:7961 msgid "" ":gh:`130662`: +Accept leading zeros in precision and width fields for +:" "class:`~decimal.Decimal` formatting, for example ``format(Decimal(1.25), " "'.016f')``." msgstr "" -#: ../NEWS:7202 +#: ../NEWS:7965 msgid "" ":gh:`130662`: Accept leading zeros in precision and width fields for :class:" "`~fractions.Fraction` formatting, for example ``format(Fraction(1, 3), " "'.016f')``." msgstr "" -#: ../NEWS:7206 +#: ../NEWS:7969 msgid "" ":gh:`135004`: Rewrite and cleanup the internal :mod:`!_blake2` module. Some " "exception messages were changed but their types were left untouched. Patch " "by Bénédikt Tran." msgstr "" -#: ../NEWS:7210 +#: ../NEWS:7973 msgid "" ":gh:`134953`: Expand ``_colorize`` theme with ``keyword_constant`` and " "implement in :term:`repl`." msgstr "" -#: ../NEWS:7213 +#: ../NEWS:7976 msgid "" ":gh:`134978`: :mod:`hashlib`: Supporting the ``string`` keyword parameter in " "hash function constructors such as :func:`~hashlib.new` or the direct hash-" @@ -12290,55 +13526,55 @@ msgid "" "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7220 +#: ../NEWS:7983 msgid "" ":gh:`134970`: Fix the \"unknown action\" exception in :meth:`argparse." "ArgumentParser.add_argument_group` to correctly replace the action class." msgstr "" -#: ../NEWS:7224 +#: ../NEWS:7987 msgid "" ":gh:`134718`: By default, omit optional ``Load()`` values in :func:`ast." "dump`." msgstr "" -#: ../NEWS:7227 +#: ../NEWS:7990 msgid "" ":gh:`134718`: :func:`ast.dump` now only omits ``None`` and ``[]`` values if " "they are default values." msgstr "" -#: ../NEWS:7230 +#: ../NEWS:7993 msgid "" ":gh:`134939`: Add the :mod:`concurrent.interpreters` module. See :pep:`734`." msgstr "" -#: ../NEWS:7232 +#: ../NEWS:7995 msgid "" ":gh:`108885`: Run each example as a subtest in unit tests synthesized by :" "func:`doctest.DocFileSuite` and :func:`doctest.DocTestSuite`. Add the :meth:" "`doctest.DocTestRunner.report_skip` method." msgstr "" -#: ../NEWS:7236 +#: ../NEWS:7999 msgid "" ":gh:`134885`: Fix possible crash in the :mod:`compression.zstd` module " "related to setting parameter types. Patch by Jelle Zijlstra." msgstr "" -#: ../NEWS:7239 +#: ../NEWS:8002 msgid "" ":gh:`134857`: Improve error report for :mod:`doctest`\\ s run with :mod:" "`unittest`. Remove :mod:`!doctest` module frames from tracebacks and " "redundant newline character from a failure message." msgstr "" -#: ../NEWS:7243 +#: ../NEWS:8006 msgid "" ":gh:`128840`: Fix parsing long IPv6 addresses with embedded IPv4 address." msgstr "" -#: ../NEWS:7245 +#: ../NEWS:8008 msgid "" ":gh:`133579`: :mod:`curses`: Consistently report failures of curses C API " "calls in module-level methods by raising a :exc:`curses.error`. This " @@ -12349,7 +13585,7 @@ msgid "" "Bénédikt Tran." msgstr "" -#: ../NEWS:7253 +#: ../NEWS:8016 msgid "" ":gh:`133579`: :meth:`curses.window.refresh` and :meth:`curses.window." "noutrefresh` now raise a :exc:`TypeError` instead of :exc:`curses.error` " @@ -12357,7 +13593,7 @@ msgid "" "and-pads>`. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7258 +#: ../NEWS:8021 msgid "" ":gh:`133579`: :ref:`curses.window `: Consistently " "report failures of curses C API calls in Window methods by raising a :exc:" @@ -12368,19 +13604,19 @@ msgid "" "insstr` and :meth:`~curses.window.insnstr`. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7267 +#: ../NEWS:8030 msgid "" ":gh:`134771`: The ``time_clockid_converter()`` function now selects correct " "type for ``clockid_t`` on Cygwin which fixes a build error." msgstr "" -#: ../NEWS:7270 +#: ../NEWS:8033 msgid "" ":gh:`134637`: Fix performance regression in calling a :mod:`ctypes` function " "pointer in :term:`free threading`." msgstr "" -#: ../NEWS:7273 +#: ../NEWS:8036 msgid "" ":gh:`134696`: Built-in HACL* and OpenSSL implementations of hash function " "constructors now correctly accept the same *documented* named arguments. For " @@ -12389,127 +13625,127 @@ msgid "" "implementation but these calls were not compatible. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7280 +#: ../NEWS:8043 msgid "" ":gh:`132710`: If possible, ensure that :func:`uuid.getnode` returns the same " "result even across different processes. Previously, the result was constant " "only within the same process. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7284 +#: ../NEWS:8047 msgid "" ":gh:`134531`: :mod:`!_hashlib`: Rename internal C functions for :class:`!" "_hashlib.HASH` and :class:`!_hashlib.HASHXOF` objects. Patch by Bénédikt " "Tran." msgstr "" -#: ../NEWS:7288 +#: ../NEWS:8051 msgid "" ":gh:`134698`: Fix a crash when calling methods of :class:`ssl.SSLContext` " "or :class:`ssl.SSLSocket` across multiple threads." msgstr "" -#: ../NEWS:7291 +#: ../NEWS:8054 msgid "" ":gh:`134151`: :mod:`email`: Fix :exc:`TypeError` in :func:`email.utils." "decode_params` when sorting :rfc:`2231` continuations that contain an " "unnumbered section." msgstr "" -#: ../NEWS:7295 +#: ../NEWS:8058 msgid "" ":gh:`134635`: :mod:`zlib`: Allow to combine Adler-32 and CRC-32 checksums " "via :func:`~zlib.adler32_combine` and :func:`~zlib.crc32_combine`. Patch by " "Callum Attryde and Bénédikt Tran." msgstr "" -#: ../NEWS:7299 +#: ../NEWS:8062 msgid "" ":gh:`134657`: :mod:`asyncio`: Remove some private names from ``asyncio." "__all__``." msgstr "" -#: ../NEWS:7302 +#: ../NEWS:8065 msgid "" ":gh:`134210`: :func:`curses.window.getch` now correctly handles signals. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7305 +#: ../NEWS:8068 msgid "" ":gh:`80334`: :func:`multiprocessing.freeze_support` now checks for work on " "any \"spawn\" start method platform rather than only on Windows." msgstr "" -#: ../NEWS:7308 +#: ../NEWS:8071 msgid "" ":gh:`134582`: Fix tokenize.untokenize() round-trip errors related to t-" "strings braces escaping" msgstr "" -#: ../NEWS:7311 +#: ../NEWS:8074 msgid "" ":gh:`134580`: Improved the styling of HTML diff pages generated by the :" "class:`difflib.HtmlDiff` class, and migrated the output to the HTML5 " "standard." msgstr "" -#: ../NEWS:7315 +#: ../NEWS:8078 msgid "" ":gh:`134565`: :func:`unittest.doModuleCleanups` no longer swallows all but " "first exception raised in the cleanup code, but raises a :exc:" "`ExceptionGroup` if multiple errors occurred." msgstr "" -#: ../NEWS:7319 +#: ../NEWS:8082 msgid "" ":gh:`134546`: Ensure :mod:`pdb` remote debugging script is readable by " "remote Python process." msgstr "" -#: ../NEWS:7322 +#: ../NEWS:8085 msgid "" ":gh:`134451`: Converted ``asyncio.tools.CycleFoundException`` from dataclass " "to a regular exception type." msgstr "" -#: ../NEWS:7325 +#: ../NEWS:8088 msgid "" ":gh:`114177`: Fix :mod:`asyncio` to not close subprocess pipes which would " "otherwise error out when the event loop is already closed." msgstr "" -#: ../NEWS:7328 +#: ../NEWS:8091 msgid "" ":gh:`90871`: Fixed an off by one error concerning the backlog parameter in :" "meth:`~asyncio.loop.create_unix_server`. Contributed by Christian Harries." msgstr "" -#: ../NEWS:7332 +#: ../NEWS:8095 msgid ":gh:`134323`: Fix the :meth:`threading.RLock.locked` method." msgstr "" -#: ../NEWS:7334 +#: ../NEWS:8097 msgid "" ":gh:`86802`: Fixed asyncio memory leak in cancelled shield tasks. For " "shielded tasks where the shield was cancelled, log potential exceptions " "through the exception handler. Contributed by Christian Harries." msgstr "" -#: ../NEWS:7338 +#: ../NEWS:8101 msgid "" ":gh:`71189`: Add support of the all-but-last mode in :func:`os.path." "realpath`." msgstr "" -#: ../NEWS:7341 +#: ../NEWS:8104 msgid "" ":gh:`72902`: Improve speed (x1.1-1.8) of the :class:`~fractions.Fraction` " "constructor for typical inputs (:class:`float`'s, :class:`~decimal." "Decimal`'s or strings)." msgstr "" -#: ../NEWS:7345 +#: ../NEWS:8108 msgid "" ":gh:`134209`: :mod:`curses`: The :meth:`curses.window.instr` and :meth:" "`curses.window.getstr` methods now allocate their internal buffer on the " @@ -12517,104 +13753,104 @@ msgid "" "from 1023 to 2047." msgstr "" -#: ../NEWS:7350 +#: ../NEWS:8113 msgid "" ":gh:`88994`: Change :func:`datetime.datetime.now` to half-even rounding for " "consistency with :func:`datetime.datetime.fromtimestamp`. Patch by John " "Keith Hohm." msgstr "" -#: ../NEWS:7354 +#: ../NEWS:8117 msgid "" ":gh:`80184`: The default queue size is now ``socket.SOMAXCONN`` for :class:" "`socketserver.TCPServer`." msgstr "" -#: ../NEWS:7357 +#: ../NEWS:8120 msgid "" ":gh:`132983`: Add :mod:`!compression.zstd` version information to ``test." "pythoninfo``." msgstr "" -#: ../NEWS:7360 +#: ../NEWS:8123 msgid "" ":gh:`134235`: Updated tab completion on REPL to include builtin modules. " "Contributed by Tom Wang, Hunter Young" msgstr "" -#: ../NEWS:7363 +#: ../NEWS:8126 msgid "" ":gh:`134152`: Fixed :exc:`UnboundLocalError` that could occur during :mod:" "`email` header parsing if an expected trailing delimiter is missing in some " "contexts." msgstr "" -#: ../NEWS:7367 +#: ../NEWS:8130 msgid "" ":gh:`134152`: :mod:`email`: Fix parsing of email message ID with invalid " "domain." msgstr "" -#: ../NEWS:7370 +#: ../NEWS:8133 msgid "" ":gh:`134168`: :mod:`http.server`: Fix IPv6 address binding and :option:`--" "directory ` handling when using HTTPS." msgstr "" -#: ../NEWS:7373 +#: ../NEWS:8136 msgid "" ":gh:`62184`: Remove import of C implementation of :class:`io.FileIO` from " "Python implementation which has its own implementation" msgstr "" -#: ../NEWS:7376 +#: ../NEWS:8139 msgid "" ":gh:`134087`: Remove support for arbitrary positional or keyword arguments " "in the C implementation of :class:`threading.RLock` objects. This was " "deprecated since Python 3.14. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7380 +#: ../NEWS:8143 msgid "" ":gh:`134173`: Speed up :mod:`asyncio` performance of transferring state from " "thread pool :class:`concurrent.futures.Future` by up to 4.4x. Patch by J. " "Nick Koston." msgstr "" -#: ../NEWS:7384 +#: ../NEWS:8147 msgid "" ":gh:`133982`: Emit :exc:`RuntimeWarning` in the Python implementation of :" "mod:`io` when the :term:`file-like object ` is not closed " "explicitly in the presence of multiple I/O layers." msgstr "" -#: ../NEWS:7388 +#: ../NEWS:8151 msgid "" ":gh:`133890`: The :mod:`tarfile` module now handles :exc:" "`UnicodeEncodeError` in the same way as :exc:`OSError` when cannot extract a " "member." msgstr "" -#: ../NEWS:7391 +#: ../NEWS:8154 msgid "" ":gh:`134097`: Fix interaction of the new :term:`REPL` and :option:`-X " "showrefcount <-X>` command line option." msgstr "" -#: ../NEWS:7394 +#: ../NEWS:8157 msgid "" ":gh:`133889`: The generated directory listing page in :class:`http.server." "SimpleHTTPRequestHandler` now only shows the decoded path component of the " "requested URL, and not the query and fragment." msgstr "" -#: ../NEWS:7398 +#: ../NEWS:8161 msgid "" ":gh:`134098`: Fix handling paths that end with a percent-encoded slash " "(``%2f`` or ``%2F``) in :class:`http.server.SimpleHTTPRequestHandler`." msgstr "" -#: ../NEWS:7401 +#: ../NEWS:8164 msgid "" ":gh:`132124`: On POSIX-compliant systems, :func:`!multiprocessing.util." "get_temp_dir` now ignores :envvar:`TMPDIR` (and similar environment " @@ -12624,34 +13860,34 @@ msgid "" "Tran." msgstr "" -#: ../NEWS:7408 +#: ../NEWS:8171 msgid "" ":gh:`134062`: :mod:`ipaddress`: fix collisions in :meth:`~object.__hash__` " "for :class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` " "objects." msgstr "" -#: ../NEWS:7412 +#: ../NEWS:8175 msgid "" ":gh:`134004`: :mod:`shelve` as well as underlying :mod:`!dbm.dumb` and :mod:" "`!dbm.sqlite` now have :meth:`!reorganize` methods to recover unused free " "space previously occupied by deleted entries." msgstr "" -#: ../NEWS:7416 +#: ../NEWS:8179 msgid "" ":gh:`133970`: Make :class:`!string.templatelib.Template` and :class:`!string." "templatelib.Interpolation` generic." msgstr "" -#: ../NEWS:7419 +#: ../NEWS:8182 msgid "" ":gh:`71253`: Raise :exc:`ValueError` in :func:`open` if *opener* returns a " "negative file-descriptor in the Python implementation of :mod:`io` to match " "the C implementation." msgstr "" -#: ../NEWS:7423 +#: ../NEWS:8186 msgid "" ":gh:`133960`: Simplify and improve :func:`typing.evaluate_forward_ref`. It " "now no longer raises errors on certain invalid types. In several situations, " @@ -12659,24 +13895,24 @@ msgid "" "unsupported." msgstr "" -#: ../NEWS:7428 +#: ../NEWS:8191 msgid "" ":gh:`133925`: Make the private class ``typing._UnionGenericAlias`` hashable." msgstr "" -#: ../NEWS:7430 +#: ../NEWS:8193 msgid "" ":gh:`133604`: Remove :func:`!platform.java_ver` which was deprecated since " "Python 3.13." msgstr "" -#: ../NEWS:7433 +#: ../NEWS:8196 msgid "" ":gh:`133875`: Removed deprecated :meth:`!pathlib.PurePath.is_reserved`. Use :" "func:`os.path.isreserved` to detect reserved paths on Windows." msgstr "" -#: ../NEWS:7436 +#: ../NEWS:8199 msgid "" ":gh:`133873`: Remove the deprecated ``getmark()``, ``setmark()`` and " "``getmarkers()`` methods of the :class:`~wave.Wave_read` and :class:`~wave." @@ -12684,33 +13920,33 @@ msgid "" "Bénédikt Tran." msgstr "" -#: ../NEWS:7441 +#: ../NEWS:8204 msgid "" ":gh:`133866`: Remove the undocumented function :func:`!ctypes." "SetPointerType`, which has been deprecated since Python 3.13. Patch by " "Bénédikt Tran." msgstr "" -#: ../NEWS:7445 +#: ../NEWS:8208 msgid "" ":gh:`133823`: Remove support for ``TD = TypedDict(\"TD\")`` and ``TD = " "TypedDict(\"TD\", None)`` calls for constructing :class:`typing.TypedDict` " "objects with zero field. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7449 +#: ../NEWS:8212 msgid "" ":gh:`125996`: Fix thread safety of :class:`collections.OrderedDict`. Patch " "by Kumar Aditya." msgstr "" -#: ../NEWS:7452 +#: ../NEWS:8215 msgid "" ":gh:`133817`: Remove support for creating :class:`~typing.NamedTuple` " "classes via the undocumented keyword argument syntax. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7455 +#: ../NEWS:8218 msgid "" ":gh:`133653`: Fix :class:`argparse.ArgumentParser` with the " "*formatter_class* argument. Fix TypeError when *formatter_class* is a custom " @@ -12720,71 +13956,71 @@ msgid "" "class:`!HelpFormatter`." msgstr "" -#: ../NEWS:7462 +#: ../NEWS:8225 msgid "" ":gh:`133810`: Remove :class:`!http.server.CGIHTTPRequestHandler` and ``--" "cgi`` flag from the :program:`python -m http.server` command-line interface. " "They were deprecated in Python 3.13. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7466 +#: ../NEWS:8229 msgid "" ":gh:`132641`: Fixed a race in :func:`functools.lru_cache` under free-" "threading." msgstr "" -#: ../NEWS:7469 +#: ../NEWS:8232 msgid "" ":gh:`133783`: Fix bug with applying :func:`copy.replace` to :mod:`ast` " "objects. Attributes that default to ``None`` were incorrectly treated as " "required for manually created AST nodes." msgstr "" -#: ../NEWS:7473 +#: ../NEWS:8236 msgid "" ":gh:`133684`: Fix bug where :func:`annotationlib.get_annotations` would " "return the wrong result for certain classes that are part of a class " "hierarchy where ``from __future__ import annotations`` is used." msgstr "" -#: ../NEWS:7477 +#: ../NEWS:8240 msgid "" ":gh:`77057`: Fix handling of invalid markup declarations in :class:`html." "parser.HTMLParser`." msgstr "" -#: ../NEWS:7480 +#: ../NEWS:8243 msgid "" ":gh:`130328`: Speedup pasting in ``PyREPL`` on Windows in a legacy console. " "Patch by Chris Eibl." msgstr "" -#: ../NEWS:7483 +#: ../NEWS:8246 msgid "" ":gh:`133701`: Fix bug where :class:`typing.TypedDict` classes defined under " "``from __future__ import annotations`` and inheriting from another " "``TypedDict`` had an incorrect ``__annotations__`` attribute." msgstr "" -#: ../NEWS:7487 +#: ../NEWS:8250 msgid "" ":gh:`133656`: Remove deprecated :meth:`!zipimport.zipimporter.load_module`. " "Use :meth:`zipimport.zipimporter.exec_module` instead." msgstr "" -#: ../NEWS:7490 +#: ../NEWS:8253 msgid "" ":gh:`133722`: Added a *color* option to :func:`difflib.unified_diff` that " "colors output similar to :program:`git diff`." msgstr "" -#: ../NEWS:7493 +#: ../NEWS:8256 msgid "" ":gh:`133489`: :func:`random.getrandbits` can now generate more that 2 :sup:" "`31` bits. :func:`random.randbytes` can now generate more that 256 MiB." msgstr "" -#: ../NEWS:7497 +#: ../NEWS:8260 msgid "" ":gh:`133595`: Clean up :class:`sqlite3.Connection` APIs. All parameters of :" "func:`sqlite3.connect` except *database* are now keyword-only. The first " @@ -12795,7 +14031,7 @@ msgid "" "set_trace_callback` is now positional-only." msgstr "" -#: ../NEWS:7505 +#: ../NEWS:8268 msgid "" ":gh:`133581`: Improve unparsing of t-strings in :func:`ast.unparse` and " "``from __future__ import annotations``. Empty t-strings now round-trip " @@ -12803,57 +14039,57 @@ msgid "" "Zijlstra." msgstr "" -#: ../NEWS:7510 +#: ../NEWS:8273 msgid "" ":gh:`133577`: Add parameter ``formatter`` to :func:`logging.basicConfig`." msgstr "" -#: ../NEWS:7512 +#: ../NEWS:8275 msgid "" ":gh:`92897`: Removed the ``check_home`` parameter from :func:`sysconfig." "is_python_build`, deprecated since Python 3.12." msgstr "" -#: ../NEWS:7515 +#: ../NEWS:8278 msgid "" ":gh:`133551`: Support t-strings (:pep:`750`) in :mod:`annotationlib`. Patch " "by Jelle Zijlstra." msgstr "" -#: ../NEWS:7518 +#: ../NEWS:8281 msgid "" ":gh:`133517`: Remove :func:`os.listdrives`, :func:`os.listvolumes` and :func:" "`os.listmounts` in non Windows desktop builds since the underlying " "functionality is missing." msgstr "" -#: ../NEWS:7522 +#: ../NEWS:8285 msgid "" ":gh:`133439`: Fix dot commands with trailing spaces are mistaken for multi-" "line SQL statements in the sqlite3 command-line interface." msgstr "" -#: ../NEWS:7525 +#: ../NEWS:8288 msgid ":gh:`133447`: Add basic color to :mod:`sqlite3` CLI interface." msgstr "" -#: ../NEWS:7527 +#: ../NEWS:8290 msgid ":gh:`133253`: Fix thread-safety issues in :mod:`linecache`." msgstr "" -#: ../NEWS:7529 +#: ../NEWS:8292 msgid "" ":gh:`133390`: Support keyword completion in the :mod:`sqlite3` command-line " "interface and add :data:`sqlite3.SQLITE_KEYWORDS` constant." msgstr "" -#: ../NEWS:7532 +#: ../NEWS:8295 msgid "" ":gh:`132493`: Avoid accessing ``__annotations__`` unnecessarily in :func:" "`inspect.signature`." msgstr "" -#: ../NEWS:7535 +#: ../NEWS:8298 msgid "" ":gh:`133017`: Improve the error message of :func:`multiprocessing." "sharedctypes.Array`, :func:`multiprocessing.sharedctypes.RawArray`, :func:" @@ -12861,13 +14097,13 @@ msgid "" "RawValue` when an invalid typecode is passed. Patch by Tomas Roun" msgstr "" -#: ../NEWS:7542 +#: ../NEWS:8305 msgid "" ":gh:`132813`: Improve error messages for incorrect types and values of :" "class:`csv.Dialect` attributes." msgstr "" -#: ../NEWS:7545 +#: ../NEWS:8308 msgid "" ":gh:`132969`: Prevent the :class:`~concurrent.futures.ProcessPoolExecutor` " "executor thread, which remains running when :meth:`shutdown(wait=False) " @@ -12879,7 +14115,7 @@ msgid "" "pool." msgstr "" -#: ../NEWS:7554 +#: ../NEWS:8317 msgid "" ":gh:`132876`: ``ldexp()`` on Windows doesn't round subnormal results before " "Windows 11, but should. Python's :func:`math.ldexp` wrapper now does round " @@ -12887,62 +14123,62 @@ msgid "" "on Windows versions before 11." msgstr "" -#: ../NEWS:7559 +#: ../NEWS:8322 msgid "" ":gh:`133009`: :mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element." "__deepcopy__ ` when the element is concurrently " "mutated. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:7563 +#: ../NEWS:8326 msgid "" ":gh:`132908`: Add :func:`math.isnormal` and :func:`math.issubnormal` " "functions. Patch by Sergey B Kirpichev." msgstr "" -#: ../NEWS:7566 +#: ../NEWS:8329 msgid "" ":gh:`95380`: :func:`fcntl.fcntl` and :func:`fcntl.ioctl`: Remove the 1024 " "bytes limit on the size of not mutated bytes-like argument." msgstr "" -#: ../NEWS:7569 +#: ../NEWS:8332 msgid "" ":gh:`122781`: Fix ``%z`` directive in :func:`datetime.datetime.strptime` to " "allow for no provided offset as was documented." msgstr "" -#: ../NEWS:7572 +#: ../NEWS:8335 msgid "" ":gh:`123471`: Make concurrent iterations over :class:`itertools." "combinations` and :class:`itertools.product` safe under free-threading." msgstr "" -#: ../NEWS:7575 +#: ../NEWS:8338 msgid "" ":gh:`127081`: Fix libc thread safety issues with :mod:`dbm` by performing " "stateful operations in critical sections." msgstr "" -#: ../NEWS:7578 +#: ../NEWS:8341 msgid "" ":gh:`127081`: Fix libc thread safety issues with :mod:`os` by replacing " "``getlogin`` with ``getlogin_r`` re-entrant version." msgstr "" -#: ../NEWS:7581 +#: ../NEWS:8344 msgid "" ":gh:`127081`: Fix libc thread safety issues with :mod:`pwd` by locking " "access to ``getpwall``." msgstr "" -#: ../NEWS:7584 +#: ../NEWS:8347 msgid "" ":gh:`132551`: Make :class:`io.BytesIO` safe in :term:`free-threaded ` build." msgstr "" -#: ../NEWS:7587 +#: ../NEWS:8350 msgid "" ":gh:`107583`: Fix :class:`!Flag` inversion when flag set has missing values " "(:class:`!IntFlag` still flips all bits); fix negative assigned values " @@ -12950,40 +14186,40 @@ msgid "" "missing values)." msgstr "" -#: ../NEWS:7592 +#: ../NEWS:8355 msgid "" ":gh:`87790`: Support underscore and comma as thousands separators in the " "fractional part for :class:`~fractions.Fraction`'s formatting. Patch by " "Sergey B Kirpichev." msgstr "" -#: ../NEWS:7596 +#: ../NEWS:8359 msgid "" ":gh:`87790`: Support underscore and comma as thousands separators in the " "fractional part for :class:`~decimal.Decimal`'s formatting. Patch by Sergey " "B Kirpichev." msgstr "" -#: ../NEWS:7600 +#: ../NEWS:8363 msgid "" ":gh:`131884`: Fix formatting issues in :func:`json.dump` when both *indent* " "and *skipkeys* are used." msgstr "" -#: ../NEWS:7603 +#: ../NEWS:8366 msgid "" ":gh:`131788`: Make ``ResourceTracker.send`` from :mod:`multiprocessing` re-" "entrant safe" msgstr "" -#: ../NEWS:7606 +#: ../NEWS:8369 msgid "" ":gh:`91349`: Adjust default ``compressionlevel=`` to 6 (down from 9) in :mod:" "`gzip` and :mod:`tarfile`. It is the default level used by most compression " "tools and a better tradeoff between speed and performance." msgstr "" -#: ../NEWS:7610 +#: ../NEWS:8373 msgid "" ":gh:`131146`: Fix :class:`calendar.TextCalendar`, :class:`calendar." "HTMLCalendar`, and the :mod:`calendar` CLI to display month names in the " @@ -12993,13 +14229,13 @@ msgid "" "itself, if the locale supports it." msgstr "" -#: ../NEWS:7618 +#: ../NEWS:8381 msgid "" ":gh:`123471`: Make concurrent iterations over :class:`itertools.cycle` safe " "under free-threading." msgstr "" -#: ../NEWS:7621 +#: ../NEWS:8384 msgid "" ":gh:`130664`: Handle corner-case for :class:`~fractions.Fraction`'s " "formatting: treat zero-padding (preceding the width field by a zero " @@ -13007,76 +14243,76 @@ msgid "" "alignment type of ``'='``, just as in case of :class:`float`'s." msgstr "" -#: ../NEWS:7626 +#: ../NEWS:8389 msgid "" ":gh:`130999`: Avoid exiting the new REPL and offer suggestions even if there " "are non-string candidates when errors occur." msgstr "" -#: ../NEWS:7629 +#: ../NEWS:8392 msgid "" ":gh:`88473`: Implement a fast path for :class:`datetime.date` objects in :" "func:`datetime.date.today` which results in a 5x performance gain while " "proper subclasses retain their previous performance." msgstr "" -#: ../NEWS:7633 +#: ../NEWS:8396 msgid "" ":gh:`126883`: Add check that timezone fields are in range for :meth:" "`datetime.datetime.fromisoformat` and :meth:`datetime.time.fromisoformat`. " "Patch by Semyon Moroz." msgstr "" -#: ../NEWS:7637 +#: ../NEWS:8400 msgid "" ":gh:`125028`: :data:`functools.Placeholder` cannot be passed to :func:" "`functools.partial` as a keyword argument." msgstr "" -#: ../NEWS:7640 +#: ../NEWS:8403 msgid "" ":gh:`125843`: If possible, indicate which :mod:`curses` C function or macro " "is responsible for raising a :exc:`curses.error` exception. Patch by " "Bénédikt Tran." msgstr "" -#: ../NEWS:7644 +#: ../NEWS:8407 msgid "" ":gh:`119109`: :func:`functools.partial` calls are now faster when keyword " "arguments are used." msgstr "" -#: ../NEWS:7647 +#: ../NEWS:8410 msgid "" ":gh:`124033`: ``SimplePath`` is now presented in ``importlib.metadata." "__all__``." msgstr "" -#: ../NEWS:7650 +#: ../NEWS:8413 msgid "" ":gh:`91216`: ``importlib.metadata`` now raises a ``KeyError`` instead of " "returning ``None`` when a key is missing from the metadata." msgstr "" -#: ../NEWS:7653 +#: ../NEWS:8416 msgid "" ":gh:`120492`: ``importlib.metadata`` now prioritizes valid dists to invalid " "dists when retrieving by name." msgstr "" -#: ../NEWS:7656 +#: ../NEWS:8419 msgid "" ":gh:`99631`: The :mod:`shelve` module now accepts custom serialization and " "deserialization functions." msgstr "" -#: ../NEWS:7659 +#: ../NEWS:8422 msgid "" ":gh:`119186`: Slightly speed up :func:`os.walk` by calling :func:`os.path." "join` less often." msgstr "" -#: ../NEWS:7662 +#: ../NEWS:8425 msgid "" ":gh:`120170`: Fix an issue in the :mod:`!_pickle` extension module in which " "importing :mod:`multiprocessing` could change how pickle identifies which " @@ -13084,18 +14320,18 @@ msgid "" "objects." msgstr "" -#: ../NEWS:7667 +#: ../NEWS:8430 msgid "" ":gh:`118981`: Fix potential hang in ``multiprocessing.popen_spawn_posix`` " "that can happen when the child proc dies early by closing the child fds " "right away." msgstr "" -#: ../NEWS:7671 ../NEWS:19635 +#: ../NEWS:8434 ../NEWS:20398 msgid ":gh:`105497`: Fix flag mask inversion when unnamed flags exist." msgstr "" -#: ../NEWS:7673 +#: ../NEWS:8436 msgid "" ":gh:`99813`: :mod:`ssl` now uses ``SSL_sendfile`` internally when it is " "possible (see :data:`~ssl.OP_ENABLE_KTLS`). The function sends a file more " @@ -13103,54 +14339,54 @@ msgid "" "additional context switches. Patch by Illia Volochii." msgstr "" -#: ../NEWS:7678 +#: ../NEWS:8441 msgid "" ":gh:`62824`: Fix aliases for ``iso8859_8`` encoding. Patch by Dave Goncalves." msgstr "" -#: ../NEWS:7680 +#: ../NEWS:8443 msgid "" ":gh:`86155`: :meth:`html.parser.HTMLParser.close` no longer loses data when " "the ``