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

hazmat hazmat@objectrealms.net
Tue, 1 Oct 2002 07:39:04 -0700


On Tuesday 01 October 2002 06:20 am, Magnus Lycka wrote:
> At 05:28 2002-10-01 -0700, hazmat wrote:
> >imho, i would only use pyscopg or pypgsql. of the four they are under the
> >most
> >active development.
>
> It seems popy might merge with pyscopg?

i'm interested, as user, in hearing of any benefits that this merger would 
bring from a code/technical perspective. i haven't heard any yet. 

open source brings choices, and thats not nesc. a bad thing.

>
> Is there a good reason why pyscopg or pypgsql can't
> become the standard driver which is included in
> the standard PostgreSQL database? 

open source also brings community politics. 

pygresql is the oldest python binding to postgres, and its developer is also a 
postgres developer. so when the postgres community was deciding to include a 
language binding.... although to be honest i can't recall if other bindings 
were stable when pygre became bundled with postgres.

>What is so important
> with PyGreSQL if "everybody" thinks that it shouldn't
> be used?

several things, when i last used pygresql a couple of years ago, i found its 
db-api interface to be horribly broken. i believer there have been some fixes 
to this, in the interim *years*.  perhaps most signifigantly from my own 
perspective is that it plays *very* poorly with zope. to wrt, datetime 
conversions, and the fact that its zope adapter executed queries serially 
(which is not nesc. the fault of  pygresql) . 

probably one of the authors/developers of the alternative frameworks, could 
better answer on why they wanted to develop a new framework, rather than 
using/extending/fixing pygresql. or perhaps their time is better spent coding 
;-)
>
> I wrote:
> > > A library or framework that
> > > is built in python and use PostgreSQL might use
> > > any of these four drivers.
> >
> >not really, the limitations/bugs of some of the drivers will become
> > apparent quickly.
>
> Oh? Why does PyDO use PyGreSQL then?

i can't speak to why pydo uses pygresql, but there are a couple of reasons why  
other projects use pygresql, imo. the biggest one is ease of distribution, as 
pygresql comes with postgres. another one is sometimes developers are not 
aware of the better alternatives

> >ideally their would be a driver framework with plugins, and we'd only have
> > to worry about the portability of our sql. as it is, most people
> > implement their own abstraction layer, as it does not seem apparent to
> > me, that the db-sig is going to promote db-api from interface
> > recommendations to framework.
>
> I'm afraid you might be right.
>
> I have a feeling that this is somehow a consequence
> of how open source projects work.

> Those who are actually doing the real work of
> developing and maintaining database drivers are
> typically happy with what they have produced,
> and see few reasons to do things differently.

well the db-sig decided not to make a driver interface frameworks to help 
developers in writing adapters according to a more lenient specification. 

> Those (like me) who just want to  use  the drivers
> in the most convenient way are typically to busy
> coding other stuff to really make a concrete impact
> on how the drivers work... It's not as if we pay
> the bills of the driver developers...
>
> Well, I shouldn't complain. Things are great really,
> and however much we improve stuff there will always
> be more things to complain over.

well one of the consequences of open source, is you get to scratch your own 
itches ;-)

-haz