python_enhancement_proposals_pep

Python Enhancement Proposals (PEP)

Return to Python, Must-Read Python PEPs, JDK Enhancement Proposals (JEP), Java Specification Requests (JSR), Python Topics

Creating a definitive and updated list of the top 40 Python PEPs sorted by their common usage and importance without repeating entries from the previous response. This list will try to cover a broad range of Python aspects, including syntax, conventions, and features that have significantly shaped Python programming.

1. PEP 8https://peps.python.org/pep-0008Style Guide for Python Code

2. PEP 20https://peps.python.org/pep-0020The Zen of Python

3. PEP 257https://peps.python.org/pep-0257Docstring Conventions

4. PEP 484https://peps.python.org/pep-0484Type Hints

5. PEP 572https://peps.python.org/pep-0572Assignment Expressions

6. PEP 202https://peps.python.org/pep-0202List Comprehensions

7. PEP 308https://peps.python.org/pep-0308Conditional Expressions

8. PEP 343https://peps.python.org/pep-0343The "with" Statement

9. PEP 498https://peps.python.org/pep-0498Formatted String Literals

10. PEP 526https://peps.python.org/pep-0526Syntax for Variable Annotations

11. PEP 557https://peps.python.org/pep-0557Data Classes

12. PEP 560https://peps.python.org/pep-0560Core Support for typing module and generic types

13. PEP 3107https://peps.python.org/pep-3107Function Annotations

14. PEP 3118https://peps.python.org/pep-3118Revised Buffer Protocol

15. PEP 3333https://peps.python.org/pep-3333Python Web Server Gateway Interface v1.0.1

16. PEP 380https://peps.python.org/pep-0380Syntax for Delegating to a Subgenerator

17. PEP 492https://peps.python.org/pep-0492Coroutines with async and await syntax

18. PEP 484https://peps.python.org/pep-0484Type Hints

19. PEP 585https://peps.python.org/pep-0585Type Hinting Generics In Standard Collections

20. PEP 612https://peps.python.org/pep-0612Parameter Specification Variables

21. PEP 618https://peps.python.org/pep-0618Add Optional Length-Checking To zip

22. PEP 622https://peps.python.org/pep-0622Structural Pattern Matching

23. PEP 634https://peps.python.org/pep-0634Structural Pattern Matching - Specification

24. PEP 635https://peps.python.org/pep-0635Structural Pattern Matching - Motivation and Rationale

25. PEP 636https://peps.python.org/pep-0636Structural Pattern Matching - Tutorial

26. PEP 563https://peps.python.org/pep-0563Postponed Evaluation of Type Annotations

27. PEP 567https://peps.python.org/pep-0567Context Variables

28. PEP 589https://peps.python.org/pep-0589 Type Hints for Dictionaries with a Fixed Set of Keys

29. PEP 593https://peps.python.org/pep-0593Flexible Function and Variable Annotations

30. PEP 544https://peps.python.org/pep-0544 Structural subtyping (static duck typing)

31. PEP 602https://peps.python.org/pep-0602Annual Release Cycle for Python

32. PEP 604https://peps.python.org/pep-0604 Y

33. PEP 610https://peps.python.org/pep-0610Using the Editable installs for PyPI packages

34. PEP 617https://peps.python.org/pep-0617New PEG parser for CPython

35. PEP 621https://peps.python.org/pep-0621Storing project metadata in pyproject.toml

36. PEP 626https://peps.python.org/pep-0626Precise Line Numbers for Debugging and Other Tools

37. PEP 634https://peps.python.org/pep-0634 Specification

38. PEP 637https://peps.python.org/pep-0637Support for indexing with keyword arguments

39. PEP 646https://peps.python.org/pep-0646Variadic Generics

40. PEP 655https://peps.python.org/pep-0655Marking individual TypedDict items as required or potentially-missing

This list represents a mix of PEPs that introduce significant features, syntax changes, and standards for writing and annotating Python code, reflecting their broad impact on Python development practices.


PEP Index

» PEP 0 – Index of Python Enhancement Proposals (PEPs)
PEP 0 - Index of Python Enhancement Proposals (PEPs)

Author

python-dev <python-dev at python.org>

Status

Active

Type

Informational

Created

13-Jul-2000

Introduction

This PEP contains the index of all Python Enhancement Proposals, known as PEPs. PEP numbers are assigned by the PEP editors, and once assigned are never changed. The version control history of the PEP texts represent their historical record.

Index by Category

Finished PEPs (done, with a stable interface)

PEP PEP Title PEP Author(s)

Meta-PEPs (PEPs about PEPs or Processes)

PEP PEP Title PEP Author(s) P 1 PEP Purpose and Guidelines Warsaw, Hylton, Goodger, Coghlan P 4 Deprecation of Standard Modules Cannon, von Löwis P 5 Guidelines for Language Evolution Prescod P 6 Bug Fix Releases Aahz, Baxter P 7 Style Guide for C Code GvR, Warsaw P 8 Style Guide for Python Code GvR, Warsaw, Coghlan P 10 Voting Guidelines Warsaw P 11 Removing support for little used platforms von Löwis, Cannon P 12 Sample reStructuredText PEP Template Goodger, Warsaw, Cannon P 387 Backwards Compatibility Policy Peterson PA 581 Using GitHub Issues for CPython Mariatta P 609 PyPA Governance Ingram, Gedam, Harihareswara P 676 PEP Infrastructure Process Turner

Other Informational PEPs

PEP PEP Title PEP Author(s) I 13 Python Language Governance python-dev I 20 The Zen of Python Peters I 101 Doing Python Releases 101 Warsaw, GvR IF 247 API for Cryptographic Hash Functions Kuchling IF 248 Python Database API Specification v1.0 Lemburg IF 249 Python Database API Specification v2.0 Lemburg I 257 Docstring Conventions Goodger, GvR IF 272 API for Block Encryption Algorithms v1.0 Kuchling I 287 reStructuredText Docstring Format Goodger I 290 Code Migration and Modernization Hettinger IF 291 Backward Compatibility for the Python 2 Standard … Norwitz IF 333 Python Web Server Gateway Interface v1.0 Eby I 394 The “python” Command on Unix-Like Systems Staley, Coghlan, Warsaw, Viktorin, Hrončok, Willing IF 399 Pure Python/C Accelerator Module Compatibility … Cannon IF 404 Python 2.8 Un-release Schedule Warsaw I 411 Provisional packages in the Python standard library Coghlan, Bendersky IF 430 Migrating to Python 3 as the default online … Coghlan I 434 IDLE Enhancement Exception for All Branches Rovito, Reedy I 440 Version Identification and Dependency Specification Coghlan, Stufft IF 452 API for Cryptographic Hash Functions v2.0 Kuchling, Heimes IF 457 Notation For Positional-Only Parameters Hastings I 478 Python 3.5 Release Schedule Hastings IF 482 Literature Overview for Type Hints Langa IF 483 The Theory of Type Hints GvR, Levkivskyi IA 503 Simple Repository API Stufft I 508 Dependency specification for Python Software Packages Collins I 514 Python registration in the Windows registry Dower I 537 Python 3.7 Release Schedule Deily I 569 Python 3.8 Release Schedule Langa IF 579 Refactoring C functions and methods Demeyer I 596 Python 3.9 Release Schedule Langa IA 600 Future ‘manylinux’ Platform Tags for Portable Linux … Smith, Kluyver IA 602 Annual Release Cycle for Python Langa IF 607 Reducing CPython’s Feature Delivery Latency Langa, Dower, Coghlan IA 627 Recording installed projects Viktorin I 630 Isolating Extension Modules Viktorin IF 635 Structural Pattern Matching: Motivation and Rationale Kohn, GvR IF 636 Structural Pattern Matching: Tutorial Moisset IA 656 Platform Tag for Linux Distributions Using Musl Chung I 672 Unicode-related Security Considerations for Python Viktorin IF 3333 Python Web Server Gateway Interface v1.0.1 Eby I 8000 Python Language Governance Proposal Overview Warsaw I 8002 Open Source Governance Survey Warsaw, Langa, Pitrou, Hellmann, Willing IA 8016 The Steering Council Model Smith, Stufft I 8100 January 2019 steering council election Smith, Durbin I 8101 2020 Term steering council election Jodlowska, Durbin I 8102 2021 Term steering council election Jodlowska, Durbin, Carey I 8103 2022 Term steering council election Jodlowska, Durbin, Carey

Provisional PEPs (provisionally accepted; interface may still change)

PEP PEP Title PEP Author(s)

Accepted PEPs (accepted; may not be implemented yet)

PEP PEP Title PEP Author(s) SA 458 Secure PyPI downloads with signed repository metadata Kuppusamy, Diaz, Moore, Puehringer, Lock, DeLong, Cappos SA 544 Protocols: Structural subtyping (static duck typing) Levkivskyi, Lehtosalo, Langa SA 560 Core support for typing module and generic types Levkivskyi SA 561 Distributing and Packaging Type Information Smith SA 563 Postponed Evaluation of Annotations Langa SA 570 Python Positional-Only Parameters Hastings, Galindo, Corchero, Vander Weele SA 572 Assignment Expressions Angelico, Peters, GvR SA 578 Python Runtime Audit Hooks Dower SA 585 Type Hinting Generics In Standard Collections Langa SA 586 Literal Types Lee, Levkivskyi, Lehtosalo SA 589 TypedDict: Type Hints for Dictionaries with a Fixed … Lehtosalo SA 590 Vectorcall: a fast calling protocol for CPython Shannon, Demeyer SA 591 Adding a final qualifier to typing Sullivan, Levkivskyi SA 593 Flexible function and variable annotations Varoquaux, Kashin SA 594 Removing dead batteries from the standard library Heimes, Cannon SA 604 Allow writing union types as X | Y PRADOS, Moss SA 612 Parameter Specification Variables Mendoza SA 613 Explicit Type Aliases Zhu SA 615 Support for the IANA Time Zone Database in the … Ganssle SA 616 String methods to remove prefixes and suffixes Sweeney SA 617 New PEG parser for CPython GvR, Galindo, Nikolaou SA 623 Remove wstr from Unicode Inada SA 631 Dependency specification in pyproject.toml based on … Lev SA 632 Deprecate distutils module Dower SA 634 Structural Pattern Matching: Specification Bucher, GvR SA 646 Variadic Generics Mendoza, Rahtz, Srinivasan, Siles SA 647 User-Defined Type Guards Traut SA 654 Exception Groups and except* Katriel, Selivanov, GvR SA 655 Marking individual TypedDict items as required or … Foster SA 658 Serve Distribution Metadata in the Simple … Chung SA 660 Editable installs for pyproject.toml based builds … Holth, Bidoul SA 673 Self Type Srinivasan, Hilton-Balfe SA 675 Arbitrary Literal String Type Srinivasan, Bleaney SA 680 tomllib: Support for Parsing TOML in the Standard … Hukkinen SA 682 Format Specifier for Signed Zero Belmonte SA 685 Comparison of extra names for optional distribution … Cannon SA 3121 Extension Module Initialization and Finalization von Löwis

