PEP: 42 Title: Feature Requests Version: $Revision$ Author: Jeremy Hylton Status: Active Type: Informational Created: 12-Sep-2000 Introduction This PEP contains a list of feature requests that may be considered for future versions of Python. Large feature requests should not be included here, but should be described in separate PEPs; however a large feature request that doesn't have its own PEP can be listed here until its own PEP is created. See pep-0000.txt for details. This PEP was created to allow us to close bug reports that are really feature requests. Marked as Open, they distract from the list of real bugs (which should ideally be less than a page). Marked as Closed, they tend to be forgotten. The procedure now is: if a bug report is really a feature request, add the feature request to this PEP; mark the bug as "feature request", "later", and "closed"; and add a comment to the bug saying that this is the case (mentioning the PEP explicitly). It is also acceptable to move large feature requests directly from the bugs database to a separate PEP. Core Language / Builtins - A builtin function that returns the number of bytes an object uses internally. Apparently mxTools has a sizeof function that returns the size of the object struct itself. http://sourceforge.net/bugs/?func=detailbug&bug_id=110835&group_id=5470 - Add C API functions to help Windows users who are building embedded applications where the FILE * structure does not match the FILE * the interpreter was compiled with. http://sourceforge.net/bugs/?func=detailbug&bug_id=110821&group_id=5470 See this bug report for a specific suggestion that will allow a Borland C++ builder application to interact with a python.dll build with MSVC. Standard Library - The test suite is incomplete (and probably always will be). This is a reminder to people that more regression tests are needed. http://sourceforge.net/bugs/?func=detailbug&group_id=5470&bug_id=110819 - The urllib module should support proxies which require authenication. See SourceForge bug #110619 for information: http://sourceforge.net/bugs/?func=detailbug&bug_id=110619&group_id=5470 - Support passive FTP via urllib http://sourceforge.net/bugs/?func=detailbug&bug_id=110848&group_id=5470 - Use objects with attributes in place of tuples of values for return values in several places in the library. Two specific APIs which could use this treatment include os.stat() and os.statvfs(); see SourceForge bug #111481: http://sourceforge.net/bugs/?func=detailbug&bug_id=111481&group_id=5470 which shows very specifically why this approach is better than the tuple approach: additional attributes can be added as needed without having as detrimental an affect on existing code. - os.rename() should be modified to handle EXDEV errors on platforms that don't allow rename() to operate across filesystem boundaries by copying the file over and removing the original. Linux is one system that requires this treatment. http://sourceforge.net/bugs/?func=detailbug&bug_id=112317&group_id=5470 - signal handling doesn't always work as expected. E.g. if sys.stdin.readline() is interrupted by a (returning) signal handler, it returns "". It would be better to make it raise an exception (corresponding to EINTR) or to restart. But these changes would have to applied to all places that can do blocking interruptable I/O. So it's a big project. http://sourceforge.net/bugs/?func=detailbug&bug_id=110599&group_id=5470 - Ensure that all .py files in the std library use 4-space indents and no hard tabs. This was actually a PEP200 precondition for the release of 2.0b1, but got misinterpreted as the weaker condition that tabnanny not complain. Tim Peters will do this now, but, since about 250 files are affected, will wait until after 2.0final is released. http://sourceforge.net/bugs/?func=detailbug&bug_id=114557&group_id=5470 - Port the Python SSL code to Windows. http://sourceforge.net/bugs/?func=detailbug&bug_id=110683&group_id=5470 - Extend Windows utime to accept directory paths. http://sourceforge.net/bugs/?func=detailbug&bug_id=114245&group_id=5470 - Port CGIHTTPServer to Windows. http://sourceforge.net/bugs/?func=detailbug&bug_id=110839&group_id=5470 - cStringIO.StringIO class should be given a readlines() method for compatibility with StringIO.StringIO class. http://sourceforge.net/bugs/?func=detailbug&bug_id=110686&group_id=5470 - Extend copy.py to class, module & function types. http://sourceforge.net/bugs/?func=detailbug&bug_id=114553&group_id=5470 - Better checking for bad input to marshal.load*(). http://sourceforge.net/bugs/?func=detailbug&bug_id=114754&group_id=5470 - Generalize eval to accept any mapping objects for locals and globals. http://sourceforge.net/bugs/?func=detailbug&bug_id=115126&group_id=5470 - Add a portable implementation of time.strptime() that works in clearly defined ways on all platforms. http://sourceforge.net/bugs/?func=detailbug&bug_id=115146&group_id=5470 http://sourceforge.net/bugs/?func=detailbug&bug_id=112244&group_id=5470 - rfc822.py should be more lenient than the spec in the types of address fields it parses. Specifically, an invalid address of the form "From: Amazon.com " should be parsed correctly. https://sourceforge.net/bugs/?func=detailbug&bug_id=110678&group_id=5470 Tools - IDLE should reload & recompile modules changed externally. To be done properly, scripts will have to be run in a separate process. http://sourceforge.net/bugs/?func=detailbug&bug_id=110841&group_id=5470 - Python could use a GUI builder. http://sourceforge.net/bugs/?func=detailbug&bug_id=110820&group_id=5470 Local Variables: mode: indented-text indent-tabs-mode: nil End: