Psycopg2 (also known as python-psycopg2 on most Linux kernel-based operating systems) is a very small, stable and fast software written in C and designed from the offset to provide a PostgreSQL adapter for the Python programming language.
Features at a glance
Key features include COPY support, server-side cursors, support for two-phase commit, support for large objects, asynchronous non-blocking I/O, which is also integrated with the coroutine-based libraries, including Eventlet, gevent, and uGreen, as well as support for sending and receiving asynchronous notifications.
Additionally, Psycopg2 can be used as an adaptation of several Python objects to database type, including flexible JSON support, tuples to records, dictionaries to hstore, and lists to array.
It can be easily extended to new adapters
It is an extendible software, allowing users to easily add support for new adapters which can be used to convert Python objects to SQL typecasters and syntax, as well as to convert PostgreSQL types into Python objects.
Implements the Python DB API 2.0 specifications
Psycopg2 is a Python module which has been engineered to fully implement the Python DB API (Application Programming Interface) 2.0 specifications, as well as to allow access to many of PostgreSQL’s features.
A complete rewrite of the original Psycopg module
Psycopg2 is a complete rewrite of the original Psycopg module. It was created with the intention of providing new-style classes for database connections, as well as cursor objects and many other goodies.
Supports Python 2.5 to 3.4 and PostgreSQL 7.4 to 9.4
At the moment of writing this review, we have discovered that the Psycopg2 software supports Python versions from 2.5 to 3.4, as well as PostgreSQL versions from 7.4 to 9.4. The application is thread-safe, which means that threads can share the same connection or use different connections.
Supported on Linux, Windows and Mac OS X
Psycopg2 is a cross-platform software, supported on the GNU/Linux, Microsoft Windows and Mac OS X operating systems. It has been successfully tested on computers supporting either of the 64 or 32-bit CPU architectures.