{ "name": "@parking/vision", "version": "0.0.0", "private": true, "//": "Thin shim so this Python service is a first-class node in the Turbo task graph (it is NOT a JS package — deps are managed by uv/pyproject.toml). Each script shells to Python tooling. See wiki/decisions/vision-service-packaging.md.", "//alpr": "DEV self-heals real ANPR: `dev`/`start` run `uv sync --extra alpr` FIRST, because a plain `uv run` re-resolves the venv to the lockfile DEFAULTS and STRIPS fast-alpr (the cause of silent 'snapshot but no plate' after a prior pnpm dev). Syncing the extra here guarantees the recognizer survives every run. Use `dev:stub` for a lean, model-free local run. The BOOTH is unaffected — it runs the Docker image, which bakes `--extra alpr` at build (see Dockerfile + docker-compose.prod.yml).", "scripts": { "dev": "uv sync --extra alpr && uv run uvicorn vision_service.app:app --reload --host 0.0.0.0 --port 8089", "dev:stub": "uv run uvicorn vision_service.app:app --reload --host 0.0.0.0 --port 8089", "start": "uv sync --extra alpr && uv run uvicorn vision_service.app:app --host 0.0.0.0 --port 8089", "lint": "uv run ruff check .", "format": "uv run ruff format .", "typecheck": "uv run mypy vision_service", "test": "uv run pytest -q", "recognize": "uv sync --extra alpr && uv run python -m vision_service.cli", "build": "echo 'no build step (Python service; models fetched at deploy)'" } }