[Python-3000] possible new packages (PEP 3108)
Jim Jewett
jimjjewett at gmail.com
Wed Jan 10 17:32:03 CET 2007
On 1/9/07, Brett Cannon <brett at python.org> wrote:
> Anyway, since this is an Open Issue and slightly controversial I need
> explicit voting from people on whether they like any of the proposed
> packages. So please don't be silent if there is a package you think
> that should (or should not) happen.
I explicitly like reducing the the number of top-level modules in
almost *any* sensible manner.
For me (and I doubt I'm alone), the most obvious way to find something
is to look in the Lib directory (which misses C modules), followed by
the global module index. With over 200 choices (windows), this
doesn't work as well as it should.
> * 'collections' package
> + heapq
> + Queue
> + sets
> + UserDist (?)
> + UserList (?)
Except for queue (which should move to threads), this is the most clearcut.
If it is rejected, then the "builtin data types" or even a more
generic datatypes (for modules that mostly let you work with a certain
type of data, like csv or datetime) would be better than nothing.
> * Platform-specific
Yes, please. While some are there for reasons of historical accident,
the fact remains that they don't work on all platforms, and are
therefore only a source of confusion to beginners.
The platform-specfic implementations of path should also move there.
If all builds end up distributing some of the platform-specific
packages for compatibility ("but I want to treat it as a Mac path"),
that's OK -- at least people will understand what it is there for, and
why it acts "funny".
> * Profiling
Should this be combined with debugging?
> * 'email' package
(yes)
> * Databases
>
> + anydbm
> + dbhash
> + dbm
> + bsddb
> + dumbdbm
> + gdbm
> + whichdb
also shelve, sqlite3
And this reopens the question of whether there should be a way to
separate the "standard" databases from those that were added locally.
> * Audio
>
> + aifc
> + audioop
> + chunk
> + ossaudiodev
> + sndhdr
> + sunau
> + wave
> + winsound
This at least gets them out of my non-audio hair, but I'm not sure how
much sense it makes to actual users. Should there be an audio module
(or the package __init__.py) which imports the "right"
platform-specific module for simple uses?
> * XML-RPC
> + DocXMLRPCServer
> + SimpleXMLRPCServer
> + xmlrpclib
Somehow, this grouping seems artificial. I also wonder whether the
Doc server ought to go in a docs package, or the debug package. That
said, I still like it better than no change.
> * Internet (leaving out all questionable modules leads to a Web
> grouping)
I would like this if we weren't worried about hierarchy depth.
I would also like it if web were pulled out separately, the way email is.
> * Servers
I would most prefer to see these as subgroupings under net (or web).
I would rather see them lumped in with the rest of web than broken out
into a separate servers package.
Though even just this -- grouping them as "servers", is an improvement
over the status quo.
> * Bytecode
> * Compression
> * Date & time
yes
More information about the Python-3000
mailing list