Remove package introduction as an Open Issue and make it a Rejected Idea.

This commit is contained in:
Brett Cannon 2007-01-13 19:24:12 +00:00
parent e9e54355f7
commit a4dcf4667f
1 changed files with 15 additions and 189 deletions

View File

@ -473,195 +473,6 @@ on the new name.
Open Issues
===========
Consolidate dependent modules together into a single module or package?
-----------------------------------------------------------------------
The stdlib has several modules that have a level of dependency between
them (e.g., urllib and urllib2). Usually one is a low-level module
that provides basic abilities with a corresponding higher-level API is
given in another module for simple use-cases. In Python 3.0 we could
group these dependent modules together into a single module or package
to better reflect their relationship.
Keep in mind when looking at the groupings that deprecation or removal
is also a possibility if there is enough overlap or a module is
obsolete.
* Cookie/cookielib
* urllib/urllib2 (urlparse? httplib?)
* cgi/cgitb
* Tix/Tkinter
* getpass/pwd/spwd/grp
* mailbox/mhlib
* anydbm/whichdbm
* bsddb/dbhash
* pickle/pickletools
* HTMLParser/htmllib
* ftplib/netrc
* parser/symbol
Consolidate certain modules with similar themes together in a package?
----------------------------------------------------------------------
Packages are often used to group together modules that have a similar
theme but do not have any direct relationship or dependency upon each
other. For Python 3.0 obvious groupings could be done since renaming
of various modules is already occurring. Below is a list of possible
packages (pre-existing or new) that could be created. In order to be
considered the package must contain three or more modules in order to
not overdue the introduction of new packages and to keep the stdlib
shallow. No specific package name is proposed, just what modules
could go into the package.
* 'collections' package
+ heapq
+ Queue
+ UserDist (?)
+ UserList (?)
* Python implementations of built-in data types
+ UserDict
+ UserList
+ UserString
* Platform-specific
+ windows
- _winreg
- msilib
- msvcrt
- winsound
+ unix
- crypt
- dbm
- fcntl
- fpectl
- gdbm
- grp
- nis
- pipes
- pwd
- readline (?)
- resource
- spwd
- syslog
- termios (?)
- tty (?)
- mac (all Mac-specific modules)
* Profiling
+ cProfile
+ profile
+ hotshot
+ pstats
* 'email' package
+ imaplib
+ mailbox
+ mailcap
+ mhlib
+ poplib
* Databases
+ anydbm
+ dbhash
+ dbm
+ bsddb
+ dumbdbm
+ gdbm
+ sqlite3
+ whichdb
* Audio
+ aifc
+ audioop
+ chunk
+ ossaudiodev
+ sndhdr
+ sunau
+ wave
+ winsound
* XML-RPC
+ DocXMLRPCServer
+ SimpleXMLRPCServer
+ xmlrpclib
* Internet (leaving out all questionable modules leads to a Web
grouping)
+ BaseHTTPServer
+ cgi
+ CGIHTTPServer
+ cgitb
+ Cookie
+ cookielib
+ ftplib (?)
+ htmlentitydefs
+ htmllib
+ HTMLParser
+ httplib
+ netrc (?)
+ nntplib (?)
+ sgmllib (?)
+ SimpleHTTPServer
+ stringprep
+ urllib
+ urllib2
+ urlparse
+ webbrowser
+ wsgiref
* Servers (each sub-grouping can be their own package)
+ HTTP
- BaseHTTPServer
- CGIHTTPServer
- DocXMLRPCServer
- SimpleHTTPServer
- SimpleXMLRPCServer
- wsgiref
+ Socket
- asynchat
- asyncore
- SocketServer
* Bytecode
+ codeop
+ compiler
+ dis
+ py_compile
+ compileall
* Compression
+ bz2
+ gzip
+ zlib
* Date & time
+ calendar
+ datetime
+ time
Renaming of modules maintained outside of the stdlib
----------------------------------------------------
@ -714,6 +525,21 @@ semantics, etc.). Everything within this PEP can easily be handled if
a new top-level package is introduced.
Introducing new packages to contain theme-related modules
---------------------------------------------------------
During the writing of this PEP it was noticed that certain themes
appeared in the stdlib. In the past people have suggested introducing
new packages to help collect modules that share a similar theme (e.g.,
audio). An Open Issue was created to suggest some new packages to
introduce.
In the end, though, not enough support could be pulled together to
warrant moving forward with the idea. In the future either a separate
PEP trying to do a large reorganization of the stdlib or doing it
piece-meal, one package at a time, will be required.
References
==========