peps.python.org Open in urlscan Pro
2a04:4e42:400::223  Public Scan

Submitted URL: http://peps.python.org/
Effective URL: https://peps.python.org/
Submission: On December 04 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

Following system colour scheme Selected dark colour scheme Selected light colour
scheme


PYTHON ENHANCEMENT PROPOSALS

 * Python »
 * PEP Index »
 * PEP 0

Toggle light / dark / auto colour theme


PEP 0 – INDEX OF PYTHON ENHANCEMENT PROPOSALS (PEPS)

Author: The PEP Editors Status: Active Type: Informational Created: 13-Jul-2000

--------------------------------------------------------------------------------

Table of Contents
 * Introduction
 * Topics
 * 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


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


INDEX BY CATEGORY


META-PEPS (PEPS ABOUT PEPS OR PROCESSES)

PEP Title Authors PA 1 PEP Purpose and Guidelines Barry Warsaw, Jeremy Hylton,
David Goodger, Alyssa Coghlan PA 2 Procedure for Adding New Modules Brett
Cannon, Martijn Faassen PA 4 Deprecation of Standard Modules Brett Cannon,
Martin von Löwis PA 7 Style Guide for C Code Guido van Rossum, Barry Warsaw PA 8
Style Guide for Python Code Guido van Rossum, Barry Warsaw, Alyssa Coghlan PA 10
Voting Guidelines Barry Warsaw PA 11 CPython platform support Martin von Löwis,
Brett Cannon PA 12 Sample reStructuredText PEP Template David Goodger, Barry
Warsaw, Brett Cannon PA 13 Python Language Governance The Python core team and
community PA 387 Backwards Compatibility Policy Benjamin Peterson PA 581 Using
GitHub Issues for CPython Mariatta PA 609 Python Packaging Authority (PyPA)
Governance Dustin Ingram, Pradyun Gedam, Sumana Harihareswara PA 676 PEP
Infrastructure Process Adam Turner PA 729 Typing governance process Jelle
Zijlstra, Shantanu Jain PA 731 C API Working Group Charter Guido van Rossum,
Petr Viktorin, Victor Stinner, Steve Dower, Irit Katriel


OTHER INFORMATIONAL PEPS

PEP Title Authors IA 20 The Zen of Python Tim Peters IA 101 Doing Python
Releases 101 Barry Warsaw, Guido van Rossum IF 247 API for Cryptographic Hash
Functions A.M. Kuchling IF 248 Python Database API Specification v1.0 Greg
Stein, Marc-André Lemburg IF 249 Python Database API Specification v2.0
Marc-André Lemburg IA 257 Docstring Conventions David Goodger, Guido van Rossum
IF 272 API for Block Encryption Algorithms v1.0 A.M. Kuchling IA 287
reStructuredText Docstring Format David Goodger IA 290 Code Migration and
Modernization Raymond Hettinger IF 291 Backward Compatibility for the Python 2
Standard Library Neal Norwitz 2.3 IF 333 Python Web Server Gateway Interface
v1.0 Phillip J. Eby IA 394 The “python” Command on Unix-Like Systems Kerrick
Staley, Alyssa Coghlan, Barry Warsaw, Petr Viktorin, Miro Hrončok, Carol Willing
IF 399 Pure Python/C Accelerator Module Compatibility Requirements Brett Cannon
3.3 IF 430 Migrating to Python 3 as the default online documentation Alyssa
Coghlan IA 434 IDLE Enhancement Exception for All Branches Todd Rovito, Terry
Reedy IF 452 API for Cryptographic Hash Functions v2.0 A.M. Kuchling, Christian
Heimes IF 457 Notation For Positional-Only Parameters Larry Hastings IF 482
Literature Overview for Type Hints Łukasz Langa IF 483 The Theory of Type Hints
Guido van Rossum, Ivan Levkivskyi IA 514 Python registration in the Windows
registry Steve Dower IA 569 Python 3.8 Release Schedule Łukasz Langa 3.8 IF 579
Refactoring C functions and methods Jeroen Demeyer IA 596 Python 3.9 Release
Schedule Łukasz Langa 3.9 IA 602 Annual Release Cycle for Python Łukasz Langa
3.9 IF 607 Reducing CPython’s Feature Delivery Latency Łukasz Langa, Steve
Dower, Alyssa Coghlan 3.9 IA 619 Python 3.10 Release Schedule Pablo Galindo
Salgado 3.10 IF 630 Isolating Extension Modules Petr Viktorin IF 635 Structural
Pattern Matching: Motivation and Rationale Tobias Kohn, Guido van Rossum 3.10 IF
636 Structural Pattern Matching: Tutorial Daniel F Moisset 3.10 IA 664 Python
3.11 Release Schedule Pablo Galindo Salgado 3.11 IA 672 Unicode-related Security
Considerations for Python Petr Viktorin IA 693 Python 3.12 Release Schedule
Thomas Wouters 3.12 IA 719 Python 3.13 Release Schedule Thomas Wouters 3.13 IA
801 Reserved Barry Warsaw IF 3333 Python Web Server Gateway Interface v1.0.1
Phillip J. Eby IF 8000 Python Language Governance Proposal Overview Barry Warsaw
IF 8002 Open Source Governance Survey Barry Warsaw, Łukasz Langa, Antoine
Pitrou, Doug Hellmann, Carol Willing IA 8016 The Steering Council Model
Nathaniel J. Smith, Donald Stufft IF 8100 January 2019 Steering Council election
Nathaniel J. Smith, Ee Durbin IF 8101 2020 Term Steering Council election Ewa
Jodlowska, Ee Durbin IF 8102 2021 Term Steering Council election Ewa Jodlowska,
Ee Durbin, Joe Carey IF 8103 2022 Term Steering Council election Ewa Jodlowska,
Ee Durbin, Joe Carey IA 8104 2023 Term Steering Council election Ee Durbin IA
8105 2024 Term Steering Council election Ee Durbin


PROVISIONAL PEPS (PROVISIONALLY ACCEPTED; INTERFACE MAY STILL CHANGE)

PEP Title Authors SP 708 Extending the Repository API to Mitigate Dependency
Confusion Attacks Donald Stufft SP 723 Inline script metadata Ofek Lev


ACCEPTED PEPS (ACCEPTED; MAY NOT BE IMPLEMENTED YET)

