chore: Migrate from Poetry to uv and Hatchling#380
Open
dividedmind wants to merge 1 commit intomasterfrom
Open
chore: Migrate from Poetry to uv and Hatchling#380dividedmind wants to merge 1 commit intomasterfrom
dividedmind wants to merge 1 commit intomasterfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Migrates the project’s Python packaging and dependency workflow from Poetry to uv + Hatchling, updating local tooling and CI/release automation accordingly.
Changes:
- Replaces Poetry configuration with PEP 621
[project]metadata and Hatchling build settings inpyproject.toml. - Updates
toxand GitHub Actions to use uv (includingtox-uv) instead of Poetry. - Removes legacy requirements/tool-version files and refreshes developer docs for uv-based workflows.
Reviewed changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tox.ini | Switches tox to tox>=4 + tox-uv, installs project as editable with extras=test, and removes Poetry commands. |
| tool-versions.example | Removes obsolete Python version pinning example. |
| requirements-test.txt | Removes legacy test requirements file (replaced by pyproject extras/tox). |
| requirements-dev.txt | Removes legacy dev requirements file (replaced by pyproject extras/tox). |
| pyproject.toml | Converts Poetry config to [project] + Hatchling build config; defines test/dev optional dependencies. |
| pylintrc | Removes suggestion-mode setting. |
| ci/scripts/build_with_uv.sh | Replaces Poetry build invocation with uv build. |
| README.md | Updates setup/lint/test instructions to use uv. |
| .releaserc.yml | Updates release build script to use the uv-based build script. |
| .gitignore | Ignores uv.lock and *.sqlite3. |
| .github/workflows/release.yml | Installs uv in release workflow (replacing prior Poetry-based setup step). |
| .github/actions/setup/action.yml | Composite action now installs uv and tox tooling via uv tool install. |
Comments suppressed due to low confidence (2)
ci/scripts/build_with_uv.sh:8
- Using
$*here will perform word-splitting and can corrupt arguments that contain spaces (and it also drops original argument boundaries). Prefer passing through arguments as"$@"so flags/values are forwarded safely.
ci/scripts/build_with_uv.sh:17 - Same argument-forwarding issue here:
$*can break when any argument contains whitespace. Use"$@"to forward the original argument list safely.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This commit migrates the project's dependency management and build system from Poetry to uv and Hatchling. This change significantly speeds up dependency installation and testing, providing a more efficient development workflow. Key changes include: - `pyproject.toml` is now configured for Hatchling and uv. - GitHub Actions workflows have been updated to use `astral-sh/setup-uv`. - `tox.ini` is reconfigured to use `tox-uv` for test environments. - `README.md` has been updated with new setup and usage instructions. - Obsolete Poetry and pyenv files (`tool-versions.example`, etc.) have been removed.
9151013 to
900ab5e
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 12 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (2)
ci/scripts/build_with_uv.sh:8
uv build $*will perform word-splitting and glob expansion, which can corrupt arguments (e.g., paths with spaces) and changes behavior vs. the caller’s intent. Use"$@"when forwarding command arguments (both here and the non-execinvocation below).
ci/scripts/build_with_uv.sh:16- This second
uv build $*has the same argument-forwarding problem as the earlierexecline;$*will split/expand unexpectedly. Use"$@"when passing through arguments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
This commit migrates the project's dependency management and build system from Poetry to uv and Hatchling.
This change significantly speeds up dependency installation and testing, providing a more efficient development workflow.
Key changes include:
pyproject.tomlis now configured for Hatchling and uv.astral-sh/setup-uv.tox.iniis reconfigured to usetox-uvfor test environments.README.mdhas been updated with new setup and usage instructions.tool-versions.example, etc.) have been removed.