SQLAlchemy

SQLAlchemy
software
Logo
Logo
GenereLibreria di Python
SviluppatoreMichael Bayer[1]
Data prima versione14 febbraio 2006
Ultima versione2.0.36 [2] (15 ottobre 2024)
Sistema operativoMultipiattaforma
LinguaggioPython
Licenzalicenza MIT
(licenza libera)
Sito webwww.sqlalchemy.org/
Michael Bayer parla di SQLAlchemy al PyCon 2012

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.

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.
  • Compatibilità con più backend di database.
  • Strumenti per il pooling delle connessioni al database e la gestione delle transazioni.

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 0.1 (2006): [4] Versione iniziale.
  • 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

Voci correlate

[modifica | modifica wikitesto]
  1. ^ Mike Bayer is the creator of SQLAlchemy and Mako Templates for Python.
  2. ^ Download - SQLAlchemy, su sqlalchemy.org, SQLAlchemy. URL consultato il 21 February 2015.
  3. ^ (EN) SQLAlchemy, su pypi.org.
  4. ^ docs.sqlalchemy.org, https://docs.sqlalchemy.org/en/20/changelog/changelog_01.html. URL consultato il 4 luglio 2024.
  5. ^ docs.sqlalchemy.org, https://docs.sqlalchemy.org/en/20/changelog/changelog_10.html#change-1.0.0. URL consultato il 4 luglio 2024.
  6. ^ docs.sqlalchemy.org, https://docs.sqlalchemy.org/en/20/changelog/changelog_14.html#change-1.4.0. URL consultato il 4 luglio 2024.
  7. ^ 2.0.0 Changelog — SQLAlchemy, su sqlalchemy.org.
  8. ^ 2.0.36 Changelog — SQLAlchemy, su docs.sqlalchemy.org.

Collegamenti esterni

[modifica | modifica wikitesto]