PEP Title Authors SA 458 Secure PyPI downloads with signed repository metadata
Trishank Karthik Kuppusamy, Vladimir Diaz, Marina Moore, Lukas Puehringer,
Joshua Lock, Lois Anne DeLong, Justin Cappos SA 544 Protocols: Structural
subtyping (static duck typing) Ivan Levkivskyi, Jukka Lehtosalo, Łukasz Langa
3.8 SA 560 Core support for typing module and generic types Ivan Levkivskyi 3.7
SA 563 Postponed Evaluation of Annotations Łukasz Langa 3.7 SA 578 Python
Runtime Audit Hooks Steve Dower 3.8 SA 586 Literal Types Michael Lee, Ivan
Levkivskyi, Jukka Lehtosalo 3.8 SA 589 TypedDict: Type Hints for Dictionaries
with a Fixed Set of Keys Jukka Lehtosalo 3.8 SA 590 Vectorcall: a fast calling
protocol for CPython Mark Shannon, Jeroen Demeyer 3.8 SA 591 Adding a final
qualifier to typing Michael J. Sullivan, Ivan Levkivskyi 3.8 SA 593 Flexible
function and variable annotations Till Varoquaux, Konstantin Kashin 3.9 SA 604
Allow writing union types as X | Y Philippe PRADOS, Maggie Moss 3.10 SA 612
Parameter Specification Variables Mark Mendoza 3.10 SA 613 Explicit Type Aliases
Shannon Zhu 3.10 SA 615 Support for the IANA Time Zone Database in the Standard
Library Paul Ganssle 3.9 SA 617 New PEG parser for CPython Guido van Rossum,
Pablo Galindo, Lysandros Nikolaou 3.9 SA 625 Filename of a Source Distribution
Tzu-ping Chung, Paul Moore SA 634 Structural Pattern Matching: Specification
Brandt Bucher, Guido van Rossum 3.10 SA 646 Variadic Generics Mark Mendoza,
Matthew Rahtz, Pradeep Kumar Srinivasan, Vincent Siles 3.11 SA 647 User-Defined
Type Guards Eric Traut 3.10 SA 649 Deferred Evaluation Of Annotations Using
Descriptors Larry Hastings 3.13 SA 655 Marking individual TypedDict items as
required or potentially-missing David Foster 3.11 SA 658 Serve Distribution
Metadata in the Simple Repository API Tzu-ping Chung SA 668 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 SA 669 Low Impact Monitoring for CPython Mark Shannon 3.12 SA 673 Self
Type Pradeep Kumar Srinivasan, James Hilton-Balfe 3.11 SA 675 Arbitrary Literal
String Type Pradeep Kumar Srinivasan, Graham Bleaney 3.11 SA 681 Data Class
Transforms Erik De Bonte, Eric Traut 3.11 SA 683 Immortal Objects, Using a Fixed
Refcount Eric Snow, Eddie Elizondo 3.12 SA 684 A Per-Interpreter GIL Eric Snow
3.12 SA 685 Comparison of extra names for optional distribution dependencies
Brett Cannon SA 686 Make UTF-8 mode default Inada Naoki 3.15 SA 687 Isolating
modules in the standard library Erlend Egeberg Aasland, Petr Viktorin 3.12 SA
688 Making the buffer protocol accessible in Python Jelle Zijlstra 3.12 SA 691
JSON-based Simple API for Python Package Indexes Donald Stufft, Pradyun Gedam,
Cooper Lees, Dustin Ingram SA 692 Using TypedDict for more precise **kwargs
typing Franek Magiera 3.12 SA 695 Type Parameter Syntax Eric Traut 3.12 SA 698
Override Decorator for Static Typing Steven Troxler, Joshua Xu, Shannon Zhu 3.12
SA 699 Remove private dict version field added in PEP 509 Ken Jin 3.12 SA 700
Additional Fields for the Simple API for Package Indexes Paul Moore SA 701
Syntactic formalization of f-strings Pablo Galindo, Batuhan Taskaya, Lysandros
Nikolaou, Marta Gómez Macías 3.12 SA 702 Marking deprecations using the type
system Jelle Zijlstra 3.13 SA 703 Making the Global Interpreter Lock Optional in
CPython Sam Gross 3.13 SA 709 Inlined comprehensions Carl Meyer 3.12 SA 714
Rename dist-info-metadata in the Simple API Donald Stufft


OPEN PEPS (UNDER CONSIDERATION)

PEP Title Authors S 467 Minor API improvements for binary sequences Alyssa
Coghlan, Ethan Furman 3.12 S 480 Surviving a Compromise of PyPI: End-to-end
signing of packages Trishank Karthik Kuppusamy, Vladimir Diaz, Justin Cappos,
Marina Moore I 588 GitHub Issues Migration Plan Mariatta S 603 Adding a
frozenmap type to collections Yury Selivanov S 638 Syntactic Macros Mark Shannon
S 639 Improving License Clarity with Better Package Metadata Philippe
Ombredanne, C.A.M. Gerlach S 653 Precise Semantics for Pattern Matching Mark
Shannon I 659 Specializing Adaptive Interpreter Mark Shannon S 661 Sentinel
Values Tal Einat S 667 Consistent views of namespaces Mark Shannon 3.13 S 671
Syntax for late-bound function argument defaults Chris Angelico 3.12 S 679 Allow
parentheses in assert statements Pablo Galindo Salgado 3.12 S 694 Upload 2.0 API
for Python Package Repositories Donald Stufft S 696 Type defaults for
TypeVarLikes James Hilton-Balfe 3.12 S 705 TypedDict: Read-only items Alice
Purcell 3.13 S 710 Recording the provenance of installed packages Fridolín
Pokorný S 711 PyBI: a standard format for distributing Python Binaries Nathaniel
J. Smith S 712 Adding a “converter” parameter to dataclasses.field Joshua Cannon
3.13 S 718 Subscriptable functions James Hilton-Balfe 3.13 I 720 Cross-compiling
Python packages Filipe Laíns 3.12 S 724 Stricter Type Guards Rich Chiodo, Eric
Traut, Erik De Bonte 3.13 S 725 Specifying external dependencies in
pyproject.toml Pradyun Gedam, Ralf Gommers S 726 Module __setattr__ and
__delattr__ Sergey B Kirpichev 3.13 S 727 Documentation in Annotated Metadata
Sebastián Ramírez 3.13 S 730 Adding iOS as a supported platform Russell
Keith-Magee 3.13 P 732 The Python Documentation Editorial Board Joanna Jablonski
I 733 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 S 734 Multiple Interpreters in the Stdlib
Eric Snow 3.13 S 735 Dependency Groups in pyproject.toml Stephen Rosen S 737
Unify type name formatting Victor Stinner 3.13


FINISHED PEPS (DONE, WITH A STABLE INTERFACE)

