[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