Open PEPs (under consideration)

PEP PEP Title PEP Author(s) S 467 Minor API improvements for binary sequences Coghlan, Furman S 480 Surviving a Compromise of PyPI: End-to-end signing … Kuppusamy, Diaz, Cappos, Moore S 554 Multiple Interpreters in the Stdlib Snow S 558 Defined semantics for locals() Coghlan S 582 Python local packages directory Das, Dower, Stufft, Coghlan I 588 GitHub Issues Migration Plan Mariatta S 603 Adding a frozenmap type to collections Selivanov I 619 Python 3.10 Release Schedule Salgado S 620 Hide implementation details from the C API Stinner S 625 File name of a Source Distribution Chung, Moore S 638 Syntactic Macros Shannon S 639 Improving License Clarity with Better Package Metadata Ombredanne, Gerlach S 642 Explicit Pattern Syntax for Structural Pattern Matching Coghlan P 645 Allow writing optional types as x? Moss S 649 Deferred Evaluation Of Annotations Using Descriptors Hastings P 650 Specifying Installer Requirements for Python Projects Jayanthi, Ingram, Cannon S 653 Precise Semantics for Pattern Matching Shannon I 659 Specializing Adaptive Interpreter Shannon S 661 Sentinel Values Einat I 664 Python 3.11 Release Schedule Salgado S 667 Consistent views of namespaces Shannon I 668 Marking Python base environments as “externally … Thomas, Klose, Laíns, Stufft, Chung, Rivera, Hashman, Gedam S 669 Low Impact Monitoring for CPython Shannon S 670 Convert macros to functions in the Python C API Aasland, Stinner S 671 Syntax for late-bound function argument defaults Angelico S 674 Disallow using macros as l-values Stinner S 678 Enriching Exceptions with Notes Hatfield-Dodds S 679 Allow parentheses in assert statements Salgado S 681 Data Class Transforms Bonte, Traut S 683 Immortal Objects, Using a Fixed Refcount Snow, Elizondo S 684 A Per-Interpreter GIL Snow S 686 Make UTF-8 mode default Inada I 801 Reserved Warsaw

Historical Meta-PEPs and Informational PEPs

PEP PEP Title PEP Author(s) PS 2 Procedure for Adding New Modules Faassen IF 160 Python 1.6 Release Schedule Drake IF 200 Python 2.0 Release Schedule Hylton IF 226 Python 2.1 Release Schedule Hylton IF 251 Python 2.2 Release Schedule Warsaw, GvR IF 283 Python 2.3 Release Schedule GvR IF 320 Python 2.4 Release Schedule Warsaw, Hettinger, Baxter PF 347 Migrating the Python CVS to Subversion von Löwis IF 356 Python 2.5 Release Schedule Norwitz, GvR, Baxter PF 360 Externally Maintained Packages Cannon IF 361 Python 2.6 and 3.0 Release Schedule Norwitz, Warsaw IF 373 Python 2.7 Release Schedule Peterson PF 374 Choosing a distributed VCS for the Python project Cannon, Turnbull, Vassalotti, Warsaw, Ochtman IF 375 Python 3.1 Release Schedule Peterson PF 385 Migrating from Subversion to Mercurial Ochtman, Pitrou, Brandl IF 392 Python 3.2 Release Schedule Brandl IF 398 Python 3.3 Release Schedule Brandl IF 429 Python 3.4 Release Schedule Hastings PS 438 Transitioning to release-file hosting on PyPI Krekel, Meyer PF 449 Removal of the PyPI Mirror Auto Discovery and … Stufft PF 464 Removal of the PyPI Mirror Authenticity API Stufft PF 470 Removing External Hosting Support on PyPI Stufft IF 494 Python 3.6 Release Schedule Deily PF 512 Migrating from hg.python.org to GitHub Cannon PF 527 Removing Un(der)used file types/extensions on PyPI Stufft PF 541 Package Index Name Retention Langa PF 545 Python Documentation Translations Palard, Inada, Stinner PF 3000 Python 3000 GvR PF 3002 Procedure for Backwards-Incompatible Changes Bethard PF 3003 Python Language Moratorium Cannon, Noller, GvR PF 3099 Things that will Not Change in Python 3000 Brandl PF 3100 Miscellaneous Python 3.0 Plans Cannon PF 8001 Python Governance Voting Process Cannon, Heimes, Stufft, Snow, Smith, Langa, Mariatta, Smith, Salgado, Hettinger, Einat, Peters, Ware Deferred PEPs (postponed pending further research or updates) PEP PEP Title PEP Author(s) SD 213 Attribute Access Handlers Prescod SD 219 Stackless Python McMillan SD 222 Web Library Enhancements Kuchling SD 233 Python Online Help Prescod SD 262 A Database of Installed Python Packages Kuchling SD 267 Optimized Access to Module Namespaces Hylton SD 269 Pgen Module for Python Riehl SD 280 Optimizing access to globals GvR SD 286 Enhanced Argument Tuples von Löwis SD 312 Simple Implicit Lambda Suzi, Martelli SD 316 Programming by Contract for Python Way SD 323 Copyable Iterators Martelli SD 337 Logging Usage in the Standard Library Dubner SD 368 Standard image protocol and class Mastrodomenico SD 400 Deprecate codecs.StreamReader and codecs.StreamWriter Stinner SD 403 General purpose decorator clause (aka “@in” clause) Coghlan PD 407 New release cycle and introducing long-term support … Pitrou, Brandl, Warsaw SD 419 Protecting cleanup statements from interruptions Colomiets ID 423 Naming conventions and recipes related to packaging Bryon ID 444 Python Web3 Interface McDonough, Ronacher SD 447 Add __getdescriptor__ method to metaclass Oussoren SD 491 The Wheel Binary Package Format 1.9 Holth SD 499 python -m foo should bind … Simpson, Angelico, Jevnik SD 501 General purpose string interpolation Coghlan SD 505 None-aware operators Haase, Dower SD 532 A circuit breaking protocol and binary operators Coghlan, Haase SD 533 Deterministic cleanup for iterators Smith SD 534 Improved Errors for Missing Standard Library Modules Orsava, Viktorin, Coghlan SD 535 Rich comparison chaining Coghlan SD 536 Final Grammar for Literal String Interpolation Angerer SD 547 Running extension modules using the -m option Plch, Viktorin SD 556 Threaded garbage collection Pitrou SD 568 Generator-sensitivity for Context Variables Smith SD 3124 Overloading, Generic Functions, Interfaces, and … Eby SD 3143 Standard daemon process library Finney SD 3150 Statement local namespaces (aka “given” clause) Coghlan Abandoned, Withdrawn, and Rejected PEPs PEP PEP Title PEP Author(s) PW 3 Guidelines for Handling Bug Reports Hylton PW 9 Sample Plaintext PEP Template Warsaw PR 42 Feature Requests Hylton IS 102 Doing Python Micro Releases Baxter, Warsaw, GvR IW 103 Collecting information about git Broytman SR 204 Range Literals Wouters IW 206 Python Advanced Library Kuchling SW 209 Multi-dimensional Arrays Barrett, Oliphant SR 210 Decoupling the Interpreter Loop Ascher SR 211 Adding A New Outer Product Operator Wilson SR 212 Loop Counter Iteration Schneider-Kamp SS 215 String Interpolation Yee IR 216 Docstring Format Zadka IR 220 Coroutines, Generators, Continuations McMillan SR 224 Attribute Docstrings Lemburg SR 225 Elementwise/Objectwise Operators Zhu, Lielens SW 228 Reworking Python’s Numeric Model Zadka, GvR SR 231 __findattr__() Warsaw SR 239 Adding a Rational Type to Python Craig, Zadka SR 240 Adding a Rational Literal to Python Craig, Zadka SR 242 Numeric Kinds Dubois SW 243 Module Repository Upload Mechanism Reifschneider SR 244 The directive statement von Löwis SR 245 Python Interface Syntax Pelletier SR 246 Object Adaptation Martelli, Evans SR 254 Making Classes Look More Like Types GvR SR 256 Docstring Processing System Framework Goodger SR 258 Docutils Design Specification Goodger SR 259 Omit printing newline after newline GvR SR 265 Sorting Dictionaries by Value Griffin SW 266 Optimizing Global Variable/Attribute Access Montanaro SR 268 Extended HTTP functionality and WebDAV Stein SR 270 uniq method for list objects Petrone SR 271 Prefixing sys.path by command line option Giacometti SR 275 Switching on Multiple Values Lemburg SR 276 Simple Iterator for ints Althoff SR 281 Loop Counter Iteration with range and xrange Hetland SR 284 Integer for-loops Eppstein, Ewing SW 288 Generators Attributes and Exceptions Hettinger SR 294 Type Names in the types Module Tirosh SR 295 Interpretation of multiline string constants Koltsov SW 296 Adding a bytes Object Type Gilbert SR 297 Support for System Upgrades Lemburg SW 298 The Locked Buffer Interface Heller SR 299 Special __main__() function in modules Epler SR 303 Extend divmod() for Multiple Divisors Bellman SW 304 Controlling Generation of Bytecode Files Montanaro IW 306 How to Change Python’s Grammar Hudson, Diederich, Coghlan, Peterson SR 310 Reliable Acquisition/Release Pairs Hudson, Moore SR 313 Adding Roman Numeral Literals to Python Meyer SR 315 Enhanced While Loop Hettinger, Carroll SR 317 Eliminate Implicit Exception Instantiation Taschuk SR 319 Python Synchronize/Asynchronize Block Pelletier SW 321 Date/Time Parsing and Formatting Kuchling SR 325 Resource-Release Support for Generators Pedroni SR 326 A Case for Top and Bottom Values Carlson, Reedy SR 329 Treating Builtins as Constants in the Standard Library Hettinger SR 330 Python Bytecode Verification Pelletier SR 332 Byte vectors and String/Unicode Unification Montanaro SW 334 Simple Coroutines via SuspendIteration Evans SR 335 Overloadable Boolean Operators Ewing SR 336 Make None Callable McClelland IW 339 Design of the CPython Compiler Cannon SR 340 Anonymous Block Statements GvR SS 344 Exception Chaining and Embedded Tracebacks Yee SW 346 User Defined (”with”) Statements Coghlan SR 348 Exception Reorganization for Python 3.0 Cannon SR 349 Allow str() to return unicode strings Schemenauer IR 350 Codetags Elliott SR 351 The freeze protocol Warsaw SS 354 Enumerations in Python Finney SR 355 Path - Object oriented filesystem paths Lindqvist SW 359 The “make” Statement Bethard SR 363 Syntax For Dynamic Attribute Access North SW 364 Transitioning to the Py3K Standard Library Warsaw SR 365 Adding the pkg_resources module Eby SS 367 New Super Spealman, Delaney SW 369 Post import hooks Heimes SR 377 Allow __enter__() methods to skip the statement body Coghlan SW 379 Adding an Assignment Expression Whitley SW 381 Mirroring infrastructure for PyPI Ziadé, von Löwis SR 382 Namespace Packages von Löwis SS 386 Changing the version comparison module in Distutils Ziadé SR 390 Static metadata for Distutils Ziadé SW 395 Qualified Names for Modules Coghlan IR 396 Module Version Numbers Warsaw PR 401 BDFL Retirement Warsaw, Cannon SR 402 Simplified Package Layout and Partitioning Eby SW 406 Improved Encapsulation of Import State Coghlan, Slodkowicz SR 408 Standard library __preview__ package Coghlan, Bendersky SR 410 Use decimal.Decimal type for timestamps Stinner PW 413 Faster evolution of the Python Standard Library Coghlan SR 416 Add a frozendict builtin type Stinner SW 422 Simpler customisation of class creation Coghlan, Urban IW 426 Metadata for Python Software Packages 2.0 Coghlan, Holth, Stufft SS 431 Time zone support improvements Regebro SW 432 Restructuring the CPython startup sequence Coghlan, Stinner, Snow SS 433 Easier suppression of file descriptor inheritance Stinner SR 437 A DSL for specifying signatures, annotations and … Krah SR 439 Inclusion of implicit pip bootstrap in Python … Jones SR 455 Adding a key-transforming dictionary to collections Pitrou SW 459 Standard Metadata Extensions for Python Software … Coghlan SW 460 Add binary interpolation and formatting Pitrou PW 462 Core development workflow automation for CPython Coghlan SR 463 Exception-catching expressions Angelico SW 469 Migration of dict iteration code to Python 3 Coghlan SR 472 Support for indexing with keyword arguments Borini, Martinot-Lagarde SR 473 Adding structured data to built-in exceptions Kreft PW 474 Creating forge.python.org Coghlan PW 481 Migrate CPython to Git, Github, and Phabricator Stufft SR 490 Chain exceptions at C level Stinner IR 496 Environment Markers Polley PR 497 A standard mechanism for backward compatibility Schofield SR 500 A protocol for delegating datetime methods to their … Belopolsky, Peters IR 502 String Interpolation - Extended Discussion Miller SW 504 Using the System RNG by default Coghlan PR 507 Migrate CPython to Git and GitLab Warsaw SR 510 Specialize functions with guards Stinner SR 511 API for code transformers Stinner IS 513 A Platform Tag for Portable Linux Built Distributions McGibbon, Smith SR 516 Build system abstraction for pip/conda etc Collins, Smith SW 521 Managing global context via ‘with’ blocks in … Smith SR 522 Allow BlockingIOError in security sensitive APIs Coghlan, Smith SW 531 Existence checking operators Coghlan SR 542 Dot Notation Assignment In Function Header Meskanen SW 543 A Unified TLS API for Python Benfield, Heimes SR 546 Backport ssl.MemoryBIO and ssl.SSLObject to Python 2.7 Stinner, Benfield SR 548 More Flexible Loop Control Murray SR 549 Instance Descriptors Hastings SW 550 Execution Context Selivanov, Pranskevichus IW 551 Security transparency in the Python runtime Dower SW 555 Context-local variables (contextvars) Zevenhoven SR 559 Built-in noop() Warsaw IS 571 The manylinux2010 Platform Tag Williams, Thomas, Kluyver SW 575 Unifying function/method classes Demeyer SW 576 Rationalize Built-in function classes Shannon SW 577 Augmented Assignment Expressions Coghlan SR 580 The C call protocol Demeyer IW 583 A Concurrency Memory Model for Python Yasskin IW 595 Improving bugs.python.org Melotti, Peksag IW 598 Introducing incremental feature releases Coghlan IS 599 The manylinux2014 Platform Tag Ingram SR 601 Forbid return/break/continue breaking out of finally George, Taskaya IR 605 A rolling feature release stream for CPython Dower, Coghlan SR 606 Python Compatibility Version Stinner SR 608 Coordinated Python release Hrončok, Stinner SW 611 The one million limit Shannon SS 622 Structural Pattern Matching Bucher, Moisset, Kohn, Levkivskyi, GvR, Talin SR 633 Dependency specification in pyproject.toml using an … Opperman, Neelicattu SR 637 Support for indexing with keyword arguments Borini SR 640 Unused variable syntax Wouters SR 641 Using an underscore in the version portion of … Cannon, Dower, Warsaw SR 648 Extensible customizations of the interpreter at startup Corchero SR 651 Robust Stack Overflow Handling Shannon SR 662 Editable installs via virtual wheels Gábor IR 663 Standardizing Enum str(), repr(), and format() … Furman SR 665 A file format to list Python dependencies for … Cannon, Gedam, Chung SR 666 Reject Foolish Indentation Creighton SR 677 Callable Type Syntax Troxler, Srinivasan SR 754 IEEE 754 Floating Point Special Values Warnes PW 3001 Procedure for reviewing and improving standard … Brandl SR 3103 A Switch/Case Statement GvR SR 3117 Postfix type declarations Brandl SR 3122 Delineation of the main module Cannon SR 3125 Remove Backslash Continuation Jewett SR 3126 Remove Implicit String Concatenation Jewett, Hettinger SR 3128 BList: A Faster List-like Type Stutzbach SR 3130 Access to Current Module/Class/Function Jewett SR 3133 Introducing Roles Winter SR 3136 Labeled break and continue Chisholm SR 3139 Cleaning out sys and the “interpreter” module Peterson SR 3140 str(container) should call str(item), not repr(item) Broytman, Jewett SR 3142 Add a “while” clause to generator expressions Britton SW 3145 Asynchronous I/O For subprocess.Popen Pruitt, McCreary, Carlson SW 3146 Merging Unladen Swallow into CPython Winter, Yasskin, Kleckner SR 3152 Cofunctions Ewing SS 3153 Asynchronous IO support Houtven IR 8010 The Technical Leader Governance Model Warsaw IR 8011 Python Governance Model Lead by Trio of Pythonistas Mariatta, Warsaw IR 8012 The Community Governance Model Langa IR 8013 The External Council Governance Model Dower IR 8014 The Commons Governance Model Jansen IR 8015 Organization of the Python community Stinner Numerical Index PEP PEP Title PEP Author(s) P 1 PEP Purpose and Guidelines Warsaw, Hylton, Goodger, Coghlan PS 2 Procedure for Adding New Modules Faassen PW 3 Guidelines for Handling Bug Reports Hylton P 4 Deprecation of Standard Modules Cannon, von Löwis P 5 Guidelines for Language Evolution Prescod P 6 Bug Fix Releases Aahz, Baxter P 7 Style Guide for C Code GvR, Warsaw P 8 Style Guide for Python Code GvR, Warsaw, Coghlan PW 9 Sample Plaintext PEP Template Warsaw P 10 Voting Guidelines Warsaw P 11 Removing support for little used platforms von Löwis, Cannon P 12 Sample reStructuredText PEP Template Goodger, Warsaw, Cannon I 13 Python Language Governance python-dev I 20 The Zen of Python Peters PR 42 Feature Requests Hylton SF 100 Python Unicode Integration Lemburg I 101 Doing Python Releases 101 Warsaw, GvR IS 102 Doing Python Micro Releases Baxter, Warsaw, GvR IW 103 Collecting information about git Broytman IF 160 Python 1.6 Release Schedule Drake IF 200 Python 2.0 Release Schedule Hylton SF 201 Lockstep Iteration Warsaw SF 202 List Comprehensions Warsaw SF 203 Augmented Assignments Wouters SR 204 Range Literals Wouters SF 205 Weak References Drake IW 206 Python Advanced Library Kuchling SF 207 Rich Comparisons GvR, Ascher SF 208 Reworking the Coercion Model Schemenauer, Lemburg SW 209 Multi-dimensional Arrays Barrett, Oliphant SR 210 Decoupling the Interpreter Loop Ascher SR 211 Adding A New Outer Product Operator Wilson SR 212 Loop Counter Iteration Schneider-Kamp SD 213 Attribute Access Handlers Prescod SF 214 Extended Print Statement Warsaw SS 215 String Interpolation Yee IR 216 Docstring Format Zadka SF 217 Display Hook for Interactive Use Zadka SF 218 Adding a Built-In Set Object Type Wilson, Hettinger SD 219 Stackless Python McMillan IR 220 Coroutines, Generators, Continuations McMillan SF 221 Import As Wouters SD 222 Web Library Enhancements Kuchling SF 223 Change the Meaning of \x Escapes Peters SR 224 Attribute Docstrings Lemburg SR 225 Elementwise/Objectwise Operators Zhu, Lielens IF 226 Python 2.1 Release Schedule Hylton SF 227 Statically Nested Scopes Hylton SW 228 Reworking Python’s Numeric Model Zadka, GvR SF 229 Using Distutils to Build Python Kuchling SF 230 Warning Framework GvR SR 231 __findattr__() Warsaw SF 232 Function Attributes Warsaw SD 233 Python Online Help Prescod SF 234 Iterators Yee, GvR SF 235 Import on Case-Insensitive Platforms Peters SF 236 Back to the __future__ Peters SF 237 Unifying Long Integers and Integers Zadka, GvR SF 238 Changing the Division Operator Zadka, GvR SR 239 Adding a Rational Type to Python Craig, Zadka SR 240 Adding a Rational Literal to Python Craig, Zadka SF 241 Metadata for Python Software Packages Kuchling SR 242 Numeric Kinds Dubois SW 243 Module Repository Upload Mechanism Reifschneider SR 244 The directive statement von Löwis SR 245 Python Interface Syntax Pelletier SR 246 Object Adaptation Martelli, Evans IF 247 API for Cryptographic Hash Functions Kuchling IF 248 Python Database API Specification v1.0 Lemburg IF 249 Python Database API Specification v2.0 Lemburg SF 250 Using site-packages on Windows Moore IF 251 Python 2.2 Release Schedule Warsaw, GvR SF 252 Making Types Look More Like Classes GvR SF 253 Subtyping Built-in Types GvR SR 254 Making Classes Look More Like Types GvR SF 255 Simple Generators Schemenauer, Peters, Hetland SR 256 Docstring Processing System Framework Goodger I 257 Docstring Conventions Goodger, GvR SR 258 Docutils Design Specification Goodger SR 259 Omit printing newline after newline GvR SF 260 Simplify xrange() GvR SF 261 Support for “wide” Unicode characters Prescod SD 262 A Database of Installed Python Packages Kuchling SF 263 Defining Python Source Code Encodings Lemburg, von Löwis SF 264 Future statements in simulated shells Hudson SR 265 Sorting Dictionaries by Value Griffin SW 266 Optimizing Global Variable/Attribute Access Montanaro SD 267 Optimized Access to Module Namespaces Hylton SR 268 Extended HTTP functionality and WebDAV Stein SD 269 Pgen Module for Python Riehl SR 270 uniq method for list objects Petrone SR 271 Prefixing sys.path by command line option Giacometti IF 272 API for Block Encryption Algorithms v1.0 Kuchling SF 273 Import Modules from Zip Archives Ahlstrom SF 274 Dict Comprehensions Warsaw SR 275 Switching on Multiple Values Lemburg SR 276 Simple Iterator for ints Althoff SF 277 Unicode file name support for Windows NT Hodgson SF 278 Universal Newline Support Jansen SF 279 The enumerate() built-in function Hettinger SD 280 Optimizing access to globals GvR SR 281 Loop Counter Iteration with range and xrange Hetland SF 282 A Logging System Sajip, Mick IF 283 Python 2.3 Release Schedule GvR SR 284 Integer for-loops Eppstein, Ewing SF 285 Adding a bool type GvR SD 286 Enhanced Argument Tuples von Löwis I 287 reStructuredText Docstring Format Goodger SW 288 Generators Attributes and Exceptions Hettinger SF 289 Generator Expressions Hettinger I 290 Code Migration and Modernization Hettinger IF 291 Backward Compatibility for the Python 2 Standard … Norwitz SF 292 Simpler String Substitutions Warsaw SF 293 Codec Error Handling Callbacks Dörwald SR 294 Type Names in the types Module Tirosh SR 295 Interpretation of multiline string constants Koltsov SW 296 Adding a bytes Object Type Gilbert SR 297 Support for System Upgrades Lemburg SW 298 The Locked Buffer Interface Heller SR 299 Special __main__() function in modules Epler SF 301 Package Index and Metadata for Distutils Jones SF 302 New Import Hooks JvR, Moore SR 303 Extend divmod() for Multiple Divisors Bellman SW 304 Controlling Generation of Bytecode Files Montanaro SF 305 CSV File API Altis, Cole, McNamara, Montanaro, Wells IW 306 How to Change Python’s Grammar Hudson, Diederich, Coghlan, Peterson SF 307 Extensions to the pickle protocol GvR, Peters SF 308 Conditional Expressions GvR, Hettinger SF 309 Partial Function Application Harris SR 310 Reliable Acquisition/Release Pairs Hudson, Moore SF 311 Simplified Global Interpreter Lock Acquisition for … Hammond SD 312 Simple Implicit Lambda Suzi, Martelli SR 313 Adding Roman Numeral Literals to Python Meyer SF 314 Metadata for Python Software Packages v1.1 Kuchling, Jones SR 315 Enhanced While Loop Hettinger, Carroll SD 316 Programming by Contract for Python Way SR 317 Eliminate Implicit Exception Instantiation Taschuk SF 318 Decorators for Functions and Methods Smith SR 319 Python Synchronize/Asynchronize Block Pelletier IF 320 Python 2.4 Release Schedule Warsaw, Hettinger, Baxter SW 321 Date/Time Parsing and Formatting Kuchling SF 322 Reverse Iteration Hettinger SD 323 Copyable Iterators Martelli SF 324 subprocess - New process module Astrand SR 325 Resource-Release Support for Generators Pedroni SR 326 A Case for Top and Bottom Values Carlson, Reedy SF 327 Decimal Data Type Batista SF 328 Imports: Multi-Line and Absolute/Relative Aahz SR 329 Treating Builtins as Constants in the Standard Library Hettinger SR 330 Python Bytecode Verification Pelletier SF 331 Locale-Independent Float/String Conversions Reis SR 332 Byte vectors and String/Unicode Unification Montanaro IF 333 Python Web Server Gateway Interface v1.0 Eby SW 334 Simple Coroutines via SuspendIteration Evans SR 335 Overloadable Boolean Operators Ewing SR 336 Make None Callable McClelland SD 337 Logging Usage in the Standard Library Dubner SF 338 Executing modules as scripts Coghlan IW 339 Design of the CPython Compiler Cannon SR 340 Anonymous Block Statements GvR SF 341 Unifying try-except and try-finally Brandl SF 342 Coroutines via Enhanced Generators GvR, Eby SF 343 The “with” Statement GvR, Coghlan SS 344 Exception Chaining and Embedded Tracebacks Yee SF 345 Metadata for Python Software Packages 1.2 Jones SW 346 User Defined (”with”) Statements Coghlan PF 347 Migrating the Python CVS to Subversion von Löwis SR 348 Exception Reorganization for Python 3.0 Cannon SR 349 Allow str() to return unicode strings Schemenauer IR 350 Codetags Elliott SR 351 The freeze protocol Warsaw SF 352 Required Superclass for Exceptions Cannon, GvR SF 353 Using ssize_t as the index type von Löwis SS 354 Enumerations in Python Finney SR 355 Path - Object oriented filesystem paths Lindqvist IF 356 Python 2.5 Release Schedule Norwitz, GvR, Baxter SF 357 Allowing Any Object to be Used for Slicing Oliphant SF 358 The “bytes” Object Schemenauer, GvR SW 359 The “make” Statement Bethard PF 360 Externally Maintained Packages Cannon IF 361 Python 2.6 and 3.0 Release Schedule Norwitz, Warsaw SF 362 Function Signature Object Cannon, Seo, Selivanov, Hastings SR 363 Syntax For Dynamic Attribute Access North SW 364 Transitioning to the Py3K Standard Library Warsaw SR 365 Adding the pkg_resources module Eby SF 366 Main module explicit relative imports Coghlan SS 367 New Super Spealman, Delaney SD 368 Standard image protocol and class Mastrodomenico SW 369 Post import hooks Heimes SF 370 Per user site-packages directory Heimes SF 371 Addition of the multiprocessing package to the … Noller, Oudkerk SF 372 Adding an ordered dictionary to collections Ronacher, Hettinger IF 373 Python 2.7 Release Schedule Peterson PF 374 Choosing a distributed VCS for the Python project Cannon, Turnbull, Vassalotti, Warsaw, Ochtman IF 375 Python 3.1 Release Schedule Peterson SF 376 Database of Installed Python Distributions Ziadé SR 377 Allow __enter__() methods to skip the statement body Coghlan SF 378 Format Specifier for Thousands Separator Hettinger SW 379 Adding an Assignment Expression Whitley SF 380 Syntax for Delegating to a Subgenerator Ewing SW 381 Mirroring infrastructure for PyPI Ziadé, von Löwis SR 382 Namespace Packages von Löwis SF 383 Non-decodable Bytes in System Character Interfaces von Löwis SF 384 Defining a Stable ABI von Löwis PF 385 Migrating from Subversion to Mercurial Ochtman, Pitrou, Brandl SS 386 Changing the version comparison module in Distutils Ziadé P 387 Backwards Compatibility Policy Peterson SF 389 argparse - New Command Line Parsing Module Bethard SR 390 Static metadata for Distutils Ziadé SF 391 Dictionary-Based Configuration For Logging Sajip IF 392 Python 3.2 Release Schedule Brandl SF 393 Flexible String Representation von Löwis I 394 The “python” Command on Unix-Like Systems Staley, Coghlan, Warsaw, Viktorin, Hrončok, Willing SW 395 Qualified Names for Modules Coghlan IR 396 Module Version Numbers Warsaw SF 397 Python launcher for Windows Hammond, von Löwis IF 398 Python 3.3 Release Schedule Brandl IF 399 Pure Python/C Accelerator Module Compatibility … Cannon SD 400 Deprecate codecs.StreamReader and codecs.StreamWriter Stinner PR 401 BDFL Retirement Warsaw, Cannon SR 402 Simplified Package Layout and Partitioning Eby SD 403 General purpose decorator clause (aka “@in” clause) Coghlan IF 404 Python 2.8 Un-release Schedule Warsaw SF 405 Python Virtual Environments Meyer SW 406 Improved Encapsulation of Import State Coghlan, Slodkowicz PD 407 New release cycle and introducing long-term support … Pitrou, Brandl, Warsaw SR 408 Standard library __preview__ package Coghlan, Bendersky SF 409 Suppressing exception context Furman SR 410 Use decimal.Decimal type for timestamps Stinner I 411 Provisional packages in the Python standard library Coghlan, Bendersky SF 412 Key-Sharing Dictionary Shannon PW 413 Faster evolution of the Python Standard Library Coghlan SF 414 Explicit Unicode Literal for Python 3.3 Ronacher, Coghlan SF 415 Implement context suppression with exception attributes Peterson SR 416 Add a frozendict builtin type Stinner SF 417 Including mock in the Standard Library Foord SF 418 Add monotonic time, performance counter, and … Simpson, Jewett, Turnbull, Stinner SD 419 Protecting cleanup statements from interruptions Colomiets SF 420 Implicit Namespace Packages Smith SF 421 Adding sys.implementation Snow SW 422 Simpler customisation of class creation Coghlan, Urban ID 423 Naming conventions and recipes related to packaging Bryon SF 424 A method for exposing a length hint Gaynor SF 425 Compatibility Tags for Built Distributions Holth IW 426 Metadata for Python Software Packages 2.0 Coghlan, Holth, Stufft SF 427 The Wheel Binary Package Format 1.0 Holth SF 428 The pathlib module – object-oriented filesystem paths Pitrou IF 429 Python 3.4 Release Schedule Hastings IF 430 Migrating to Python 3 as the default online … Coghlan SS 431 Time zone support improvements Regebro SW 432 Restructuring the CPython startup sequence Coghlan, Stinner, Snow SS 433 Easier suppression of file descriptor inheritance Stinner I 434 IDLE Enhancement Exception for All Branches Rovito, Reedy SF 435 Adding an Enum type to the Python standard library Warsaw, Bendersky, Furman SF 436 The Argument Clinic DSL Hastings SR 437 A DSL for specifying signatures, annotations and … Krah PS 438 Transitioning to release-file hosting on PyPI Krekel, Meyer SR 439 Inclusion of implicit pip bootstrap in Python … Jones I 440 Version Identification and Dependency Specification Coghlan, Stufft SF 441 Improving Python ZIP Application Support Holth, Moore SF 442 Safe object finalization Pitrou SF 443 Single-dispatch generic functions Langa ID 444 Python Web3 Interface McDonough, Ronacher SF 445 Add new APIs to customize Python memory allocators Stinner SF 446 Make newly created file descriptors non-inheritable Stinner SD 447 Add __getdescriptor__ method to metaclass Oussoren SF 448 Additional Unpacking Generalizations Landau PF 449 Removal of the PyPI Mirror Auto Discovery and … Stufft SF 450 Adding A Statistics Module To The Standard Library D’Aprano SF 451 A ModuleSpec Type for the Import System Snow IF 452 API for Cryptographic Hash Functions v2.0 Kuchling, Heimes SF 453 Explicit bootstrapping of pip in Python installations Stufft, Coghlan SF 454 Add a new tracemalloc module to trace Python memory … Stinner SR 455 Adding a key-transforming dictionary to collections Pitrou SF 456 Secure and interchangeable hash algorithm Heimes IF 457 Notation For Positional-Only Parameters Hastings SA 458 Secure PyPI downloads with signed repository metadata Kuppusamy, Diaz, Moore, Puehringer, Lock, DeLong, Cappos SW 459 Standard Metadata Extensions for Python Software … Coghlan SW 460 Add binary interpolation and formatting Pitrou SF 461 Adding % formatting to bytes and bytearray Furman PW 462 Core development workflow automation for CPython Coghlan SR 463 Exception-catching expressions Angelico PF 464 Removal of the PyPI Mirror Authenticity API Stufft SF 465 A dedicated infix operator for matrix multiplication Smith SF 466 Network Security Enhancements for Python 2.7.x Coghlan S 467 Minor API improvements for binary sequences Coghlan, Furman SF 468 Preserving the order of **kwargs in a function. Snow SW 469 Migration of dict iteration code to Python 3 Coghlan PF 470 Removing External Hosting Support on PyPI Stufft SF 471 os.scandir() function – a better and faster … Hoyt SR 472 Support for indexing with keyword arguments Borini, Martinot-Lagarde SR 473 Adding structured data to built-in exceptions Kreft PW 474 Creating forge.python.org Coghlan SF 475 Retry system calls failing with EINTR Natali, Stinner SF 476 Enabling certificate verification by default for … Gaynor SF 477 Backport ensurepip (PEP 453) to Python 2.7 Stufft, Coghlan I 478 Python 3.5 Release Schedule Hastings SF 479 Change StopIteration handling inside generators Angelico, GvR S 480 Surviving a Compromise of PyPI: End-to-end signing … Kuppusamy, Diaz, Cappos, Moore PW 481 Migrate CPython to Git, Github, and Phabricator Stufft IF 482 Literature Overview for Type Hints Langa IF 483 The Theory of Type Hints GvR, Levkivskyi SF 484 Type Hints GvR, Lehtosalo, Langa SF 485 A Function for testing approximate equality Barker SF 486 Make the Python Launcher aware of virtual environments Moore SF 487 Simpler customisation of class creation Teichmann SF 488 Elimination of PYO files Cannon SF 489 Multi-phase extension module initialization Viktorin, Behnel, Coghlan SR 490 Chain exceptions at C level Stinner SD 491 The Wheel Binary Package Format 1.9 Holth SF 492 Coroutines with async and await syntax Selivanov SF 493 HTTPS verification migration tools for Python 2.7 Coghlan, Kuska, Lemburg IF 494 Python 3.6 Release Schedule Deily SF 495 Local Time Disambiguation Belopolsky, Peters IR 496 Environment Markers Polley PR 497 A standard mechanism for backward compatibility Schofield SF 498 Literal String Interpolation Smith SD 499 python -m foo should bind … Simpson, Angelico, Jevnik SR 500 A protocol for delegating datetime methods to their … Belopolsky, Peters SD 501 General purpose string interpolation Coghlan IR 502 String Interpolation - Extended Discussion Miller IA 503 Simple Repository API Stufft SW 504 Using the System RNG by default Coghlan SD 505 None-aware operators Haase, Dower SF 506 Adding A Secrets Module To The Standard Library D’Aprano PR 507 Migrate CPython to Git and GitLab Warsaw I 508 Dependency specification for Python Software Packages Collins SF 509 Add a private version to dict Stinner SR 510 Specialize functions with guards Stinner SR 511 API for code transformers Stinner PF 512 Migrating from hg.python.org to GitHub Cannon IS 513 A Platform Tag for Portable Linux Built Distributions McGibbon, Smith I 514 Python registration in the Windows registry Dower SF 515 Underscores in Numeric Literals Brandl, Storchaka SR 516 Build system abstraction for pip/conda etc Collins, Smith SF 517 A build-system independent format for source trees Smith, Kluyver SF 518 Specifying Minimum Build System Requirements for … Cannon, Smith, Stufft SF 519 Adding a file system path protocol Cannon, Zevenhoven SF 520 Preserving Class Attribute Definition Order Snow SW 521 Managing global context via ‘with’ blocks in … Smith SR 522 Allow BlockingIOError in security sensitive APIs Coghlan, Smith SF 523 Adding a frame evaluation API to CPython Cannon, Viehland SF 524 Make os.urandom() blocking on Linux Stinner SF 525 Asynchronous Generators Selivanov SF 526 Syntax for Variable Annotations Gonzalez, House, Levkivskyi, Roach, GvR PF 527 Removing Un(der)used file types/extensions on PyPI Stufft SF 528 Change Windows console encoding to UTF-8 Dower SF 529 Change Windows filesystem encoding to UTF-8 Dower SF 530 Asynchronous Comprehensions Selivanov SW 531 Existence checking operators Coghlan SD 532 A circuit breaking protocol and binary operators Coghlan, Haase SD 533 Deterministic cleanup for iterators Smith SD 534 Improved Errors for Missing Standard Library Modules Orsava, Viktorin, Coghlan SD 535 Rich comparison chaining Coghlan SD 536 Final Grammar for Literal String Interpolation Angerer I 537 Python 3.7 Release Schedule Deily SF 538 Coercing the legacy C locale to a UTF-8 based locale Coghlan SF 539 A New C-API for Thread-Local Storage in CPython Bray, Yamamoto SF 540 Add a new UTF-8 Mode Stinner PF 541 Package Index Name Retention Langa SR 542 Dot Notation Assignment In Function Header Meskanen SW 543 A Unified TLS API for Python Benfield, Heimes SA 544 Protocols: Structural subtyping (static duck typing) Levkivskyi, Lehtosalo, Langa PF 545 Python Documentation Translations Palard, Inada, Stinner SR 546 Backport ssl.MemoryBIO and ssl.SSLObject to Python 2.7 Stinner, Benfield SD 547 Running extension modules using the -m option Plch, Viktorin SR 548 More Flexible Loop Control Murray SR 549 Instance Descriptors Hastings SW 550 Execution Context Selivanov, Pranskevichus IW 551 Security transparency in the Python runtime Dower SF 552 Deterministic pycs Peterson SF 553 Built-in breakpoint() Warsaw S 554 Multiple Interpreters in the Stdlib Snow SW 555 Context-local variables (contextvars) Zevenhoven SD 556 Threaded garbage collection Pitrou SF 557 Data Classes Smith S 558 Defined semantics for locals() Coghlan SR 559 Built-in noop() Warsaw SA 560 Core support for typing module and generic types Levkivskyi SA 561 Distributing and Packaging Type Information Smith SF 562 Module __getattr__ and __dir__ Levkivskyi SA 563 Postponed Evaluation of Annotations Langa SF 564 Add new time functions with nanosecond resolution Stinner SF 565 Show DeprecationWarning in __main__ Coghlan SF 566 Metadata for Python Software Packages 2.1 Ingram SF 567 Context Variables Selivanov SD 568 Generator-sensitivity for Context Variables Smith I 569 Python 3.8 Release Schedule Langa SA 570 Python Positional-Only Parameters Hastings, Galindo, Corchero, Vander Weele IS 571 The manylinux2010 Platform Tag Williams, Thomas, Kluyver SA 572 Assignment Expressions Angelico, Peters, GvR SF 573 Module State Access from C Extension Methods Viktorin, Coghlan, Snow, Plch SF 574 Pickle protocol 5 with out-of-band data Pitrou SW 575 Unifying function/method classes Demeyer SW 576 Rationalize Built-in function classes Shannon SW 577 Augmented Assignment Expressions Coghlan SA 578 Python Runtime Audit Hooks Dower IF 579 Refactoring C functions and methods Demeyer SR 580 The C call protocol Demeyer PA 581 Using GitHub Issues for CPython Mariatta S 582 Python local packages directory Das, Dower, Stufft, Coghlan IW 583 A Concurrency Memory Model for Python Yasskin SF 584 Add Union Operators To dict D’Aprano, Bucher SA 585 Type Hinting Generics In Standard Collections Langa SA 586 Literal Types Lee, Levkivskyi, Lehtosalo SF 587 Python Initialization Configuration Stinner, Coghlan I 588 GitHub Issues Migration Plan Mariatta SA 589 TypedDict: Type Hints for Dictionaries with a Fixed … Lehtosalo SA 590 Vectorcall: a fast calling protocol for CPython Shannon, Demeyer SA 591 Adding a final qualifier to typing Sullivan, Levkivskyi SF 592 Adding “Yank” Support to the Simple API Stufft SA 593 Flexible function and variable annotations Varoquaux, Kashin SA 594 Removing dead batteries from the standard library Heimes, Cannon IW 595 Improving bugs.python.org Melotti, Peksag I 596 Python 3.9 Release Schedule Langa SF 597 Add optional EncodingWarning Inada IW 598 Introducing incremental feature releases Coghlan IS 599 The manylinux2014 Platform Tag Ingram IA 600 Future ‘manylinux’ Platform Tags for Portable Linux … Smith, Kluyver SR 601 Forbid return/break/continue breaking out of finally George, Taskaya IA 602 Annual Release Cycle for Python Langa S 603 Adding a frozenmap type to collections Selivanov SA 604 Allow writing union types as X | Y PRADOS, Moss IR 605 A rolling feature release stream for CPython Dower, Coghlan SR 606 Python Compatibility Version Stinner IF 607 Reducing CPython’s Feature Delivery Latency Langa, Dower, Coghlan SR 608 Coordinated Python release Hrončok, Stinner P 609 PyPA Governance Ingram, Gedam, Harihareswara SF 610 Recording the Direct URL Origin of installed … Bidoul, Jerdonek SW 611 The one million limit Shannon SA 612 Parameter Specification Variables Mendoza SA 613 Explicit Type Aliases Zhu SF 614 Relaxing Grammar Restrictions On Decorators Bucher SA 615 Support for the IANA Time Zone Database in the … Ganssle SA 616 String methods to remove prefixes and suffixes Sweeney SA 617 New PEG parser for CPython GvR, Galindo, Nikolaou SF 618 Add Optional Length-Checking To zip Bucher I 619 Python 3.10 Release Schedule Salgado S 620 Hide implementation details from the C API Stinner SF 621 Storing project metadata in pyproject.toml Cannon, Ingram, Ganssle, Gedam, Eustace, Kluyver, Chung SS 622 Structural Pattern Matching Bucher, Moisset, Kohn, Levkivskyi, GvR, Talin SA 623 Remove wstr from Unicode Inada SF 624 Remove Py_UNICODE encoder APIs Inada S 625 File name of a Source Distribution Chung, Moore SF 626 Precise line numbers for debugging and other tools. Shannon IA 627 Recording installed projects Viktorin SF 628 Add math.tau Coghlan SF 629 Versioning PyPI’s Simple API Stufft I 630 Isolating Extension Modules Viktorin SA 631 Dependency specification in pyproject.toml based on … Lev SA 632 Deprecate distutils module Dower SR 633 Dependency specification in pyproject.toml using an … Opperman, Neelicattu SA 634 Structural Pattern Matching: Specification Bucher, GvR IF 635 Structural Pattern Matching: Motivation and Rationale Kohn, GvR IF 636 Structural Pattern Matching: Tutorial Moisset SR 637 Support for indexing with keyword arguments Borini S 638 Syntactic Macros Shannon S 639 Improving License Clarity with Better Package Metadata Ombredanne, Gerlach SR 640 Unused variable syntax Wouters SR 641 Using an underscore in the version portion of … Cannon, Dower, Warsaw S 642 Explicit Pattern Syntax for Structural Pattern Matching Coghlan SF 643 Metadata for Package Source Distributions Moore SF 644 Require OpenSSL 1.1.1 or newer Heimes P 645 Allow writing optional types as x? Moss SA 646 Variadic Generics Mendoza, Rahtz, Srinivasan, Siles SA 647 User-Defined Type Guards Traut SR 648 Extensible customizations of the interpreter at startup Corchero S 649 Deferred Evaluation Of Annotations Using Descriptors Hastings P 650 Specifying Installer Requirements for Python Projects Jayanthi, Ingram, Cannon SR 651 Robust Stack Overflow Handling Shannon SF 652 Maintaining the Stable ABI Viktorin S 653 Precise Semantics for Pattern Matching Shannon SA 654 Exception Groups and except* Katriel, Selivanov, GvR SA 655 Marking individual TypedDict items as required or … Foster IA 656 Platform Tag for Linux Distributions Using Musl Chung SF 657 Include Fine Grained Error Locations in Tracebacks Galindo, Taskaya, Askar SA 658 Serve Distribution Metadata in the Simple … Chung I 659 Specializing Adaptive Interpreter Shannon SA 660 Editable installs for pyproject.toml based builds … Holth, Bidoul S 661 Sentinel Values Einat SR 662 Editable installs via virtual wheels Gábor IR 663 Standardizing Enum str(), repr(), and format() … Furman I 664 Python 3.11 Release Schedule Salgado SR 665 A file format to list Python dependencies for … Cannon, Gedam, Chung SR 666 Reject Foolish Indentation Creighton S 667 Consistent views of namespaces Shannon I 668 Marking Python base environments as “externally … Thomas, Klose, Laíns, Stufft, Chung, Rivera, Hashman, Gedam S 669 Low Impact Monitoring for CPython Shannon S 670 Convert macros to functions in the Python C API Aasland, Stinner S 671 Syntax for late-bound function argument defaults Angelico I 672 Unicode-related Security Considerations for Python Viktorin SA 673 Self Type Srinivasan, Hilton-Balfe S 674 Disallow using macros as l-values Stinner SA 675 Arbitrary Literal String Type Srinivasan, Bleaney P 676 PEP Infrastructure Process Turner SR 677 Callable Type Syntax Troxler, Srinivasan S 678 Enriching Exceptions with Notes Hatfield-Dodds S 679 Allow parentheses in assert statements Salgado SA 680 tomllib: Support for Parsing TOML in the Standard … Hukkinen S 681 Data Class Transforms Bonte, Traut SA 682 Format Specifier for Signed Zero Belmonte S 683 Immortal Objects, Using a Fixed Refcount Snow, Elizondo S 684 A Per-Interpreter GIL Snow SA 685 Comparison of extra names for optional distribution … Cannon S 686 Make UTF-8 mode default Inada SR 754 IEEE 754 Floating Point Special Values Warnes I 801 Reserved Warsaw PF 3000 Python 3000 GvR PW 3001 Procedure for reviewing and improving standard … Brandl PF 3002 Procedure for Backwards-Incompatible Changes Bethard PF 3003 Python Language Moratorium Cannon, Noller, GvR PF 3099 Things that will Not Change in Python 3000 Brandl PF 3100 Miscellaneous Python 3.0 Plans Cannon SF 3101 Advanced String Formatting Talin SF 3102 Keyword-Only Arguments Talin SR 3103 A Switch/Case Statement GvR SF 3104 Access to Names in Outer Scopes Yee SF 3105 Make print a function Brandl SF 3106 Revamping dict.keys(), .values() and .items() GvR SF 3107 Function Annotations Winter, Lownds SF 3108 Standard Library Reorganization Cannon SF 3109 Raising Exceptions in Python 3000 Winter SF 3110 Catching Exceptions in Python 3000 Winter SF 3111 Simple input built-in in Python 3000 Roberge SF 3112 Bytes literals in Python 3000 Orendorff SF 3113 Removal of Tuple Parameter Unpacking Cannon SF 3114 Renaming iterator.next() to iterator.__next__() Yee SF 3115 Metaclasses in Python 3000 Talin SF 3116 New I/O Stutzbach, GvR, Verdone SR 3117 Postfix type declarations Brandl SF 3118 Revising the buffer protocol Oliphant, Banks SF 3119 Introducing Abstract Base Classes GvR, Talin SF 3120 Using UTF-8 as the default source encoding von Löwis SA 3121 Extension Module Initialization and Finalization von Löwis SR 3122 Delineation of the main module Cannon SF 3123 Making PyObject_HEAD conform to standard C von Löwis SD 3124 Overloading, Generic Functions, Interfaces, and … Eby SR 3125 Remove Backslash Continuation Jewett SR 3126 Remove Implicit String Concatenation Jewett, Hettinger SF 3127 Integer Literal Support and Syntax Maupin SR 3128 BList: A Faster List-like Type Stutzbach SF 3129 Class Decorators Winter SR 3130 Access to Current Module/Class/Function Jewett SF 3131 Supporting Non-ASCII Identifiers von Löwis SF 3132 Extended Iterable Unpacking Brandl SR 3133 Introducing Roles Winter SF 3134 Exception Chaining and Embedded Tracebacks Yee SF 3135 New Super Spealman, Delaney, Ryan SR 3136 Labeled break and continue Chisholm SF 3137 Immutable Bytes and Mutable Buffer GvR SF 3138 String representation in Python 3000 Ishimoto SR 3139 Cleaning out sys and the “interpreter” module Peterson SR 3140 str(container) should call str(item), not repr(item) Broytman, Jewett SF 3141 A Type Hierarchy for Numbers Yasskin SR 3142 Add a “while” clause to generator expressions Britton SD 3143 Standard daemon process library Finney SF 3144 IP Address Manipulation Library for the Python … Moody SW 3145 Asynchronous I/O For subprocess.Popen Pruitt, McCreary, Carlson SW 3146 Merging Unladen Swallow into CPython Winter, Yasskin, Kleckner SF 3147 PYC Repository Directories Warsaw SF 3148 futures - execute computations asynchronously Quinlan SF 3149 ABI version tagged .so files Warsaw SD 3150 Statement local namespaces (aka “given” clause) Coghlan SF 3151 Reworking the OS and IO exception hierarchy Pitrou SR 3152 Cofunctions Ewing SS 3153 Asynchronous IO support Houtven SF 3154 Pickle protocol version 4 Pitrou SF 3155 Qualified name for classes and functions Pitrou SF 3156 Asynchronous IO Support Rebooted: the “asyncio” Module GvR IF 3333 Python Web Server Gateway Interface v1.0.1 Eby I 8000 Python Language Governance Proposal Overview Warsaw PF 8001 Python Governance Voting Process Cannon, Heimes, Stufft, Snow, Smith, Langa, Mariatta, Smith, Salgado, Hettinger, Einat, Peters, Ware I 8002 Open Source Governance Survey Warsaw, Langa, Pitrou, Hellmann, Willing IR 8010 The Technical Leader Governance Model Warsaw IR 8011 Python Governance Model Lead by Trio of Pythonistas Mariatta, Warsaw IR 8012 The Community Governance Model Langa IR 8013 The External Council Governance Model Dower IR 8014 The Commons Governance Model Jansen IR 8015 Organization of the Python community Stinner IA 8016 The Steering Council Model Smith, Stufft I 8100 January 2019 steering council election Smith, Durbin I 8101 2020 Term steering council election Jodlowska, Durbin I 8102 2021 Term steering council election Jodlowska, Durbin, Carey I 8103 2022 Term steering council election Jodlowska, Durbin, Carey Reserved PEP Numbers PEP PEP Title PEP Author(s) 801 RESERVED Warsaw PEP Types Key I - Informational PEP P - Process PEP

