SQLAlchemy
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 software | |
---|---|
Genere | Libreria di Python |
Sviluppatore | Michael Bayer[1] |
Data prima versione | 14 febbraio 2006 |
Ultima versione | 2.0.36 [2] (15 ottobre 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | Python |
Licenza | licenza MIT (licenza libera) |
Sito web | www.sqlalchemy.org/ |
Descrizione
modificaSQLAlchemy 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.
Storia
modificaIl 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
modificaNote
modifica- ^ Mike Bayer is the creator of SQLAlchemy and Mako Templates for Python.
- ^ Download - SQLAlchemy, su sqlalchemy.org, SQLAlchemy. URL consultato il 21 febbraio 2015.
- ^ (EN) SQLAlchemy, su pypi.org.
- ^ docs.sqlalchemy.org, https://docs.sqlalchemy.org/en/20/changelog/changelog_01.html . URL consultato il 4 luglio 2024.
- ^ docs.sqlalchemy.org, https://docs.sqlalchemy.org/en/20/changelog/changelog_10.html#change-1.0.0 . URL consultato il 4 luglio 2024.
- ^ docs.sqlalchemy.org, https://docs.sqlalchemy.org/en/20/changelog/changelog_14.html#change-1.4.0 . URL consultato il 4 luglio 2024.
- ^ 2.0.0 Changelog — SQLAlchemy, su docs.sqlalchemy.org. URL consultato il 12 novembre 2024.
- ^ 2.0.36 Changelog — SQLAlchemy, su docs.sqlalchemy.org. URL consultato il 12 novembre 2024.