HOWTO zu den PEPs von Python

(C) 2016-2025 T.Birnthaler/H.Gottschalk <howtos(at)ostc.de>
              OSTC Open Source Training and Consulting GmbH
              www.ostc.de

Dieses Dokument beschreibt die Python Enhancement Proposals (PEPs). Diese
dienen der Diskussion und Dokumentation des Python-Entwicklungsvorgangs und der
Python-Nutzung. Jeder PEP hat eine NUMMER (die sich nicht mehr ändert, sobald
sie vergeben wurde) und einen TITEL, eine KATEGORIE, einen TYP und einen STATUS
sowie den BESCHREIBUNGSTEXT.

Doku --> www.python.org/dev/peps
         www.python.org/dev/peps/pep-0000
         www.python.org/dev/peps/pep-0008

Wichtige PEPs sind:

  +----+--------------------------+
  |  0 | Index aller PEPs         |
  |  1 | PEP-Zweck und -Leitfaden |
  |  7 | C-Programmierstil        |
  |  8 | Python-Programmierstil   |
  | 20 | The Zen of Python        |
  +----+--------------------------+

Ein PEP kann folgenden TYP haben (T): --> www.python.org/dev/peps/#pep-types-key

  +---+-----------------+
  | I | Informational   |
  | P | Process (Meta)  |
  | S | Standards track |
  +---+-----------------+

Ein PEP kann folgenden STATUS haben (S): --> www.python.org/dev/peps/#pep-status-key

  +---+-------------------------------------------+
  |   | Draft (kein Buchstabe!)                   |
  +---+-------------------------------------------+
  | P | Provisional                               |
  | A | Accepted (Standards track only) or Active |
  | F | Final/Finished                            |
  +---+-------------------------------------------+
  | D | Deferred                                  |
  +---+-------------------------------------------+
  | R | Rejected                                  |
  | S | Superseded                                |
  | W | Withdrawn                                 |
  +---+-------------------------------------------+

Die PEPs sind in folgende KATEGORIEN eingeteilt (K): --> www.python.org/dev/peps#id5

  +-------------------------+--------------------------------------------------------+
  | Meta                P   | PEPs über PEPs und Prozesse                            |
  | Other Informational I   | Andere informelle PEPs                                 |
  +-------------------------+--------------------------------------------------------+
  | Provisional           P | Vorläufig akzeptiert (Interface kann sich noch ändern) |
  | Accepted            S A | Akzeptiert (evtl. noch nicht implementiert)            |
  | Open                    | Offen (in Diskussion)                                  |
  | Finished            S F | Abgeschlossen (mit einem stabilen Interface)           |
  +-------------------------+--------------------------------------------------------+
  | Historical          I F | Historische Meta-PEPs                                  |
  | Informational       P FS| Informationelle PEPs                                   |
  +-------------------------+--------------------------------------------------------+
  | Deferred           IS D | Verschoben (waren auf weitere Prüfung und Updates)     |
  +-------------------------+--------------------------------------------------------+
  | Abandoned               | Abgebrochen                                            |
  | Withdrawn         PIS W | Zurückgezogen                                          |
  | Rejected              R | Abgelehnt                                              |
  | Superseded            S | Ersetzt durch neuere Version                           |
  +-------------------------+--------------------------------------------------------+

Folgende PEPs sind bekannt oder wichtig:

