Skip to content

chore: migrates dependency management from pdm to uv - #30

Merged
wgordon17 merged 3 commits into
mainfrom
chore/migrate-to-uv
Jul 24, 2026
Merged

chore: migrates dependency management from pdm to uv#30
wgordon17 merged 3 commits into
mainfrom
chore/migrate-to-uv

Conversation

@wgordon17

Copy link
Copy Markdown
Member

Summary

  • Replaces pdm with uv for dependency management: [tool.pdm.dev-dependencies] -> PEP 735 [dependency-groups], pdm.lock -> uv.lock; keeps pdm-backend as the build backend since it's PEP 517 and backend-agnostic to which tool drives it
  • [tool.pdm.scripts] (no uv equivalent) is removed; the composite lint/test commands now live directly in tox, run via tox-uv's uv-venv-lock-runner instead of tox-pdm
  • CI workflows swap pdm-project/setup-pdm for astral-sh/setup-uv and pdm install/run for uv sync/run; build_release.yml uses uv build/uv publish (verified PDM_BUILD_SCM_VERSION override still works)

Verified locally before pushing: uv sync, uv run tox (all of py310/py311/py312/check pass), and uv build all succeed.

@wgordon17
wgordon17 marked this pull request as ready for review July 23, 2026 18:08
Swaps pdm for uv across the project:
- pyproject.toml: [tool.pdm.dev-dependencies] -> PEP 735
  [dependency-groups], removes [tool.pdm.scripts] (no uv equivalent),
  keeps [tool.pdm.version]/pdm-backend since dynamic SCM versioning
  is backend-agnostic to uv
- tox now drives linting/testing via tox-uv's uv-venv-lock-runner
  instead of tox-pdm, with commands inlined from the removed scripts
- pdm.lock replaced with uv.lock
- CI workflows swap pdm-project/setup-pdm for astral-sh/setup-uv and
  pdm install/run for uv sync/run; build_release.yml uses uv build
  and uv publish
- CONTRIBUTING.md and .gitignore updated to match
@wgordon17
wgordon17 force-pushed the chore/migrate-to-uv branch from 154b1b4 to 0f8c2dc Compare July 24, 2026 17:04
Renovate's rangeStrategy: pin (from khepri-deps/renovate's global
config) SHA-pins GitHub Actions rather than using mutable tags, as
seen when it converted actions/checkout@v4 to a SHA-pinned v7. This
action was newly introduced by the uv migration and missed that
convention.
The old pdm script (tox = "tox --parallel auto") ran environments in
parallel by default. Modern tox moved that to a separate run-parallel
(p) subcommand rather than a flag on the default runner.
@wgordon17
wgordon17 merged commit d3909af into main Jul 24, 2026
12 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.

1 participant