Skip to content

Migrate from Poetry to uv#384

Merged
BrianPugh merged 1 commit into
mainfrom
migrate-poetry-to-uv
Jun 4, 2026
Merged

Migrate from Poetry to uv#384
BrianPugh merged 1 commit into
mainfrom
migrate-poetry-to-uv

Conversation

@BrianPugh

Copy link
Copy Markdown
Owner

Convert packaging/dependency management from Poetry to uv:

  • pyproject.toml: [tool.poetry] -> PEP 621 [project]; dependency groups ->
    [dependency-groups]; build backend -> hatchling + uv-dynamic-versioning
    (preserves git-tag/semver dynamic versioning). Force-include the firmware
    and gnw_patch .bin artifacts via [tool.hatch.build] artifacts, matching the
    old [tool.poetry] include list.
  • init.py: derive version from importlib.metadata instead of poetry-dynamic-versioning source substitution.
  • CI (test/deploy), readthedocs, pre-commit, and docs: use uv instead of poetry.
  • Replace poetry.lock with uv.lock.
  • Move keystone-engine to an opt-in patch group: it has no macOS arm64 wheel and self-builds with a tag uv rejects, which would break default uv sync on Apple Silicon (incl. CI). It is only lazily imported for regenerating firmware patch binaries and no tests use it.

Convert packaging/dependency management from Poetry to uv:

- pyproject.toml: [tool.poetry] -> PEP 621 [project]; dependency groups ->
  [dependency-groups]; build backend -> hatchling + hatch-vcs (preserves
  git-tag dynamic versioning). Force-include the firmware and gnw_patch .bin
  artifacts via [tool.hatch.build] artifacts, matching the old [tool.poetry]
  include list.
- __init__.py: derive __version__ from importlib.metadata instead of
  poetry-dynamic-versioning source substitution.
- CI (test/deploy), readthedocs, pre-commit, and docs: use uv instead of poetry.
- Replace poetry.lock with uv.lock.
- Move keystone-engine to an opt-in `patch` group: it has no macOS arm64 wheel
  and self-builds with a tag uv rejects, which would break default `uv sync` on
  Apple Silicon (incl. CI). It is only lazily imported for regenerating firmware
  patch binaries and no tests use it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@BrianPugh BrianPugh force-pushed the migrate-poetry-to-uv branch from 4217805 to b23f43a Compare June 4, 2026 00:58
@BrianPugh BrianPugh merged commit 0d3041f into main Jun 4, 2026
7 checks passed
@BrianPugh BrianPugh deleted the migrate-poetry-to-uv branch June 4, 2026 01:06
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