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