Хабр Курсы для бэкендеров
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

Довольно информативно и полезно, хорошая фича питона. Спасибо за статью.
Нужно ли закрывать соединение SQLite?
Там ещё есть нюанс, with cursor автокоммит не делает, только with connection. Пришёл к такому варианту, но не уверен, что он правильный.
def run(self, sql: str, **kwargs) -> Sequence:
"""Mimic pg8000 native API."""
con = sqlite3.connect(self.dbfile, detect_types=sqlite3.PARSE_DECLTYPES)
con.row_factory = sqlite3.Row
try:
# Context manager for autocommit/rollback
with con:
return con.execute(sql, kwargs).fetchall()
except sqlite3.Error as e:
logger.exception(e)
raise
finally:
con.close()
Как with делает ваш Python-код безопаснее и читабельнее