S - Standards Track PEP

PEP Status Key A - Accepted (Standards Track only) or Active proposal D - Deferred proposal

F - Final proposal

P - Provisional proposal

R - Rejected proposal

S - Superseded proposal

W - Withdrawn proposal

Authors/Owners Name Email Address Aahz aahz at pythoncraft.com Aasland, Erlend Egeberg erlend.aasland at protonmail.com Ahlstrom, James C. jim at interet.com Althoff, Jim james_althoff at i2.com Altis, Kevin altis at semi-retired.com Angelico, Chris rosuav at gmail.com Angerer, Philipp phil.angerer at gmail.com Ascher, David davida at activestate.com Askar, Ammar ammar at ammaraskar.com Astrand, Peter astrand at lysator.liu.se Banks, Carl pythondev at aerojockey.com Barker, Christopher chris.barker at noaa.gov Barrett, Paul barrett at stsci.edu Batista, Facundo facundo at taniquetil.com.ar Baxter, Anthony anthony at interlink.com.au Behnel, Stefan stefan_ml at behnel.de Bellman, Thomas bellman+pep-divmod at lysator.liu.se Belmonte, John john at neggie.net Belopolsky, Alexander alexander.belopolsky at gmail.com Bendersky, Eli eliben at gmail.com Benfield, Cory cory at lukasa.co.uk Bethard, Steven steven.bethard at gmail.com Bidoul, Stéphane stephane.bidoul at gmail.com Bleaney, Graham gbleaney at gmail.com Bonte, Erik De erikd at microsoft.com Borini, Stefano Brandl, Georg georg at python.org Bray, Erik M. Britton, Gerald gerald.britton at gmail.com Broytman, Oleg phd at phdru.name Bryon, Benoit benoit at marmelune.net Bucher, Brandt brandt at python.org Cannon, Brett brett at python.org Cappos, Justin jcappos at nyu.edu Carey, Joe joe at python.org Carlson, Josiah jcarlson at uci.edu Carroll, W Isaac icarroll at pobox.com Chisholm, Matt matt-python at theory.org Chung, Tzu-ping uranusjr at gmail.com Chung, Tzu-Ping uranusjr at gmail.com Coghlan, Nick ncoghlan at gmail.com Cole, Dave djc at object-craft.com.au Collins, Robert rbtcollins at hp.com Colomiets, Paul paul at colomiets.name Corchero, Mario mariocj89 at gmail.com Craig, Christopher A. python-pep at ccraig.org Creighton, Laura lac at strakt.com D’Aprano, Steven steve at pearwood.info Das, Kushal mail at kushaldas.in Deily, Ned nad at python.org Delaney, Tim timothy.c.delaney at gmail.com DeLong, Lois Anne lad278 at nyu.edu Demeyer, Jeroen j.demeyer at ugent.be Diaz, Vladimir vladimir.diaz at nyu.edu Diederich, Jack jackdied at gmail.com Dower, Steve steve.dower at python.org Dörwald, Walter walter at livinglogic.de Drake, Fred L., Jr. fred at fdrake.net Dubner, Michael P. dubnerm at mindless.com Dubois, Paul F. paul at pfdubois.com Durbin, Ee ee at python.org Eby, Phillip J. pje at telecommunity.com Einat, Tal tal at python.org Elizondo, Eddie eduardo.elizondorueda at gmail.com Elliott, Micah mde at tracos.org Epler, Jeff jepler at unpythonic.net Eppstein, David eppstein at ics.uci.edu Eustace, Sébastien sebastien at eustace.io Evans, Clark C. cce at clarkevans.com Ewing, Gregory greg.ewing at canterbury.ac.nz Faassen, Martijn faassen at infrae.com Finney, Ben ben+python at benfinney.id.au Foord, Michael michael at python.org Foster, David david at dafoster.net Furman, Ethan ethan at stoneleaf.us Galindo, Pablo pablogsal at python.org Ganssle, Paul paul at ganssle.io Gaynor, Alex alex.gaynor at gmail.com Gábor, Bernát gaborjbernat at gmail.com Gedam, Pradyun pradyunsg at gmail.com George, Damien Gerlach, C.A.M. cam.gerlach at gerlach.cam Giacometti, Frédéric B. fred at arakne.com Gilbert, Scott xscottg at yahoo.com Gonzalez, Ryan rymg19 at gmail.com Goodger, David goodger at python.org Griffin, Grant g2 at iowegian.com Haase, Mark E. mehaase at gmail.com Hammond, Mark mhammond at skippinet.com.au Harihareswara, Sumana sh at changeset.nyc Harris, Peter scav at blueyonder.co.uk Hashman, Elana ehashman at debian.org Hastings, Larry larry at hastings.org Hatfield-Dodds, Zac zac at zhd.dev Heimes, Christian christian at python.org Heller, Thomas theller at python.net Hellmann, Doug doug at doughellmann.com Hetland, Magnus Lie magnus at hetland.org Hettinger, Raymond python at rcn.com Hilton-Balfe, James gobot1234yt at gmail.com Hodgson, Neil neilh at scintilla.org Holth, Daniel dholth at gmail.com House, Philip phouse512 at gmail.com Houtven, Laurens Van _ at lvh.cc Hoyt, Ben benhoyt at gmail.com Hrončok, Miro miro at hroncok.cz Hudson, Michael mwh at python.net Hukkinen, Taneli, Shantanu Jain hauntsaninja at gmail.com Hylton, Jeremy jeremy at alum.mit.edu Inada, Naoki songofacandy at gmail.com Ingram, Dustin di at python.org Ishimoto, Atsuo ishimoto–at–gembook.org Jansen, Jack jack at cwi.nl Jayanthi, Vikram vikramjayanthi at google.com Jerdonek, Chris chris.jerdonek at gmail.com Jevnik, Joseph joejev at gmail.com Jewett, Jim J. jimjjewett at gmail.com Jodlowska, Ewa ewa at python.org Jones, Richard richard at python.org Kashin, Konstantin kkashin at fb.com Katriel, Irit iritkatriel at gmail.com Kleckner, Reid rnk at mit.edu Klose, Matthias doko at ubuntu.com Kluyver, Thomas thomas at kluyver.me.uk Kohn, Tobias kohnt at tobiaskohn.ch Koltsov, Stepan yozh at mx1.ru Krah, Stefan skrah at bytereef.org Kreft, Sebastian skreft at deezer.com Krekel, Holger holger at merlinux.eu Kuchling, A.M. amk at amk.ca Kuppusamy, Trishank Karthik karthik at trishank.com Kuska, Robert rkuska at redhat.com Laíns, Filipe lains at riseup.net Landau, Joshua joshua at landau.ws Langa, Łukasz lukasz at python.org Lee, Michael michael.lee.0x2a at gmail.com Lehtosalo, Jukka jukka.lehtosalo at iki.fi Lemburg, Marc-André mal at lemburg.com Lev, Ofek ofekmeister at gmail.com Levkivskyi, Ivan levkivskyi at gmail.com Lielens, Gregory gregory.lielens at fft.be Lindqvist, Björn bjourne at gmail.com Lock, Joshua jlock at vmware.com Lownds, Tony tony at lownds.com von Löwis, Martin martin at v.loewis.de Mariatta mariatta at python.org Martelli, Alex aleaxit at gmail.com Martinot-Lagarde, Joseph Mastrodomenico, Lino l.mastrodomenico at gmail.com Maupin, Patrick pmaupin at gmail.com McClelland, Andrew eternalsquire at comcast.net McCreary, Charles R. McDonough, Chris chrism at plope.com McGibbon, Robert T. rmcgibbo at gmail.com McMillan, Gordon gmcm at hypernet.com McNamara, Andrew andrewm at object-craft.com.au Melotti, Ezio ezio.melotti at gmail.com Mendoza, Mark mendoza.mark.a at gmail.com Meskanen, Markus markusmeskanen at gmail.com Meyer, Mike mwm at mired.org Meyer, Carl carl at oddbird.net Mick, Trent trentm at activestate.com Miller, Mike G. Moisset, Daniel F dfmoisset at gmail.com Montanaro, Skip skip at pobox.com Moody, Peter pmoody at google.com Moore, Paul p.f.moore at gmail.com Moore, Marina mm9693 at nyu.edu Moss, Maggie maggiebmoss at gmail.com Murray, R David Natali, Charles-François cf.natali at gmail.com Neelicattu, Arun Babu arun.neelicattu at gmail.com Nikolaou, Lysandros lisandrosnik at gmail.com Noller, Jesse jnoller at gmail.com North, Ben ben at redfrontdoor.org Norwitz, Neal nnorwitz at gmail.com Ochtman, Dirkjan dirkjan at ochtman.nl Oliphant, Travis oliphant at ee.byu.edu Ombredanne, Philippe pombredanne at nexb.com Opperman, Laurie laurie_opperman at hotmail.com Orendorff, Jason jason.orendorff at gmail.com Orsava, Tomáš tomas.n at orsava.cz Oudkerk, Richard r.m.oudkerk at googlemail.com Oussoren, Ronald ronaldoussoren at mac.com Palard, Julien julien at palard.fr Pedroni, Samuele pedronis at python.org Peksag, Berker berker.peksag at gmail.com Pelletier, Michel michel at users.sourceforge.net Peters, Tim tim.peters at gmail.com Peterson, Benjamin benjamin at python.org Petrone, Jason jp at demonseed.net Pitrou, Antoine solipsis at pitrou.net Plch, Marcel gmarcel.plch at gmail.com Polley, James jp at jamezpolley.com PRADOS, Philippe python at prados.fr Pranskevichus, Elvis elvis at edgedb.com Prescod, Paul paul at prescod.net Pruitt, (James) Eric Puehringer, Lukas lukas.puehringer at nyu.edu Quinlan, Brian brian at sweetapp.com Rahtz, Matthew mrahtz at google.com Reedy, Terry tjreedy at udel.edu Regebro, Lennart regebro at gmail.com Reifschneider, Sean jafo-pep at tummy.com Reis, Christian R. kiko at async.com.br Riehl, Jonathan jriehl at spaceship.com Rivera, Stefano stefanor at debian.org Roach, Lisa lisaroach14 at gmail.com Roberge, Andre andre.roberge at gmail.com Ronacher, Armin armin.ronacher at active-4.com van Rossum, Guido (GvR) guido at python.org van Rossum, Just (JvR) just at letterror.com Rovito, Todd rovitotv at gmail.com Ryan, Lie lie.1296 at gmail.com Sajip, Vinay vinay_sajip at red-dove.com Salgado, Pablo Galindo pablogsal at python.org Schemenauer, Neil nas at arctrix.com Schneider-Kamp, Peter nowonder at nowonder.de Schofield, Ed ed at pythoncharmers.com Selivanov, Yury yury at edgedb.com Seo, Jiwon seojiwon at gmail.com Shannon, Mark mark at hotpy.org Siles, Vincent vsiles at fb.com Simpson, Cameron cs at cskk.id.au Slodkowicz, Greg jergosh at gmail.com Smith, Kevin D. kevin.smith at themorgue.org Smith, Eric V. eric at trueblade.com Smith, Nathaniel J. njs at pobox.com Smith, Ethan ethan at ethanhs.me Smith, Gregory P. greg at krypto.org Snow, Eric ericsnowcurrently at gmail.com Spealman, Calvin ironfroggy at gmail.com Srinivasan, Pradeep Kumar gohanpra at gmail.com Staley, Kerrick mail at kerrickstaley.com Stein, Greg gstein at lyra.org Stinner, Victor vstinner at python.org Storchaka, Serhiy Stufft, Donald donald at stufft.io Stutzbach, Daniel daniel at stutzbachenterprises.com Sullivan, Michael J. sully at msully.net Suzi, Roman rnd at onego.ru Sweeney, Dennis sweeney.dennis650 at gmail.com Talin viridia at gmail.com Taschuk, Steven staschuk at telusplanet.net Taskaya, Batuhan batuhan at python.org Teichmann, Martin lkb.teichmann at gmail.com The Python core team and community Thomas, Geoffrey geofft at ldpreload.com Tirosh, Oren oren at hishome.net Traut, Eric erictr at microsoft.com Troxler, Steven steven.troxler at gmail.com Turnbull, Stephen J. stephen at xemacs.org Turner, Adam python at quite.org.uk Urban, Daniel urban.dani+py at gmail.com Vander Weele, Eric N. ericvw at gmail.com Varoquaux, Till till at fb.com Vassalotti, Alexandre alexandre at peadrop.com Verdone, Mike mike.verdone at gmail.com Viehland, Dino dinov at microsoft.com Viktorin, Petr encukou at gmail.com Ware, Zachary zachary.ware at gmail.com Warnes, Gregory R. gregory_r_warnes at groton.pfizer.com Warsaw, Barry barry at python.org Way, Terence terry at wayforward.net Wells, Cliff logiplexsoftware at earthlink.net Whitley, Jervis jervisau at gmail.com Williams, Mark mrw at enotuniq.org Willing, Carol willingc at gmail.com Wilson, Greg gvwilson at ddj.com Winter, Collin collinwinter at google.com Wouters, Thomas thomas at python.org Yamamoto, Masayuki Yasskin, Jeffrey jyasskin at google.com Yee, Ka-Ping ping at zesty.ca Zadka, Moshe moshez at zadka.site.co.il Zevenhoven, Koos k7hoven at gmail.com Zhu, Huaiyu hzhu at users.sourceforge.net Zhu, Shannon szhu at fb.com Ziadé, Tarek tarek at ziade.org Contents PEP 0 – Index of Python Enhancement Proposals (PEPs)

