[PyGreSQL] Improvements and directions for the future

D'Arcy J.M. Cain darcy at PyGreSQL.org
Sun Feb 7 09:43:28 EST 2010


On Sun, 07 Feb 2010 14:31:52 +0100
Christoph Zwerschke <cito at online.de> wrote:
> At http://archives.postgresql.org/pgsql-hackers/2010-02/msg00351.php 
> folks are complaining about the confusing mess of PostgreSQL drivers for 
> Python and that there is not one terrific driver to rule them all.

Lord of the DB-APIs?  :-)

> In fact, there are a couple of drivers that have evolved over the years, 
> each with pros and cons, and none of them really shiny and perfect. But 
> joining forces will be difficult, since some have completely different 
> approaches, e.g. some are based on libpq, some use pure Python etc. 
> There are also different ideas how to extend DB API 2 and implement 
> PostgreSQL data types in Python.

We actually tried to merge with another once but the people involved
just stopped replying.  I think they stopped development eventually.

> But what we can do is try to revamp and modernize PyGreSQL, including 
> homepage and docs, and think about future directions.

Yes.

> First, what is our main "product" to focus at? The classic API or the DB 
> API2? We should really make that clear on the homepage. For instance, we 
> have extensive docs for the classic API, but our pgdb docs still say 
> they "need to be written" (http://www.pygresql.org/pgdb.html) so it 
> looks like the classic API is our main product and it seems some people 
> got confused by that. If the classic one is our focus, we should try to 
> improve it, otherwise we should make clear that it's deprecated and only 
> maintained for historical reasons and to provide backward compatiblity, 
> i.e. only for old applications based on that API.

Does one ot the other need to be the focus?  One thing that I have
wanted to do for a while is make the classic interface a pure Python
wrapper around the DB-API.  That way it can be used with any database
and not just PostgreSQL.  If we do that we might want to make the
classic interface a separate project.

> We will also need a roadmap for migrating PyGreSQL to Python 3.x. I'd 

I'm all for that.  I haven't looked into what is required for that yet,
especially for the C code.

> like to create an experimental branch for that. And in this context, I 
> still advocate moving to a SVN or HG repository to simplify branching 
> and merging. A bug tracker will also help in reflating development. The 
> simplest solution would be to move to SF, Google Code or the like.

I know that I have resisted SVN in the past.  I am coming around
though.  If I switch I can run it here.  I already have an SVN
repository for other projects.

> Another issue concerning future-safety on the Windows platform is how to 
> deal with 64bit Python on Windows which gets increasingly popular. The 
> problem is that PostgreSQL - including the libpq.dll - is (so far) only 
> available for 32bit and they are only slowly moving towards 64bit 
> because it does not bring much advantage for PostgreSQL itself. So to 
> use PyGreSQL on 64bit Python on Windows, we may need a 64bit wrapper dll 
> communicating with the 32bit pibpq.dll via DCOM or something. Any better 
> ideas?

I'll have to leave the Windows specific stuff to others.

-- 
D'Arcy J.M. Cain
PyGreSQL Development Group
http://www.PyGreSQL.org


More information about the PyGreSQL mailing list