txpostgres is a library for accessing a PostgreSQL database from the Twisted framework. It builds upon asynchronous features of the Psycopg database library, which in turn exposes the asynchronous features of libpq, the PostgreSQL C library.
It requires a version of Psycopg that includes support for asynchronous connections (versions 2.2.0 and later) and a reasonably recent Twisted (it has been tested with Twisted 10.2 onward). Alternatively, psycopg2-ctypes can be used in lieu of Psycopg.
txpostgres tries to present an interface that will be familiar to users of both Twisted and Psycopg. It features a Cursor wrapper class that mimics the interface of a Psycopg cursor but returns Deferred objects. It also provides a Connection class that is meant to be a drop-in replacement for Twisted’s adbapi.Connection with some small differences regarding connection establishing.
The main advantage of txpostgres over Twisted’s built-in database support is non-blocking connection building and complete lack of thread usage.
The library is distributed under the MIT License, see the LICENSE file for details. You can contact the author, Jan Urbański, at firstname.lastname@example.org. Feel free to download the source, file bugs in the issue tracker and consult the documentation