- domain/directory_import.py: read_rows (xlsx первый лист / csv UTF-8 `;`/`,`, заголовки по нормализованному тексту, MISSING_COLUMNS / UNSUPPORTED_FILE), plan_import — чистая функция: операции плана и отчёт с кодами §13.2, ASSUMPTION(OQ-87..91); ИНН — через domain/inn.py. - openpyxl==3.1.5 (+ et_xmlfile==2.0.0) в requirements.txt, types-openpyxl в requirements-dev.txt. - Тесты без БД: нормализация, чтение csv/xlsx (Review Focus 1–3), каждый код §13.2, skip/update, фикстура «Русский Бисквит» (ФЛ в строке 12 → UNSUPPORTED_TYPE). - План фазы 2: Task 9 отмечена; tasks.md 3.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
15 lines
512 B
Plaintext
15 lines
512 B
Plaintext
# Инструменты разработки и проверок. Платформенные зависимости — в requirements.txt (не меняем).
|
||
# Нижние границы мажорных версий: воспроизводимо, но без конфликта с пинами платформы.
|
||
-r requirements.txt
|
||
ruff>=0.8
|
||
mypy>=1.13
|
||
pytest>=8.3
|
||
pytest-asyncio>=0.24
|
||
pytest-env>=1.1
|
||
pytest-cov>=6.0
|
||
PyJWT[crypto]>=2.9
|
||
pydbml>=1.1
|
||
jsonschema>=4.23
|
||
types-PyYAML>=6.0
|
||
types-openpyxl>=3.1
|