Hacker News Digest

Тег: #mypy

Постов: 2

An Update on Pytype (github.com)

pytype — статический анализатор типов для Python от Google.
Проверяет аннотации и выводит типы без их явного указания.
Устанавливается через pip install pytype; запуск — pytype file.py.
Поддерживает 3.8–3.12, Linux/macOS.
Конфигурируется в setup.cfg или pyproject.toml.

by mxmlnkn • 20 августа 2025 г. в 17:04 • 182 points

ОригиналHN

#pytype#python#static-analysis#google#mypy#pyright#pyrefly#ty#astral#type-inference

Комментарии (60)

  • Google официально прекращает разработку pytype; бывшие разработчики считают это правильным, но грустным концом эпохи.
  • Pytype выделялся межфункциональным анализом потока типов и выводом типов для неаннотированного кода, что критично для больших кодовых баз Google.
  • Причина закрытия — сокращение команды Python в Google в 2024 г.; альтернативы: mypy, Pyright, Pyrefly и новый «ty» от Astral.
  • Сообщество обсуждает, что mypy слишком медленен для монорепозиториев Google, а Rust-решения ограничивают поддержку архитектур.
  • Общий вывод: переходите на Pyright или ждите зрелости ty, но не ждите продолжения pytype.

Vibe coding tips and tricks (github.com)

Основы

  • Определите цель: чётко сформулируйте задачу перед генерацией кода.
  • Начинайте с README: описание проекта помогает ИИ и команде.
  • Используйте шаблоны: готовые структуры (FastAPI, React) экономят время.

Промпты

  • Контекст: указывайте язык, фреймворк, стиль (PEP8, camelCase).
  • Мелкие задачи: дробите фичи на куски по 50–100 строк.
  • Примеры: прикладывайте JSON-ответы или SQL-запросы.
  • Итерации: улучшайте код по одному аспекту за раз.

Рабочий процесс

  • Сессии: 30-минутные циклы «запрос-ревью-запуск».
  • Git-коммиты после каждого шага для отката.
  • Линтеры/тесты сразу: pytest, eslint, mypy.
  • Code Review: проверяйте всё, даже «очевидное».

Инструменты

  • Copilot Chat в IDE для быстрых правок.
  • Cursor / Windsurf для многофайлового рефакторинга.
  • Playwright для e2e-спек, сгенерированных из текста.
  • Docker для воспроизводимого окружения.

Качество

  • Типы: добавляйте аннотации (TypedDict, Pydantic).
  • Док-строки: пишите для всех публичных функций.
  • Тесты: покрывайте критические пути ≥80 %.
  • Логи: структурированные (structlog) для отладки.

Безопасность

  • Секреты: проверяйте .env и git history.
  • OWASP Top 10: сканируйте зависимости (pip-audit, npm audit).
  • RBAC: реализуйте роли и разрешения сразу.

Производительность

  • Профилирование: cProfile, py-spy для горячих точек.
  • Кеш: Redis для частых запросов.
  • CDN для статики фронтенда.

Деплой

  • CI/CD: GitHub Actions → Docker → ECS/Fargate.
  • Feature flags для постепенного релиза.
  • Мониторинг: CloudWatch + Grafana.

Советы

  • Не доверяйте 100 %: всегда читайте сгенерированный код.
  • Учитесь у ИИ: спрашивайте «почему так» для роста навыков.

by mooreds • 18 августа 2025 г. в 12:57 • 154 points

ОригиналHN

#fastapi#reactjs#pytest#eslint#mypy#docker#redis#aws#github

Комментарии (77)

  • Подавляющее большинство участников считает «vibe-coding» либо вредным, либо вообще не тем, что описано в документе.
  • Настоящий vibe-coding — это «не смотреть код, а принимать результат, если визуально работает»; любые советы «тщательно читайте код» противоречат самому термину.
  • Многие предпочитают писать чёткие спецификации и использовать LLM как «парного программиста», но подчёркивают, что это уже не «vibe», а обычная работа с AI.
  • Частый риск — накопление непонятного, неотрефакторенного кода и «отравление» контекста при изменении требований.
  • Итоговый совет большинства: «Don’t go full vibe» — даже при активном использовании LLM нужно понимать и контролировать результат.