Alkimya
🐘
pycopg
Bibliothèque Python — PostgreSQL & PostGIS

Une interface haut niveau pour PostgreSQL, PostGIS et TimescaleDB. Construit sur psycopg 3 — moins de code, plus d'expressivité, sans sacrifier la puissance de la base.

exemple.py
from pycopg import Database

# Connexion et exploration
with Database("postgresql://user:pass@localhost/mydb") as db:
    db.explore()                          # schéma complet
    df = db.to_dataframe("SELECT * FROM parcelles")

# Import massif par COPY
db.copy_insert("zones", records, batch_size=10_000)

# PostGIS — GeoDataFrame direct
gdf = db.to_geodataframe("SELECT * FROM zones WHERE ST_Area(geom) > 1000")

# TimescaleDB — création d'hypertable
db.create_hypertable("mesures", time_column="ts")
🗂
Exploration de schéma
Introspection complète — tables, colonnes, types, index, contraintes et extensions. Vue claire de la structure de votre base en une ligne.
⚡
Import COPY par lots
Insertion massive via COPY binaire PostgreSQL. Ordres de grandeur plus rapide qu'INSERT classique, avec contrôle de la taille des batches.
🐼
DataFrame & GeoDataFrame
Conversion directe vers Pandas DataFrame ou GeoPandas GeoDataFrame. Retour vers la base en upsert automatique.
🗺
PostGIS natif
Opérations spatiales, transformations de projection et conversion de géométries intégrées. Travaillez avec des données géographiques sans friction.
⏱
TimescaleDB
Création d'hypertables, gestion des politiques de rétention et requêtes sur séries temporelles avec la puissance de l'extension Timescale.
🔗
Connection pooling
Pool de connexions intégré, pub/sub PostgreSQL, gestion des rôles et backups — tout ce qu'il faut pour la production.
Python 3.11+ psycopg 3 PostgreSQL PostGIS TimescaleDB Pandas GeoPandas