<br><div class="gmail_quote">On Tue, Nov 16, 2010 at 8:47 AM, Armin Rigo <span dir="ltr">&lt;<a href="mailto:arigo@tunes.org">arigo@tunes.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi,<br>
<div class="im"><br>
On Tue, Nov 16, 2010 at 5:27 PM, Dan Stromberg &lt;<a href="mailto:drsalists@gmail.com">drsalists@gmail.com</a>&gt; wrote:<br>
&gt;&gt; So, if I understand correctly you are saying that we should rename our<br>
&gt;&gt; dbm.py to bsdb.py, and write a new dbm.py which can use either bsdb or gdbm?<br>
&gt;<br>
&gt; I think it&#39;s anydbm that can use whatever among dbm, bsddb, gdbm and<br>
&gt; dumbdbm, as it sees fit.  TTBoMK, it&#39;s not until python 3.x that dbm becomes<br>
&gt; a sort of unifying module hierarchy.<br>
<br>
</div>Yes, in Python 2.x, dbm.py is very specifically an interface to the<br>
Unix dbm library (see e.g. man dbm_open).  At the level of C, the gdbm<br>
interface is some kind of extension of that.  It&#39;s not related to<br>
bsddb, which has a very different interface.<br><div class="im"></div></blockquote><div><br>Well, there&#39;s related, and then there&#39;s related.  bsddb provides a bunch of operations, including a basic hash facility.  The API is not intended to be the same as gdbm or ndbm (gdbm has a native interface and an ndbm compatability interface), but the concept is similar between the 3 for one part of bsddb - the part the cpython uses.<br>
 <br></div></div>