Типизация в Python. Работа с Mypy, PyCharm и SQLAlchemy 2.0
Привет, Хабр! Мы в Selectel много программируем на Python. И на митапе «Типичный Python» поделились своим опытом, послушали коллегу из МТС Digital, а также ответили на вопросы участников. Приводим краткий обзор трех докладов: разбираем работу со средой разработки PyCharm, статическим анализатором Mypy и программной библиотекой SQLAlchemy 2.0. Подробнее — под катом.
Собственный статический анализатор типов для Python
Владимир Туров — наш разработчик из отдела выделенных серверов и постоянный автор блога на Хабре — столкнулся с отключением проверок в Python. Это случилось в системе управления выделенными серверами — проекте, который развивается много лет и набрал тяжелую кодовую базу. В нем нельзя просто взять и переделать все с нуля. Поэтому пришлось искать обходные пути и изобретать велосипеды.
В тексте «Как и зачем у нас появился статический анализатор типов для Python» он описал опыт решения этой нетривиальной задачи и показал примеры с кодом.
А если вы хотите посмотреть и послушать версию, обогащенную персонажами из Mortal Kombat и ответами на вопросы, переходите к записи доклада.
Смотреть доклад «Когда типизация делает тебе больно» →
Зачем нужна типизация, если duck typing это так удобно?
Александр Полищук — ведущий разработчик в МТС Digital — кратко объяснил, как типизация помогает держать код в чистоте, подсвечивать проблемные интеграции и сводить к минимуму количество ошибок runtime error.
Александр рассказал про возникновение Mypy и показал, что вошло в релизы Mypy 1.0 и 1.1.1. А еще разобрал новинки type hints в Python 3.11 и привел примеры их использования. В конце спикер ответил на вопросы зрителей.
Смотреть доклад «Oh My (py)» →
Справка по Mypy
Mypy — статический анализатор типов для Python, который позволяет находить ошибки несоответствия типов в коде. Впервые инструмент Mypy показал Юкка Лехтосало на PyCon в октябре 2012 года. В декабре 2012 года вышел первый релиз. В 2016 году инструмент поддержал создатель Python Гвидо ван Россум. В феврале 2023 года вышла версия 1.0, а в марте 2023 — версия 1.1.1.
Мажорный релиз SQLAlchemy
В начале этого года случился релиз SQLAlchemy 2.0 — программной библиотеки на Python для работы с реляционными СУБД. Наш инженер по разработке в команде дисков и бэкапов Анатолий Матвеев внимательно разобрал новинку.
Посмотрите запись его доклада. Анатолий рассказывает про изменения, связанные с PEP-484. Вы увидите, что хорошего сделали в релизе и как мигрировать на новую версию (спойлер: все хорошо, и выделять полгода на рефакторинг не придется).
Смотреть доклад «Мажорный релиз SQLAlchemy» →
Больше про Python: книги, игры, инструменты
В нашем блоге есть и другие статьи про Python.
→ 7 полезных книг по Python для старта и развития
→ 3 полезных Python-инструмента для упрощения работы с кодом
→ Как создать Minecraft на Python? Обзор библиотеки Ursina Engine
Если вы хотите посмотреть записи других прошедших митапов и вебинаров, заходите в раздел «Мероприятия» Академии Selectel.