[Python-Dev] bsddb and sqlite

Guido van Rossum guido at python.org
Mon Sep 8 01:01:49 CEST 2008

On Sun, Sep 7, 2008 at 3:43 PM, Steve Holden <steve at holdenweb.com> wrote:
> Oleg Broytmann wrote:
>> On Sun, Sep 07, 2008 at 11:34:37AM -0700, Gregory P. Smith wrote:
>>> You could probably have built the bsddb185 module and loaded your data
>>> from that and rewritten it using the new bsddb module.
>>    I built bsddb185, loaded old data, exported it to... I don't remember
>> now, but I clearly remember I stopped using bsddb.
>>> The lesson for python: when that happens lets write the code to make
>>> the transition between formats trivial.
>>    For me the lesson is different - do not include modules in the stdlib
>> that relies on unstable 3rd party libraries. I consider bsddb unstable.
>> sqlite is more stable, but PySQLite... there are many minor releases between
>> Python releases; my humble opinion is it'd be better to have one external
>> PySQLite module than two (PySQLite and sqlite3).
> Unfortunately this advice should have been taken several years ago. The
> fact is that there are almost certainly Python users who rely on the
> presence of the bsddb module for production work, and simply removing it
> without deprecation is bound to upset those users.

Those users would first have to port their code to Python 3.0. That
task is a lot larger than dealing with a separate download of bsddb.
It is not being removed from 2.6.

> I'm particularly concerned that it appears that normal procedures have
> been circumvented to enable its removal from 3.0. Since we have at least
> one developer committed to ongoing support that seems both harsh and
> unnecessary.

3.0 breaks a lot of things. Most of the library reorg may have been
discussed more than this particular removal, but that doesn't mean
that changes won't come as a surprise for most users. In this case, a
completely compatible module is available as a 3rd party download.
That's a lot less sever than the complete abandonment than the fat of
many other modules. It's just a matter of source code packaging.
Vendors can completely remove the difference in their packaging of the

--Guido van Rossum (home page: http://www.python.org/~guido/)

More information about the Python-Dev mailing list