Monorepo workspace for the passport processing system.
passport-core: extraction and image-processing enginepassport-platform: shared business logic, persistence, quotas, and orchestrationpassport-api: FastAPI adapterpassport-telegram: agency Telegram adapterpassport-admin-bot: admin Telegram adapterpassport-benchmark: evaluation and scoring toolspassport-masar-extension: browser extension for agency submission workflows (outside the Pythonuvworkspace)
- The maintained workspace is defined by the root
pyproject.toml. - Use
uvfrom the repository root. - Use the root
.envfor local development. - Production secrets are injected outside version control and should follow the root env/settings contract used by the deployed services.
- Shared tooling is configured at the root:
import-linterruffpytestty
# from the repository root
cp .env.example .env
uv sync --all-packagesuv run passport-api uv run passport-telegram uv run passport-admin-bot
Run package tests from the root:
uv run pytest passport-admin-bot/tests passport-core/tests passport-platform/tests passport-api/tests passport-telegram/tests passport-benchmark/tests -q uv run lint-imports uv run ruff check passport-admin-bot/src passport-core/src passport-platform/src passport-api/src passport-telegram/src passport-benchmark/src uv run ty check passport-admin-bot/src passport-core/src passport-platform/src passport-api/src passport-telegram/src passport-benchmark/src
- Production targets MicroK8s.
- Kubernetes manifests live under
k8s/. - The root
Dockerfilebuilds the shared production image. - CI deploys from the root workspace, enables required MicroK8s addons, applies manifests, and waits for rollout.