Introduction Index by Category Meta-PEPs (PEPs about PEPs or Processes) Other Informational PEPs Provisional PEPs (provisionally accepted; interface may still change) Accepted PEPs (accepted; may not be implemented yet) Open PEPs (under consideration) Finished PEPs (done, with a stable interface) Historical Meta-PEPs and Informational PEPs Deferred PEPs (postponed pending further research or updates) Abandoned, Withdrawn, and Rejected PEPs Numerical Index Reserved PEP Numbers PEP Types Key PEP Status Key Authors/Owners

Python Enhancement Proposals (PEP): Python, PEP 100, Zen of Python. (navbar_pep - see also navbar_python)

Python: Python Variables, Python Data Types, Python Control Structures, Python Loops, Python Functions, Python Modules, Python Packages, Python File Handling, Python Errors and Exceptions, Python Classes and Objects, Python Inheritance, Python Polymorphism, Python Encapsulation, Python Abstraction, Python Lists, Python Dictionaries, Python Tuples, Python Sets, Python String Manipulation, Python Regular Expressions, Python Comprehensions, Python Lambda Functions, Python Map, Filter, and Reduce, Python Decorators, Python Generators, Python Context Managers, Python Concurrency with Threads, Python Asynchronous Programming, Python Multiprocessing, Python Networking, Python Database Interaction, Python Debugging, Python Testing and Unit Testing, Python Virtual Environments, Python Package Management, Python Data Analysis, Python Data Visualization, Python Web Scraping, Python Web Development with Flask/Django, Python API Interaction, Python GUI Programming, Python Game Development, Python Security and Cryptography, Python Blockchain Programming, Python Machine Learning, Python Deep Learning, Python Natural Language Processing, Python Computer Vision, Python Robotics, Python Scientific Computing, Python Data Engineering, Python Cloud Computing, Python DevOps Tools, Python Performance Optimization, Python Design Patterns, Python Type Hints, Python Version Control with Git, Python Documentation, Python Internationalization and Localization, Python Accessibility, Python Configurations and Environments, Python Continuous Integration/Continuous Deployment, Python Algorithm Design, Python Problem Solving, Python Code Readability, Python Software Architecture, Python Refactoring, Python Integration with Other Languages, Python Microservices Architecture, Python Serverless Computing, Python Big Data Analysis, Python Internet of Things (IoT), Python Geospatial Analysis, Python Quantum Computing, Python Bioinformatics, Python Ethical Hacking, Python Artificial Intelligence, Python Augmented Reality and Virtual Reality, Python Blockchain Applications, Python Chatbots, Python Voice Assistants, Python Edge Computing, Python Graph Algorithms, Python Social Network Analysis, Python Time Series Analysis, Python Image Processing, Python Audio Processing, Python Video Processing, Python 3D Programming, Python Parallel Computing, Python Event-Driven Programming, Python Reactive Programming.

