Skip to content

Chore/implement uv based - #4

Merged
ais-one merged 2 commits into
mainfrom
chore/implement-uv-based
May 22, 2026
Merged

Chore/implement uv based#4
ais-one merged 2 commits into
mainfrom
chore/implement-uv-based

Conversation

@arifrahman-visiongroup

Copy link
Copy Markdown
Collaborator

Summary

Brings the workspace fully onto uv and removes the last pip/requirements.txt holdouts.

  • Bootstrap & hooks now uv-native. scripts/bootstrap.sh is uv python install + uv sync --all-packages --all-groups (no more
    pyenv/pip path, no more missing requirements-dev.txt). Git hooks (.githooks/pre-commit, .githooks/pre-push) call uv run --all-packages --all-groups <tool> so they self-heal if a narrow uv sync ever prunes the dev group.
  • requirements.txt files deleted. Removed apps/app_sample/requirements.txt, apps/app_admin/requirements.txt,
    apps/app_nippon_rfq_matching/requirements.txt, and apps/app_nippon_rfq_matching/requirements-macos.txt. Each app's
    pyproject.toml is now the single source of truth; macOS-only deps stay gated by sys_platform markers.
  • Nippon Dockerfile migrated to the workspace-sync pattern (the same one apps/app_docling_api/Dockerfile already uses): build
    context is the repo root, uv sync --no-dev --package app-nippon-rfq-matching replaces uv pip install -r requirements.txt, and
    INSTALL_MACOS_REQUIREMENTS is gone. docker-compose.yml updated accordingly (context: ../.., explicit dockerfile: path).

Why now

The repo had been half-migrated: root pyproject.toml + uv.lock + CI workflow already used uv, but bootstrap.sh still
referenced a nonexistent requirements-dev.txt, and several apps carried duplicate requirements.txt files that drifted from their
pyproject.toml. This branch closes that gap.

arifrhm and others added 2 commits May 21, 2026 15:04
- scripts/bootstrap.sh now uses `uv python install` + `uv sync --all-packages --all-groups`; remove pyenv/pip fallback and reference to nonexistent requirements-dev.txt
- Delete per-app requirements*.txt files (app_sample, app_admin, app_nippon_rfq_matching); pyproject.toml is now the single source of truth
- Rewrite apps/app_nippon_rfq_matching/Dockerfile to use the workspace-sync pattern from app_docling_api:
  - build context is the repo root
  - use `uv sync --no-dev --package app-nippon-rfq-matching`
  - replace `uv pip install -r requirements.txt`
  - remove INSTALL_MACOS_REQUIREMENTS arg since macOS deps are gated by sys_platform markers in pyproject.toml
- Update apps/app_nippon_rfq_matching/docker-compose.yml:
  - build context set to `../..`
  - dockerfile set to `apps/app_nippon_rfq_matching/Dockerfile`
- Update apps/app_nippon_rfq_matching/README.md install steps to use scripts/bootstrap.sh
- Drop the `.venv/bin/<tool>` lookup; invoke `uv run --quiet
  --all-packages --all-groups <tool>` instead. uv auto-syncs the
  venv against the lockfile before running, so the hooks no longer
  fail with "command not found" when a narrow `uv sync` has pruned
  the dev group or workspace deps.
- Add an early exit with a clear message if `uv` itself is missing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ais-one
ais-one merged commit 4de6afc into main May 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants