¿Cuál es un buen módulo de Python para acceder a datos en una base de datos MySQL/MariaDB?

Necesito procesar un montón de filas de una tabla de base de datos MySQL. Usaré Python como lenguaje de programación.

Requisitos:

  • Módulo Python
    • leyendo las filas de una base de datos/tabla existente
    • los datos son numéricos, fecha y hora, str, etc.
    • leer los datos devuelve objetos/tipos de datos de Python (es decir, int, float, str, etc., etc., no solo una cadena o varias cadenas).
  • admite MySQL
  • Paquete RPM y/o DEB disponible
  • fuente abierta
  • el módulo de Python debe desarrollarse activamente[1]
  • repositorio de código público[2]

Teniendo en cuenta estos requisitos, ¿cuál es un buen módulo de Python para acceder a datos en la base de datos MySQL/MariaDB?

El valor adicional va hacia lo siguiente:

  • un proyecto que tiene un crecimiento positivo[3]
  • buen código de ejemplo, documentación, tutoriales
  • gran base de usuarios
  • también es compatible con MariaDB (el trabajo futuro puede hacer la transición de MySQL a MariaDB)

[1] confirmaciones frecuentes (al menos una confirmación por mes, preferiblemente una o más confirmaciones por semana), al menos 3 desarrolladores activos

[2] para permitirme extraer el código a través de algún control de versión

[3] los usuarios/desarrolladores/unittests/features/etc del módulo Python están creciendo

Encontré dos módulos Python decentes MySQLdb(sourceforge) y sqlalchemy. Sin embargo, no tengo conocimientos sobre bases de datos.
Mientras estoy contigo, prefiero que el código que aún se mantiene y admita es mejor, pero ¿no es eso bastante rápido? ¿O las confirmaciones son diferentes a compilar y publicar?
FYI de mi breve investigación de Google investigando MySQLdb--> MySQLdbparece estar abandonado a partir del 2014-01-02

Respuestas (1)

Pandas proporciona una capa de abstracción de base de anuncios sobre SQLAlchemy con un respaldo a sqlite.

  • Lea las filas de una base de datos existente: definitivamente, pero conceptualmente, cuando usa marcos de datos de pandas, tiende a pensar que los datos de las columnas se pueden leer de tablas o consultas.
  • Los datos no son solo texto - : los marcos de datos de Pandas contienen objetos de datos reales, escritos.
  • Soporte MySQL - a través de SQLAlchemy
  • Desarrollado activamente: , tanto para Pandas como para SQLAlchemy
  • Repositorio de código público: Pandas está en GitHub mientras que SQLAchemy está en BitBucket

Actividad al 27 de mayo de 2017:

Pandas: Del GitHub Pulse : En el último mes, 169 solicitudes de extracción de 54 autores afectaron a 417 archivos. SQLAchemy: BitBucket no parece tener una herramienta de pulso que pueda ver, pero mirar los registros sugiere que está menos activo pero de ninguna manera muerto con actividad significativa en las últimas horas por varios autores.