Skip to content

Latest commit

 

History

History
51 lines (34 loc) · 1.2 KB

File metadata and controls

51 lines (34 loc) · 1.2 KB

Dependency Management

Goal

DeepEye uses a single Python dependency workspace at repository root to avoid drift between local development, CI, and Docker.

Source Of Truth

  • Root workspace config: pyproject.toml
  • Root lockfile: uv.lock
  • Package manifests:
    • packages/core/pyproject.toml
    • packages/backend/pyproject.toml

packages/backend/uv.lock is intentionally removed. Do not add per-package lockfiles for workspace members.

Common Commands

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

Updating Dependencies

  1. Edit dependency declarations in package pyproject.toml files.
  2. Regenerate lockfile at root:
uv lock
  1. Sync environment:
uv sync --all-packages --group dev

Docker

docker/Dockerfile.backend installs dependencies from the root workspace lock with:

uv sync --frozen --no-dev --package deepeye-backend --project /app

This keeps container dependency resolution aligned with local root uv.lock.