Шаблон для быстрого старта Python-проектов с настроенной средой разработки и инфраструктурой. В шаблоне уже включены и преднастроены все необходимые инструменты для профессиональной разработки.
- Ruff - быстрый Python линтер и форматтер кода
- BasedPyright - Улучшенный форк статического анализатора типов от Microsoft
- Docker и docker-compose для контейнеризации
- .env файлы для управления переменными окружения
- Склонируйте репозиторий
git clone https://github.com/yourusername/python-project-template.git new-project
cd new-project
- Создайте и активируйте виртуальное окружение
pip3 install uv # Установка сверхбыстрого менеджера пакетов uv
uv init # Иницализация проекта с помощью uv
uv venv && source .venv/bin/activate # Активация виртуального окружения
- Скопируйте .env.dist в .env и настройте переменные окружения
cp .env.dist .env
- Установка:
pip install ruff
- Конфигурация уже включена в
ruff.toml
:
- Автоматическое форматирование кода
- Проверка импортов
- Линтинг кода
- Сортировка импортов
- Использование:
ruff check . # проверка кода
ruff format . # форматирование кода
- Установка:
pip install basedpyright
- Конфигурация включена в
pyrightconfig.json
:
- Строгая проверка типов
- Настроенные пути к исходному коду
- Игнорирование виртуального окружения
- Использование:
basedpyright # проверка типов в проекте
Для автоматической проверки кода перед коммитом:
pip install pre-commit
pre-commit install
Для запуска проекта в контейнере:
docker-compose up --build
.
├── .dockerignore # Исключения для Docker
├── .env.dist # Шаблон переменных окружения
├── .gitignore # Исключения для Git
├── Dockerfile # Сборка Docker образа
├── README.md # Документация проекта
├── docker-compose.yaml # Конфигурация Docker Compose
├── pyrightconfig.json # Настройки Pyright
└── ruff.toml # Настройки Ruff
- Используйте этот шаблон для новых Python проектов
- Следуйте структуре проекта для поддержания единообразия
- Регулярно обновляйте зависимости
- Соблюдайте правила форматирования кода
Мы приветствуем вклад в развитие шаблона! Если у вас есть предложения по улучшению:
- Сделайте форк репозитория
- Создайте ветку для ваших изменений
- Отправьте pull request