添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • Process and Meta-PEPs
  • 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)
  • Rejected, Superseded, and Withdrawn PEPs
  • Reserved PEP Numbers
  • PEP Types Key
  • PEP Status Key
  • Authors/Owners
  • 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.

    Topics

    PEPs for specialist subjects are indexed by topic .

  • Governance PEPs
  • Packaging PEPs
  • Release PEPs
  • Typing PEPs
  • The PEPS API is a JSON file of metadata about all the published PEPs. Read more here .

    Numerical Index

    The numerical index contains a table of all PEPs, ordered by number.

    Index by Category

    Process and Meta-PEPs

    Title Authors Python Packaging Authority (PyPA) Governance Dustin Ingram, Pradyun Gedam, Sumana Harihareswara PEP Infrastructure Process Adam Turner Typing governance process Jelle Zijlstra, Shantanu Jain C API Working Group Charter Guido van Rossum, Petr Viktorin, Victor Stinner, Steve Dower, Irit Katriel The Python Documentation Editorial Board Joanna Jablonski Deprecating PGP signatures for CPython artifacts Seth Michael Larson The “python” Command on Unix-Like Systems Kerrick Staley, Alyssa Coghlan, Barry Warsaw, Petr Viktorin, Miro Hrončok, Carol Willing Pure Python/C Accelerator Module Compatibility Requirements Brett Cannon Migrating to Python 3 as the default online documentation Alyssa Coghlan IDLE Enhancement Exception for All Branches Todd Rovito, Terry Reedy API for Cryptographic Hash Functions v2.0 A.M. Kuchling, Christian Heimes Notation For Positional-Only Parameters Larry Hastings Literature Overview for Type Hints Łukasz Langa The Theory of Type Hints Guido van Rossum, Ivan Levkivskyi Python registration in the Windows registry Steve Dower Refactoring C functions and methods Jeroen Demeyer GitHub Issues Migration Plan Mariatta Python 3.9 Release Schedule Łukasz Langa Reducing CPython’s Feature Delivery Latency Łukasz Langa, Steve Dower, Alyssa Coghlan Python 3.10 Release Schedule Pablo Galindo Salgado Isolating Extension Modules Petr Viktorin Structural Pattern Matching: Motivation and Rationale Tobias Kohn, Guido van Rossum Structural Pattern Matching: Tutorial Daniel F Moisset Specializing Adaptive Interpreter Mark Shannon Python 3.11 Release Schedule Pablo Galindo Salgado Unicode-related Security Considerations for Python Petr Viktorin Python 3.12 Release Schedule Thomas Wouters Python 3.13 Release Schedule Thomas Wouters An Evaluation of Python’s Public C API Erlend Egeberg Aasland, Domenico Andreoli, Stefan Behnel, Carl Friedrich Bolz-Tereick, Simon Cross, Steve Dower, Tim Felgentreff, David Hewitt, Shantanu Jain, Wenzel Jakob, Irit Katriel, Marc-Andre Lemburg, Donghee Na, Karl Nelson, Ronald Oussoren, Antoine Pitrou, Neil Schemenauer, Mark Shannon, Stepan Sindelar, Gregory P. Smith, Eric Snow, Victor Stinner, Guido van Rossum, Petr Viktorin, Carol Willing, William Woodruff, David Woods, Jelle Zijlstra Python 3.14 Release Schedule Hugo van Kemenade REPL-acing the default REPL Pablo Galindo Salgado, Łukasz Langa, Lysandros Nikolaou, Emily Morehouse-Valcarcel Reserved Barry Warsaw Python Web Server Gateway Interface v1.0.1 Phillip J. Eby Python Language Governance Proposal Overview Barry Warsaw Open Source Governance Survey Barry Warsaw, Łukasz Langa, Antoine Pitrou, Doug Hellmann, Carol Willing The Steering Council Model Nathaniel J. Smith, Donald Stufft January 2019 Steering Council election Nathaniel J. Smith, Ee Durbin 2020 Term Steering Council election Ewa Jodlowska, Ee Durbin 2021 Term Steering Council election Ewa Jodlowska, Ee Durbin, Joe Carey 2022 Term Steering Council election Ewa Jodlowska, Ee Durbin, Joe Carey 2023 Term Steering Council election Ee Durbin 2024 Term Steering Council election Ee Durbin 2025 Term Steering Council election Ee Durbin Improving License Clarity with Better Package Metadata Philippe Ombredanne, C.A.M. Gerlach, Karolina Surma Extending the Repository API to Mitigate Dependency Confusion Attacks Donald Stufft Secure PyPI downloads with signed repository metadata Trishank Karthik Kuppusamy, Vladimir Diaz, Marina Moore, Lukas Puehringer, Joshua Lock, Lois Anne DeLong, Justin Cappos Postponed Evaluation of Annotations Łukasz Langa Vectorcall: a fast calling protocol for CPython Mark Shannon, Jeroen Demeyer Filename of a Source Distribution Tzu-ping Chung, Paul Moore Deferred Evaluation Of Annotations Using Descriptors Larry Hastings Serve Distribution Metadata in the Simple Repository API Tzu-ping Chung Marking Python base environments as “externally managed” Geoffrey Thomas, Matthias Klose, Filipe Laíns, Donald Stufft, Tzu-ping Chung, Stefano Rivera, Elana Hashman, Pradyun Gedam Comparison of extra names for optional distribution dependencies Brett Cannon Make UTF-8 mode default Inada Naoki Isolating modules in the standard library Erlend Egeberg Aasland, Petr Viktorin JSON-based Simple API for Python Package Indexes Donald Stufft, Pradyun Gedam, Cooper Lees, Dustin Ingram Remove private dict version field added in PEP 509 Ken Jin Syntactic formalization of f-strings Pablo Galindo, Batuhan Taskaya, Lysandros Nikolaou, Marta Gómez Macías Making the Global Interpreter Lock Optional in CPython Sam Gross Rename dist-info-metadata in the Simple API Donald Stufft Dependency Groups in pyproject.toml Stephen Rosen Uniform project URLs in core metadata William Woodruff, Facundo Tuesca Surviving a Compromise of PyPI: End-to-end signing of packages Trishank Karthik Kuppusamy, Vladimir Diaz, Justin Cappos, Marina Moore Adding a frozenmap type to collections Yury Selivanov Syntactic Macros Mark Shannon Precise Semantics for Pattern Matching Mark Shannon Sentinel Values Tal Einat Syntax for late-bound function argument defaults Chris Angelico Allow parentheses in assert statements Pablo Galindo Salgado Upload 2.0 API for Python Package Repositories Donald Stufft Recording the provenance of installed packages Fridolín Pokorný PyBI: a standard format for distributing Python Binaries Nathaniel J. Smith Subscriptable functions James Hilton-Balfe Cross-compiling Python packages Filipe Laíns Specifying external dependencies in pyproject.toml Pradyun Gedam, Ralf Gommers Documentation in Annotated Metadata Sebastián Ramírez TypedDict with Typed Extra Items Zixuan James Li Shorthand syntax for keyword arguments at invocation Joshua Bambrick, Chris Angelico Static description file for build details of Python installations Filipe Laíns Add Py_COMPAT_API_VERSION to the Python C API Victor Stinner, Petr Viktorin JIT Compilation Brandt Bucher, Savannah Ostrowski Type checking Annotated metadata Adrian Garcia Badaracco Annotating Type Forms David Foster, Eric Traut A Unified TLS API for Python Joop van de Pol, William Woodruff Implementing PEP 649 Jelle Zijlstra Template Strings Jim Baker, Guido van Rossum, Paul Everitt, Koudai Aono, Lysandros Nikolaou, Dave Peck A file format to record Python dependencies for installation reproducibility Brett Cannon Implicit namespaces for package repositories Ofek Lev Implicit namespace policy for PyPI Ofek Lev Allow except and except* expressions without parentheses Pablo Galindo, Brett Cannon External Wheel Hosting Barry Warsaw, Ethan Smith Limiting deletions on PyPI William Woodruff, Alexis Challande Disallow return/break/continue that exit a finally block Irit Katriel, Alyssa Coghlan Explicit Priority Choices Among Multiple Indexes Michael Sarahan Annotating Read-Only Attributes Safe external debugger interface for CPython Pablo Galindo Salgado, Matt Wozniski, Ivona Stojanovic How to Re-invent the Wheel Ethan Smith Preventing task-cancellation bugs by limiting yield in async generators Zac Hatfield-Dodds, Nathaniel J. Smith Calendar versioning for Python Hugo van Kemenade Decorators for Functions and Methods Kevin D. Smith, Jim J. Jewett, Skip Montanaro, Anthony Baxter Reverse Iteration Raymond Hettinger subprocess - New process module Peter Astrand Decimal Data Type Facundo Batista Imports: Multi-Line and Absolute/Relative 2.4, 2.5, 2.6 Locale-Independent Float/String Conversions Christian R. Reis Executing modules as scripts Alyssa Coghlan Unifying try-except and try-finally Georg Brandl Coroutines via Enhanced Generators Guido van Rossum, Phillip J. Eby The “with” Statement Guido van Rossum, Alyssa Coghlan Required Superclass for Exceptions Brett Cannon, Guido van Rossum Using ssize_t as the index type Martin von Löwis Allowing Any Object to be Used for Slicing Travis Oliphant The “bytes” Object Neil Schemenauer, Guido van Rossum 2.6, 3.0 Function Signature Object Brett Cannon, Jiwon Seo, Yury Selivanov, Larry Hastings Main module explicit relative imports Alyssa Coghlan 2.6, 3.0 Per user site-packages directory Christian Heimes 2.6, 3.0 Addition of the multiprocessing package to the standard library Jesse Noller, Richard Oudkerk 2.6, 3.0 Adding an ordered dictionary to collections Armin Ronacher, Raymond Hettinger 2.7, 3.1 Database of Installed Python Distributions Tarek Ziadé 2.7, 3.2 Format Specifier for Thousands Separator Raymond Hettinger 2.7, 3.1 Syntax for Delegating to a Subgenerator Gregory Ewing Non-decodable Bytes in System Character Interfaces Martin von Löwis Defining a Stable ABI Martin von Löwis argparse - New Command Line Parsing Module Steven Bethard 2.7, 3.2 Dictionary-Based Configuration For Logging Vinay Sajip 2.7, 3.2 Flexible String Representation Martin von Löwis Python launcher for Windows Mark Hammond, Martin von Löwis Python Virtual Environments Carl Meyer Suppressing exception context Ethan Furman Key-Sharing Dictionary Mark Shannon Explicit Unicode Literal for Python 3.3 Armin Ronacher, Alyssa Coghlan Implement context suppression with exception attributes Benjamin Peterson Including mock in the Standard Library Michael Foord Add monotonic time, performance counter, and process time functions Cameron Simpson, Jim J. Jewett, Stephen J. Turnbull, Victor Stinner Implicit Namespace Packages Eric V. Smith Adding sys.implementation Eric Snow A method for exposing a length hint Alex Gaynor Compatibility Tags for Built Distributions Daniel Holth The Wheel Binary Package Format 1.0 Daniel Holth The pathlib module – object-oriented filesystem paths Antoine Pitrou Adding an Enum type to the Python standard library Barry Warsaw, Eli Bendersky, Ethan Furman The Argument Clinic DSL Larry Hastings Version Identification and Dependency Specification Alyssa Coghlan, Donald Stufft Improving Python ZIP Application Support Daniel Holth, Paul Moore Safe object finalization Antoine Pitrou Single-dispatch generic functions Łukasz Langa Add new APIs to customize Python memory allocators Victor Stinner Make newly created file descriptors non-inheritable Victor Stinner Additional Unpacking Generalizations Joshua Landau Adding A Statistics Module To The Standard Library Steven D’Aprano A ModuleSpec Type for the Import System Eric Snow Explicit bootstrapping of pip in Python installations Donald Stufft, Alyssa Coghlan Add a new tracemalloc module to trace Python memory allocations Victor Stinner Secure and interchangeable hash algorithm Christian Heimes Adding % formatting to bytes and bytearray Ethan Furman A dedicated infix operator for matrix multiplication Nathaniel J. Smith Network Security Enhancements for Python 2.7.x Alyssa Coghlan 2.7.9 Preserving the order of **kwargs in a function. Eric Snow os.scandir() function – a better and faster directory iterator Ben Hoyt Retry system calls failing with EINTR Charles-François Natali, Victor Stinner Enabling certificate verification by default for stdlib http clients Alex Gaynor 2.7.9, 3.4.3, 3.5 Backport ensurepip (PEP 453) to Python 2.7 Donald Stufft, Alyssa Coghlan Change StopIteration handling inside generators Chris Angelico, Guido van Rossum Type Hints Guido van Rossum, Jukka Lehtosalo, Łukasz Langa A Function for testing approximate equality Christopher Barker Make the Python Launcher aware of virtual environments Paul Moore Simpler customisation of class creation Martin Teichmann Elimination of PYO files Brett Cannon Multi-phase extension module initialization Petr Viktorin, Stefan Behnel, Alyssa Coghlan Coroutines with async and await syntax Yury Selivanov HTTPS verification migration tools for Python 2.7 Alyssa Coghlan, Robert Kuska, Marc-André Lemburg 2.7.12 Local Time Disambiguation Alexander Belopolsky, Tim Peters Literal String Interpolation Eric V. Smith Simple Repository API Donald Stufft Adding A Secrets Module To The Standard Library Steven D’Aprano Dependency specification for Python Software Packages Robert Collins Underscores in Numeric Literals Georg Brandl, Serhiy Storchaka A build-system independent format for source trees Nathaniel J. Smith, Thomas Kluyver Specifying Minimum Build System Requirements for Python Projects Brett Cannon, Nathaniel J. Smith, Donald Stufft Adding a file system path protocol Brett Cannon, Koos Zevenhoven Preserving Class Attribute Definition Order Eric Snow Adding a frame evaluation API to CPython Brett Cannon, Dino Viehland Make os.urandom() blocking on Linux Victor Stinner Asynchronous Generators Yury Selivanov Syntax for Variable Annotations Ryan Gonzalez, Philip House, Ivan Levkivskyi, Lisa Roach, Guido van Rossum Removing Un(der)used file types/extensions on PyPI Donald Stufft Change Windows console encoding to UTF-8 Steve Dower Change Windows filesystem encoding to UTF-8 Steve Dower Asynchronous Comprehensions Yury Selivanov Coercing the legacy C locale to a UTF-8 based locale Alyssa Coghlan A New C-API for Thread-Local Storage in CPython Erik M. Bray, Masayuki Yamamoto Add a new UTF-8 Mode Victor Stinner Protocols: Structural subtyping (static duck typing) Ivan Levkivskyi, Jukka Lehtosalo, Łukasz Langa Deterministic pycs Benjamin Peterson Built-in breakpoint() Barry Warsaw Data Classes Eric V. Smith Core support for typing module and generic types Ivan Levkivskyi Distributing and Packaging Type Information Ethan Smith Module __getattr__ and __dir__ Ivan Levkivskyi Add new time functions with nanosecond resolution Victor Stinner Show DeprecationWarning in __main__ Alyssa Coghlan Metadata for Python Software Packages 2.1 Dustin Ingram Context Variables Yury Selivanov Python Positional-Only Parameters Larry Hastings, Pablo Galindo, Mario Corchero, Eric N. Vander Weele Assignment Expressions Chris Angelico, Tim Peters, Guido van Rossum Module State Access from C Extension Methods Petr Viktorin, Alyssa Coghlan, Eric Snow, Marcel Plch Pickle protocol 5 with out-of-band data Antoine Pitrou Python Runtime Audit Hooks Steve Dower Add Union Operators To dict Steven D’Aprano, Brandt Bucher Type Hinting Generics In Standard Collections Łukasz Langa Literal Types Michael Lee, Ivan Levkivskyi, Jukka Lehtosalo Python Initialization Configuration Victor Stinner, Alyssa Coghlan TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys Jukka Lehtosalo Adding a final qualifier to typing Michael J. Sullivan, Ivan Levkivskyi Adding “Yank” Support to the Simple API Donald Stufft Flexible function and variable annotations Till Varoquaux, Konstantin Kashin Removing dead batteries from the standard library Christian Heimes, Brett Cannon Add optional EncodingWarning Inada Naoki Future ‘manylinux’ Platform Tags for Portable Linux Built Distributions Nathaniel J. Smith, Thomas Kluyver Allow writing union types as X | Y Philippe PRADOS, Maggie Moss Recording the Direct URL Origin of installed distributions Stéphane Bidoul, Chris Jerdonek Parameter Specification Variables Mark Mendoza Explicit Type Aliases Shannon Zhu Relaxing Grammar Restrictions On Decorators Brandt Bucher Support for the IANA Time Zone Database in the Standard Library Paul Ganssle String methods to remove prefixes and suffixes Dennis Sweeney New PEG parser for CPython Guido van Rossum, Pablo Galindo, Lysandros Nikolaou Add Optional Length-Checking To zip Brandt Bucher Storing project metadata in pyproject.toml Brett Cannon, Dustin Ingram, Paul Ganssle, Pradyun Gedam, Sébastien Eustace, Thomas Kluyver, Tzu-ping Chung Remove wstr from Unicode Inada Naoki Remove Py_UNICODE encoder APIs Inada Naoki Precise line numbers for debugging and other tools. Mark Shannon Recording installed projects Petr Viktorin Add math.tau Alyssa Coghlan Versioning PyPI’s Simple API Donald Stufft Deprecate distutils module Steve Dower Structural Pattern Matching: Specification Brandt Bucher, Guido van Rossum Metadata for Package Source Distributions Paul Moore Require OpenSSL 1.1.1 or newer Christian Heimes Variadic Generics Mark Mendoza, Matthew Rahtz, Pradeep Kumar Srinivasan, Vincent Siles User-Defined Type Guards Eric Traut Maintaining the Stable ABI Petr Viktorin Exception Groups and except* Irit Katriel, Yury Selivanov, Guido van Rossum Marking individual TypedDict items as required or potentially-missing David Foster Platform Tag for Linux Distributions Using Musl Tzu-ping Chung Include Fine Grained Error Locations in Tracebacks Pablo Galindo, Batuhan Taskaya, Ammar Askar Editable installs for pyproject.toml based builds (wheel based) Daniel Holth, Stéphane Bidoul Consistent views of namespaces Mark Shannon, Tian Gao Low Impact Monitoring for CPython Mark Shannon Convert macros to functions in the Python C API Erlend Egeberg Aasland, Victor Stinner Self Type Pradeep Kumar Srinivasan, James Hilton-Balfe Arbitrary Literal String Type Pradeep Kumar Srinivasan, Graham Bleaney Enriching Exceptions with Notes Zac Hatfield-Dodds tomllib: Support for Parsing TOML in the Standard Library Taneli Hukkinen, Shantanu Jain Data Class Transforms Erik De Bonte, Eric Traut Format Specifier for Signed Zero John Belmonte Immortal Objects, Using a Fixed Refcount Eric Snow, Eddie Elizondo A Per-Interpreter GIL Eric Snow Making the buffer protocol accessible in Python Jelle Zijlstra Unstable C API tier Petr Viktorin Using TypedDict for more precise **kwargs typing Franek Magiera Type Parameter Syntax Eric Traut Type Defaults for Type Parameters James Hilton-Balfe Limited C API for Extending Opaque Types Petr Viktorin Override Decorator for Static Typing Steven Troxler, Joshua Xu, Shannon Zhu Additional Fields for the Simple API for Package Indexes Paul Moore Marking deprecations using the type system Jelle Zijlstra TypedDict: Read-only items Alice Purcell Filter for tarfile.extractall Petr Viktorin Inlined comprehensions Carl Meyer Disabling bdist_egg distribution uploads on PyPI William Woodruff Using tarfile.data_filter for source distribution extraction Petr Viktorin Inline script metadata Ofek Lev Adding iOS as a supported platform Russell Keith-Magee C API to format a type fully qualified name Victor Stinner Adding Android as a supported platform Malcolm Smith Index support for digital attestations William Woodruff, Facundo Tuesca, Dustin Ingram Python Configuration C API Victor Stinner Narrowing types with TypeIs Jelle Zijlstra C API to import-export Python integers Sergey B Kirpichev, Victor Stinner Advanced String Formatting Talin Keyword-Only Arguments Talin Access to Names in Outer Scopes Ka-Ping Yee Make print a function Georg Brandl Revamping dict.keys(), .values() and .items() Guido van Rossum Function Annotations Collin Winter, Tony Lownds Standard Library Reorganization Brett Cannon Raising Exceptions in Python 3000 Collin Winter Catching Exceptions in Python 3000 Collin Winter Simple input built-in in Python 3000 Andre Roberge Bytes literals in Python 3000 Jason Orendorff Removal of Tuple Parameter Unpacking Brett Cannon Renaming iterator.next() to iterator.__next__() Ka-Ping Yee Metaclasses in Python 3000 Talin New I/O Daniel Stutzbach, Guido van Rossum, Mike Verdone Revising the buffer protocol Travis Oliphant, Carl Banks Introducing Abstract Base Classes Guido van Rossum, Talin Using UTF-8 as the default source encoding Martin von Löwis Extension Module Initialization and Finalization Martin von Löwis Making PyObject_HEAD conform to standard C Martin von Löwis Integer Literal Support and Syntax Patrick Maupin Class Decorators Collin Winter Supporting Non-ASCII Identifiers Martin von Löwis Extended Iterable Unpacking Georg Brandl Exception Chaining and Embedded Tracebacks Ka-Ping Yee New Super Calvin Spealman, Tim Delaney, Lie Ryan Immutable Bytes and Mutable Buffer Guido van Rossum String representation in Python 3000 Atsuo Ishimoto A Type Hierarchy for Numbers Jeffrey Yasskin IP Address Manipulation Library for the Python Standard Library Peter Moody PYC Repository Directories Barry Warsaw futures - execute computations asynchronously Brian Quinlan ABI version tagged .so files Barry Warsaw Reworking the OS and IO exception hierarchy Antoine Pitrou Pickle protocol version 4 Antoine Pitrou Qualified name for classes and functions Antoine Pitrou Asynchronous IO Support Rebooted: the “asyncio” Module Guido van Rossum Choosing a distributed VCS for the Python project Brett Cannon, Stephen J. Turnbull, Alexandre Vassalotti, Barry Warsaw, Dirkjan Ochtman Python 3.1 Release Schedule Benjamin Peterson Migrating from Subversion to Mercurial Dirkjan Ochtman, Antoine Pitrou, Georg Brandl Python 3.2 Release Schedule Georg Brandl Python 3.3 Release Schedule Georg Brandl Python 2.8 Un-release Schedule Barry Warsaw Python 3.4 Release Schedule Larry Hastings Transitioning to release-file hosting on PyPI Holger Krekel, Carl Meyer Removal of the PyPI Mirror Auto Discovery and Naming Scheme Donald Stufft Removal of the PyPI Mirror Authenticity API Donald Stufft Removing External Hosting Support on PyPI Donald Stufft Python 3.5 Release Schedule Larry Hastings Python 3.6 Release Schedule Ned Deily Migrating from hg.python.org to GitHub Brett Cannon Python 3.7 Release Schedule Ned Deily Package Index Name Retention Łukasz Langa Python 3.8 Release Schedule Łukasz Langa Using GitHub Issues for CPython Mariatta Python 3000 Guido van Rossum Procedure for Backwards-Incompatible Changes Steven Bethard Python Language Moratorium Brett Cannon, Jesse Noller, Guido van Rossum Things that will Not Change in Python 3000 Georg Brandl Miscellaneous Python 3.0 Plans Brett Cannon Python Governance Voting Process Brett Cannon, Christian Heimes, Donald Stufft, Eric Snow, Gregory P. Smith, Łukasz Langa, Mariatta, Nathaniel J. Smith, Pablo Galindo Salgado, Raymond Hettinger, Tal Einat, Tim Peters, Zachary Ware New release cycle and introducing long-term support versions Antoine Pitrou, Georg Brandl, Barry Warsaw Protecting cleanup statements from interruptions Paul Colomiets Naming conventions and recipes related to packaging Benoit Bryon Python Web3 Interface Chris McDonough, Armin Ronacher Add __getdescriptor__ method to metaclass Ronald Oussoren The Wheel Binary Package Format 1.9 Daniel Holth python -m foo should also bind ‘foo’ in sys.modules Cameron Simpson, Chris Angelico, Joseph Jevnik None-aware operators Mark E. Haase, Steve Dower A circuit breaking protocol and binary operators Alyssa Coghlan, Mark E. Haase Deterministic cleanup for iterators Nathaniel J. Smith Improved Errors for Missing Standard Library Modules Tomáš Orsava, Petr Viktorin, Alyssa Coghlan Rich comparison chaining Alyssa Coghlan Running extension modules using the -m option Marcel Plch, Petr Viktorin Threaded garbage collection Antoine Pitrou Generator-sensitivity for Context Variables Nathaniel J. Smith Disallow using macros as l-values Victor Stinner Multiple Interpreters in the Stdlib Eric Snow Overloading, Generic Functions, Interfaces, and Adaptation Phillip J. Eby Standard daemon process library Ben Finney Statement local namespaces (aka “given” clause) Alyssa Coghlan How to Change Python’s Grammar Michael Hudson, Jack Diederich, Alyssa Coghlan, Benjamin Peterson Reliable Acquisition/Release Pairs Michael Hudson, Paul Moore Adding Roman Numeral Literals to Python Mike Meyer Metadata for Python Software Packages 1.1 A.M. Kuchling, Richard Jones Enhanced While Loop Raymond Hettinger, W Isaac Carroll Eliminate Implicit Exception Instantiation Steven Taschuk Python Synchronize/Asynchronize Block Michel Pelletier Date/Time Parsing and Formatting A.M. Kuchling Resource-Release Support for Generators Samuele Pedroni A Case for Top and Bottom Values Josiah Carlson, Terry Reedy Treating Builtins as Constants in the Standard Library Raymond Hettinger Python Bytecode Verification Michel Pelletier Byte vectors and String/Unicode Unification Skip Montanaro Simple Coroutines via SuspendIteration Clark C. Evans Overloadable Boolean Operators Gregory Ewing Make None Callable Andrew McClelland Design of the CPython Compiler Brett Cannon Anonymous Block Statements Guido van Rossum Exception Chaining and Embedded Tracebacks Ka-Ping Yee Metadata for Python Software Packages 1.2 Richard Jones User Defined (“with”) Statements Alyssa Coghlan Exception Reorganization for Python 3.0 Brett Cannon Allow str() to return unicode strings Neil Schemenauer Codetags Micah Elliott The freeze protocol Barry Warsaw Enumerations in Python Ben Finney Path - Object oriented filesystem paths Björn Lindqvist The “make” Statement Steven Bethard Syntax For Dynamic Attribute Access Ben North Transitioning to the Py3K Standard Library Barry Warsaw Adding the pkg_resources module Phillip J. Eby New Super Calvin Spealman, Tim Delaney Post import hooks Christian Heimes 2.6, 3.0 Allow __enter__() methods to skip the statement body Alyssa Coghlan 2.7, 3.1 Adding an Assignment Expression Jervis Whitley 2.7, 3.2 Mirroring infrastructure for PyPI Tarek Ziadé, Martin von Löwis Namespace Packages Martin von Löwis Changing the version comparison module in Distutils Tarek Ziadé Static metadata for Distutils Tarek Ziadé 2.7, 3.2 Qualified Names for Modules Alyssa Coghlan Module Version Numbers Barry Warsaw BDFL Retirement Barry Warsaw, Brett Cannon Simplified Package Layout and Partitioning Phillip J. Eby Improved Encapsulation of Import State Alyssa Coghlan, Greg Slodkowicz Standard library __preview__ package Alyssa Coghlan, Eli Bendersky Use decimal.Decimal type for timestamps Victor Stinner Provisional packages in the Python standard library Alyssa Coghlan, Eli Bendersky Faster evolution of the Python Standard Library Alyssa Coghlan Add a frozendict builtin type Victor Stinner Simpler customisation of class creation Alyssa Coghlan, Daniel Urban Metadata for Python Software Packages 2.0 Alyssa Coghlan, Daniel Holth, Donald Stufft Time zone support improvements Lennart Regebro Restructuring the CPython startup sequence Alyssa Coghlan, Victor Stinner, Eric Snow Easier suppression of file descriptor inheritance Victor Stinner A DSL for specifying signatures, annotations and argument converters Stefan Krah Inclusion of implicit pip bootstrap in Python installation Richard Jones Adding a key-transforming dictionary to collections Antoine Pitrou Standard Metadata Extensions for Python Software Packages Alyssa Coghlan Add binary interpolation and formatting Antoine Pitrou Core development workflow automation for CPython Alyssa Coghlan Exception-catching expressions Chris Angelico Migration of dict iteration code to Python 3 Alyssa Coghlan Support for indexing with keyword arguments Stefano Borini, Joseph Martinot-Lagarde Adding structured data to built-in exceptions Sebastian Kreft Creating forge.python.org Alyssa Coghlan Migrate CPython to Git, Github, and Phabricator Donald Stufft Chain exceptions at C level Victor Stinner Environment Markers James Polley A standard mechanism for backward compatibility Ed Schofield A protocol for delegating datetime methods to their tzinfo implementations Alexander Belopolsky, Tim Peters General purpose template literal strings Alyssa Coghlan, Nick Humrich String Interpolation - Extended Discussion Mike G. Miller Using the System RNG by default Alyssa Coghlan Migrate CPython to Git and GitLab Barry Warsaw Add a private version to dict Victor Stinner Specialize functions with guards Victor Stinner API for code transformers Victor Stinner A Platform Tag for Portable Linux Built Distributions Robert T. McGibbon, Nathaniel J. Smith Build system abstraction for pip/conda etc Robert Collins, Nathaniel J. Smith Managing global context via ‘with’ blocks in generators and coroutines Nathaniel J. Smith Allow BlockingIOError in security sensitive APIs Alyssa Coghlan, Nathaniel J. Smith Existence checking operators Alyssa Coghlan Final Grammar for Literal String Interpolation Philipp Angerer Dot Notation Assignment In Function Header Markus Meskanen A Unified TLS API for Python Cory Benfield, Christian Heimes Backport ssl.MemoryBIO and ssl.SSLObject to Python 2.7 Victor Stinner, Cory Benfield More Flexible Loop Control R David Murray Instance Descriptors Larry Hastings Execution Context Yury Selivanov, Elvis Pranskevichus Security transparency in the Python runtime Steve Dower Multiple Interpreters in the Stdlib Eric Snow Context-local variables (contextvars) Koos Zevenhoven Defined semantics for locals() Alyssa Coghlan Built-in noop() Barry Warsaw The manylinux2010 Platform Tag Mark Williams, Geoffrey Thomas, Thomas Kluyver Unifying function/method classes Jeroen Demeyer Rationalize Built-in function classes Mark Shannon Augmented Assignment Expressions Alyssa Coghlan The C call protocol Jeroen Demeyer Python local packages directory Kushal Das, Steve Dower, Donald Stufft, Alyssa Coghlan A Concurrency Memory Model for Python Jeffrey Yasskin Improving bugs.python.org Ezio Melotti, Berker Peksag Introducing incremental feature releases Alyssa Coghlan The manylinux2014 Platform Tag Dustin Ingram Forbid return/break/continue breaking out of finally Damien George, Batuhan Taskaya A rolling feature release stream for CPython Steve Dower, Alyssa Coghlan Python Compatibility Version Victor Stinner Coordinated Python release Miro Hrončok, Victor Stinner The one million limit Mark Shannon Hide implementation details from the C API Victor Stinner Structural Pattern Matching Brandt Bucher, Daniel F Moisset, Tobias Kohn, Ivan Levkivskyi, Guido van Rossum, Talin Dependency specification in pyproject.toml based on PEP 508 Ofek Lev Dependency specification in pyproject.toml using an exploded TOML table Laurie Opperman, Arun Babu Neelicattu Support for indexing with keyword arguments Stefano Borini Unused variable syntax Thomas Wouters Using an underscore in the version portion of Python 3.10 compatibility tags Brett Cannon, Steve Dower, Barry Warsaw Explicit Pattern Syntax for Structural Pattern Matching Alyssa Coghlan Allow writing optional types as x? Maggie Moss Extensible customizations of the interpreter at startup Mario Corchero Specifying Installer Requirements for Python Projects Vikram Jayanthi, Dustin Ingram, Brett Cannon Robust Stack Overflow Handling Mark Shannon Editable installs via virtual wheels Bernát Gábor Standardizing Enum str(), repr(), and format() behaviors Ethan Furman A file format to list Python dependencies for reproducibility of an application Brett Cannon, Pradyun Gedam, Tzu-ping Chung Reject Foolish Indentation Laura Creighton Callable Type Syntax Steven Troxler, Pradeep Kumar Srinivasan Lazy Imports Germán Méndez Bravo, Carl Meyer Require virtual environments by default for package installers Pradyun Gedam A simplified signature for __exit__ and __aexit__ Irit Katriel Adding a “converter” parameter to dataclasses.field Joshua Cannon Callable Modules Amethyst Reese Dependency specification for single-file scripts Paul Moore Stricter Type Guards Rich Chiodo, Eric Traut, Erik De Bonte Module __setattr__ and __delattr__ Sergey B Kirpichev IEEE 754 Floating Point Special Values Gregory R. Warnes Add PyUnicode_Export() and PyUnicode_Import() C functions Victor Stinner No More Bare Excepts Pablo Galindo, Brett Cannon Procedure for reviewing and improving standard library modules Georg Brandl A Switch/Case Statement Guido van Rossum Postfix type declarations Georg Brandl Delineation of the main module Brett Cannon Remove Backslash Continuation Jim J. Jewett Remove Implicit String Concatenation Jim J. Jewett, Raymond Hettinger BList: A Faster List-like Type Daniel Stutzbach 2.6, 3.0 Access to Current Module/Class/Function Jim J. Jewett Introducing Roles Collin Winter Labeled break and continue Matt Chisholm Cleaning out sys and the “interpreter” module Benjamin Peterson str(container) should call str(item), not repr(item) Oleg Broytman, Jim J. Jewett Add a “while” clause to generator expressions Gerald Britton Asynchronous I/O For subprocess.Popen Eric Pruitt, Charles R. McCreary, Josiah Carlson Merging Unladen Swallow into CPython Collin Winter, Jeffrey Yasskin, Reid Kleckner Cofunctions Gregory Ewing Asynchronous IO support Laurens Van Houtven The Technical Leader Governance Model Barry Warsaw Python Governance Model Lead by Trio of Pythonistas Mariatta, Barry Warsaw The Community Governance Model Łukasz Langa The External Council Governance Model Steve Dower The Commons Governance Model Jack Jansen Organization of the Python community Victor Stinner

    PEP Types Key

  • I Informational : Non-normative PEP containing background, guidelines or other information relevant to the Python ecosystem
  • P Process : Normative PEP describing or proposing a change to a Python community process, workflow or governance
  • S Standards Track : Normative PEP with a new feature for Python, implementation change for CPython or interoperability standard for the ecosystem
  • More info in PEP 1 .

    PEP Status Key

  • A Accepted : Normative proposal accepted for implementation
  • A Active : Currently valid informational guidance, or an in-use process
  • D Deferred : Inactive draft that may be taken up again at a later time
  • <No letter> Draft : Proposal under active discussion and revision
  • F Final : Accepted and implementation complete, or no longer active
  • P Provisional : Provisionally accepted but additional feedback needed
  • R Rejected : Formally declined and will not be accepted
  • S Superseded : Replaced by another succeeding PEP
  • W Withdrawn : Removed from consideration by sponsor or authors
  • More info in PEP 1 .

    Authors/Owners

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