skip to navigation
skip to content

psycopg2cffi 2.7.2

.. image::

An implementation of the psycopg2 module using cffi. The module is currently compatible with Psycopg 2.5.

You can install psycopg2cffi from pypi:

pip install psycopg2cffi

Or from source:

python install

Installation requirements are the same as for psycopg2 - you must have libpq headers, pg_config somewhere on your $PATH, python development headers (python-dev or similar), and ffi-dev for cffi. Installation was tested on Ubuntu 12.04, Ubuntu 14.04, CentOS (RHEL 5.0), OS X 10.8 - 10.10. It should be possible to make it work on Windows, but I did not test it.

This module works under CPython 2.6+, CPython 3.2+, PyPy 2 and PyPy 3 (PyPy version should be at least 2.0, which is ancient history now).

To use this package with Django or SQLAlchemy invoke a compatability hook (for example, from in case of django, or from a file in site-packages of your virtual env):

from psycopg2cffi import compat

This will map psycopg2cffi to psycopg2.

Submit issues to

If you notice that psycopg2cffi under PyPy is noticably slower than psycopg2 under CPython, submit this to the issues too - it should not be the case.

This is a port of (Michael van Tellingen port of Alex Gaynor’s rpython port ( of psycopg2 to python + ctypes) to cffi.

The main motivation for a port was speed - the writeup with benchmarks is here:


To run tests, install pytest and run them with:

py.test psycopg2cffi

Note that for cffi>=1.0 you need to run python develop to rebuild (if you changed bindings). And for cffi<1.0 (only PyPy 2.5 and below) you need to run python install once to generate psycopg2cffi/, otherwise each import will run config and notify tests will fail.

You can also run Django tests. You need to checkout django source, add psycopg2 compat as described above, and, from the root of the django checkout:

PYTHONPATH=`pwd` ./tests/ \

In case of problems with django tests, see official django docs

Release notes

2.7.2 (06 August 2015)

Fixes for FreeBSD support by Andrew Coleman

2.7.1 (20 June 2015)

JSONB support

2.7.0 (21 May 2015)

Use cffi 1.0, which makes installation more robust, and import is faster. cffi<1.0 is used now only for PyPy 2.5 or below.

2.6.1 (08 Feb 2015)

Fixing things that were broken in 2.6.0:

  • Fix issue #31 - bigint on 32-bit
  • Fix issue #32 - register_type and unicode

2.6.0 (24 Jan 2015)

  • Python 3 support
  • A bit faster reading of int, long, float, double fields

2.5.1 (14 May 2014)

  • Little bufixes

2.5.0 (3 Sep 2013)

  • Bufixes and a lot of compatability work by Daniele Varrazzo

Older releases lack release notes, first release of psycopg2cffi around Nov 2012.

File Type Py Version Uploaded on Size
psycopg2cffi-2.7.2.tar.gz (md5) Source 2015-08-08 60KB
  • Downloads (All Versions):
  • 261 downloads in the last day
  • 1836 downloads in the last week
  • 5385 downloads in the last month