ВОРКШОП
Ржавый Python. Как с помощью Rust и Ruff ускорить и кастомизировать проверку кода
Тезисы
Применение linter'ов — один из ключевых способов контроля качества кода. Для Python есть много разных инструментов (pylint, flake8), но в последнее время популярность набирает ruff — (супер) быстрый linter, написанный на Rust.

Одна из ключевых проблем ruff'а — отсутствие системы плагинов (как, к примеру, в pylint), которые бывают очень полезны в ситуациях, когда нужно добавить свою собственную проверку специфических ситуаций (например, чтобы находить использование deprecated кода).

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

Одна из ключевых проблем ruff'а — отсутствие системы плагинов (как, к примеру, в pylint), которые бывают очень полезны в ситуациях, когда нужно добавить свою собственную проверку специфических ситуаций (например, чтобы находить использование deprecated кода).

На воркшопе мы:
  • напишем плагин для pylint;
  • обсудим, как перенести, и перенесём разработанный плагин в ruff (да, будем кодить на Rust'е для Python'а);
  • научимся работать с AST в ruff.
После воркшопа вы:
  • сможете написать (простой или не очень) плагин на базе AST для pylint'а;
  • сможете перенести плагин в ruff;
  • не будете бояться использовать Rust для решения специфических задач в проекте на Python.
Видеозапись доклада
Появится здесь после конференции
Информация о спикере
Максим Акинин
Team Lead разработки, Ирис
Нижний Новгород
  • Максим Акинин
    Team Lead разработки, Ирис
    Нижний Новгород
Все доклады трека