Remove Poetry files and complete uv migration#4
Conversation
Co-Authored-By: 刘奕聪 <github@m.mrlyc.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
There was a problem hiding this comment.
Pull request overview
This PR finishes the repository’s migration from Poetry to uv by removing remaining Poetry-related files/config and simplifying local/CI workflows to rely on uv.
Changes:
- Deleted Poetry and tox artifacts (
poetry.lock,poetry.toml,tox.ini) plus now-unused CI requirements/action files. - Removed
[tool.poetry*]sections frompyproject.toml, leaving the project on PEP 621 metadata + uv lockfile usage. - Updated
Makefileand GitHub Actions workflow to stop installing/using Poetry and to run tests via uv.
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
tox.ini |
Removed tox configuration tied to Poetry and older Python versions. |
requirements_ci.txt |
Removed legacy CI requirements file (ycyc only). |
pyproject.toml |
Dropped Poetry configuration sections after uv migration. |
poetry.toml |
Removed Poetry virtualenv configuration. |
poetry.lock |
Removed Poetry lockfile (uv lockfile is used instead). |
Makefile |
Replaced integration-style check with pre-commit; switched publish from Poetry to uv publish. |
.github/workflows/main.yml |
Removed Poetry installation and stopped running make check in CI (tests only). |
.github/actions/setup-poetry-env/action.yml |
Deleted unused composite action for Poetry environment setup. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Makefile
Outdated
| @echo "🚀 Running code quality checks" | ||
| @uv run pre-commit run -a |
There was a problem hiding this comment.
make check now runs uv run pre-commit ..., but pre-commit is not listed in pyproject.toml dependency groups and does not appear in uv.lock, so this target will likely fail in a fresh environment. Add pre-commit to the appropriate dependency group (and update uv.lock), or switch the Makefile to use a uv tool/uvx invocation so the tool is always available.
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
There was a problem hiding this comment.
Fixed both issues:
- Added
pre-commit>=3.0.0to[dependency-groups] devinpyproject.tomland updateduv.lock - Updated
CONTRIBUTING.mdto reflect theuv+make install/check/testworkflow (removed Poetry/tox references)
CI passes on all 3 Python versions.
| publish: ## publish a release to pypi. | ||
| @echo "🚀 Publishing: Dry run." | ||
| @poetry config pypi-token.pypi $(PYPI_TOKEN) | ||
| @poetry publish --dry-run | ||
| @echo "🚀 Publishing." | ||
| @poetry publish | ||
| @uv publish |
There was a problem hiding this comment.
The publish target no longer uses PYPI_TOKEN (previously wired into Poetry) and now just runs uv publish, which will break existing workflows that relied on make publish picking up PYPI_TOKEN. Consider either mapping PYPI_TOKEN to whatever authentication mechanism uv publish expects (env var or config file), or adding an explicit check/error message when credentials are missing; also consider restoring an equivalent preflight/dry-run step if your release process depended on it.
Makefile
Outdated
| @echo "🚀 Running code quality checks" | ||
| @uv run pre-commit run -a |
There was a problem hiding this comment.
After removing Poetry/tox support, contributor guidance is now stale: CONTRIBUTING.md still instructs using poetry install/shell/run and running tox. Consider updating the contributing docs to reflect the uv + make install/check/test workflow so new contributors aren’t blocked.
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-Authored-By: 刘奕聪 <github@m.mrlyc.com>
…anager.devin.ai/proxy/github.com/MrLYC/versifier into devin/1770481134-cleanup-poetry-files
Co-authored-by: MrLYC <6391488+MrLYC@users.noreply.github.com>
Co-Authored-By: 刘奕聪 <github@m.mrlyc.com>
Co-authored-by: MrLYC <6391488+MrLYC@users.noreply.github.com>
Use `uv tool run` for pre-commit to avoid dependency declaration
Co-authored-by: MrLYC <6391488+MrLYC@users.noreply.github.com>
Update CONTRIBUTING.md to reflect uv migration from Poetry/tox
Remove Poetry files and complete uv migration
Summary
Cleans up all remaining Poetry-related files and configuration after the uv migration in PR #3. The project now uses uv exclusively as its package manager.
Deleted files:
poetry.lock,poetry.toml— replaced byuv.lock(already committed).github/actions/setup-poetry-env/action.yml— unused composite actionrequirements_ci.txt— only containedycyc, used by oldmake checkintegration teststox.ini— referenced Poetry and outdated Python versions (3.8–3.11)Modified files:
pyproject.toml— removed[tool.poetry],[tool.poetry.dependencies],[tool.poetry.dev-dependencies]sections.github/workflows/main.yml— removed Poetry installation steps, CI now runsmake testonlyMakefile—checktarget now runspre-commit run -ainstead of versifier integration commands;publishtarget usesuv publishinstead ofpoetry publishReview & Testing Checklist for Human
make checkno longer runs versifier integration tests — the oldchecktarget ranversifier requirements-to-poetry,extract-private-packages, andpoetry-to-requirementsas integration tests against this repo. These are now replaced withpre-commit run -a. Verify you're okay losing this integration coverage (unit tests still cover 117 tests at 98% coverage)make test, notmake check— pre-commit hooks are no longer exercised in CI. Consider whethermake test checkshould be restored in CIpublishtarget lost dry-run step — previously didpoetry publish --dry-runbefore actual publish. Now directly runsuv publish. Confirm this is acceptable for your release workflow[tool.poetry]removal —versifier/poetry.pyreadspoetry.lockand calls Poetry CLI internally. Running versifier's own CLI commands (e.g.versifier extract-private-packages) on this repo itself will no longer work sincepoetry.lockand[tool.poetry]are gone. This only affects using versifier on its own repo, not on other target reposNotes
[tool.versifier]config section is preserved (still references private_packages, poetry_extras, etc.)uv.lockwas already committed in the previous PR and is unaffected by this changeLink to Devin run: https://app.devin.ai/sessions/2b89e39464164fe085c3208ff2b164d7
Requested by: @MrLYC