Twisted wrapper for asynchronous PostgreSQL connections
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
doc Clean up all flake8 errors. No code changes. May 4, 2015
test Use list comprehension instead of the builtin map() function Jan 27, 2016
txpostgres Back to development release Feb 5, 2016
.gitignore Add files generated by coverage to gitignore. Jan 9, 2014
LICENSE Update copyright notices for 2012 (and 2011 for that matter). Jan 8, 2012 Initial commit May 5, 2010
NEWS Add info about Python 3 compatibility, run Travis tests with Py3k Jan 27, 2016
NOTICE Add seemingly required license mumbo-jumbo. Jan 9, 2014
README.rst Add info about Python 3 compatibility, run Travis tests with Py3k Jan 27, 2016
requirements.txt Move the requirements file to the root of the project. May 31, 2012
setup.cfg Initial commit May 5, 2010 Change the development status Trove tag to production/stable Jan 27, 2016


This is 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, psycopg2cffi or 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.

It runs on Python 2.6, 2.7, 3.4, 3.5 and PyPy.

If you got txpostgres as a source tarball, you can run the automated test suite and install the library with:

tar xjf txpostgres-x.x.x.tar.bz2
cd txpostgres-x.x.x
trial test
sudo python install

Alternatively, just install it from PyPI:

pip install txpostgres

The library is distributed under the MIT License, see the LICENSE file for details. You can contact the author, Jan Urbański, at Feel free to download the source, file bugs in the issue tracker and consult the documentation