Files
voidea/template/docs/11-dependencies.md
T

67 lines
1.5 KiB
Markdown

# Управление зависимостями
---
## Формат
**Рекомендуемый:** `requirements.txt`
```
# === Core ===
fastapi==0.115.6
uvicorn[standard]==0.34.0
pydantic==2.10.3
pydantic-settings==2.7.0
# === Database ===
sqlalchemy[asyncio]==2.0.36
aiosqlite==0.20.0 # dev (SQLite)
asyncpg==0.30.0 # prod (PostgreSQL)
alembic==1.14.1
# === Auth ===
python-jose[cryptography]==3.3.0
passlib[bcrypt]==1.7.4
# === AI ===
httpx==0.28.1
pyyaml==6.0.2
# === Tasks (опционально) ===
celery==5.4.0
redis==5.2.1
# === Dev ===
pytest==8.3.4
pytest-asyncio==0.24.0
ruff==0.8.4
```
---
## Правила обновления
| Тип | Когда | Проверка |
|-----|-------|----------|
| **patch** | В любой момент (bugfix, security) | CI passes |
| **minor** | Не чаще 1 раза в спринт | Full regression |
| **major** | Только с полным регрессом | + migration guide |
---
## Аудит зависимостей
Периодически проверять уязвимости:
```bash
pip-audit
safety check
```
---
## [ASK] Вопросы по зависимостям
- `requirements.txt` или `pyproject.toml`? (pyproject.toml — современный стандарт)
- `pip` или `poetry`/`uv`? (uv — быстрее, poetry — управление зависимостями)
- Нужна ли заморозка версий (`pip freeze > requirements-lock.txt`)? (да, для production)