MySQL wrapper для Python 3

Библиотека с удобным интерфейсом для MySQL под третий Питон


Как известно, с Python 3 дружат не все коннекторы (см. таблицу совместимости). Настолько не все, что зависимые от них библиотеки вроде Flask-MySQL  в Питон 3 отказываются работать.
Пройдет время, и образуется. К тому же, хорошим тоном считается использование ORM, а не работа  с базой "напрямую".

Тем не менее, иногда "напрямую"  - удобнее. Как правило, это и быстрее чем через ORM (есть спорная статья, тем не менее показывающая "медлительность " ORM в 20-500(!)%).

Одно плохо - "напрямую" приходится повторять в каждом файле многоэтажную конструкцию:

connect
cursor
[три строчки с sql запросом, его выполнением и возвратом результата]
cursor.close()
connection.close()

хорошее решение - обернуть это в какой-то класс. Wrapper,

Один их таких классов - nmi_mysql. Он же для Python 3 64bit  пока и единственный, который находит Гугл.

Другие или опираются не на pymysql, или под второй Питон.

У класса выявлены недостатки:

1) коннект. Как известно, в последней версии pymysql  password заменено на passwd

2) что-то еще, перечисленное тут: https://github.com/pprmint/nmi_mysql/issues

к счастью, класс легко форкнуть и доработать (автор пока не обновил проблемы зарепорченные 25 ноября), думаю, в разумных пределах (исправив passwd) его можно использовать

Комментарии