⚔️ Pyrefly & ty — два новых Rust-анализатора типов для Python
Оба работают инкрементально, используют Ruff для AST и показывают отличную скорость. В бенчмарках на PyTorch и pyrefly и ty оказываются в 10–20 раз быстрее классических анализаторов, причём ty в тестах стабильно обгоняет pyrefly ещё в 2–3 раза.
Pyrefly идёт по пути агрессивного вывода типов — пытается вывести максимум даже из полностью неаннотированного кода и за счёт этого ловит тонкие ошибки, которые mypy и pyright пропускают. Минус такой стратегии — иногда появляются ошибки там, где Python-программа вообще-то работает. Зато дженерики, перегрузки и сложные контейнеры pyrefly уже сейчас обрабатывает весьма уверенно.
ty, наоборот, придерживается принципа gradual guarantee: если код рабочий, анализатор не должен превращать его в «кладбище ошибок». Он реже делает жёсткие выводы, выдаёт значительно более читабельные ошибки и вводит крутые новые возможности вроде intersection types и negation types — единственная реализация таких типов в Python-анализаторах на сегодня.
Пощупать можно уже сейчас: у pyrefly есть sandbox, у ty — playground.
@python_for_devs
Post #89
1.33K
- ❤ 6
- 👍 4
- 🔥 2