PEP Title Authors SF 100 Python Unicode Integration Marc-André Lemburg 2.0 SF
201 Lockstep Iteration Barry Warsaw 2.0 SF 202 List Comprehensions Barry Warsaw
2.0 SF 203 Augmented Assignments Thomas Wouters 2.0 SF 205 Weak References Fred
L. Drake, Jr. 2.1 SF 207 Rich Comparisons Guido van Rossum, David Ascher 2.1 SF
208 Reworking the Coercion Model Neil Schemenauer, Marc-André Lemburg 2.1 SF 214
Extended Print Statement Barry Warsaw 2.0 SF 217 Display Hook for Interactive
Use Moshe Zadka 2.1 SF 218 Adding a Built-In Set Object Type Greg Wilson,
Raymond Hettinger 2.2 SF 221 Import As Thomas Wouters 2.0 SF 223 Change the
Meaning of x Escapes Tim Peters 2.0 SF 227 Statically Nested Scopes Jeremy
Hylton 2.1 SF 229 Using Distutils to Build Python A.M. Kuchling 2.1 SF 230
Warning Framework Guido van Rossum 2.1 SF 232 Function Attributes Barry Warsaw
2.1 SF 234 Iterators Ka-Ping Yee, Guido van Rossum 2.1 SF 235 Import on
Case-Insensitive Platforms Tim Peters 2.1 SF 236 Back to the __future__ Tim
Peters 2.1 SF 237 Unifying Long Integers and Integers Moshe Zadka, Guido van
Rossum 2.2 SF 238 Changing the Division Operator Moshe Zadka, Guido van Rossum
2.2 SF 250 Using site-packages on Windows Paul Moore 2.2 SF 252 Making Types
Look More Like Classes Guido van Rossum 2.2 SF 253 Subtyping Built-in Types
Guido van Rossum 2.2 SF 255 Simple Generators Neil Schemenauer, Tim Peters,
Magnus Lie Hetland 2.2 SF 260 Simplify xrange() Guido van Rossum 2.2 SF 261
Support for “wide” Unicode characters Paul Prescod 2.2 SF 263 Defining Python
Source Code Encodings Marc-André Lemburg, Martin von Löwis 2.3 SF 264 Future
statements in simulated shells Michael Hudson 2.2 SF 273 Import Modules from Zip
Archives James C. Ahlstrom 2.3 SF 274 Dict Comprehensions Barry Warsaw 2.7, 3.0
SF 277 Unicode file name support for Windows NT Neil Hodgson 2.3 SF 278
Universal Newline Support Jack Jansen 2.3 SF 279 The enumerate() built-in
function Raymond Hettinger 2.3 SF 282 A Logging System Vinay Sajip, Trent Mick
2.3 SF 285 Adding a bool type Guido van Rossum 2.3 SF 289 Generator Expressions
Raymond Hettinger 2.4 SF 292 Simpler String Substitutions Barry Warsaw 2.4 SF
293 Codec Error Handling Callbacks Walter Dörwald 2.3 SF 301 Package Index and
Metadata for Distutils Richard Jones 2.3 SF 302 New Import Hooks Just van
Rossum, Paul Moore 2.3 SF 305 CSV File API Kevin Altis, Dave Cole, Andrew
McNamara, Skip Montanaro, Cliff Wells 2.3 SF 307 Extensions to the pickle
protocol Guido van Rossum, Tim Peters 2.3 SF 308 Conditional Expressions Guido
van Rossum, Raymond Hettinger 2.5 SF 309 Partial Function Application Peter
Harris 2.5 SF 311 Simplified Global Interpreter Lock Acquisition for Extensions
Mark Hammond 2.3 SF 318 Decorators for Functions and Methods Kevin D. Smith, Jim
J. Jewett, Skip Montanaro, Anthony Baxter 2.4 SF 322 Reverse Iteration Raymond
Hettinger 2.4 SF 324 subprocess - New process module Peter Astrand 2.4 SF 327
Decimal Data Type Facundo Batista 2.4 SF 328 Imports: Multi-Line and
Absolute/Relative Aahz 2.4, 2.5, 2.6 SF 331 Locale-Independent Float/String
Conversions Christian R. Reis 2.4 SF 338 Executing modules as scripts Alyssa
Coghlan 2.5 SF 341 Unifying try-except and try-finally Georg Brandl 2.5 SF 342
Coroutines via Enhanced Generators Guido van Rossum, Phillip J. Eby 2.5 SF 343
The “with” Statement Guido van Rossum, Alyssa Coghlan 2.5 SF 352 Required
Superclass for Exceptions Brett Cannon, Guido van Rossum 2.5 SF 353 Using
ssize_t as the index type Martin von Löwis 2.5 SF 357 Allowing Any Object to be
Used for Slicing Travis Oliphant 2.5 SF 358 The “bytes” Object Neil Schemenauer,
Guido van Rossum 2.6, 3.0 SF 362 Function Signature Object Brett Cannon, Jiwon
Seo, Yury Selivanov, Larry Hastings 3.3 SF 366 Main module explicit relative
imports Alyssa Coghlan 2.6, 3.0 SF 370 Per user site-packages directory
Christian Heimes 2.6, 3.0 SF 371 Addition of the multiprocessing package to the
standard library Jesse Noller, Richard Oudkerk 2.6, 3.0 SF 372 Adding an ordered
dictionary to collections Armin Ronacher, Raymond Hettinger 2.7, 3.1 SF 376
Database of Installed Python Distributions Tarek Ziadé 2.7, 3.2 SF 378 Format
Specifier for Thousands Separator Raymond Hettinger 2.7, 3.1 SF 380 Syntax for
Delegating to a Subgenerator Gregory Ewing 3.3 SF 383 Non-decodable Bytes in
System Character Interfaces Martin von Löwis 3.1 SF 384 Defining a Stable ABI
Martin von Löwis 3.2 SF 389 argparse - New Command Line Parsing Module Steven
Bethard 2.7, 3.2 SF 391 Dictionary-Based Configuration For Logging Vinay Sajip
2.7, 3.2 SF 393 Flexible String Representation Martin von Löwis 3.3 SF 397
Python launcher for Windows Mark Hammond, Martin von Löwis 3.3 SF 405 Python
Virtual Environments Carl Meyer 3.3 SF 409 Suppressing exception context Ethan
Furman 3.3 SF 412 Key-Sharing Dictionary Mark Shannon 3.3 SF 414 Explicit
Unicode Literal for Python 3.3 Armin Ronacher, Alyssa Coghlan 3.3 SF 415
Implement context suppression with exception attributes Benjamin Peterson 3.3 SF
417 Including mock in the Standard Library Michael Foord 3.3 SF 418 Add
monotonic time, performance counter, and process time functions Cameron Simpson,
Jim J. Jewett, Stephen J. Turnbull, Victor Stinner 3.3 SF 420 Implicit Namespace
Packages Eric V. Smith 3.3 SF 421 Adding sys.implementation Eric Snow 3.3 SF 424
A method for exposing a length hint Alex Gaynor 3.4 SF 425 Compatibility Tags
for Built Distributions Daniel Holth 3.4 SF 427 The Wheel Binary Package Format
1.0 Daniel Holth SF 428 The pathlib module – object-oriented filesystem paths
Antoine Pitrou 3.4 SF 435 Adding an Enum type to the Python standard library
Barry Warsaw, Eli Bendersky, Ethan Furman 3.4 SF 436 The Argument Clinic DSL
Larry Hastings 3.4 SF 440 Version Identification and Dependency Specification
Alyssa Coghlan, Donald Stufft SF 441 Improving Python ZIP Application Support
Daniel Holth, Paul Moore 3.5 SF 442 Safe object finalization Antoine Pitrou 3.4
SF 443 Single-dispatch generic functions Łukasz Langa 3.4 SF 445 Add new APIs to
customize Python memory allocators Victor Stinner 3.4 SF 446 Make newly created
file descriptors non-inheritable Victor Stinner 3.4 SF 448 Additional Unpacking
Generalizations Joshua Landau 3.5 SF 450 Adding A Statistics Module To The
Standard Library Steven D’Aprano 3.4 SF 451 A ModuleSpec Type for the Import
System Eric Snow 3.4 SF 453 Explicit bootstrapping of pip in Python
installations Donald Stufft, Alyssa Coghlan SF 454 Add a new tracemalloc module
to trace Python memory allocations Victor Stinner 3.4 SF 456 Secure and
interchangeable hash algorithm Christian Heimes 3.4 SF 461 Adding % formatting
to bytes and bytearray Ethan Furman 3.5 SF 465 A dedicated infix operator for
matrix multiplication Nathaniel J. Smith 3.5 SF 466 Network Security
Enhancements for Python 2.7.x Alyssa Coghlan 2.7.9 SF 468 Preserving the order
of **kwargs in a function. Eric Snow 3.6 SF 471 os.scandir() function – a better
and faster directory iterator Ben Hoyt 3.5 SF 475 Retry system calls failing
with EINTR Charles-François Natali, Victor Stinner 3.5 SF 476 Enabling
certificate verification by default for stdlib http clients Alex Gaynor 2.7.9,
3.4.3, 3.5 SF 477 Backport ensurepip (PEP 453) to Python 2.7 Donald Stufft,
Alyssa Coghlan SF 479 Change StopIteration handling inside generators Chris
Angelico, Guido van Rossum 3.5 SF 484 Type Hints Guido van Rossum, Jukka
Lehtosalo, Łukasz Langa 3.5 SF 485 A Function for testing approximate equality
Christopher Barker 3.5 SF 486 Make the Python Launcher aware of virtual
environments Paul Moore 3.5 SF 487 Simpler customisation of class creation
Martin Teichmann 3.6 SF 488 Elimination of PYO files Brett Cannon 3.5 SF 489
Multi-phase extension module initialization Petr Viktorin, Stefan Behnel, Alyssa
Coghlan 3.5 SF 492 Coroutines with async and await syntax Yury Selivanov 3.5 SF
493 HTTPS verification migration tools for Python 2.7 Alyssa Coghlan, Robert
Kuska, Marc-André Lemburg 2.7.12 SF 495 Local Time Disambiguation Alexander
Belopolsky, Tim Peters 3.6 SF 498 Literal String Interpolation Eric V. Smith 3.6
SF 503 Simple Repository API Donald Stufft SF 506 Adding A Secrets Module To The
Standard Library Steven D’Aprano 3.6 SF 508 Dependency specification for Python
Software Packages Robert Collins SF 515 Underscores in Numeric Literals Georg
Brandl, Serhiy Storchaka 3.6 SF 517 A build-system independent format for source
trees Nathaniel J. Smith, Thomas Kluyver SF 518 Specifying Minimum Build System
Requirements for Python Projects Brett Cannon, Nathaniel J. Smith, Donald Stufft
SF 519 Adding a file system path protocol Brett Cannon, Koos Zevenhoven 3.6 SF
520 Preserving Class Attribute Definition Order Eric Snow 3.6 SF 523 Adding a
frame evaluation API to CPython Brett Cannon, Dino Viehland 3.6 SF 524 Make
os.urandom() blocking on Linux Victor Stinner 3.6 SF 525 Asynchronous Generators
Yury Selivanov 3.6 SF 526 Syntax for Variable Annotations Ryan Gonzalez, Philip
House, Ivan Levkivskyi, Lisa Roach, Guido van Rossum 3.6 SF 527 Removing
Un(der)used file types/extensions on PyPI Donald Stufft SF 528 Change Windows
console encoding to UTF-8 Steve Dower 3.6 SF 529 Change Windows filesystem
encoding to UTF-8 Steve Dower 3.6 SF 530 Asynchronous Comprehensions Yury
Selivanov 3.6 SF 538 Coercing the legacy C locale to a UTF-8 based locale Alyssa
Coghlan 3.7 SF 539 A New C-API for Thread-Local Storage in CPython Erik M. Bray,
Masayuki Yamamoto 3.7 SF 540 Add a new UTF-8 Mode Victor Stinner 3.7 SF 552
Deterministic pycs Benjamin Peterson 3.7 SF 553 Built-in breakpoint() Barry
Warsaw 3.7 SF 557 Data Classes Eric V. Smith 3.7 SF 561 Distributing and
Packaging Type Information Ethan Smith 3.7 SF 562 Module __getattr__ and __dir__
Ivan Levkivskyi 3.7 SF 564 Add new time functions with nanosecond resolution
Victor Stinner 3.7 SF 565 Show DeprecationWarning in __main__ Alyssa Coghlan 3.7
SF 566 Metadata for Python Software Packages 2.1 Dustin Ingram 3.x SF 567
Context Variables Yury Selivanov 3.7 SF 570 Python Positional-Only Parameters
Larry Hastings, Pablo Galindo, Mario Corchero, Eric N. Vander Weele 3.8 SF 572
Assignment Expressions Chris Angelico, Tim Peters, Guido van Rossum 3.8 SF 573
Module State Access from C Extension Methods Petr Viktorin, Alyssa Coghlan, Eric
Snow, Marcel Plch 3.9 SF 574 Pickle protocol 5 with out-of-band data Antoine
Pitrou 3.8 SF 584 Add Union Operators To dict Steven D’Aprano, Brandt Bucher 3.9
SF 585 Type Hinting Generics In Standard Collections Łukasz Langa 3.9 SF 587
Python Initialization Configuration Victor Stinner, Alyssa Coghlan 3.8 SF 592
Adding “Yank” Support to the Simple API Donald Stufft SF 594 Removing dead
batteries from the standard library Christian Heimes, Brett Cannon 3.11 SF 597
Add optional EncodingWarning Inada Naoki 3.10 SF 600 Future ‘manylinux’ Platform
Tags for Portable Linux Built Distributions Nathaniel J. Smith, Thomas Kluyver
SF 610 Recording the Direct URL Origin of installed distributions Stéphane
Bidoul, Chris Jerdonek SF 614 Relaxing Grammar Restrictions On Decorators Brandt
Bucher 3.9 SF 616 String methods to remove prefixes and suffixes Dennis Sweeney
3.9 SF 618 Add Optional Length-Checking To zip Brandt Bucher 3.10 SF 621 Storing
project metadata in pyproject.toml Brett Cannon, Dustin Ingram, Paul Ganssle,
Pradyun Gedam, Sébastien Eustace, Thomas Kluyver, Tzu-ping Chung SF 623 Remove
wstr from Unicode Inada Naoki 3.10 SF 624 Remove Py_UNICODE encoder APIs Inada
Naoki 3.11 SF 626 Precise line numbers for debugging and other tools. Mark
Shannon 3.10 SF 627 Recording installed projects Petr Viktorin SF 628 Add
math.tau Alyssa Coghlan 3.6 SF 629 Versioning PyPI’s Simple API Donald Stufft SF
632 Deprecate distutils module Steve Dower 3.10 SF 643 Metadata for Package
Source Distributions Paul Moore SF 644 Require OpenSSL 1.1.1 or newer Christian
Heimes 3.10 SF 652 Maintaining the Stable ABI Petr Viktorin 3.10 SF 654
Exception Groups and except* Irit Katriel, Yury Selivanov, Guido van Rossum 3.11
SF 656 Platform Tag for Linux Distributions Using Musl Tzu-ping Chung SF 657
Include Fine Grained Error Locations in Tracebacks Pablo Galindo, Batuhan
Taskaya, Ammar Askar 3.11 SF 660 Editable installs for pyproject.toml based
builds (wheel based) Daniel Holth, Stéphane Bidoul SF 670 Convert macros to
functions in the Python C API Erlend Egeberg Aasland, Victor Stinner 3.11 SF 678
Enriching Exceptions with Notes Zac Hatfield-Dodds 3.11 SF 680 tomllib: Support
for Parsing TOML in the Standard Library Taneli Hukkinen, Shantanu Jain 3.11 SF
682 Format Specifier for Signed Zero John Belmonte 3.11 SF 689 Unstable C API
tier Petr Viktorin 3.12 SF 697 Limited C API for Extending Opaque Types Petr
Viktorin 3.12 SF 706 Filter for tarfile.extractall Petr Viktorin 3.12 SF 715
Disabling bdist_egg distribution uploads on PyPI William Woodruff SF 721 Using
tarfile.data_filter for source distribution extraction Petr Viktorin 3.12 SF
3101 Advanced String Formatting Talin 3.0 SF 3102 Keyword-Only Arguments Talin
3.0 SF 3104 Access to Names in Outer Scopes Ka-Ping Yee 3.0 SF 3105 Make print a
function Georg Brandl 3.0 SF 3106 Revamping dict.keys(), .values() and .items()
Guido van Rossum 3.0 SF 3107 Function Annotations Collin Winter, Tony Lownds 3.0
SF 3108 Standard Library Reorganization Brett Cannon 3.0 SF 3109 Raising
Exceptions in Python 3000 Collin Winter 3.0 SF 3110 Catching Exceptions in
Python 3000 Collin Winter 3.0 SF 3111 Simple input built-in in Python 3000 Andre
Roberge 3.0 SF 3112 Bytes literals in Python 3000 Jason Orendorff 3.0 SF 3113
Removal of Tuple Parameter Unpacking Brett Cannon 3.0 SF 3114 Renaming
iterator.next() to iterator.__next__() Ka-Ping Yee 3.0 SF 3115 Metaclasses in
Python 3000 Talin 3.0 SF 3116 New I/O Daniel Stutzbach, Guido van Rossum, Mike
Verdone 3.0 SF 3118 Revising the buffer protocol Travis Oliphant, Carl Banks 3.0
SF 3119 Introducing Abstract Base Classes Guido van Rossum, Talin 3.0 SF 3120
Using UTF-8 as the default source encoding Martin von Löwis 3.0 SF 3121
Extension Module Initialization and Finalization Martin von Löwis 3.0 SF 3123
Making PyObject_HEAD conform to standard C Martin von Löwis 3.0 SF 3127 Integer
Literal Support and Syntax Patrick Maupin 3.0 SF 3129 Class Decorators Collin
Winter 3.0 SF 3131 Supporting Non-ASCII Identifiers Martin von Löwis 3.0 SF 3132
Extended Iterable Unpacking Georg Brandl 3.0 SF 3134 Exception Chaining and
Embedded Tracebacks Ka-Ping Yee 3.0 SF 3135 New Super Calvin Spealman, Tim
Delaney, Lie Ryan 3.0 SF 3137 Immutable Bytes and Mutable Buffer Guido van
Rossum 3.0 SF 3138 String representation in Python 3000 Atsuo Ishimoto 3.0 SF
3141 A Type Hierarchy for Numbers Jeffrey Yasskin 3.0 SF 3144 IP Address
Manipulation Library for the Python Standard Library Peter Moody 3.3 SF 3147 PYC
Repository Directories Barry Warsaw 3.2 SF 3148 futures - execute computations
asynchronously Brian Quinlan 3.2 SF 3149 ABI version tagged .so files Barry
Warsaw 3.2 SF 3151 Reworking the OS and IO exception hierarchy Antoine Pitrou
3.3 SF 3154 Pickle protocol version 4 Antoine Pitrou 3.4 SF 3155 Qualified name
for classes and functions Antoine Pitrou 3.3 SF 3156 Asynchronous IO Support
Rebooted: the “asyncio” Module Guido van Rossum 3.3


