Skip to main content

.. image:: https://travis-ci.org/chtd/psycopg2cffi.svg

Project description

https://travis-ci.org/chtd/psycopg2cffi.svg

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 setup.py develop

Installation requirements are the same as for psycopg2 - you must have libpq headers, pg_config somewhere on your $PATH. Installation was tested on Ubuntu 12.04 and CentOS (RHEL 5.0). It should be possible to make it work on Windows, but I did not even 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 settings.py in case of django, or from a psycopg2.py file in site-packages of your virtual env):

from psycopg2cffi import compat
compat.register()

This will map psycopg2cffi to psycopg2.

Submit issues to https://github.com/chtd/psycopg2cffi/issues

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 https://github.com/mvantellingen/psycopg2-ctypes of Alex Gaynor’s rpython port (https://bitbucket.org/alex_gaynor/pypy-postgresql/overview) of psycopg2 to python + ctypes) to cffi.

The main motivation for a port was speed - the writeup with benchmarks is here: http://chtd.ru/blog/bystraya-rabota-s-postgres-pod-pypy/?lang=en

Development

To run tests, install pytest and run them with:

py.test psycopg2cffi

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/runtests.py \
    --settings=psycopg2cffi.tests.psycopg2_tests.testconfig

In case of problems with django tests, see official django docs https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests

Release notes

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

psycopg2cffi-2.6.1.tar.gz (69.7 kB view details)

Uploaded Source

File details

Details for the file psycopg2cffi-2.6.1.tar.gz.

File metadata

  • Download URL: psycopg2cffi-2.6.1.tar.gz
  • Upload date:
  • Size: 69.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for psycopg2cffi-2.6.1.tar.gz
Algorithm Hash digest
SHA256 177c31557c1d4e53776a5244644aebbaf760234543f5ccf1605c12796772c0ea
MD5 44a3ef5c879f3b4f93d082835aec667c
BLAKE2b-256 320598b39d97dd8f2b6c6ad2b0aaf0b64561b45d0604d93ad5c076fb9d77f9db

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page