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 | --- | +--+------+--------------------------------------------------------------+-----+