jueves, 10 de marzo de 2016

pg8000 disponible en los repos de Fedora

Recientemente empaquete la librería pg8000 en los repos de Fedora y Epel, esta es una pequeña librería para conectarse a un servidor Postgresql usando únicamente la librería estándar de Python y python-six para contabilidad con Python2 y Python3.

Por ejemplo:

su -c "dnf install -y python3-pg8000"

Y luego desde una terminal python

import pg8000

conn = pg8000.connect(
        host="192.168.111.128",
        user="unittest",
        password="unittest",
        database="pg8000"
)
cursor = conn.cursor()
cursor.execute("some cool sql querry")
conn.commit()
Eso es todo para usar pg8000 como herramienta para trabajar con Postgresql únicamente con  Python, es posible también usar pg8000 con sqlalchemy

import sqlalchemy #no es necesario importar directamente pg8000 
conn = sqlalchemy.create_engine('postgresql+pg8000://user:pass@host/database')
cursor = conn.connect()
cursor.execute("some cool sql querry")
Una desventaja de esta librería es que es relativamente mas lenta para ejecutar una transacción SQL que otras opciones similares como psycopg, pero un punto a favor de pg8000 para usarla en tu próximo proyecto es que esta liberado bajo la permisiva licencia BSD, mucho mas digerible que la que licencia usada por psycopg.