+--+------+--------------------------------------------------------------+-----+
|TS|    0 | Index of Python enhancement proposals (PEP index)            | Ver |
+--+------+--------------------------------------------------------------+-----+
|                               Style guides                                   |
+--+------+--------------------------------------------------------------+-----+
|P |    1 | PEP purpose and guidelines                                   |     |
|P |    7 | Style guide for C code                                       |     |
|P |    8 | Style guide for Python code (name conventions, indent)       |     |
|P |   11 | CPython platform support                                     |     |
|IA|  257 | Docstring conventions                                        |     |
+--+------+--------------------------------------------------------------+-----+
|                            Eastereggs / Fun                                  |
+--+------+--------------------------------------------------------------+-----+
|I |   20 | The zen of Python (import this)                              |     |
|P |  401 | BDFL retirement (FLUFL Barray Warsaw, Aprilscherz 1.4.2009!) |     |
+--+------+--------------------------------------------------------------+-----+
|                        Python community governance model                     |
+--+------+--------------------------------------------------------------+-----+
|I | 8000 | Python language governance proposal overview                 |     |
|PA| 8001 | Python governance voting process                             |     |
|I | 8002 | Open source governance survey                                |     |
|IR| 8010 | The technical leader governance model                        |     |
|IR| 8011 | Python governance model lead by trio of pythonistas          |     |
|IR| 8012 | The community governance model                               |     |
|IR| 8013 | The external council governance model                        |     |
|IR| 8014 | The commons governance model                                 |     |
|IR| 8015 | Organization of the Python community                         |     |
|  | 8016 | The steering council model                                   |     |
|  | 8100 | January 2019 steering council election                       |     |
|  | 8101 | 2020 Term steering council election                          |     |
+--+------+--------------------------------------------------------------+-----+
|                                  Unicode                                     |
+--+------+--------------------------------------------------------------+-----+
|SF|  100 | Python unicode integration                                   | 2.0 |
|SF|  261 | Support for "wide" unicode characters                        | 2.2 |
|SF|  277 | Unicode file name support for windows NT                     | 2.3 |
|SF|  414 | Explicit unicode literal for Python 3.3 (u"...")             | 3.3 |
|SF|  528 | Change Windows console encoding to UTF-8                     | 3.6 |
|SF|  529 | Change Windows filesystem encoding to UTF-8                  | 3.6 |
|SF|  540 | Add a new UTF-8 mode                                         | 3.7 |
|SF| 3131 | Supporting non-ASCII identifiers                             | 3.0 |
|SA|  686 | Make UTF-8 mode default                                      | 3.15|
+--+------+--------------------------------------------------------------+-----+
|                         Source code encoding (Unicode)                       |
+--+------+--------------------------------------------------------------+-----+
|SF|  278 | Universal newline support                                    | 2.3 |
|SF|  263 | Defining Python source code encodings (# coding: UTF-8)      | 2.3 |
|SF| 3120 | Using UTF-8 as the default source encoding                   | 3.0 |
|SF|  762 | REPL-acing the default REPL (interactive mode)               | 3.13|
+--+------+--------------------------------------------------------------+-----+
|                             Documentation                                    |
+--+------+--------------------------------------------------------------+-----+
|I |   12 | Sample reStructuredText PEP template                         |     |
|IA|  257 | Docstring conventions                                        |     |
|IA|  287 | reStructuredText docstring format                            |     |
+--+------+--------------------------------------------------------------+-----+
|                         Modules + packages import                            |
+--+------+--------------------------------------------------------------+-----+
|SF|  221 | import as                                                    | 2.0 |
|SF|  302 | New import hooks (--> ersetzt durch import + importlib)      | 2.3 |
|SF|  328 | Imports: multi-line and absolute/relative                    |2.456|
|SF|  338 | Executing modules as scripts                                 | 2.5 |
|SF|  366 | Main module explicit relative imports                    3.0 | 2.6 |
|IR|  396 | Module version numbers --> importlib.metadata.version()      |     |
|SF|  451 | A moduleSpec type for the import system                      | 3.4 |
|DI|  688 | Graceful cooperation bw. external and Python package managers| ?.? |
|SA|  784 | New module compression.zstd                                  | 3.14|
+--+------+--------------------------------------------------------------+-----+
|SR|  299 | Special __main__() function in modules                       | 2.3 |
|SR| 3122 | Delineation of the main module                               |     |
+--+------+--------------------------------------------------------------+-----+
|SA|  420 | Implicit namespace packages                                  | 3.3 |
|DS|  582 | Python local packages directory __pypackages__               | 3.8 |
|SF|  667 | Consistent view of namespaces (locals())                     | 3.13|
+--+------+--------------------------------------------------------------+-----+
|SR|  516 | Build system abstraction for pip/conda etc (-> 517)          |     |
|SF|  517 | A build-system independent format for source trees           |     |
|SF|  518 | Specifying Minimum Build System Requirements for Py Projects |     |
|SF|  519 | Adding a system path protocol                                | 3.6 |
+--+------+--------------------------------------------------------------+-----+
|                                   Decorators                                 |
+--+------+--------------------------------------------------------------+-----+
|SF|  318 | Decorators for functions and methods                         | 2.4 |
|SF| 3129 | Class decorators                                             | 3.0 |
|SA|  614 | Relaxing grammar restrictions on decorators                  | 3.9 |
+--+------+--------------------------------------------------------------+-----+
|                           Iterators and Generators                           |
+--+------+--------------------------------------------------------------+-----+
|SF|  234 | Iterators (protocol)                                         | 2.1 |
|SF|  255 | Simple generators ("yield")                                  | 2.2 |
|SF|  289 | Generator expressions                                        | 2.4 |
|SF|  342 | Coroutines via enhanced generators                           | 2.5 |
+--+------+--------------------------------------------------------------+-----+
|                                Comprehensions                                |
+--+------+--------------------------------------------------------------+-----+
|SF|  202 | List Comprehension                                           | 2.0 |
|SF|  274 | Dict Comprehension                                           | 3.0 |
|SF|  530 | Asynchronous Comprehensions                                  | 3.6 |
|SD|  709 | Inlined Comprehensions                                       | 3.12|
+--+------+--------------------------------------------------------------+-----+
|                         Asynchronous Programming                             |
+--+------+--------------------------------------------------------------+-----+
|SF|  492 | Coroutines with async and await syntax                       | 3.5 |
|SF|  525 | Asynchronous generators                                      | 3.6 |
|SF|  530 | Asynchronous comprehensions                                  | 3.6 |
+--+------+--------------------------------------------------------------+-----+
|SF| 3148 | futures - execute computations asynchronously                | 3.2 |
|SF| 3156 | Asynchronous IO support rebooted: the "asyncio" module       | --- |
+--+------+--------------------------------------------------------------+-----+
|                            Function Parameters                               |
+--+------+--------------------------------------------------------------+-----+
|ID|  457 | Syntax for positional-only parameters                        | ?.? |
|SA|  570 | Positional-only parameters                                   | ?.? |
|SF| 3102 | Keyword-only arguments                                       | 3.0 |
|SA|  736 | Shorthand syntax for keyword arguments at invocation         | 3.14|
+--+------+--------------------------------------------------------------+-----+
|                                 Data Types                                   |
+--+------+--------------------------------------------------------------+-----+
|SF|  218 | Adding a built-in set object type                            | 2.2 |
|SF|  285 | Adding a bool type                                           | 2.3 |
|SF|  353 | Using ssize_t as the index type                              | 2.5 |
|SF|  358 | The "bytes" object (ersetzt durch 3137)                  2.6 | 3.0 |
|SF|  435 | Adding an enum type to the Python standard library           | 3.4 |
|SF|  412 | Key-Sharing dictionary                                       |3.3/4|
|SF| 3137 | Im-mutable bytes and mutable buffer                          | 3.0 |
+--+------+--------------------------------------------------------------+-----+
|                 Numerical Data Types, Values and Operators                   |
+--+------+--------------------------------------------------------------+-----+
|SF|  237 | Unifying long integers and integers                          | 2.2 |
|SF|  238 | Changing the division operator //                            | 2.2 |
|SF|  327 | Decimal data type                                            | 2.4 |
|SF|  485 | A Function for testing approximate equality        isclose() | 3.5 |
|SF|  515 | Underscores in numeric literals                              | 3.6 |
|SF| 3127 | Integer literal support and syntax                           | 3.0 |
|SF| 3141 | A type hierarchy for numbers                                 | --- | <-+
+--+------+--------------------------------------------------------------+-----+   |
|                             Operators and Expressions                        |   |
+--+------+--------------------------------------------------------------+-----+   |
|SF|  308 | Conditional expression (VAL1 if COND else VAL2)              | ?.? |   |
|SF|  465 | A dedicated infix operator for matrix multiplication (@)     | 3.5 |   |
|SA|  572 | Assignment expression (:= walrus op GvR burnout, Juli 2018)  | 3.8 |   |
+--+------+--------------------------------------------------------------+-----+   |
|                        Object Oriented Programming (OOP)                     |   |
+--+------+--------------------------------------------------------------+-----+   |
|SF|  442 | Safe object finalization !!!                                 | 3.4 |   |
|S |  544 | Protocols: structural subtyping (static duck typing)         | 3.7 |   |
|SF|  252 | Making types look more like classes                          | 2.2 |   |
|SF|  253 | Subtyping built-in types                                     | 2.2 |   |
|SF|  520 | Preserving class attribute definition order                  | 3.6 |   |
|SF| 3119 | Introducing abstract base classes (ABC)                      | --- | <-+
|SF| 3135 | New super (super())                                          | 3.0 |
+--+------+--------------------------------------------------------------+-----+
|                        Type Annotation + Type Hints                          |
+--+------+--------------------------------------------------------------+-----+
|IF|  482 | Literature overview for type hints                           |     |
|IF|  483 | The theory of type hints                                     |     |
|SF|  484 | Type hints (module "typing")                                 | 3.5 |
|SF|  526 | Syntax for variable annotations                              | 3.6 |
|SF|  557 | Data classes                                                 | 3.7 |
|SA|  560 | Core support for typing module and generic types             | 3.7 |
|SF|  561 | Distributing and packaging type information                  | 3.7 |
|SA|  563 | Postponed evaluation of annotations                          | 3.7 |
|SF|  585 | Type hinting generics in standard collections                | 3.9 |
|SA|  586 | Literal types                                                | 3.8 |
|SA|  589 | TypedDict: type hints for dictionaries with fixed set of keys| 3.8 |
|SA|  591 | Adding a final qualifier to typing (decorator)               | 3.8 |
|SA|  593 | Flexible function and variable annotation                    | 3.9 |
|SA|  604 | Allow writing union types as X | Y                           | 3.10|
|SA|  611 | Parameter Specification Variables                            | 3.10|
|SA|  613 | Explicit type aliases                                        | 3.10|
|SA|  646 | Variadic generics                                            | 3.11|
|SA|  647 | User-defined type guards                                     | 3.10|
|SA|  649 | Deferred evaluation of annotations using descriptors         | 3.14|
|SA|  749 | Implementing PEP 649                                         | 3.14|
|SA|  655 | Marking TypedDict items as required or potentially-missing   | 3.11|
|SA|  673 | Self type                                                    | 3.11|
|SA|  675 | Arbitrary literal string type                                | 3.11|
|SA|  681 | Data class transforms                                        | 3.11|
|SF|  742 | Narrowing types with TypeIs                                  | 3.13|
|SF|  705 | TypedDict: Read-only items                                   | 3.13|
|SF|  702 | Marking deprecations using the type system                   | 3.13|
|SF|  696 | Type Defaults for Type Parameters                            | 3.13|
|SA|  728 | TypedDict with Typed Extra Items                             | 3.14|
|SF| 3107 | Function annotations (syntax)                                | 3.0 |
+--+------+--------------------------------------------------------------+-----+
|                             String Formatting                                |
+--+------+--------------------------------------------------------------+-----+
|SS|  215 | String interpolation                                         | 2.1 |
|SF|  292 | Simple string substitutions              Template formatting | 2.4 |
|SF|  378 | Format specifier for thousands separator                 2.7 | 3.1 |
|SF|  461 | Adding % formatting to bytes and bytearray        formatting | 3.5 |
|SF|  498 | Literal string interpolation               F"..." formatting | 3.6 |
|SD|  501 | General purpose string interpolation                         | 3.6 |
|IR|  502 | String interpolation - extended discussion                   | 3.6 |
|SD|  536 | Final grammar for literal string interpolation               | 3.7 |
|SF|  682 | Format Specifier for Signed Zero                             | 3.11|
|SA|  701 | Syntactic formalization fo F-Strings                         | 3.12|
|SF| 3101 | Advanced string formatting                        formatting | 3.0 |
+--+------+--------------------------------------------------------------+-----+
|                            Tuple Packing / Unpacking                         |
+--+------+--------------------------------------------------------------+-----+
|SF| 3113 | Removing of tuple parameter unpacking (PY2)                  | 3.0 |
|SF|  448 | Additional unpacking generalizations                         | 3.5 |
|SF| 3132 | Extended iterable unpacking                                  | 3.0 |
+--+------+--------------------------------------------------------------+-----+
|                            Virtual Enviroments                               |
+--+------+--------------------------------------------------------------+-----+
|SF|  405 | Python virtual environments                                  | 3.3 |
|SF|  486 | Make the Python launcher aware of virtual environments       | 3.5 |
+--+------+--------------------------------------------------------------+-----+
|                               Naming Scopes                                  |
+--+------+--------------------------------------------------------------+-----+
|SF|  227 | Statically nested scopes                                     | 2.1 |
|SF| 3104 | Access to names in outer scope (aka "nonlocal")              | 3.0 |
+--+------+--------------------------------------------------------------+-----+
|                              Context Manager                                 |
+--+------+--------------------------------------------------------------+-----+
|SF|  343 | The "with" statement (context manager)                       | 2.5 |
|SF|  567 | Context variables                                            | 3.7 |
+--+------+--------------------------------------------------------------+-----+
|                  match/case-Mehrfachverzweigung ab 3.10                      |
+--+------+--------------------------------------------------------------+-----+
|SS|  622 | Structural Pattern Matching --> 634                          | 3.10|
|SA|  634 | Structural Pattern Matching: Specification                   | 3.10|
|IF|  635 | Structural Pattern Matching: Motivation and rationale        | 3.10|
|IF|  636 | Structural Pattern Matching: Tutorial                        | 3.10|
|SD|  640 | Unused variable syntax (_)                                   | 3.10|
|SD|  642 | Explicit pattern syntax for Structural Pattern Matching      | 3.10|
+--+------+--------------------------------------------------------------+-----+
|SD|  653 | Precise Semantics for Pattern Matching                       |     |
+--+------+--------------------------------------------------------------+-----+
|                       API (Application programming interfaces)               |
+--+------+--------------------------------------------------------------+-----+
|SF|  305 | CSV File API (RFC 4180: Common format and MIME type for CSV) | --- |
+--+------+--------------------------------------------------------------+-----+
|IF|  248 | Database API spec 1.0                                        | --- |
|IF|  249 | Database API spec 2.0                                        | --- |
+--+------+--------------------------------------------------------------+-----+
|IF|  333 | Web server gateway interface 1.0 (WSGI)                      | --- |
|IF| 3333 | Web server gateway interface 1.0.1 (WSGI)                    | --- |
+--+------+--------------------------------------------------------------+-----+
|SF|  427 | The wheel binary package format 1.0 (*.whl)                  |     |
|DS|  491 | The wheel binary package format 1.9 (*.whl)                  |     |
+--+------+--------------------------------------------------------------+-----+
|SF|  307 | Extensions to the pickle protocol                            |     |
|SF| 3153 | Pickle protocol version 4                                    | 3.4 |
|SF|  574 | Pickle protocol 5 with out-of-band data                      | 3.8 |
+--+------+--------------------------------------------------------------+-----+
|DI|  733 | An Evaluation of Python’s Public C API                       | 3.13|
|DP|  731 | C API Working Group Charter                                  | 3.13|
+--+------+--------------------------------------------------------------+-----+
|SF|  236 | Back to the __future__                                       | 1.2 |
|I |  290 | Code migration and modernization                             |     |
|IF|  291 | Backward compatibility for the Python 2 standard library     | 2.3 |
|  |  430 | Migrating to Python 3 as the default online documentation    |     |
|  |  440 | Version identification and dependency specification          |     |
|SF|  576 | Database of installed python distributions                   | 3.2 |
+--+------+--------------------------------------------------------------+-----+
|                        Bytecode  + backward compatibility                    |
+--+------+--------------------------------------------------------------+-----+
|SF|  384 | Defining a stable ABI                                        | 3.2 |
|SW|  304 | Controlling generation of bytecode files                     |     |
|SF|  552 | Deterministic pycs                                           | 3.7 |
|SF| 3147 | PYC repository directories (__pycache__)                     | 3.2 |
|SF| 3149 | ABI version tagged ".so" files                               | 3.2 |
+--+------+--------------------------------------------------------------+-----+
|                        GIL (Global Interpreter Lock)                         |
+--+------+--------------------------------------------------------------+-----+
|I |  744 | JIT (Just in Time) Compilation (Compiler)                    | 3.13|
+--+------+--------------------------------------------------------------+-----+
|                        GIL (Global Interpreter Lock)                         |
+--+------+--------------------------------------------------------------+-----+
|S |  554 | Multiple interpreters in the stdlib (subinterpreters)        | 3.9 |
|SA|  734 | Multiple interpreters in the stdlib (subinterpreters)        | 3.14|
|SF|  311 | Simplified Global Interpreter Lock Acquisition for Extensions| 2.3 |
|SA|  683 | Immortal Objects, Using a Fixed Refcount                     | 3.12|
|SA|  684 | A Per-Interpreter GIL                                        | 3.12|
|SA|  703 | Making the GIL (Global Interpreter Lock) Optional in CPython | 3.13|
|SA|  779 | Free-threaded Python is officially supported                 | 3.14|
+--+------+--------------------------------------------------------------+-----+
|                           Release schedules                                  |
+--+------+--------------------------------------------------------------+-----+
|IF|  160 | Python 1.6 release schedule                                  | 1.6 |
+--+------+--------------------------------------------------------------+-----+
|IF|  200 | Python 2.0 release schedule                                  | 2.0 |
|IF|  226 | Python 2.1 release schedule                                  | 2.1 |
|IF|  251 | Python 2.2 release schedule                                  | 2.2 |
|IF|  283 | Python 2.3 release schedule                                  | 2.3 |
|IF|  320 | Python 2.4 release schedule                                  | 2.4 |
|IF|  356 | Python 2.5 release schedule                                  | 2.5 |
|IF|  361 | Python 2.6 und 3.0 release schedule                          | 2.6 |
|I |  373 | Python 2.7 release schedule                                  | 2.7 |
|IF|  404 | Python 2.8 un-release schedule                               | 2.8 |
+--+------+--------------------------------------------------------------+-----+
|PF| 3000 | Python 3000 (3.0 Py3K)                                       |     |
+--+------+--------------------------------------------------------------+-----+
|IF|  375 | Python 3.1 release schedule                                  | 3.1 |
|IF|  392 | Python 3.2 release schedule                                  | 3.2 |
|IF|  398 | Python 3.3 release schedule                                  | 3.3 |
|I |  429 | Python 3.4 release schedule                                  | 3.4 |
|I |  478 | Python 3.5 release schedule                                  | 3.5 |
|I |  494 | Python 3.6 release schedule                                  | 3.6 |
|I |  537 | Python 3.7 release schedule                                  | 3.7 |
|I |  569 | Python 3.8 release schedule                                  | 3.8 |
|I |  596 | Python 3.9 release schedule                                  | 3.9 |
|ID|  619 | Python 3.10 release schedule                                 | 3.10|
|ID|  664 | Python 3.11 release schedule                                 | 3.11|
|ID|  693 | Python 3.12 release schedule                                 | 3.12|
|ID|  719 | Python 3.13 release schedule                                 | 3.13|
|IA|  745 | Python 3.14 release schedule                                 | 3.14|
|IA|  790 | Python 3.15 release schedule                                 | 3.15|
+--+------+--------------------------------------------------------------+-----+
|IA|  602 | Annual release cycle for Python                              | 3.9 |
|IF|  607 | Reducing CPython's feature delivery latency                  | 3.9 |
+--+------+--------------------------------------------------------------+-----+
|                  Backward Compatibility / Deprecation                        |
+--+------+--------------------------------------------------------------+-----+
|P |    4 | Deprecation of Standard Modules                              | --- |
|IF|  291 | Backward Compatibility for the Python 2 Standard Library     | 2.3 |
|P |  387 | Backwards compatibility policy                               | --- |
|DR|  497 | A standard mechanism for backward compatibility              | --- |
|SF|  565 | Show DeprecationWarning in __main__                          | 3.7 |
|SR|  606 | Python compatibility version                                 | 3.9 |
|SA|  632 | Deprecate distutils module                                   | 3.10|
|PF| 3002 | Procedure for Backwards Incompatible Changes                 | --- |
+--+------+--------------------------------------------------------------+-----+


+--+------+--------------------------------------------------------------+-----+
|                                     TODO                                     |
+--+------+--------------------------------------------------------------+-----+
|IW|  206 | Python Advanced Library ("Batteries Included")               |     |
|I |  394 | The "python" command on Unix-Like systems (Shee-Bang #!...)  |     |
+--+------+--------------------------------------------------------------+-----+
|SF|  232 | Function attributes                                          | 2.1 |
+--+------+--------------------------------------------------------------+-----+
|SF|  205 | Weak references                                              | 2.1 |
|SF|  441 | Improving Python ZIP application support !!!                 | ?.? |
|SF|  562 | Customization module attr access (__getattr__, __dir__)      | 3.7 |
+--+------+--------------------------------------------------------------+-----+
|SF| 3105 | Make print a function                                        | 3.0 |
|SF| 3155 | Qualified name for classes and functions (__qualname__)      | 3.3 |
+--+------+--------------------------------------------------------------+-----+
|SF|  553 | Built-in breakpoint() function                               | 3.7 |
|SA|  768 | Zero overhead external debugger interface for CPython        | 3.14|
|SA|  765 | Disallow return/break/continue that exit a finally block     | 3.14|
|SA|  741 | An improved C API for configuring Python                     | 3.14|
+--+------+--------------------------------------------------------------+-----+
|SF|  282 | A logging system                                             | 2.3 |
+--+------+--------------------------------------------------------------+-----+
|SF|  495 | Local time disambiguation                                    | 3.6 |
+--+------+--------------------------------------------------------------+-----+
|SF| 3151 | Reworking the exception hierarchy                            | 3.3 |
|SF|  654 | Exception Groups and except*                                 | 3.11|
|SF|  657 | Enhanced error locations in tracebacks                       | 3.11|
|SF|  680 | Support for parsing TOML in standard library                 | 3.11|
+--+------+--------------------------------------------------------------+-----+
|SF|  659 | Specializing adaptive interpreter                            | 3.11|
+--+------+--------------------------------------------------------------+-----+
|SA|  617 | New PEG parser for CPython                                   | 3.9 |
+--+------+--------------------------------------------------------------+-----+
|SF|  730 | Adding iOS as a supported platform (tier 3)                  | 3.13|
|SF|  738 | Adding Android as a supported platform (tier 3)              | 3.13|
+--+------+--------------------------------------------------------------+-----+
|SF|  594 | Removing "dead batteries" from the standard library          | 3.11|
+--+------+--------------------------------------------------------------+-----+
|SA|  739 | Static description file for build details of Python install. | 3.14|
|SA|  743 | Add Py_COMPAT_API_VERSION to the Python C API                | 3.14|
|SA|  746 | Type checking Annotated metadata                             | 3.14|
|SA|  747 | Annotationg Type Forms                                       | 3.14|
|SA|  750 | Tag Strings For Writing Domain-Specific Languages (Template) | 3.14|
|SA|  751 | A file format to record Python dependencies for installation reproducibility | 3.15|
|SA|  756 | Add PyUnicode_Export() and PyUnicode_Import() C functions    | 3.14|
|SA|  757 | C API to import-export Python integers                       | 3.14|
|SA|  758 | Allow except and except* expressions without parentheses     | 3.14|
|SA|  761 | Deprecating PGP signatures for CPython artifacts             | 3.14|
|SA|  789 | Preventing task-cancel. bugs by limiting yield in async gen. | 3.14|
+--+------+--------------------------------------------------------------+-----+


+--+------+--------------------------------------------------------------+-----+
|                            Noch offene PEPs                                  |
+--+------+--------------------------------------------------------------+-----+
|DR|  603 | Adding a frozenmap type to collections                       | 3.9 |
|DR|  611 | The one million limit                                        | 3.9 |
+--+------+--------------------------------------------------------------+-----+


+--+------+--------------------------------------------------------------+-----+
|                     Zurückgewiesene/Zurückgezogene PEPs                      |
+--+------+--------------------------------------------------------------+-----+
|SW|  288 | Generator attributes and exceptions (--> 343)                | 2.5 |
|SW|  310 | Reliable acquisition/release pairs (--> 343)                 | 2.4 |
|SR|  315 | Resource-Release support for generators (--> 342)            | 2.4 |
|SR|  340 | Anonymous block statements (--> 343)                         | --- |
+--+------+--------------------------------------------------------------+-----+
|SR|  315 | Enhanced while loop                                          | 3.5 |
+--+------+--------------------------------------------------------------+-----+
|SR|  275 | Switching on multiple values                                 | 2.6 |
|SR| 3103 | A switch/case statement                                      | 3.0 |
+--+------+--------------------------------------------------------------+-----+
|SR| 3136 | Labeled break and continue                                   | 3.1 |
+--+------+--------------------------------------------------------------+-----+
|SD| 3124 | Overloading, generic functions, interfaces, and adaptation   | --- |
+--+------+--------------------------------------------------------------+-----+
|SW| 3146 | Merging unladen swallow into CPython                         | 3.3 |
+--+------+--------------------------------------------------------------+-----+
|SR|  516 | Build system abstraction for pip/conda/...                   | --- |
|SP|  517 | A build system independent format for source trees           | --- |
+--+------+--------------------------------------------------------------+-----+