Variables, Data Types, Control Structures, Loops, Functions, Modules, Packages, File Handling, Errors and Exceptions, Classes and Objects, Inheritance, Polymorphism, Encapsulation, Abstraction, Lists, Dictionaries, Tuples, Sets, String Manipulation, Regular Expressions, Comprehensions, Lambda Functions, Map, Filter, and Reduce, Decorators, Generators, Context Managers, Concurrency with Threads, Asynchronous Programming, Multiprocessing, Networking, Database Interaction, Debugging, Testing and Unit Testing, Virtual Environments, Package Management, Data Analysis, Data Visualization, Web Scraping, Web Development with Flask/Django, API Interaction, GUI Programming, Game Development, Security and Cryptography, Blockchain Programming, Machine Learning, Deep Learning, Natural Language Processing, Computer Vision, Robotics, Scientific Computing, Data Engineering, Cloud Computing, DevOps Tools, Performance Optimization, Design Patterns, Type Hints, Version Control with Git, Documentation, Internationalization and Localization, Accessibility, Configurations and Environments, Continuous Integration/Continuous Deployment, Algorithm Design, Problem Solving, Code Readability, Software Architecture, Refactoring, Integration with Other Languages, Microservices Architecture, Serverless Computing, Big Data Analysis, Internet of Things (IoT), Geospatial Analysis, Quantum Computing, Bioinformatics, Ethical Hacking, Artificial Intelligence, Augmented Reality and Virtual Reality, Blockchain Applications, Chatbots, Voice Assistants, Edge Computing, Graph Algorithms, Social Network Analysis, Time Series Analysis, Image Processing, Audio Processing, Video Processing, 3D Programming, Parallel Computing, Event-Driven Programming, Reactive Programming.


