[Python-Dev] pep-3108.txt
Brett Cannon
brett at python.org
Tue Jan 2 23:54:59 CET 2007
On 1/2/07, M.-A. Lemburg <mal at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-dev/attachments/20070102/f867294b/attachment.html
More information about the Python-Dev
mailing list