ty 0.0.101 исправил строгие типы Pydantic и наблюдение за файлами

ty 0.0.101 исправил строгие типы Pydantic и наблюдение за файлами
Содержание статьи

11 ноября опубликован ty 0.0.101, обновление инструмента проверки типов и языкового сервера для Python от Astral. Релиз исправляет несколько ошибок анализа и добавляет резервный режим наблюдения за файлами. На Mentoring.digital выделяем изменения, важные для проектов с Pydantic и интеграцией редактора.

Строгость Pydantic проходит через алиасы

В проверке типов исправлено сохранение строгости Pydantic при использовании алиасов типов из PEP 695. Если проект задаёт тип через такой промежуточный псевдоним, анализатор должен учитывать соответствующее строгое поведение и после прохождения через алиас.

Это исправление статического анализа. Оно не меняет данные вашего приложения и само по себе не переключает режим проверки значений во время выполнения. После обновления стоит повторить проверку типов для участков, где модели Pydantic используют такие алиасы, и сравнить диагностику.

Рекурсивные типы и обратные вызовы

ty больше не должен аварийно завершаться на объединениях рекурсивных именованных кортежей. В выпуске также исправлено сохранение типа элемента, когда tuple передаётся как функция обратного вызова. Для вложенных partial устранена повторная нормализация.

Эти пункты описывают конкретные случаи из примечаний к релизу. Из них нельзя вывести обещание, что анализ любого Python-проекта стал быстрее или что инструмент теперь понимает все варианты рекурсивных типов. Если раньше сбой воспроизводился на небольшом фрагменте, полезно сохранить его как отдельный пример для повторной проверки.

Резервное наблюдение в редакторе

Языковой сервер LSP получил запасной путь: если зарегистрировать наблюдатель файлов не удалось, он переходит к наблюдению за всей рабочей областью. Это относится к связи анализатора с редактором и получению изменений файлов, а не к новой диагностике языка.

После обновления проверьте сценарий редактирования зависимого файла: отражается ли изменение типов в открытом модуле без ручного перезапуска сервера. Командная проверка проекта и диагностика в редакторе дополняют друг друга, поэтому результат стоит посмотреть в обоих сценариях.

Если нужны помощь с аннотациями, моделями и разбором сообщений анализатора, можно обратиться к наставнику по Python. Обновление ty не подменяет тесты поведения приложения, особенно там, где данные приходят извне.

Похожие статьи по данной теме