PEP: 0 Title: Index of Python Enhancement Proposals (PEPs) Version: $Revision$ Last-Modified: $Date$ Author: David Goodger , Barry A. Warsaw Status: Active Type: Informational Created: 13-Jul-2000 Post-History: Introduction The PEP contains the index of all Python Enhancement Proposals, known as PEPs. PEP numbers are assigned by the PEP Editor, and once assigned are never changed. The CVS history[1] of the PEP texts represent their historical record. The BDFL maintains his own Pronouncements page[2] at http://www.python.org/doc/essays/pepparade.html which contains his musings on the various outstanding PEPs. Index by Category num title owner --- ----- ----- Meta-PEPs (PEPs about PEPs or Process) I 0 Index of Python Enhancement Proposals Goodger, Warsaw I 1 PEP Guidelines Warsaw, Hylton I 2 Procedure for Adding New Modules Faassen I 3 Guidelines for Handling Bug Reports Hylton I 4 Deprecation of Standard Modules von Loewis I 5 Guidelines for Language Evolution Prescod I 6 Bug Fix Releases Aahz I 7 Style Guide for C Code GvR I 8 Style Guide for Python Code GvR, Warsaw I 9 Sample Plaintext PEP Template Warsaw I 10 Voting Guidelines Warsaw I 11 Removing support for little used platforms von Loewis I 12 Sample reStructuredText PEP Template Goodger, Warsaw Other Informational PEPs I 42 Feature Requests Hylton I 101 Doing Python Releases 101 Warsaw, GvR I 102 Doing Python Micro Releases Baxter, Warsaw, GvR IF 247 API for Cryptographic Hash Functions Kuchling IF 248 Python Database API Specification v1.0 Lemburg IF 249 Python Database API Specification v2.0 Lemburg I 257 Docstring Conventions Goodger, GvR IF 272 API for Block Encryption Algorithms v1.0 Kuchling I 290 Code Migration and Modernization Hettinger I 291 Backward Compatibility for Standard Library Norwitz I 306 How to Change Python's Grammar Hudson Accepted PEPs (accepted; may not be implemented yet) S 252 Making Types Look More Like Classes GvR S 253 Subtyping Built-in Types GvR Open PEPs (under consideration) I 206 2.0 Batteries Included Zadka S 209 Adding Multidimensional Arrays Barrett, Oliphant S 215 String Interpolation Yee S 218 Adding a Built-In Set Object Type Wilson S 228 Reworking Python's Numeric Model Zadka, GvR S 237 Unifying Long Integers and Integers Zadka, GvR S 239 Adding a Rational Type to Python Craig, Zadka S 240 Adding a Rational Literal to Python Craig, Zadka S 242 Numeric Kinds Dubois S 243 Module Repository Upload Mechanism Reifschneider S 245 Python Interface Syntax Pelletier S 246 Object Adaptation Evans S 254 Making Classes Look More Like Types GvR S 256 Docstring Processing System Framework Goodger S 258 Docutils Design Specification Goodger S 265 Sorting Dictionaries by Value Griffin S 266 Optimizing Global Variable/Attribute Access Montanaro S 267 Optimized Access to Module Namespaces Hylton S 268 Extended HTTP functionality and WebDAV Stein S 269 Pgen Module for Python Riehl S 273 Import Modules from Zip Archives Ahlstrom S 274 Dict Comprehensions Warsaw S 275 Switching on Multiple Values Lemburg S 276 Simple Iterator for ints Althoff S 278 Universal Newline Support Jansen S 280 Optimizing access to globals GvR S 281 Loop Counter Iteration with range and xrange Hetland S 282 A Logging System Sajip, Mick I 283 Python 2.3 Release Schedule GvR S 284 Integer for-loops Eppstein, Ewing S 286 Enhanced Argument Tuples von Loewis I 287 reStructuredText Docstring Format Goodger S 288 Generators Attributes and Exceptions Hettinger S 292 Simpler String Substitutions Warsaw S 294 Type Names in the types Module Tirosh S 296 Adding a bytes Object Type Gilbert S 297 Support for System Upgrades Lemburg S 298 The Locked Buffer Interface Heller S 299 Special __main__() function in modules Epler S 301 Package Index and Metadata for Distutils Jones S 302 New Import Hooks JvR S 303 Extend divmod() for Multiple Divisors Bellman S 304 Controlling Generation of Bytecode Files Montanaro S 305 CSV File API Montanaro, et al S 307 Extensions to the pickle protocol GvR, Peters S 308 If-then-else expression GvR, Hettinger S 309 Built-in Closure Type Harris S 310 Reliable Acquisition/Release Pairs Hudson, Moore Finished PEPs (done, implemented in CVS) SF 100 Python Unicode Integration Lemburg 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 S 205 Weak References Drake SF 207 Rich Comparisons GvR, Ascher SF 208 Reworking the Coercion Model Schemenauer, Lemburg SF 214 Extended Print Statement Warsaw SF 217 Display Hook for Interactive Use Zadka SF 221 Import As Wouters SF 223 Change the Meaning of \x Escapes Peters I 226 Python 2.1 Release Schedule Hylton S 227 Statically Nested Scopes Hylton SF 229 Using Distutils to Build Python Kuchling SF 230 Warning Framework GvR SF 232 Function Attributes Warsaw SF 234 Iterators Yee, GvR SF 235 Import on Case-Insensitive Platforms Peters SF 236 Back to the __future__ Peters SF 238 Changing the Division Operator Zadka, GvR SF 241 Metadata for Python Software Packages Kuchling SF 250 Using site-packages on Windows Moore IF 251 Python 2.2 Release Schedule Warsaw, GvR SF 255 Simple Generators Schemenauer, et al SF 260 Simplify xrange() GvR S 261 Support for "wide" Unicode characters Prescod SF 263 Defining Python Source Code Encodings Lemburg SF 264 Future statements in simulated shells Hudson SF 277 Unicode file name support for Windows NT Hodgson SF 279 The enumerate() built-in function Hettinger SF 285 Adding a bool type GvR SF 293 Codec Error Handling Callbacks Dörwald Empty PEPs (or containing only an abstract) SD 210 Decoupling the Interpreter Loop Ascher ID 220 Coroutines, Generators, Continuations McMillan Deferred, Abandoned, Withdrawn, and Rejected PEPs SR 204 Range Literals Wouters SD 211 Adding A New Outer Product Operator Wilson SD 212 Loop Counter Iteration Schneider-Kamp SD 213 Attribute Access Handlers Prescod IR 216 Docstring Format Zadka SD 219 Stackless Python McMillan SD 222 Web Library Enhancements Kuchling SR 224 Attribute Docstrings Lemburg SD 225 Elementwise/Objectwise Operators Zhu, Lielens SR 231 __findattr__() Warsaw SD 233 Python Online Help Prescod SR 244 The `directive' Statement von Loewis SR 259 Omit printing newline after newline GvR SD 262 Database of Installed Python Packages Kuchling SR 270 uniq method for list objects Petrone SR 271 Prefixing sys.path by command line option Giacometti SR 289 Generator Comprehensions Hettinger SR 295 Interpretation of multiline string constants Koltsov SR 666 Reject Foolish Indentation Creighton Numerical Index num title owner --- ----- ----- I 0 Index of Python Enhancement Proposals Warsaw I 1 PEP Guidelines Warsaw, Hylton I 2 Procedure for Adding New Modules Faassen I 3 Guidelines for Handling Bug Reports Hylton I 4 Deprecation of Standard Modules von Loewis I 5 Guidelines for Language Evolution Prescod I 6 Bug Fix Releases Aahz I 7 Style Guide for C Code GvR I 8 Style Guide for Python Code GvR, Warsaw I 9 Sample Plaintext PEP Template Warsaw I 10 Voting Guidelines Warsaw I 11 Removing support for little used platforms von Loewis I 12 Sample reStructuredText PEP Template Goodger, Warsaw I 42 Feature Requests Hylton SF 100 Python Unicode Integration Lemburg I 101 Doing Python Releases 101 Warsaw, GvR I 102 Doing Python Micro Releases Baxter, Warsaw, GvR 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 S 205 Weak References Drake I 206 2.0 Batteries Included Zadka SF 207 Rich Comparisons GvR, Ascher SF 208 Reworking the Coercion Model Schemenauer, Lemburg S 209 Adding Multidimensional Arrays Barrett, Oliphant SD 210 Decoupling the Interpreter Loop Ascher SD 211 Adding A New Outer Product Operator Wilson SD 212 Loop Counter Iteration Schneider-Kamp SD 213 Attribute Access Handlers Prescod SF 214 Extended Print Statement Warsaw SD 215 String Interpolation Yee IR 216 Docstring Format Zadka SF 217 Display Hook for Interactive Use Zadka S 218 Adding a Built-In Set Object Type Wilson SD 219 Stackless Python McMillan ID 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 SD 225 Elementwise/Objectwise Operators Zhu, Lielens I 226 Python 2.1 Release Schedule Hylton S 227 Statically Nested Scopes Hylton S 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 S 237 Unifying Long Integers and Integers Zadka, GvR SF 238 Changing the Division Operator Zadka, GvR S 239 Adding a Rational Type to Python Craig, Zadka S 240 Adding a Rational Literal to Python Craig, Zadka SF 241 Metadata for Python Software Packages Kuchling S 242 Numeric Kinds Dubois S 243 Module Repository Upload Mechanism Reifschneider SR 244 The `directive' Statement von Loewis S 245 Python Interface Syntax Pelletier S 246 Object Adaptation Evans IF 247 API for Cryptographic Hash Functions Kuchling IF 248 Python Database API Specification v1.0 Lemburg IF 249 Python Database API Specification v2.0 Lemburg SF 250 Using site-packages on Windows Moore IF 251 Python 2.2 Release Schedule Warsaw, GvR S 252 Making Types Look More Like Classes GvR S 253 Subtyping Built-in Types GvR S 254 Making Classes Look More Like Types GvR SF 255 Simple Generators Schemenauer, et al S 256 Docstring Processing System Framework Goodger I 257 Docstring Conventions Goodger, GvR S 258 Docutils Design Specification Goodger SR 259 Omit printing newline after newline GvR SF 260 Simplify xrange() GvR S 261 Support for "wide" Unicode characters Prescod SD 262 Database of Installed Python Packages Kuchling SF 263 Defining Python Source Code Encodings Lemburg SF 264 Future statements in simulated shells Hudson S 265 Sorting Dictionaries by Value Griffin S 266 Optimizing Global Variable/Attribute Access Montanaro S 267 Optimized Access to Module Namespaces Hylton S 268 Extended HTTP functionality and WebDAV Stein S 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 S 273 Import Modules from Zip Archives Ahlstrom S 274 Dict Comprehensions Warsaw S 275 Switching on Multiple Values Lemburg S 276 Simple Iterator for ints Althoff SF 277 Unicode file name support for Windows NT Hodgson S 278 Universal Newline Support Jansen SF 279 The enumerate() built-in function Hettinger S 280 Optimizing access to globals GvR S 281 Loop Counter Iteration with range and xrange Hetland S 282 A Logging System Sajip, Mick I 283 Python 2.3 Release Schedule GvR S 284 Integer for-loops Eppstein, Ewing SF 285 Adding a bool type GvR S 286 Enhanced Argument Tuples von Loewis I 287 reStructuredText Docstring Format Goodger S 288 Generators Attributes and Exceptions Hettinger SR 289 Generator Comprehensions Hettinger I 290 Code Migration and Modernization Hettinger I 291 Backward Compatibility for Standard Library Norwitz S 292 Simpler String Substitutions Warsaw SF 293 Codec Error Handling Callbacks Dörwald S 294 Type Names in the types Module Tirosh SR 295 Interpretation of multiline string constants Koltsov S 296 Adding a bytes Object Type Gilbert S 297 Support for System Upgrades Lemburg S 298 The Locked Buffer Interface Heller S 299 Special __main__() function in modules Epler S 301 Package Index and Metadata for Distutils Jones S 302 New Import Hooks JvR S 303 Extend divmod() for Multiple Divisors Bellman S 304 Controlling Generation of Bytecode Files Montanaro S 305 CSV File API Montanaro, et al I 306 How to Change Python's Grammar Hudson S 307 Extensions to the pickle protocol GvR, Peters S 308 If-then-else expression GvR, Hettinger S 309 Built-in Closure Type Harris S 310 Reliable Acquisition/Release Pairs Hudson, Moore SR 666 Reject Foolish Indentation Creighton Key I - Informational PEP S - Standards Track PEP A - Accepted proposal R - Rejected proposal D - Deferred proposal F - Final proposal Owners name email address ---------------- ------------- Aahz aahz@pobox.com Ahlstrom, James C. jim@interet.com Althoff, Jim james_althoff@i2.com Altis, Kevin altis@semi-retired.com Ascher, David davida@activestate.com Barrett, Paul barrett@stsci.edu Baxter, Anthony anthony@interlink.com.au Bellman, Thomas bellman+pep-divmod@lysator.liu.se Cole, Dave djc@object-craft.com.au Craig, Christopher python-pep@ccraig.org Creighton, Laura lac@strakt.com Dörwald, Walter Drake, Fred fdrake@acm.org Dubois, Paul F. paul@pfdubois.com Epler, Jeff jepler@unpythonic.net Eppstein, David eppstein@ics.uci.edu Evans, Clark C. cce@clarkevans.com Ewing, Greg greg@cosc.canterbury.ac.nz Faassen, Martijn faassen@infrae.com Giacometti, Frédéric B. fred@arakne.com Gilbert, Scott xscottg at yahoo.com Goodger, David goodger@python.org Griffin, Grant g2@iowegian.com Harris, Peter scav@blueyonder.co.uk Heller, Thomas theller@python.net Hetland, Magnus Lie magnus@hetland.org Hettinger, Raymond D. python@rcn.com Hodgson, Neil neilh@scintilla.org Hudson, Michael mwh@python.net Hylton, Jeremy jeremy@zope.com Jansen, Jack jack@cwi.nl Jones, Richard rjones@ekit-inc.com Koltsov, Stepan yozh@mx1.ru Kuchling, A.M. amk@amk.ca Lemburg, Marc-Andre mal@lemburg.com Lielens, Gregory gregory.lielens@fft.be von Loewis, Martin loewis@informatik.hu-berlin.de Martelli, Alex aleax@aleax.it McMillan, Gordon gmcm@hypernet.com McNamara, Andrew andrewm@object-craft.com.au Mick, Trent trentm@activestate.com Montanaro, Skip skip@pobox.com Moore, Paul gustav@morpheus.demon.co.uk Norwitz, Neal neal@metaslash.com Oliphant, Travis oliphant@ee.byu.edu Pelletier, Michel michel@digicool.com Peters, Tim tim@digicool.com Petrone, Jason jp@demonseed.net Prescod, Paul paul@prescod.net Reifschneider, Sean jafo-pep@tummy.com Riehl, Jonathan jriehl@spaceship.com van Rossum, Guido (GvR) guido@python.org van Rossum, Just (JvR) just@letterror.com Sajip, Vinay vinay_sajip@red-dove.com Schemenauer, Neil nas@arctrix.com Schneider-Kamp, Peter nowonder@nowonder.de Stein, Greg gstein@lyra.org Tirosh, Oren oren at hishome.net Warsaw, Barry barry@zope.com Wells, Cliff LogiplexSoftware@earthlink.net Wilson, Greg gvwilson@ddj.com Wouters, Thomas thomas@xs4all.net Yee, Ka-Ping ping@lfw.org Zadka, Moshe moshez@zadka.site.co.il Zhu, Huaiyu hzhu@users.sourceforge.net References [1] View PEP history online http://cvs.sf.net/cgi-bin/viewcvs.cgi/python/python/nondist/peps/ [2] The Benevolent Dictator For Life's Parade of PEPs http://www.python.org/doc/essays/pepparade.html Local Variables: mode: indented-text indent-tabs-mode: nil sentence-end-double-space: t fill-column: 70 End: