DeepEye uses a single Python dependency workspace at repository root to avoid drift between local development, CI, and Docker.
- Root workspace config:
pyproject.toml - Root lockfile:
uv.lock - Package manifests:
packages/core/pyproject.tomlpackages/backend/pyproject.toml
packages/backend/uv.lock is intentionally removed. Do not add per-package lockfiles for workspace members.
Run from repository root:
uv sync --all-packages --group dev
uv run pytest packages/core/tests packages/backend/app/test
uv run --package deepeye-backend uvicorn app.main:app --reload
uv run --package deepeye-backend celery -A app.core.celery_app worker --loglevel=info- Edit dependency declarations in package
pyproject.tomlfiles. - Regenerate lockfile at root:
uv lock- Sync environment:
uv sync --all-packages --group devdocker/Dockerfile.backend installs dependencies from the root workspace lock with:
uv sync --frozen --no-dev --package deepeye-backend --project /appThis keeps container dependency resolution aligned with local root uv.lock.