Применение linter'ов — один из ключевых способов контроля качества кода. Для Python есть много разных инструментов (pylint, flake8), но в последнее время популярность набирает ruff — (супер) быстрый linter, написанный на Rust.
Одна из ключевых проблем ruff'а — отсутствие системы плагинов (как, к примеру, в pylint), которые бывают очень полезны в ситуациях, когда нужно добавить свою собственную проверку специфических ситуаций (например, чтобы находить использование deprecated кода).
На воркшопе мы:
- напишем плагин для pylint;
- обсудим, как перенести, и перенесём разработанный плагин в ruff (да, будем кодить на Rust'е для Python'а);
- научимся работать с AST в ruff.
После воркшопа вы:
- сможете написать (простой или не очень) плагин на базе AST для pylint'а;
- сможете перенести плагин в ruff;
- не будете бояться использовать Rust для решения специфических задач в проекте на Python.