Thank you for improving DepthLens Pro. This project includes an Electron desktop shell, a static frontend, and a FastAPI backend for monocular depth-estimation inference.
-
Clone the repository.
-
Create and activate a Python 3.10+ virtual environment.
-
Install backend dependencies:
pip install -r backend/requirements.txt
-
Install desktop dependencies if you are working on Electron:
cd electron-app npm install
From the repository root:
uvicorn backend.app:app --host 127.0.0.1 --port 8765 --reloadExisting packaged Electron flows that run from the backend/ directory can continue to use:
uvicorn app:app --host 127.0.0.1 --port 8765ci-passed is the only required branch-protection check. PR CI is dynamic: docs-only PRs run docs/policy checks only, backend changes run backend-quality, Electron/frontend changes run electron-contract, and workflow/tooling changes run workflow-policy plus the relevant checks. Pushes to main and manual workflow_dispatch runs are conservative/full.
Docker support remains in the repository, but Docker builds are currently optional/manual and not part of required CI because Docker is not an active deployment path right now. Docker CI can be reintroduced later as a separate optional/manual workflow if Docker becomes active again.
Run the same local entry points used by CI:
scripts/ci.sh workflow-policy
scripts/ci.sh docs-contract
scripts/ci.sh backend-quality
scripts/ci.sh electron-contract
scripts/ci.sh all- Preserve API response shapes and frontend compatibility unless an intentional breaking change is discussed first.
- Avoid unrelated UI styling changes when working on backend refactors.
- Keep changes focused and include tests for new or refactored behavior.
- Document any setup or operational changes in the README or related docs.
Runtime backend installs use backend/requirements.txt; local development checks use backend/requirements-dev.txt. Use npm --prefix electron-app ... for Node commands and do not run npm install at the repository root. The expected lockfile is electron-app/package-lock.json; a root package-lock.json is local noise and ignored.