Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id 9CAFB64FCFC for ; Thu, 7 Aug 2008 00:21:03 -0300 (ADT) Received: from postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 85055-01 for ; Thu, 7 Aug 2008 00:20:39 -0300 (ADT) X-Greylist: delayed 00:09:13.255012 by SQLgrey-1.7.6 Received: from syd.object-craft.com.au (syd.object-craft.com.au [59.167.236.184]) by postgresql.org (Postfix) with ESMTP id 4745664FFAA for ; Thu, 7 Aug 2008 00:19:46 -0300 (ADT) Received: by longblack.object-craft.com.au (Postfix, from userid 1000) id 352795CC8EF; Thu, 7 Aug 2008 13:10:06 +1000 (EST) Received: from longblack (localhost [127.0.0.1]) by longblack.object-craft.com.au (Postfix) with ESMTP id 19CBF6EC016 for ; Thu, 7 Aug 2008 13:10:06 +1000 (EST) To: pgsql-interfaces@postgresql.org Subject: ocpgdb released Date: Thu, 07 Aug 2008 13:10:06 +1000 From: Andrew McNamara Message-Id: <20080807031006.352795CC8EF@longblack.object-craft.com.au> X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests=none X-Spam-Level: X-Archive-Number: 200808/3 X-Sequence-Number: 6778 I've released my Python-PostgreSQL DB-API adapter "ocpgdb" on Google Code: http://code.google.com/p/ocpgdb/ This adapter module differs from the other Py/PG adapters in that it uses the binary PG protocol 3, which tends to make it somewhat faster and (maybe) a little safer. Determining the specifics of the serialised binary types took quite a bit of work - this might make the code of interest to others attempting to use the binary protocol. The adapter aims to code as little as possible in C, with the C code forming a fairly thin wrapper around libpq. Serialisation is implemented at the Python level (often with the help of the "struct" module) - the result is surprisingly quick. We have been using the module as it stands in several production systems for about a year without problems. That said, there is little documentation (things should mostly work according to PEP-249), and the module does not implement some features commonly provided by other modules (in particular, a "row dict", nor threading support). -- Andrew McNamara, Senior Developer, Object Craft http://www.object-craft.com.au/