I saw this on reddit and thought I might drop a line.

I went through this same issue, trying to find a postgresql driver.  Mostly, I 
had no intention of using psycopg because of its copyleft licensing.  (Of 
course, I don't need to go into why.)

Anyways, here's some info that might help on three alternatives:
Py-postgresql, PyGreSQL, and PG3000

Py-postgresql is active (but I only see 1 person committing)
MIT/BSD style license

It uses some some C for speed.

It has DB-API and PG-API bindings.


Problem: is it Python 3 only!



PyGreSQL (looking to not be very active in the last few months)
MIT/BSD style license
I'm vague on it's features, whether it has C optimizations, or if it is a 
version limited to Python 3 or 2.x


PG8000 is active at the moment
MIT/BSD style license
It works on 2.x and Python 3

Problem: it is pure Python, so it is slower


If you plan on pursuing this, I'd recommend talking to people on on 3 projects. 
 Here's what I would describe as ideal in a project:

* MIT/BSD style license
* works on Python 2.x and 3
* C optimizations for speed (or whatever for speed)

------------------
That's that part.  Now for some problems that would need solving in order for 
the db api to be extremely useful/userfriendly in the Python world:
------------------
* SQLAlchemy bindings/support -- as of right now only psycopyg works in 
SQLAlchemy without problems.  PG8000 will work, but you need an 
experimental version of boht PG8000 and SQLAlchemy.  The other two do 
not work.  SQLAlchemy support is probably most needed of anything.  SQLAlchemy 
support should not only be possible but default.
* Django bindings (these are unique to Django and nobody but psycopg has
 them, which is not good).  Django support should not only be possible but 
default.

* Needs 2.x and Python 3 compatability
* It is inevitable that if the library uses C optimizations, then that means 
they need to provide lots of different binaries -- think 32bit vs 64bit and 
then 2.4, 2.5, 3.0 etc....  Some combinations will often be left out making it 
hard for someone to use/install it.



Of course all of this is from the perspective of Python users.  Of course, you 
have your own features that you want from your end (from PostgreSQL's 
perspective).  Perhaps this info would help you to know which avenue to pursue.
                                          
_________________________________________________________________
Your E-mail and More On-the-Go. Get Windows Live Hotmail Free.
http://clk.atdmt.com/GBL/go/201469229/direct/01/

Reply via email to