PEP 0 – Index of Python Enhancement Proposals (PEPs) | peps.python.org
PEP 0 – Index of Python Enhancement Proposals (PEPs)
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
API
Numerical Index
Index by Category
Process and Meta-PEPs
Other Informational PEPs
Provisional PEPs (provisionally accepted; interface may still change)
Accepted PEPs (accepted; may not be implemented yet)
Open PEPs (under consideration)
Finished PEPs (done, with a stable interface)
Historical Meta-PEPs and Informational PEPs
Deferred PEPs (postponed pending further research or updates)
Rejected, Superseded, and Withdrawn PEPs
Reserved PEP Numbers
PEP Types Key
PEP Status Key
Authors/Owners
Introduction
This PEP contains the index of all Python Enhancement Proposals,
known as PEPs. PEP numbers are
assigned
by the PEP editors, and once assigned are never changed. The
version control history
of
the PEP texts represent their historical record.
Topics
PEPs for specialist subjects are
indexed by topic
Governance PEPs
Packaging PEPs
Release PEPs
Typing PEPs
API
The
PEPS API
is a JSON file of metadata about all the published PEPs.
Read more here
Numerical Index
The
numerical index
contains a table of all PEPs, ordered by number.
Index by Category
Process and Meta-PEPs
PEP
Title
Authors
PA
PEP Purpose and Guidelines
Barry Warsaw, Jeremy Hylton, David Goodger, Alyssa Coghlan
PA
Procedure for Adding New Modules
Brett Cannon, Martijn Faassen
PA
Deprecation of Standard Modules
Brett Cannon, Martin von Löwis
PA
Style Guide for C Code
Guido van Rossum, Barry Warsaw
PA
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
545
Python Documentation Translations
Julien Palard, Inada Naoki, Victor Stinner
PA
602
Annual Release Cycle for Python
Łukasz Langa
3.9
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
PA
732
The Python Documentation Editorial Board
Joanna Jablonski
PA
761
Deprecating PGP signatures for CPython artifacts
Seth Michael Larson
3.14
PA
772
Packaging Council governance process
Barry Warsaw, Deb Nicholson, Pradyun Gedam
PA
811
Defining Python Security Response Team membership and responsibilities
Seth Michael Larson
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
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
IF
579
Refactoring C functions and methods
Jeroen Demeyer
IF
588
GitHub Issues Migration Plan
Mariatta
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
IF
659
Specializing Adaptive Interpreter
Mark Shannon
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
IF
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
IA
745
Python 3.14 Release Schedule
Hugo van Kemenade
3.14
IF
762
REPL-acing the default REPL
Pablo Galindo Salgado, Łukasz Langa, Lysandros Nikolaou, Emily Morehouse-Valcarcel
3.13
IA
776
Emscripten Support
Hood Chatham
3.14
IA
790
Python 3.15 Release Schedule
Hugo van Kemenade
3.15
IA
801
Reserved
Barry Warsaw
IA
816
WASI Support
Brett Cannon
IA
826
Python 3.16 Release Schedule
Savannah Ostrowski
3.16
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
IF
8104
2023 Term Steering Council election
Ee Durbin
IF
8105
2024 Term Steering Council election
Ee Durbin
IF
8106
2025 Term Steering Council election
Ee Durbin
IF
8107
2026 Term Steering Council election
Ee Durbin
Provisional PEPs (provisionally accepted; interface may still change)
None.
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
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
687
Isolating modules in the standard library
Erlend Egeberg Aasland, Petr Viktorin
3.12
SA
691
JSON-based Simple API for Python Package Indexes
Donald Stufft, Pradyun Gedam, Cooper Lees, Dustin Ingram
SA
699
Remove private dict version field added in PEP 509
Ken Jin
3.12
SA
701
Syntactic formalization of f-strings
Pablo Galindo Salgado, Batuhan Taskaya, Lysandros Nikolaou, Marta Gómez Macías
3.12
SA
703
Making the Global Interpreter Lock Optional in CPython
Sam Gross
3.13
SA
714
Rename dist-info-metadata in the Simple API
Donald Stufft
SA
728
TypedDict with Typed Extra Items
Zixuan James Li
3.15
SA
739
build-details.json 1.0 — a static description file for Python build details
Filipe Laíns
3.14
SA
753
Uniform project URLs in core metadata
William Woodruff, Facundo Tuesca
SA
770
Improving measurability of Python packages with Software Bill-of-Materials
Seth Larson
SA
773
A Python Installation Manager for Windows
Steve Dower
SA
783
Emscripten Packaging
Hood Chatham
SA
793
PyModExport: A new entry point for C extension modules
Petr Viktorin
3.15
SA
794
Import Name Metadata
Brett Cannon
SA
798
Unpacking in Comprehensions
Adam Hartz, Erik Demaine
3.15
SA
799
A dedicated profiling package for organizing Python profiling tools
Pablo Galindo Salgado, László Kiss Kollár
3.15
SA
800
Disjoint bases in the type system
Jelle Zijlstra
3.15
SA
803
“abi3t”: Stable ABI for Free-Threaded Builds
Petr Viktorin, Nathan Goldbaum
3.15
SA
810
Explicit lazy imports
Pablo Galindo Salgado, Germán Méndez Bravo, Thomas Wouters, Dino Viehland, Brittany Reynoso, Noah Kim, Tim Stumbaugh
3.15
Open PEPs (under consideration)
PEP
Title
Authors
467
Minor API improvements for binary sequences
Alyssa Coghlan, Ethan Furman
3.15
480
Surviving a Compromise of PyPI: End-to-end signing of packages
Trishank Karthik Kuppusamy, Vladimir Diaz, Justin Cappos, Marina Moore
603
Adding a frozenmap type to collections
Yury Selivanov
638
Syntactic Macros
Mark Shannon
653
Precise Semantics for Pattern Matching
Mark Shannon
661
Sentinel Values
Tal Einat, Jelle Zijlstra
3.15
671
Syntax for late-bound function argument defaults
Chris Angelico
3.12
694
Upload 2.0 API for Python Package Indexes
Barry Warsaw, Donald Stufft, Ee Durbin
710
Recording the provenance of installed packages
Fridolín Pokorný
711
PyBI: a standard format for distributing Python Binaries
Nathaniel J. Smith
718
Subscriptable functions
James Hilton-Balfe, Pablo Ruiz Cuevas
3.15
720
Cross-compiling Python packages
Filipe Laíns
3.12
725
Specifying external dependencies in pyproject.toml
Pradyun Gedam, Jaime Rodríguez-Guerra, Ralf Gommers
744
JIT Compilation
Brandt Bucher, Savannah Ostrowski
3.13
746
Type checking Annotated metadata
Adrian Garcia Badaracco
3.15
748
A Unified TLS API for Python
Joop van de Pol, William Woodruff
3.14
752
Implicit namespaces for package repositories
Ofek Lev, Jarek Potiuk
755
Implicit namespace policy for PyPI
Ofek Lev
764
Inline typed dictionaries
Victorien Plot
3.15
766
Explicit Priority Choices Among Multiple Indexes
Michael Sarahan
767
Annotating Read-Only Attributes
Łukasz Modzelewski
3.15
771
Default Extras for Python Software Packages
Thomas Robitaille, Jonathan Dekhtiar
777
How to Re-invent the Wheel
Emma Harper Smith
780
ABI features as environment markers
Klaus Zimmermann, Ralf Gommers
3.14
781
Make TYPE_CHECKING a built-in constant
Inada Naoki
3.15
785
New methods for easier handling of ExceptionGroups
Zac Hatfield-Dodds
3.14
786
Precision and modulo-precision flag format specifiers for integer fields
Jay Berry
3.15
788
Protecting the C API from Interpreter Finalization
Peter Bierma
3.15
789
Preventing task-cancellation bugs by limiting yield in async generators
Zac Hatfield-Dodds, Nathaniel J. Smith
3.14
797
Shared Object Proxies
Peter Bierma
3.15
802
Display Syntax for the Empty Set
Adam Turner
3.15
804
An external dependency registry and name mapping mechanism
Pradyun Gedam, Ralf Gommers, Michał Górny, Jaime Rodríguez-Guerra, Michael Sarahan
807
Index support for Trusted Publishing
William Woodruff
808
Including static values in dynamic metadata
Henry Schreiner, Cristian Le
809
Stable ABI for the Future
Steve Dower
3.15
813
The Pretty Print Protocol
Barry Warsaw, Eric V. Smith
3.15
817
Wheel Variants: Beyond Platform Tags
Jonathan Dekhtiar, Michał Górny, Konstantin Schütze, Ralf Gommers, Andrey Talman, Charlie Marsh, Michael Sarahan, Eli Uriegas, Barry Warsaw, Donald Stufft, Andy R. Terrel
818
Adding the Core of the Pyodide Foreign Function Interface to Python
Hood Chatham
3.15
819
JSON Package Metadata
Emma Harper Smith
820
PySlot: Unified slot system for the C API
Petr Viktorin
3.15
821
Support for unpacking TypedDicts in Callable type hints
Daniel Sperber
3.15
822
Dedented Multiline String (d-string)
Inada Naoki
3.15
825
Wheel Variants: Package Format
Jonathan Dekhtiar, Michał Górny, Konstantin Schütze, Ralf Gommers, Andrey Talman, Charlie Marsh, Michael Sarahan, Eli Uriegas, Barry Warsaw, Donald Stufft, Andy R. Terrel
827
Type Manipulation
Michael J. Sullivan, Daniel W. Park, Yury Selivanov
3.15
828
Supporting ‘yield from’ in asynchronous generators
Peter Bierma
3.15
829
Package Startup Configuration Files
Barry Warsaw
3.15
830
Add timestamps to exceptions and tracebacks
Gregory P. Smith
3.15
831
Frame Pointers Everywhere: Enabling System-Level Observability for Python
Pablo Galindo Salgado, Ken Jin, Savannah Ostrowski
3.15
832
Virtual environment discovery
Brett Cannon
3.15
833
Freezing the HTML simple repository API
William Woodruff
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
544
Protocols: Structural subtyping (static duck typing)
Ivan Levkivskyi, Jukka Lehtosalo, Łukasz Langa
3.8
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
560
Core support for typing module and generic types
Ivan Levkivskyi
3.7
SF
561
Distributing and Packaging Type Information
Emma Harper 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 Salgado, 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
578
Python Runtime Audit Hooks
Steve Dower
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
586
Literal Types
Michael Lee, Ivan Levkivskyi, Jukka Lehtosalo
3.8
SF
587
Python Initialization Configuration
Victor Stinner, Alyssa Coghlan
3.8
SF
589
TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys
Jukka Lehtosalo
3.8
SF
590
Vectorcall: a fast calling protocol for CPython
Mark Shannon, Jeroen Demeyer
3.8
SF
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
SF
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
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
604
Allow writing union types as X | Y
Philippe PRADOS, Maggie Moss
3.10
SF
610
Recording the Direct URL Origin of installed distributions
Stéphane Bidoul, Chris Jerdonek
SF
612
Parameter Specification Variables
Mark Mendoza
3.10
SF
613
Explicit Type Aliases
Shannon Zhu
3.10
SF
614
Relaxing Grammar Restrictions On Decorators
Brandt Bucher
3.9
SF
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
SF
617
New PEG parser for CPython
Guido van Rossum, Pablo Galindo Salgado, Lysandros Nikolaou
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
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
SF
632
Deprecate distutils module
Steve Dower
3.10
SF
634
Structural Pattern Matching: Specification
Brandt Bucher, Guido van Rossum
3.10
SF
639
Improving License Clarity with Better Package Metadata
Philippe Ombredanne, C.A.M. Gerlach, Karolina Surma
SF
643
Metadata for Package Source Distributions
Paul Moore
SF
644
Require OpenSSL 1.1.1 or newer
Christian Heimes
3.10
SF
646
Variadic Generics
Mark Mendoza, Matthew Rahtz, Pradeep Kumar Srinivasan, Vincent Siles
3.11
SF
647
User-Defined Type Guards
Eric Traut
3.10
SF
649
Deferred Evaluation Of Annotations Using Descriptors
Larry Hastings
3.14
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
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 Salgado, Batuhan Taskaya, Ammar Askar
3.11
SF
660
Editable installs for pyproject.toml based builds (wheel based)
Daniel Holth, Stéphane Bidoul
SF
667
Consistent views of namespaces
Mark Shannon, Tian Gao
3.13
SF
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
SF
673
Self Type
Pradeep Kumar Srinivasan, James Hilton-Balfe
3.11
SF
675
Arbitrary Literal String Type
Pradeep Kumar Srinivasan, Graham Bleaney
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
681
Data Class Transforms
Erik De Bonte, Eric Traut
3.11
SF
682
Format Specifier for Signed Zero
John Belmonte
3.11
SF
683
Immortal Objects, Using a Fixed Refcount
Eric Snow, Eddie Elizondo
3.12
SF
684
A Per-Interpreter GIL
Eric Snow
3.12
SF
685
Comparison of extra names for optional distribution dependencies
Brett Cannon
SF
686
Make UTF-8 mode default
Inada Naoki
3.15
SF
688
Making the buffer protocol accessible in Python
Jelle Zijlstra
3.12
SF
689
Unstable C API tier
Petr Viktorin
3.12
SF
692
Using TypedDict for more precise **kwargs typing
Franek Magiera
3.12
SF
695
Type Parameter Syntax
Eric Traut
3.12
SF
696
Type Defaults for Type Parameters
James Hilton-Balfe
3.13
SF
697
Limited C API for Extending Opaque Types
Petr Viktorin
3.12
SF
698
Override Decorator for Static Typing
Steven Troxler, Joshua Xu, Shannon Zhu
3.12
SF
700
Additional Fields for the Simple API for Package Indexes
Paul Moore
SF
702
Marking deprecations using the type system
Jelle Zijlstra
3.13
SF
705
TypedDict: Read-only items
Alice Purcell
3.13
SF
706
Filter for tarfile.extractall
Petr Viktorin
3.12
SF
709
Inlined comprehensions
Carl Meyer
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
723
Inline script metadata
Ofek Lev
SF
730
Adding iOS as a supported platform
Russell Keith-Magee
3.13
SF
734
Multiple Interpreters in the Stdlib
Eric Snow
3.14
SF
735
Dependency Groups in pyproject.toml
Stephen Rosen
SF
737
C API to format a type fully qualified name
Victor Stinner
3.13
SF
738
Adding Android as a supported platform
Malcolm Smith
3.13
SF
740
Index support for digital attestations
William Woodruff, Facundo Tuesca, Dustin Ingram
SF
741
Python Configuration C API
Victor Stinner
3.14
SF
742
Narrowing types with TypeIs
Jelle Zijlstra
3.13
SF
747
Annotating Type Forms
David Foster, Eric Traut
3.15
SF
749
Implementing PEP 649
Jelle Zijlstra
3.14
SF
750
Template Strings
Jim Baker, Guido van Rossum, Paul Everitt, Koudai Aono, Lysandros Nikolaou, Dave Peck
3.14
SF
751
A file format to record Python dependencies for installation reproducibility
Brett Cannon
SF
757
C API to import-export Python integers
Sergey B Kirpichev, Victor Stinner
3.14
SF
758
Allow except and except* expressions without parentheses
Pablo Galindo Salgado, Brett Cannon
3.14
SF
765
Disallow return/break/continue that exit a finally block
Irit Katriel, Alyssa Coghlan
3.14
SF
768
Safe external debugger interface for CPython
Pablo Galindo Salgado, Matt Wozniski, Ivona Stojanovic
3.14
SF
779
Criteria for supported status for free-threaded Python
Thomas Wouters, Matt Page, Sam Gross
3.14
SF
782
Add PyBytesWriter C API
Victor Stinner
3.15
SF
784
Adding Zstandard to the standard library
Emma Harper Smith
3.14
SF
791
math.integer — submodule for integer-specific mathematics functions
Neil Girdhar, Sergey B Kirpichev, Tim Peters, Serhiy Storchaka
3.15
SF
792
Project status markers in the simple index
William Woodruff, Facundo Tuesca
SF
814
Add frozendict built-in type
Victor Stinner, Donghee Na
3.15
SF
815
Deprecate RECORD.jws and RECORD.p7s
Konstantin Schütze, William Woodruff
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
Guidelines for Language Evolution
Paul Prescod
PS
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
IF
569
Python 3.8 Release Schedule
Łukasz Langa
3.8
PF
581
Using GitHub Issues for CPython
Mariatta
IF
596
Python 3.9 Release Schedule
Łukasz Langa
3.9
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
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
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
568
Generator-sensitivity for Context Variables
Nathaniel J. Smith
3.8
SD
674
Disallow using macros as l-values
Victor Stinner
3.12
SD
774
Removing the LLVM requirement for JIT builds
Savannah Ostrowski
3.14
SD
778
Supporting Symlinks in Wheels
Emma Harper Smith
SD
787
Safer subprocess usage using t-strings
Nick Humrich, Alyssa Coghlan
3.15
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
Rejected, Superseded, and Withdrawn PEPs
PEP
Title
Authors
PW
Guidelines for Handling Bug Reports
Jeremy Hylton
PW
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
IW
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
SW
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
IS
291
Backward Compatibility for the Python 2 Standard Library
Neal Norwitz
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
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
2.5
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
IW
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
SW
501
General purpose template literal strings
Alyssa Coghlan, Nick Humrich
3.12
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
534
Improved Errors for Missing Standard Library Modules
Tomáš Orsava, Petr Viktorin, Alyssa Coghlan
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
SW
558
Defined semantics for locals()
Alyssa Coghlan
3.13
SR
559
Built-in noop()
Barry Warsaw
3.7
SS
563
Postponed Evaluation of Annotations
Łukasz Langa
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
679
New assert statement syntax with parentheses
Pablo Galindo Salgado, Stan Ulbrych
3.15
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
708
Extending the Repository API to Mitigate Dependency Confusion Attacks
Donald Stufft
SR
712
Adding a “converter” parameter to dataclasses.field
Joshua Cannon
3.13
SR
713
Callable Modules
Amethyst Reese
3.12
SR
722
Dependency specification for single-file scripts
Paul Moore
SW
724
Stricter Type Guards
Rich Chiodo, Eric Traut, Erik De Bonte
3.13
SR
726
Module __setattr__ and __delattr__
Sergey B Kirpichev
3.13
SW
727
Documentation in Annotated Metadata
Sebastián Ramírez
3.13
SR
736
Shorthand syntax for keyword arguments at invocation
Joshua Bambrick, Chris Angelico
3.14
SR
743
Add Py_OMIT_LEGACY_API to the Python C API
Victor Stinner, Petr Viktorin
3.15
SR
754
IEEE 754 Floating Point Special Values
Gregory R. Warnes
2.3
SW
756
Add PyUnicode_Export() and PyUnicode_Import() C functions
Victor Stinner
3.14
SW
759
External Wheel Hosting
Barry Warsaw, Emma Harper Smith
SW
760
No More Bare Excepts
Pablo Galindo Salgado, Brett Cannon
3.14
SW
763
Limiting deletions on PyPI
William Woodruff, Alexis Challande
SR
769
Add a ‘default’ keyword argument to ‘attrgetter’, ‘itemgetter’ and ‘getitem’
Facundo Batista
3.14
SW
775
Make zlib required to build CPython
Gregory P. Smith, Stan Ulbrych, Petr Viktorin
3.14
SR
806
Mixed sync/async context managers with precise async marking
Zac Hatfield-Dodds
3.15
PR
2026
Calendar versioning for Python
Hugo van Kemenade
3.26
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
Reserved PEP Numbers
PEP
Title
Authors
801
RESERVED
Warsaw
PEP Types Key
Informational
: Non-normative PEP containing background, guidelines or other information relevant to the Python ecosystem
Process
: Normative PEP describing or proposing a change to a Python community process, workflow or governance
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
Accepted
: Normative proposal accepted for implementation
Active
: Currently valid informational guidance, or an in-use process
Deferred
: Inactive draft that may be taken up again at a later time
Draft
: Proposal under active discussion and revision
Final
: Accepted and implementation complete, or no longer active
Provisional
: Provisionally accepted but additional feedback needed
Rejected
: Formally declined and will not be accepted
Superseded
: Replaced by another succeeding PEP
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 Hartz
hz at mit.edu
Adam Turner
adam at python.org
Adrian Garcia Badaracco
adrian at adriangb.com
Alex Gaynor
alex.gaynor at gmail.com
Alex Martelli
aleaxit at gmail.com
Alexander Belopolsky
alexander.belopolsky at gmail.com
Alexandre Vassalotti
alexandre at peadrop.com
Alexis Challande
alexis.challande at trailofbits.com
Alice Purcell
alicederyn at gmail.com
Alyssa Coghlan
ncoghlan at gmail.com
Amethyst Reese
amethyst at n7.gg
Ammar Askar
ammar at ammaraskar.com
Andre Roberge
andre.roberge at gmail.com
Andrew McClelland
eternalsquire at comcast.net
Andrew McNamara
andrewm at object-craft.com.au
Andrey Talman
atalman at meta.com
Andy R. Terrel
andy.terrel at gmail.com
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
Brittany Reynoso
brittanyrey at gmail.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
Charlie Marsh
charlie at astral.sh
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
Cristian Le
python at lecris.dev
Damien George
Daniel F Moisset
dfmoisset at gmail.com
Daniel Holth
dholth at gmail.com
Daniel Sperber
github.blurry at 9ox.net
Daniel Stutzbach
daniel at stutzbachenterprises.com
Daniel Urban
urban.dani+py at gmail.com
Daniel W. Park
daniel.park at vercel.com
Dave Cole
djc at object-craft.com.au
Dave Peck
davepeck at davepeck.org
David Ascher
davida at activestate.com
David Eppstein
eppstein at ics.uci.edu
David Foster
david at dafoster.net
David Goodger
goodger at python.org
David Hewitt
1939362+davidhewitt at users.noreply.github.com
David Woods
dw-git at d-woods.co.uk
Deb Nicholson
deb at python.org
Dennis Sweeney
sweeney.dennis650 at gmail.com
Dino Viehland
dinoviehland at gmail.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
Eli Uriegas
eliuriegas at meta.com
Elvis Pranskevichus
elvis at edgedb.com
Emily Morehouse-Valcarcel
emily at python.org
Emma Harper Smith
emma at python.org
Eric N. Vander Weele
ericvw at gmail.com
Eric Pruitt
Eric Snow
ericsnowcurrently at gmail.com
Eric Traut
erictr at microsoft.com
Eric V. Smith
eric at trueblade.com
Erik De Bonte
erikd at microsoft.com
Erik Demaine
edemaine at mit.edu
Erik M. Bray
Erlend Egeberg Aasland
erlend at python.org
Ethan Furman
ethan at stoneleaf.us
Ewa Jodlowska
ewa at python.org
Ezio Melotti
ezio.melotti at gmail.com
Facundo Batista
facundo at taniquetil.com.ar
Facundo Tuesca
facundo.tuesca at trailofbits.com
Filipe Laíns
lains at python.org
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
Henry Schreiner
henryschreineriii at gmail.com
Holger Krekel
holger at merlinux.eu
Hood Chatham
roberthoodchatham at gmail.com
Huaiyu Zhu
hzhu at users.sourceforge.net
Hugo van Kemenade
Inada Naoki
songofacandy at gmail.com
Irit Katriel
irit at python.org
Ivan Levkivskyi
levkivskyi at gmail.com
Ivona Stojanovic
stojanovic.i at hotmail.com
Jack Diederich
jackdied at gmail.com
Jack Jansen
jack at cwi.nl
Jaime Rodríguez-Guerra
jaime.rogue at gmail.com
James C. Ahlstrom
jim at interet.com
James Hilton-Balfe
gobot1234yt at gmail.com
James Polley
jp at jamezpolley.com
Jarek Potiuk
potiuk at apache.org
Jason Orendorff
jason.orendorff at gmail.com
Jason Petrone
jp at demonseed.net
Jay Berry
email at jb2170.com
Jeff Epler
jepler at unpythonic.net
Jeffrey Yasskin
jyasskin at google.com
Jelle Zijlstra
jelle.zijlstra at gmail.com
Jeremy Hylton
jeremy at alum.mit.edu
Jeroen Demeyer
j.demeyer at ugent.be
Jervis Whitley
jervisau at gmail.com
Jesse Noller
jnoller at gmail.com
Jim Althoff
james_althoff at i2.com
Jim Baker
jim.baker at python.org
Jim J. Jewett
jimjjewett at gmail.com
Jiwon Seo
seojiwon at gmail.com
Joanna Jablonski
Joe Carey
joe at python.org
John Belmonte
john at neggie.net
Jonathan Dekhtiar
jonathan at dekhtiar.com
Jonathan Riehl
jriehl at spaceship.com
Joop van de Pol
joop.vandepol at trailofbits.com
Joseph Jevnik
joejev at gmail.com
Joseph Martinot-Lagarde
Joshua Bambrick
jbambrick at google.com
Joshua Cannon
joshdcannon at gmail.com
Joshua Landau
joshua at landau.ws
Joshua Lock
jlock at vmware.com
Joshua Xu
jxu425 at fb.com
Josiah Carlson
jcarlson at uci.edu
Jukka Lehtosalo
jukka.lehtosalo at iki.fi
Julien Palard
julien at palard.fr
Just van Rossum
just at letterror.com
Justin Cappos
jcappos at nyu.edu
Ka-Ping Yee
ping at zesty.ca
Karl Nelson
nelson85 at llnl.gov
Karolina Surma
karolina.surma at gazeta.pl
Ken Jin
kenjin at python.org
Kerrick Staley
mail at kerrickstaley.com
Kevin Altis
altis at semi-retired.com
Kevin D. Smith
kevin.smith at themorgue.org
Klaus Zimmermann
klaus_zimmermann at gmx.de
Konstantin Kashin
kkashin at fb.com
Konstantin Schütze
konstin at mailbox.org
Koos Zevenhoven
k7hoven at gmail.com
Koudai Aono
koxudaxi at gmail.com
Kushal Das
mail at kushaldas.in
Larry Hastings
larry at hastings.org
Laura Creighton
lac at strakt.com
Laurens Van Houtven
_ at lvh.cc
Laurie Opperman
laurie_opperman at hotmail.com
László Kiss Kollár
kiss.kollar.laszlo at gmail.com
Lennart Regebro
regebro at gmail.com
Lie Ryan
lie.1296 at gmail.com
Lino Mastrodomenico
l.mastrodomenico at gmail.com
Lisa Roach
lisaroach14 at gmail.com
Lois Anne DeLong
lad278 at nyu.edu
Lukas Puehringer
lukas.puehringer at nyu.edu
Lysandros Nikolaou
lisandrosnik at gmail.com
Maggie Moss
maggiebmoss at gmail.com
Magnus Lie Hetland
magnus at hetland.org
Malcolm Smith
smith at chaquo.com
Marc-Andre Lemburg
mal at lemburg.com
Marc-André Lemburg
mal at lemburg.com
Marcel Plch
gmarcel.plch at gmail.com
Mariatta
mariatta at python.org
Marina Moore
mm9693 at nyu.edu
Mario Corchero
mariocj89 at gmail.com
Mark E. Haase
mehaase at gmail.com
Mark Hammond
mhammond at skippinet.com.au
Mark Mendoza
mendoza.mark.a at gmail.com
Mark Shannon
mark at hotpy.org
Mark Williams
mrw at enotuniq.org
Markus Meskanen
markusmeskanen at gmail.com
Marta Gómez Macías
cyberwitch at google.com
Martijn Faassen
faassen at infrae.com
Martin Teichmann
lkb.teichmann at gmail.com
Martin von Löwis
martin at v.loewis.de
Masayuki Yamamoto
Matt Chisholm
matt-python at theory.org
Matt Page
mpage at python.org
Matt Wozniski
godlygeek at gmail.com
Matthew Rahtz
mrahtz at google.com
Matthias Klose
doko at ubuntu.com
Micah Elliott
mde at tracos.org
Michael Foord
michael at python.org
Michael Hudson
mwh at python.net
Michael J. Sullivan
sully at msully.net, sully at vercel.com
Michael Lee
michael.lee.0x2a at gmail.com
Michael P. Dubner
dubnerm at mindless.com
Michael Sarahan
msarahan at gmail.com
Michał Górny
mgorny at quansight.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
Nathan Goldbaum
nathan.goldbaum at gmail.com
Nathaniel J. Smith
njs at pobox.com
Neal Norwitz
nnorwitz at gmail.com
Ned Deily
nad at python.org
Neil Girdhar
misterhsheik at gmail.com
Neil Hodgson
neilh at scintilla.org
Neil Schemenauer
nas at arctrix.com
Nick Humrich
nick at humrich.us
Noah Kim
noahbkim at gmail.com
Ofek Lev
ofekmeister at gmail.com
Oleg Broytman
phd at phdru.name
Oren Tirosh
oren at hishome.net
Pablo Galindo Salgado
pablogsal at python.org
Pablo Ruiz Cuevas
pablo.r.c at live.com
Patrick Maupin
pmaupin at gmail.com
Paul Barrett
barrett at stsci.edu
Paul Colomiets
paul at colomiets.name
Paul Everitt
pauleveritt at me.com
Paul F. Dubois
paul at pfdubois.com
Paul Ganssle
paul at ganssle.io
Paul Moore
p.f.moore at gmail.com
Paul Prescod
paul at prescod.net
Peter Astrand
astrand at lysator.liu.se
Peter Bierma
peter at python.org
Peter Harris
scav at blueyonder.co.uk
Peter Moody
pmoody at google.com
Peter Schneider-Kamp
nowonder at nowonder.de
Petr Viktorin
encukou at gmail.com
Philip House
phouse512 at gmail.com
Philipp Angerer
phil.angerer at gmail.com
Philippe Ombredanne
pombredanne at nexb.com
Philippe PRADOS
python at prados.fr
Phillip J. Eby
pje at telecommunity.com
Pradeep Kumar Srinivasan
gohanpra at gmail.com
Pradyun Gedam
pradyunsg at gmail.com
R David Murray
Ralf Gommers
ralf.gommers at gmail.com
Raymond Hettinger
python at rcn.com
Reid Kleckner
rnk at mit.edu
Rich Chiodo
rchiodo at microsoft.com
Richard Jones
richard at python.org
Richard Oudkerk
r.m.oudkerk at googlemail.com
Robert Collins
rbtcollins at hp.com
Robert Kuska
rkuska at redhat.com
Robert T. McGibbon
rmcgibbo at gmail.com
Roman Suzi
rnd at onego.ru
Ronald Oussoren
ronaldoussoren at mac.com
Russell Keith-Magee
russell at keith-magee.com
Ryan Gonzalez
rymg19 at gmail.com
Sam Gross
colesbury at gmail.com
Samuele Pedroni
pedronis at python.org
Savannah Ostrowski
savannah 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
storchaka at gmail.com
Seth Larson
seth at python.org
Seth Michael Larson
seth at python.org
Sébastien Eustace
sebastien at eustace.io
Shannon Zhu
szhu at fb.com
Shantanu Jain
hauntsaninja at gmail.com
Simon Cross
hodgestar at gmail.com
Skip Montanaro
skip at pobox.com
Stan Ulbrych
stan at python.org
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 Robitaille
thomas.robitaille at gmail.com
Thomas Wouters
thomas at python.org
Tian Gao
gaogaotiantian at hotmail.com
Till Varoquaux
till.varoquaux at gmail.com
Tim Delaney
timothy.c.delaney at gmail.com
Tim Felgentreff
tim.felgentreff at oracle.com
Tim Peters
tim.peters at gmail.com
Tim Stumbaugh
me at tjstum.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
Victorien Plot
contact at vctrn.dev
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, yury at vercel.com
Zac Hatfield-Dodds
zac at zhd.dev
Zachary Ware
zach at python.org
Zixuan James Li
p359101898 at gmail.com
Łukasz Langa
lukasz at python.org
Łukasz Modzelewski
US