[DB-SIG] Popy - Psycopg - PyPgSQL - PyGreSQL

Magnus Lycka magnus@thinkware.se
Tue, 01 Oct 2002 15:51:38 +0200


At 15:01 2002-10-01 +0200, Federico Di Gregorio wrote:
>imo, the only possible merge is when one of the projects gets
>discontinued and the authors "merge" into another project. this is true
>not only for those projects but for every project that get started
>because the author feels others are pushing in the wrong direction..

You might be true. At least I think the "ultimate"
python postgresql driver will to 90-95% be based
on code from *one* of the projects. After all, all
four drivers are reasonably complete today as far as
I understand.

But code reuse is not everything. Ideas, experience
goals, documentaion and APIs can be reused as well.
I think the main benefit will be that more people
be working on one project. (If there is work for
more people...)

There will also be future development, as the DB-API
might change, PostgreSQL will change, a uniform
exception standard might develop, maybe even a
uniform framework. Wouldn't it be nice if this
work didn't have to be done four times for PostgreSQL?

What might be worth keeping is API compatibility,
so that users don't suddenly have to make major
changes in the code that uses the drivers. But if
the drivers are DB-API 2 compatible, this might
not be so difficult?

Would it be very hard to change psycopg so that
python programs written for the other drivers
(in DB-API 2 mode) would work with psycopg?

Would it be more work to fix this than to
continue working on separate projects.

I realize that the driver included with PostgreSQL
has an older incompatible API as well. I guess the
old driver could be bundled with PostgreSQL to
provide that interface.

Considering that the DB-API 2 has been around for
more than three years, it's a bit surprising to
me that the old API hasn't been deprecated in
the PostgreSQL docs. Those docs rather suggest
using the ancient API by giving full documentation
for that, and completely ignoring the new, referring
only to the DB API spec and a very brief tutorial
that uses Solid DB...




--=20
Magnus Lyck=E5, Thinkware AB
=C4lvans v=E4g 99, SE-907 50 UME=C5
tel: 070-582 80 65, fax: 070-612 80 65
http://www.thinkware.se/  mailto:magnus@thinkware.se