Was ist ein gutes Python-Modul für den Zugriff auf Daten in einer MySQL/MariaDB-Datenbank?

Ich muss eine Reihe von Zeilen aus einer MySQL-Datenbanktabelle verarbeiten. Als Programmiersprache verwende ich Python.

Anforderungen:

  • Python-Modul
    • Lesen der Zeilen einer bestehenden Datenbank/Tabelle
    • data ist numerisch, datetime, str usw
    • Das Lesen der Daten gibt Python-Objekte/Datentypen zurück (dh int,float,str,etc,etc. nicht nur eine Zeichenfolge oder mehrere Zeichenfolgen.)
  • unterstützt MySQL
  • RPM- und/oder DEB-Paket verfügbar
  • Open Source
  • das Python-Modul muss aktiv entwickelt werden[1]
  • öffentliches Code-Repository[2]

Was ist angesichts dieser Anforderungen ein gutes Python-Modul für den Zugriff auf Daten in der MySQL/MariaDB-Datenbank?

Der Mehrwert geht auf Folgendes:

  • ein Projekt mit positivem Wachstum[3]
  • guter Beispielcode, Dokumentation, Tutorials
  • große Benutzerbasis
  • unterstützt auch MariaDB (zukünftige Arbeiten können von MySQL auf MariaDB übergehen)

[1] häufige Commits (mindestens ein Commit pro Monat, vorzugsweise ein oder mehrere Commits pro Woche), mindestens 3 aktive Entwickler

[2], damit ich den Code über eine Versionskontrolle abrufen kann

[3] Benutzer/Entwickler/Unittests/Features/etc des Python-Moduls nehmen zu

Ich habe zwei anständige Python-Module MySQLdb(sourceforge) und sqlalchemy. Allerdings kenne ich mich mit Datenbanken nicht aus.
Während ich mit Ihnen bin, bevorzuge ich Code, der noch gepflegt und unterstützt wird, ist besser, aber ist das nicht ziemlich schnell? Oder sind Commits anders als Kompilieren und Veröffentlichen?
FYI aus meiner kurzen Google-Recherche nach MySQLdb--> MySQLdbscheint ab dem 02.01.2014 aufgegeben zu sein

Antworten (1)

Pandas bietet Ad -Database-Abstraktionsschicht über SQLAlchemy mit einem Fallback auf sqlite.

  • Lesen Sie die Zeilen einer vorhandenen DB - Auf jeden Fall , aber konzeptionell, wenn Sie Pandas-Datenrahmen verwenden, neigen Sie dazu, in Spalten zu denken, dass Daten aus Tabellen oder Abfragen gelesen werden können.
  • Daten sind nicht nur Text - Ja : Pandas-Datenrahmen enthalten echte, typisierte Datenobjekte.
  • Unterstützt MySQL – Ja über SQLAlchemy
  • Aktiv entwickelt – Ja , sowohl für Pandas als auch für SQLAlchemy
  • Öffentliches Code-Repository: Pandas ist auf GitHub , während SQLAchemy auf BitBucket ist

Aktivität per 27. Mai 2017:

Pandas: Aus dem GitHub Pulse : Im letzten Monat 169 Pull-Requests von 54 Autoren, die 417 Dateien betreffen. SQLAchemy: BitBucket scheint kein Puls-Tool zu haben, das ich sehen kann, aber ein Blick auf die Protokolle deutet darauf hin, dass es weniger aktiv, aber keineswegs tot ist, mit erheblicher Aktivität in den letzten Stunden von mehreren Autoren.