каркас: домен, генерация типов фронта, стенд и карточки задач
Контракт в коде: КИО по нормативу, 43 события WS по шести союзам направлений, таймеры ГОСТ, таксономия E1–E6, шесть компетенций радара. make types гоняет их через JSON Schema в generated.ts, тест ловит забытую регенерацию. Стенд: docker compose postgres + backend, health отвечает, база досягаема из контейнера бэкенда. Makefile не врёт — нереализованные цели падают и называют карточку, которая их закроет. frontend/.npmrc: под WSL2 npm install зависает на дефолтных 15 сокетах.
This commit is contained in:
parent
4425c7d4ca
commit
7b7dd38e9f
36 changed files with 4997 additions and 0 deletions
40
backend/pyproject.toml
Normal file
40
backend/pyproject.toml
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
[project]
|
||||
name = "lct-backend"
|
||||
version = "0.1.0"
|
||||
description = "Учебный симулятор занятия для системы 112 — бэкенд"
|
||||
requires-python = ">=3.11,<3.12"
|
||||
dependencies = [
|
||||
"fastapi>=0.115",
|
||||
"uvicorn[standard]>=0.30",
|
||||
"pydantic>=2.7",
|
||||
"pydantic-settings>=2.3",
|
||||
"sqlalchemy[asyncio]>=2.0",
|
||||
"alembic>=1.13",
|
||||
"asyncpg>=0.29",
|
||||
"httpx>=0.27",
|
||||
"pyyaml>=6.0",
|
||||
"structlog>=24.1",
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
# Тяжёлый слой моделей — ставится отдельно: uv sync --extra voice
|
||||
voice = [
|
||||
"onnx-asr>=0.6",
|
||||
"onnxruntime>=1.18",
|
||||
"torch>=2.2",
|
||||
"numpy>=1.26",
|
||||
]
|
||||
dev = [
|
||||
"pytest>=8.2",
|
||||
"pytest-asyncio>=0.23",
|
||||
]
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.hatch.build.targets.wheel]
|
||||
packages = ["app"]
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
asyncio_mode = "auto"
|
||||
Loading…
Reference in a new issue