sqlite-utils 4.0a1: Mehrere (kleine) inkompatible Änderungen angekündigt
Letzte Nacht wurde die neue Alpha-Version 4.0a1 von sqlite-utils veröffentlicht – die 128. Ausgabe seit 2018. Das Paket vereint eine Python‑Bibliothek zum einfachen Erstellen und Bearbeiten von SQLite‑Datenbanken mit einem CLI‑Tool für die Arbeit im Terminal. Fast alle Funktionen sind über beide Schnittstellen nutzbar.
Dies dürfte die letzte Alpha‑Version vor der stabilen 4.0‑Release sein. Durch die Verwendung von semantischer Versionierung signalisiert die Zahl 4.0, dass es abwärtskompatible Änderungen gibt, die Code, der auf der 3.x‑Reihe basiert, beeinflussen können. Die meisten Änderungen sind jedoch klein, denn das Ziel ist es, bestehende Anwendungen nicht unnötig zu brechen.
Ein wichtiger Unterschied ist, dass die Methode db.table(table_name) nun ausschließlich Tabellen anspricht. Für SQL‑Views muss db.view(view_name) verwendet werden. Diese Trennung erleichtert saubere Typ‑Hinweise, da Views keine .insert()-Methode besitzen. Vorher konnte man sowohl Tabellen als auch Views über db["name"] ansprechen, was zu Verwirrung führte.
Darüber hinaus können die Methoden table.insert_all() und table.upsert_all() jetzt auch Iteratoren aus Listen oder Tupeln akzeptieren, anstelle von Dictionaries. Das erweitert die Flexibilität beim Einfügen mehrerer Zeilen.
Der Entwickler bedauert, die 3.38‑Version nicht weiter vorantreiben zu können, aber die neuen Features und die klare Trennung zwischen Tabellen und Views machen die 4.0‑Alpha zu einem wichtigen Schritt in Richtung einer stabilen Version.