Python Glossary, Python Fundamentals, Python Inventor: Python Language Designer: Guido van Rossum on 20 February 1991; PEPs, Python Scripting, Python Keywords, Python Built-In Data Types, Python Data Structures - Python Algorithms, Python Syntax, Python OOP - Python Design Patterns, Python Module Index, pymotw.com, Python Package Manager (pip-PyPI), Python Virtualization (Conda, Miniconda, Virtualenv, Pipenv, Poetry), Python Interpreter, CPython, Python REPL, Python IDEs (PyCharm, Jupyter Notebook), Python Development Tools, Python Linter, Pythonista-Python User, Python Uses, List of Python Software, Python Popularity, Python Compiler, Python Transpiler, Python DevOps - Python SRE, Python Data Science - Python DataOps, Python Machine Learning, Python Deep Learning, Functional Python, Python Concurrency - Python GIL - Python Async (Asyncio), Python Standard Library, Python Testing (Pytest), Python Libraries (Flask), Python Frameworks (Django), Python History, Python Bibliography, Manning Python Series, Python Official Glossary - Python Glossary, Python Topics, Python Courses, Python Research, Python GitHub, Written in Python, Python Awesome List, Python Versions. (navbar_python - see also navbar_python_libaries, navbar_python_standard_library, navbar_python_virtual_environments, navbar_numpy, navbar_datascience)


© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.


python_enhancement_proposals_pep.txt · Last modified: 2024/04/28 03:13 by 127.0.0.1