build: migrate from poetry to uv#30
Merged
Merged
Conversation
Convert to PEP 621 pyproject with uv. Library published to PyPI: switch build backend to uv_build (flat layout, module-name = "lantern", module-root = ""). Replace poetry.lock with uv.lock and migrate the test/publish CI workflows to uv. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
GitHub now hard-fails `actions/cache@v2` at the action-download step, which was breaking the pip-based build-docs job (pre-existing on master, not the uv migration). Bump the deprecated pins across both workflows: actions/cache v2 -> v4, actions/checkout v2 -> v4, actions/setup-python v2 -> v5. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Migrates the project from Poetry to uv.
Changes
pytorch-lanternis a published PyPI library, so the build backend is nowuv_build. The import packagelantern/lives at the repo root (flat layout, waspackages=[{include="lantern"}]), so[tool.uv.build-backend]setsmodule-root = ""andmodule-name = "lantern". Removed the leftover[tool.poetry]table.poetry.lock->uv.lock(101 packages,uv lock --checkpasses).test.yml,publish.yml): install uv viaastral-sh/setup-uv(cached),poetry install->uv sync --locked,poetry run->uv run,poetry build->uv build, andpoetry publish->uv publish(PyPI token viaUV_PUBLISH_*). The unrelated pip-basedbuild-docsjob is unchanged.Validation
uv lock --check: passes.uv sync --locked --extra training+pytest-> 33 passed.uv buildproduces a wheel containing thelantern/package.🤖 Generated with Claude Code