[Python-3000] Is pickle's persistent_id worth keeping?

Guido van Rossum guido at python.org
Tue Jan 8 18:51:01 CET 2008


On Jan 8, 2008 5:15 AM, Fred Drake <fdrake at acm.org> wrote:
> I don't think this is a huge deal for the pickle module, but is more
> of an issue for some of the wrappers for external libraries.  The
> database packages (bsddb, sqlite) come to mind here, but aren't the
> only cases where independent releases make sense.  We've certainly
> seen that including the "xml" package in the standard library was
> questionable at best (and the tie to PyXML exacerbated that horribly).

pickle should definitely remain part of the core; it is timed in lots
of ways to core datatypes. It is also something that I expect nobody
would be thrilled to maintain if it was separate. And there is a lot
to say for having a "universal" serialization format; e.g. there have
been RPC systems built on top of pickling.

I think ctypes falls in the same category, and see it as a happy
addition to the core.

For things like bsddb I think the argument of release cycles is
stronger. In particular bsddb support in the core is painful, the
tests often fail, they take a long time to run, and I don't see that
many users.

For sqlite I'm on the fence; it has saved my butt a few times in
situations where having to include an external dependency might have
stopped me from using it. And it doesn't seem to be much of a
maintenance issue.

PyXML was IMO an early mistake; I think it's good to have a certain
amount of XML support in the core, and to have more extensive support
separate; the blunder was trying to reuse the same toplevel package
name.

I think the argument of release cycles is very important for reasoning
about these kinds of issues; no two cases are alike.

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


More information about the Python-3000 mailing list