Will bsddb changes in 2.3 affect shelve files?

Martin v. Löwis martin at v.loewis.de
Fri Jun 27 23:56:35 CEST 2003

David Fox <davidcfox at post.harvard.edu> writes:

> Given that the bsddb files will need to be converted in format to work
> with Python 2.3, does that mean that my shelve files will have to be
> converted as well?

Yes, it does.

> Can I (and the users of my application) use the same
> db2pickle/pickle2db utilities to convert files created/read by
> shelve?

You would need to use db2pickle with the old installation, and
pickle2db with the new one. You could also use bsddb utilities
(db_dump185/db_load) to convert the database.

> Is the file format planned to remain stable after this transition to
> Python 2.3?

Nobody would give a guarantee. The file format isn't directly created
by Python, but instead, the underlying Sleepycat Berkeley DB. Future
Python releases may include future Sleepycat releases, which may or
may not change the on-disk format. In all cases, Sleepycat will
release db_dump/db_load utitilies, which will allow conversion across
various formats. Also, Sleepycat traditionally supports a few older
on-disk formats, so that a single Sleepycat release may continue to
read and write old files, but use the new format for new files.

You should best ask Sleepycat about any plans they have for the
on-disk format.


More information about the Python-list mailing list