Skip to content

Latest commit

 

History

History
48 lines (35 loc) · 2.93 KB

File metadata and controls

48 lines (35 loc) · 2.93 KB

Шаблон Python проекта

Русский | English

Современный, opiniated шаблон для Python 3.14+ со строгой типизацией и принудительным соблюдением лучших практик. Создан для готового к использованию в продакшене опыта с первого коммита.

Что вы получаете

  • Строгая типизация — basedpyright в строгом режиме, без типов Any
  • Паттерн Result — Безопасная обработка ошибок через rusty-results (ошибки как значения, а не исключения)
  • Современные инструменты — uv (менеджер пакетов), ruff (линтинг/форматирование), pytest (тестирование)
  • Сначала асинхронность — httpx для HTTP, паттерны asyncio, асинхронный I/O
  • Pre-commit хуки — Автоматическая проверка типов, линтинг и форматирование при каждом коммите
  • Ориентированность на VS Code — Конфигурация редактора, рекомендуемые расширения и настройки включены
  • Готовность к AI-разработке — AGENTS.md и всеобъемлющий стиль кода включены

Быстрый старт

# Клонируйте и настройте (одна команда)
python script/bootstrap.py

Разработка

uv run poe lint_full    # Проверка типов + линтинг + формат (должно пройти перед коммитом)
uv run poe test         # Запуск тестов с покрытием
uv run poe app          # Запуск приложения
python -m app           # Альтернатива: запуск напрямую

Структура проекта

  • src/app/ — Ваш код приложения
  • tests/ — тесты pytest (asyncio поддерживается)
  • docs/coding_rules.md — Всеобъемлющие стандарты кодирования (770 строк)
  • AGENTS.md — Руководство по разработке для AI агентов

Философия

Этот шаблон обеспечивает явный, типобезопасный код:

  • Ожидаемые ошибки → возвращаем Result[T, E]
  • Ошибки программирования → только исключения
  • Весь I/O → асинхронные операции
  • Все типы → строгий режим, без Any

Идеально подходит для CLI, бэкендов, UI или любого Python проекта, где важна корректность.