My son has brought to my attention that our current crop of Python

client libraries is inadequate/confusing. I took a look myself, and

asked on our IRC channel, and am now convinced this area needs

attention.

First, the sheer number of libraries is confusing. This is the page

from the Postgres wiki:

http://wiki.postgresql.org/wiki/Python

The first one listed, Psycopg, is noted as "preferred libpq-based

driver", but the license is GPL. Isn't that a problem for many client

applications?

The next one, PyGreSQL, is BSD licensed, but only has documentation for

the "classic" interface. The DB-API module says about documentation:

http://www.pygresql.org/pgdb.html

This section of the documentation still needs to be written.

The other three are pure Python drivers, which I guess can be good, but

why three, and then there are three more listed as "obsolete/stalled".

Clearly something is wrong here.

The Python-hosted PostgreSQL page has similar problems:

http://wiki.python.org/moin/PostgreSQL

Does Perl have a similar mess?

While I realize experienced people can easily navigate this confusion, I

am concerned about new Postgres adopters being very confused by this and

it is hurting our database adoption in general.

What is really needed is for someone to take charge of one of these

projects and make a best-of-breed Python driver that can gain general

acceptance as our preferred driver. I feel Python is too important a

language to be left in this state.

--

Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us

EnterpriseDB http://enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +