[stdlib-sig] PEP 3108
M.-A. Lemburg
mal at egenix.com
Tue Jan 22 00:39:53 CET 2008
Hi all,
just skimmed through PEP 3108. A few comments:
* The renaming is done inconsistently, e.g.
"simple_http_server", "simple_xmlrpc_server", but "socketserver"
There should either always be an underscore to separate words,
or none.
I don't think that underscores in module names are particularly
nice, so I'd opt for going with the no-underscores versions.
* dbm renaming is going to cause trouble
The reason is that there already is a dbm module with a
defined interface which the package is likely not going to
provide.
I also don't think that "dbm" meaning database manager is
really what the modules are all about. They usually just
implement on-disk dictionaries, nothing more complicated.
A DBM usually has a bit more to offer, e.g. think Oracle :-)
All in all, I'm not sure whether this is worth the trouble.
sqlite is a far better choice than any of the dbm-style
modules, IMHO, and it provides an upgrade path to more
sophisticated RDBMs.
* "All database related modules will be moved to a database package.
These modules include: bsddb, dbm, gdbm, sqlite, anydbm, dbhash,
dumbdbm, whichdb."
Does this refer to the proposed "dbm" package or is there going
to be a new "database" package ?
Please be careful not to introduce *new* generic and widely used
names for stdlib modules or packages or alternatively, go for
the stdlib-in-a-package approach to work around any such issues
(this is what I did for the mx packages when it became obvious that
DateTime was an overly generic package name).
* Integrating the C performance boost modules into the Python
versions
Most of the C extensions do not implement the complete set
of APIs that are available in the Python version, or they
work differently / do not allow sub-classing.
Eg. if you want to write an extended pickle mechanism, you
can do so by subclassing from the Python version, but not from
the cPickle version.
Ideal would be to rewrite the C code to work like the Python
code (or vice-versa), but this seems outside the scope of
the PEP.
Cheers,
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Jan 22 2008)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
More information about the stdlib-sig
mailing list