HISTORICAL META-PEPS AND INFORMATIONAL PEPS

PEP Title Authors PS 5 Guidelines for Language Evolution Paul Prescod PS 6 Bug
Fix Releases Aahz, Anthony Baxter IF 160 Python 1.6 Release Schedule Fred L.
Drake, Jr. 1.6 IF 200 Python 2.0 Release Schedule Jeremy Hylton 2.0 IF 226
Python 2.1 Release Schedule Jeremy Hylton 2.1 IF 251 Python 2.2 Release Schedule
Barry Warsaw, Guido van Rossum 2.2 IF 283 Python 2.3 Release Schedule Guido van
Rossum 2.3 IF 320 Python 2.4 Release Schedule Barry Warsaw, Raymond Hettinger,
Anthony Baxter 2.4 PF 347 Migrating the Python CVS to Subversion Martin von
Löwis IF 356 Python 2.5 Release Schedule Neal Norwitz, Guido van Rossum, Anthony
Baxter 2.5 PF 360 Externally Maintained Packages Brett Cannon IF 361 Python 2.6
and 3.0 Release Schedule Neal Norwitz, Barry Warsaw 2.6, 3.0 IF 373 Python 2.7
Release Schedule Benjamin Peterson 2.7 PF 374 Choosing a distributed VCS for the
Python project Brett Cannon, Stephen J. Turnbull, Alexandre Vassalotti, Barry
Warsaw, Dirkjan Ochtman IF 375 Python 3.1 Release Schedule Benjamin Peterson 3.1
PF 385 Migrating from Subversion to Mercurial Dirkjan Ochtman, Antoine Pitrou,
Georg Brandl IF 392 Python 3.2 Release Schedule Georg Brandl 3.2 IF 398 Python
3.3 Release Schedule Georg Brandl 3.3 IF 404 Python 2.8 Un-release Schedule
Barry Warsaw 2.8 IF 429 Python 3.4 Release Schedule Larry Hastings 3.4 PS 438
Transitioning to release-file hosting on PyPI Holger Krekel, Carl Meyer PF 449
Removal of the PyPI Mirror Auto Discovery and Naming Scheme Donald Stufft PF 464
Removal of the PyPI Mirror Authenticity API Donald Stufft PF 470 Removing
External Hosting Support on PyPI Donald Stufft IF 478 Python 3.5 Release
Schedule Larry Hastings 3.5 IF 494 Python 3.6 Release Schedule Ned Deily 3.6 PF
512 Migrating from hg.python.org to GitHub Brett Cannon IF 537 Python 3.7
Release Schedule Ned Deily 3.7 PF 541 Package Index Name Retention Łukasz Langa
PF 545 Python Documentation Translations Julien Palard, Inada Naoki, Victor
Stinner PF 3000 Python 3000 Guido van Rossum PF 3002 Procedure for
Backwards-Incompatible Changes Steven Bethard PF 3003 Python Language Moratorium
Brett Cannon, Jesse Noller, Guido van Rossum PF 3099 Things that will Not Change
in Python 3000 Georg Brandl PF 3100 Miscellaneous Python 3.0 Plans Brett Cannon
PF 8001 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


