api и worker компилируются Nuitka (--mode=standalone) в builder-стадии; в финальном образе — только скомпилированный бинарник и системные библиотеки, без исходников, pip и build-инструментов. api/runtime — debian:bookworm-slim без Python вообще; worker/runtime — python:3.12-slim-bookworm, но Python там нужен только на шаг установки Chrome. db.cli объединён с сервером в один бинарник (entry_api.bin dbcli ...). Заодно убрано 51 неиспользуемый пакет из requirements.txt (camoufox, PySide6, moz*- стек и др., подтверждено графом зависимостей) — он давал больше веса, чем сама компиляция. make build offline=1 ставит python-зависимости из wheels/ без PyPI. make test-browser адаптирован под новую сборку: pytest не может подключиться к internals скомпилированного бинарника, поэтому гоняется против отдельной стадии test (Chrome из runtime + исходники как обычный интерпретируемый Python). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
16 lines
301 B
Plaintext
16 lines
301 B
Plaintext
.git
|
|
.idea
|
|
.venv
|
|
extra
|
|
docs
|
|
tests
|
|
**/__pycache__
|
|
*.pyc
|
|
.env
|
|
# артефакты Nuitka при локальных прогонах (вне Docker)
|
|
*.build
|
|
*.dist
|
|
*.onefile-build
|
|
.nuitka-cache
|
|
# wheels/ НЕ в игноре: нужен в контексте сборки для OFFLINE=1 (make wheels)
|