pkg-mirror-pypi: local PyPI mirror (devpi) for project packages only #162

Closed
opened 2026-03-24 03:54:38 +00:00 by kert · 0 comments
Owner

Goal

Deploy a devpi server that mirrors only the PyPI packages listed in data/pkg-manifest.json (both main project and notebook ad-hoc deps).

Scope

  • Add devpi service to compose.yml
  • Seed mirror from manifest: main project deps + notebook deps + CI tool deps
  • Handle extra indexes (pypi.nvidia.com for cudf-polars-cu12)
  • Configure uv in all Dockerfiles and CI to use --index-url http://devpi:3141/root/pypi/+simple/
  • Volume-backed cache
  • Include transitive deps (parse uv.lock for full closure)

Acceptance

  • uv pip install and uv add in Dockerfiles use local devpi
  • All packages resolve locally (no fallback to pypi.org)
  • Mirror size is proportional to project needs, not full PyPI
## Goal Deploy a devpi server that mirrors only the PyPI packages listed in `data/pkg-manifest.json` (both main project and notebook ad-hoc deps). ## Scope - Add `devpi` service to compose.yml - Seed mirror from manifest: main project deps + notebook deps + CI tool deps - Handle extra indexes (pypi.nvidia.com for cudf-polars-cu12) - Configure `uv` in all Dockerfiles and CI to use `--index-url http://devpi:3141/root/pypi/+simple/` - Volume-backed cache - Include transitive deps (parse uv.lock for full closure) ## Acceptance - [ ] `uv pip install` and `uv add` in Dockerfiles use local devpi - [ ] All packages resolve locally (no fallback to pypi.org) - [ ] Mirror size is proportional to project needs, not full PyPI
kert added this to the P21: Package Supply Chain — inventory, mirrors, drift, vuln scanning milestone 2026-03-24 03:54:38 +00:00
kert added the infraci labels 2026-03-24 03:54:38 +00:00
kert closed this issue 2026-03-24 04:34:59 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: homelab/stack#162