DEFERRED PEPS (POSTPONED PENDING FURTHER RESEARCH OR UPDATES)

PEP Title Authors SD 213 Attribute Access Handlers Paul Prescod 2.1 SD 219
Stackless Python Gordon McMillan 2.1 SD 222 Web Library Enhancements A.M.
Kuchling 2.1 SD 233 Python Online Help Paul Prescod 2.1 SD 267 Optimized Access
to Module Namespaces Jeremy Hylton 2.2 SD 269 Pgen Module for Python Jonathan
Riehl 2.2 SD 280 Optimizing access to globals Guido van Rossum 2.3 SD 286
Enhanced Argument Tuples Martin von Löwis 2.3 SD 312 Simple Implicit Lambda
Roman Suzi, Alex Martelli 2.4 SD 316 Programming by Contract for Python Terence
Way SD 323 Copyable Iterators Alex Martelli 2.5 SD 337 Logging Usage in the
Standard Library Michael P. Dubner 2.5 SD 368 Standard image protocol and class
Lino Mastrodomenico 2.6, 3.0 SD 400 Deprecate codecs.StreamReader and
codecs.StreamWriter Victor Stinner 3.3 SD 403 General purpose decorator clause
(aka “@in” clause) Alyssa Coghlan 3.4 PD 407 New release cycle and introducing
long-term support versions Antoine Pitrou, Georg Brandl, Barry Warsaw SD 419
Protecting cleanup statements from interruptions Paul Colomiets 3.3 ID 423
Naming conventions and recipes related to packaging Benoit Bryon ID 444 Python
Web3 Interface Chris McDonough, Armin Ronacher SD 447 Add __getdescriptor__
method to metaclass Ronald Oussoren SD 491 The Wheel Binary Package Format 1.9
Daniel Holth SD 499 python -m foo should also bind ‘foo’ in sys.modules Cameron
Simpson, Chris Angelico, Joseph Jevnik 3.10 SD 501 General purpose string
interpolation Alyssa Coghlan 3.6 SD 505 None-aware operators Mark E. Haase,
Steve Dower 3.8 SD 532 A circuit breaking protocol and binary operators Alyssa
Coghlan, Mark E. Haase 3.8 SD 533 Deterministic cleanup for iterators Nathaniel
J. Smith SD 534 Improved Errors for Missing Standard Library Modules Tomáš
Orsava, Petr Viktorin, Alyssa Coghlan SD 535 Rich comparison chaining Alyssa
Coghlan 3.8 SD 547 Running extension modules using the -m option Marcel Plch,
Petr Viktorin 3.7 SD 556 Threaded garbage collection Antoine Pitrou 3.7 SD 558
Defined semantics for locals() Alyssa Coghlan 3.13 SD 568 Generator-sensitivity
for Context Variables Nathaniel J. Smith 3.8 SD 674 Disallow using macros as
l-values Victor Stinner 3.12 SD 3124 Overloading, Generic Functions, Interfaces,
and Adaptation Phillip J. Eby SD 3143 Standard daemon process library Ben Finney
3.x SD 3150 Statement local namespaces (aka “given” clause) Alyssa Coghlan 3.4


ABANDONED, WITHDRAWN, AND REJECTED PEPS

PEP Title Authors PW 3 Guidelines for Handling Bug Reports Jeremy Hylton PW 9
Sample Plaintext PEP Template Barry Warsaw PW 42 Feature Requests Jeremy Hylton
IS 102 Doing Python Micro Releases Anthony Baxter, Barry Warsaw, Guido van
Rossum IW 103 Collecting information about git Oleg Broytman SR 204 Range
Literals Thomas Wouters 2.0 IW 206 Python Advanced Library A.M. Kuchling SW 209
Multi-dimensional Arrays Paul Barrett, Travis Oliphant 2.2 SR 210 Decoupling the
Interpreter Loop David Ascher 2.1 SR 211 Adding A New Outer Product Operator
Greg Wilson 2.1 SR 212 Loop Counter Iteration Peter Schneider-Kamp 2.1 SS 215
String Interpolation Ka-Ping Yee 2.1 IR 216 Docstring Format Moshe Zadka IR 220
Coroutines, Generators, Continuations Gordon McMillan SR 224 Attribute
Docstrings Marc-André Lemburg 2.1 SR 225 Elementwise/Objectwise Operators Huaiyu
Zhu, Gregory Lielens 2.1 SW 228 Reworking Python’s Numeric Model Moshe Zadka,
Guido van Rossum SR 231 __findattr__() Barry Warsaw 2.1 SR 239 Adding a Rational
Type to Python Christopher A. Craig, Moshe Zadka 2.2 SR 240 Adding a Rational
Literal to Python Christopher A. Craig, Moshe Zadka 2.2 SS 241 Metadata for
Python Software Packages A.M. Kuchling SR 242 Numeric Kinds Paul F. Dubois 2.2
SW 243 Module Repository Upload Mechanism Sean Reifschneider 2.1 SR 244 The
directive statement Martin von Löwis 2.1 SR 245 Python Interface Syntax Michel
Pelletier 2.2 SR 246 Object Adaptation Alex Martelli, Clark C. Evans 2.5 SR 254
Making Classes Look More Like Types Guido van Rossum 2.2 SR 256 Docstring
Processing System Framework David Goodger SR 258 Docutils Design Specification
David Goodger SR 259 Omit printing newline after newline Guido van Rossum 2.2 SR
262 A Database of Installed Python Packages A.M. Kuchling SR 265 Sorting
Dictionaries by Value Grant Griffin 2.2 SW 266 Optimizing Global
Variable/Attribute Access Skip Montanaro 2.3 SR 268 Extended HTTP functionality
and WebDAV Greg Stein 2.x SR 270 uniq method for list objects Jason Petrone 2.2
SR 271 Prefixing sys.path by command line option Frédéric B. Giacometti 2.2 SR
275 Switching on Multiple Values Marc-André Lemburg 2.6 SR 276 Simple Iterator
for ints Jim Althoff 2.3 SR 281 Loop Counter Iteration with range and xrange
Magnus Lie Hetland 2.3 SR 284 Integer for-loops David Eppstein, Gregory Ewing
2.3 SW 288 Generators Attributes and Exceptions Raymond Hettinger 2.5 SR 294
Type Names in the types Module Oren Tirosh 2.5 SR 295 Interpretation of
multiline string constants Stepan Koltsov 3.0 SW 296 Adding a bytes Object Type
Scott Gilbert 2.3 SR 297 Support for System Upgrades Marc-André Lemburg 2.6 SW
298 The Locked Buffer Interface Thomas Heller 2.3 SR 299 Special __main__()
function in modules Jeff Epler 2.3 SR 303 Extend divmod() for Multiple Divisors
Thomas Bellman 2.3 SW 304 Controlling Generation of Bytecode Files Skip
Montanaro IW 306 How to Change Python’s Grammar Michael Hudson, Jack Diederich,
Alyssa Coghlan, Benjamin Peterson SR 310 Reliable Acquisition/Release Pairs
Michael Hudson, Paul Moore 2.4 SR 313 Adding Roman Numeral Literals to Python
Mike Meyer 2.4 SS 314 Metadata for Python Software Packages 1.1 A.M. Kuchling,
Richard Jones 2.5 SR 315 Enhanced While Loop Raymond Hettinger, W Isaac Carroll
2.5 SR 317 Eliminate Implicit Exception Instantiation Steven Taschuk 2.4 SR 319
Python Synchronize/Asynchronize Block Michel Pelletier 2.4 SW 321 Date/Time
Parsing and Formatting A.M. Kuchling 2.4 SR 325 Resource-Release Support for
Generators Samuele Pedroni 2.4 SR 326 A Case for Top and Bottom Values Josiah
Carlson, Terry Reedy 2.4 SR 329 Treating Builtins as Constants in the Standard
Library Raymond Hettinger 2.4 SR 330 Python Bytecode Verification Michel
Pelletier 2.6 SR 332 Byte vectors and String/Unicode Unification Skip Montanaro
2.5 SW 334 Simple Coroutines via SuspendIteration Clark C. Evans 3.0 SR 335
Overloadable Boolean Operators Gregory Ewing 3.3 SR 336 Make None Callable
Andrew McClelland IW 339 Design of the CPython Compiler Brett Cannon SR 340
Anonymous Block Statements Guido van Rossum SS 344 Exception Chaining and
Embedded Tracebacks Ka-Ping Yee 2.5 SS 345 Metadata for Python Software Packages
1.2 Richard Jones 2.7 SW 346 User Defined (“with”) Statements Alyssa Coghlan 2.5
SR 348 Exception Reorganization for Python 3.0 Brett Cannon SR 349 Allow str()
to return unicode strings Neil Schemenauer 2.5 IR 350 Codetags Micah Elliott SR
351 The freeze protocol Barry Warsaw SS 354 Enumerations in Python Ben Finney
2.6 SR 355 Path - Object oriented filesystem paths Björn Lindqvist 2.5 SW 359
The “make” Statement Steven Bethard 2.6 SR 363 Syntax For Dynamic Attribute
Access Ben North SW 364 Transitioning to the Py3K Standard Library Barry Warsaw
2.6 SR 365 Adding the pkg_resources module Phillip J. Eby SS 367 New Super
Calvin Spealman, Tim Delaney 2.6 SW 369 Post import hooks Christian Heimes 2.6,
3.0 SR 377 Allow __enter__() methods to skip the statement body Alyssa Coghlan
2.7, 3.1 SW 379 Adding an Assignment Expression Jervis Whitley 2.7, 3.2 SW 381
Mirroring infrastructure for PyPI Tarek Ziadé, Martin von Löwis SR 382 Namespace
Packages Martin von Löwis 3.2 SS 386 Changing the version comparison module in
Distutils Tarek Ziadé SR 390 Static metadata for Distutils Tarek Ziadé 2.7, 3.2
SW 395 Qualified Names for Modules Alyssa Coghlan 3.4 IR 396 Module Version
Numbers Barry Warsaw PR 401 BDFL Retirement Barry Warsaw, Brett Cannon SR 402
Simplified Package Layout and Partitioning Phillip J. Eby 3.3 SW 406 Improved
Encapsulation of Import State Alyssa Coghlan, Greg Slodkowicz 3.4 SR 408
Standard library __preview__ package Alyssa Coghlan, Eli Bendersky 3.3 SR 410
Use decimal.Decimal type for timestamps Victor Stinner 3.3 IS 411 Provisional
packages in the Python standard library Alyssa Coghlan, Eli Bendersky 3.3 PW 413
Faster evolution of the Python Standard Library Alyssa Coghlan SR 416 Add a
frozendict builtin type Victor Stinner 3.3 SW 422 Simpler customisation of class
creation Alyssa Coghlan, Daniel Urban 3.5 IW 426 Metadata for Python Software
Packages 2.0 Alyssa Coghlan, Daniel Holth, Donald Stufft SS 431 Time zone
support improvements Lennart Regebro SW 432 Restructuring the CPython startup
sequence Alyssa Coghlan, Victor Stinner, Eric Snow SS 433 Easier suppression of
file descriptor inheritance Victor Stinner 3.4 SR 437 A DSL for specifying
signatures, annotations and argument converters Stefan Krah 3.4 SR 439 Inclusion
of implicit pip bootstrap in Python installation Richard Jones 3.4 SR 455 Adding
a key-transforming dictionary to collections Antoine Pitrou 3.5 SW 459 Standard
Metadata Extensions for Python Software Packages Alyssa Coghlan SW 460 Add
binary interpolation and formatting Antoine Pitrou 3.5 PW 462 Core development
workflow automation for CPython Alyssa Coghlan SR 463 Exception-catching
expressions Chris Angelico 3.5 SW 469 Migration of dict iteration code to Python
3 Alyssa Coghlan 3.5 SR 472 Support for indexing with keyword arguments Stefano
Borini, Joseph Martinot-Lagarde 3.6 SR 473 Adding structured data to built-in
exceptions Sebastian Kreft PW 474 Creating forge.python.org Alyssa Coghlan PW
481 Migrate CPython to Git, Github, and Phabricator Donald Stufft SR 490 Chain
exceptions at C level Victor Stinner 3.6 IR 496 Environment Markers James Polley
PR 497 A standard mechanism for backward compatibility Ed Schofield SR 500 A
protocol for delegating datetime methods to their tzinfo implementations
Alexander Belopolsky, Tim Peters IR 502 String Interpolation - Extended
Discussion Mike G. Miller 3.6 SW 504 Using the System RNG by default Alyssa
Coghlan 3.6 PR 507 Migrate CPython to Git and GitLab Barry Warsaw SS 509 Add a
private version to dict Victor Stinner 3.6 SR 510 Specialize functions with
guards Victor Stinner 3.6 SR 511 API for code transformers Victor Stinner 3.6 IS
513 A Platform Tag for Portable Linux Built Distributions Robert T. McGibbon,
Nathaniel J. Smith SR 516 Build system abstraction for pip/conda etc Robert
Collins, Nathaniel J. Smith SW 521 Managing global context via ‘with’ blocks in
generators and coroutines Nathaniel J. Smith 3.6 SR 522 Allow BlockingIOError in
security sensitive APIs Alyssa Coghlan, Nathaniel J. Smith 3.6 SW 531 Existence
checking operators Alyssa Coghlan 3.7 SW 536 Final Grammar for Literal String
Interpolation Philipp Angerer 3.7 SR 542 Dot Notation Assignment In Function
Header Markus Meskanen SW 543 A Unified TLS API for Python Cory Benfield,
Christian Heimes 3.7 SR 546 Backport ssl.MemoryBIO and ssl.SSLObject to Python
2.7 Victor Stinner, Cory Benfield 2.7 SR 548 More Flexible Loop Control R David
Murray 3.7 SR 549 Instance Descriptors Larry Hastings 3.7 SW 550 Execution
Context Yury Selivanov, Elvis Pranskevichus 3.7 IW 551 Security transparency in
the Python runtime Steve Dower 3.7 SS 554 Multiple Interpreters in the Stdlib
Eric Snow 3.13 SW 555 Context-local variables (contextvars) Koos Zevenhoven 3.7
SR 559 Built-in noop() Barry Warsaw 3.7 IS 571 The manylinux2010 Platform Tag
Mark Williams, Geoffrey Thomas, Thomas Kluyver SW 575 Unifying function/method
classes Jeroen Demeyer 3.8 SW 576 Rationalize Built-in function classes Mark
Shannon 3.8 SW 577 Augmented Assignment Expressions Alyssa Coghlan 3.8 SR 580
The C call protocol Jeroen Demeyer 3.8 SR 582 Python local packages directory
Kushal Das, Steve Dower, Donald Stufft, Alyssa Coghlan 3.12 IW 583 A Concurrency
Memory Model for Python Jeffrey Yasskin IW 595 Improving bugs.python.org Ezio
Melotti, Berker Peksag IW 598 Introducing incremental feature releases Alyssa
Coghlan 3.9 IS 599 The manylinux2014 Platform Tag Dustin Ingram SR 601 Forbid
return/break/continue breaking out of finally Damien George, Batuhan Taskaya 3.8
IR 605 A rolling feature release stream for CPython Steve Dower, Alyssa Coghlan
3.9 SR 606 Python Compatibility Version Victor Stinner 3.9 SR 608 Coordinated
Python release Miro Hrončok, Victor Stinner 3.9 SW 611 The one million limit
Mark Shannon SW 620 Hide implementation details from the C API Victor Stinner
3.12 SS 622 Structural Pattern Matching Brandt Bucher, Daniel F Moisset, Tobias
Kohn, Ivan Levkivskyi, Guido van Rossum, Talin 3.10 SS 631 Dependency
specification in pyproject.toml based on PEP 508 Ofek Lev SR 633 Dependency
specification in pyproject.toml using an exploded TOML table Laurie Opperman,
Arun Babu Neelicattu SR 637 Support for indexing with keyword arguments Stefano
Borini 3.10 SR 640 Unused variable syntax Thomas Wouters 3.10 SR 641 Using an
underscore in the version portion of Python 3.10 compatibility tags Brett
Cannon, Steve Dower, Barry Warsaw 3.10 SR 642 Explicit Pattern Syntax for
Structural Pattern Matching Alyssa Coghlan 3.10 SW 645 Allow writing optional
types as x? Maggie Moss SR 648 Extensible customizations of the interpreter at
startup Mario Corchero 3.11 SW 650 Specifying Installer Requirements for Python
Projects Vikram Jayanthi, Dustin Ingram, Brett Cannon SR 651 Robust Stack
Overflow Handling Mark Shannon SR 662 Editable installs via virtual wheels
Bernát Gábor IR 663 Standardizing Enum str(), repr(), and format() behaviors
Ethan Furman 3.11 SR 665 A file format to list Python dependencies for
reproducibility of an application Brett Cannon, Pradyun Gedam, Tzu-ping Chung SR
666 Reject Foolish Indentation Laura Creighton 2.2 SR 677 Callable Type Syntax
Steven Troxler, Pradeep Kumar Srinivasan 3.11 SR 690 Lazy Imports Germán Méndez
Bravo, Carl Meyer 3.12 SW 704 Require virtual environments by default for
package installers Pradyun Gedam SR 707 A simplified signature for __exit__ and
__aexit__ Irit Katriel 3.12 SR 713 Callable Modules Amethyst Reese 3.12 SR 722
Dependency specification for single-file scripts Paul Moore SR 754 IEEE 754
Floating Point Special Values Gregory R. Warnes 2.3 PW 3001 Procedure for
reviewing and improving standard library modules Georg Brandl SR 3103 A
Switch/Case Statement Guido van Rossum 3.0 SR 3117 Postfix type declarations
Georg Brandl 3.0 SR 3122 Delineation of the main module Brett Cannon SR 3125
Remove Backslash Continuation Jim J. Jewett SR 3126 Remove Implicit String
Concatenation Jim J. Jewett, Raymond Hettinger SR 3128 BList: A Faster List-like
Type Daniel Stutzbach 2.6, 3.0 SR 3130 Access to Current Module/Class/Function
Jim J. Jewett 3.0 SR 3133 Introducing Roles Collin Winter 3.0 SR 3136 Labeled
break and continue Matt Chisholm 3.1 SR 3139 Cleaning out sys and the
“interpreter” module Benjamin Peterson 3.0 SR 3140 str(container) should call
str(item), not repr(item) Oleg Broytman, Jim J. Jewett SR 3142 Add a “while”
clause to generator expressions Gerald Britton 3.0 SW 3145 Asynchronous I/O For
subprocess.Popen Eric Pruitt, Charles R. McCreary, Josiah Carlson 3.2 SW 3146
Merging Unladen Swallow into CPython Collin Winter, Jeffrey Yasskin, Reid
Kleckner 3.3 SR 3152 Cofunctions Gregory Ewing 3.3 SS 3153 Asynchronous IO
support Laurens Van Houtven IR 8010 The Technical Leader Governance Model Barry
Warsaw IR 8011 Python Governance Model Lead by Trio of Pythonistas Mariatta,
Barry Warsaw IR 8012 The Community Governance Model Łukasz Langa IR 8013 The
External Council Governance Model Steve Dower IR 8014 The Commons Governance
Model Jack Jansen IR 8015 Organization of the Python community Victor Stinner


NUMERICAL INDEX

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


RESERVED PEP NUMBERS

PEP Title Authors 801 RESERVED Warsaw


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

Name Email Address A.M. Kuchling amk at amk.ca Aahz aahz at pythoncraft.com Adam
Turner python at quite.org.uk 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 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 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 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 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
Inada Naoki songofacandy at gmail.com Irit Katriel irit at python.org Ivan
Levkivskyi levkivskyi at gmail.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 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 Joseph Jevnik joejev at gmail.com Joseph Martinot-Lagarde 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 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 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 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 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 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 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 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 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 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 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 Łukasz Langa
lukasz at python.org


CONTENTS

 * Introduction
 * Topics
 * 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