SQLAlchemy è una libreria Python che mette a disposizione un toolkit SQL(chiamato "SQLAlchemy Core") e un Object Relational Mapper (ORM) che permette di interagire con un database SQL utilizzando il codice Python, anziché attraverso query SQL.[3] Le tabelle del database vengono trasformate in classi Python e le righe in oggetti. Questo rende il codice più leggibile e manutenibile, soprattutto per progetti di grandi dimensioni.
Descrizione
SQLAlchemy permette la generazione di schemi di database, l'esecuzione di query e la mappatura relazionale degli oggetti. Le caratteristiche principali includono:
Un linguaggio Python specifico e completo SQL denominato "SQLAlchemy Core" che consente la creazione ed esecuzione di query SQL.
Un potente ORM che consente il mapping delle classi Python nelle tabelle del database.
Supporto per le migrazioni degli schemi del database.
Strumenti per il pooling delle connessioni al database e la gestione delle transazioni.
Storia
Il primo rilascio di SQLAlchemy risale a febbraio 2006. Da allora si è evoluto fino a mettere a disposizione un'ampia gamma di funzionalità per l'interazione con i database guadagnando popolarità tra gli sviluppatori Python. Le principali versioni sono:
Versione 1.0 (2015):[5] Miglioramenti nel linguaggio ORM e nelle espressioni SQL.
Versione 1.4 (2021):[6] Introdotta una revisione completa delle API principali di Core e ORM
Versione 2.0.0 (2023):[7] Questo rilascio ha segnato il passaggio a Python 3, con nuove API finalizzate e miglioramenti nella performance e nella compatibilità.
Versione 2.0.36 (2024):[8] Questo rilascio ha introdotto nuovi parametri per le costruzioni ORM Native Dataclasses, miglioramenti nella gestione delle operazioni bulk di aggiornamento e cancellazione