Mette en oeuvre la DB API de Python

Abonnements, magazines... Notre catalogue complet au bas de cette page.

La DB API de Python est une spécification visant à simplifier et unifier les scripts Python accédant à des bases de données. Nous faisons connaissance avec cette API à travers une de ses implémentations pour PostgreSQL: Psycopg

Le monde des bases de données est un monde qui manque d'unité. En dépit de l'existence du standard SQL, les disparités entre les systèmes de bases de données sont grandes. Vient ensuite le problème de la communication avec les systèmes. Il n'est pas rare de trouver plusieurs implémentations de librairies ou de modules d'extensions pour un langage devant travailler avec un système. Les implémentations, différant généralement notablement entre elles, ajoutent encore à la disparité. Dans le cadre du langage Python, la spécification DB API (http://www.python.org/dev/peps/pep-0249/) tente de remédier, au moins en partie, à cela. Le remède aurait pu être plus radical si ces spécifications laissaient moins de liberté aux implémenteurs et si certains de ceux-ci avaient fait preuve d'un peu plus de rigueur. Nous n'entrerons toutefois pas plus avant dans ce débat et nous nous contenterons d'étudier cette API intéressante au moyen d'une implémentation de qualité: Psycopg. Celle-ci est sous licence GPL-2 et peut être librement téléchargée à http://www.initd.org/. Psycopg travaille avec PostgreSQL, SGBDR favori de votre serviteur. Le fond de cet article reste toutefois valable pour tout autre système de base de données disposant d'une interface Python respectant les spécifications de l'API.

Frédéric Mazué

S'ABONNER