On 1/2/07, M.-A. Lemburg <mal@egenix.com> wrote:
On 2007-01-02 01:02, brett.cannon wrote:
> Author: brett.cannon
> Date: Tue Jan 2 01:02:41 2007
> New Revision: 53204
>
> Added:
> peps/trunk/pep-3108.txt (contents, props changed)
> Modified:
> peps/trunk/pep-0000.txt
> Log:
> Add PEP 3108: Standard Library Reorganization.
>
>...
>
> +Open Issues
> +===========
> +
> +Consolidate dependent modules together into a single module or package?
> ...
> +Consolidate certain modules with similar themes together in a package?
> +----------------------------------------------------------------------
> ...
If you do follow this route, please take the chance to place
the whole Python stdlib under a single package. That way we'll
avoid name clashes with existing packages and modules now and
in the future.
That has been suggested before (including by me) and Guido has always shot it down. That's why I left it out of this proposal.
Together with absolute imports this also improves the readability
of modules since it becomes immediately clear where the imported code
is coming from.
Note that as side-effect of this it becomes a lot harder to manipulate
PYTHONPATH to trick Python into loading a standard module from a
non-standard location, improving security and robustness of the
Python installations.
> +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.
> +
> +* collections
> + + heapq
> + + Queue
> + + sets
> + + UserDist
> + + UserList
> + + What to do with UserString?
> + - Have a package for Python implementations of built-in types
> + instead of putting the User* modules into 'collections'?
> +* mac
> + + Various Mac-specific modules.
> + + Same can be done for other platform-specific code.
> +* Profiling
> + + cProfile
> + + profile
> + + hotshot
> + + pstats
> +* email
> + + mailbox
> + + mhlib
> +* Databases
> + + anydbm
> + + dbhash
> + + dbm
> + + bsddb
> + + dumbdbm
> + + gdbm
> + + whichdb
> +* Audio
> + + aifc
> + + audioop
> + + chunk
> + + ossaudiodev
> + + sunau
> + + wave
> + + winsound
> +* Servers
> + + BaseHTTPServer
> + + CGIHTTPServer
> + + DocXMLRPCServer
> + + SimpleHTTPServer
> + + SimpleXMLRPCServer
> + + SocketServer
The package names should probably be converted to lower-case to
follow PEP 8.
Oops, I should have clarified that was not package name suggestsions beyond 'collections'. It was just meant to act as what the type of grouping was.
-Brett