Update uv - #557
Update uv#557
Conversation
…d of getting from the pyproject
There was a problem hiding this comment.
Pull request overview
This pull request migrates the template repository to an uv-only packaging workflow, removing Poetry and pip-tools support and updating the cookiecutter hook + CI to match.
Changes:
- Add uv project metadata and lockfile for the template repository (
pyproject.toml,uv.lock). - Remove Poetry/pip-tools-specific template files, requirements files, and workflows; update documentation to reflect uv-only support.
- Update the cookiecutter post-generation hook to add dependencies via
uv, and replace related unit tests.
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
uv.lock |
Adds an uv lockfile for reproducible dependency resolution in the template repo. |
pyproject.toml |
Defines the template repo as an uv-managed (non-packaged) project with dev dependency groups. |
README.md |
Updates top-level documentation to uv-only and removes Poetry/pip-tools references. |
hooks/post_gen_project.py |
Switches post-generation dependency setup to uv add and simplifies packaging branching. |
tests/test_pyproject_patching.py |
Replaces prior pyproject patching tests with tests for the new uv hook behaviour. |
cookiecutter.json |
Fixes packaging to "uv" (no longer a multi-option choice). |
dev-requirements.txt |
Removes pip-based dev requirements file from the template repo. |
{{ cookiecutter.project_slug }}/pyproject.toml |
Removes multi-packager templating branches, leaving the uv path. |
{{ cookiecutter.project_slug }}/.github/workflows/ci.yml |
Removes Poetry/pip-tools branches and keeps uv-only CI steps. |
{{ cookiecutter.project_slug }}/.github/workflows/docs.yml |
Removes non-uv branches; docs build uses uv-only installation. |
.github/workflows/ci-uv.yml |
Updates template-repo CI to install deps via uv sync instead of pip requirements. |
.github/workflows/ci-poetry.yml |
Removes Poetry CI workflow. |
.github/workflows/ci-pip-tools.yml |
Removes pip-tools CI workflow. |
{{ cookiecutter.project_slug }}/README.poetry.jinja |
Removes Poetry-specific generated project README fragment. |
{{ cookiecutter.project_slug }}/README.pip-tools.jinja |
Removes pip-tools-specific generated project README fragment. |
{{ cookiecutter.project_slug }}/requirements.txt |
Removes pip-tools autogenerated requirements artefact from the template. |
{{ cookiecutter.project_slug }}/dev-requirements.txt |
Removes pip-tools autogenerated dev requirements artefact from the template. |
{{ cookiecutter.project_slug }}/doc-requirements.txt |
Removes pip-tools autogenerated doc requirements artefact from the template. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Diego Alonso Álvarez (dalonsoa)
left a comment
There was a problem hiding this comment.
This looks good to me. I've tested it and it works fine. Just a couple of minor comments.
Alex Dewar (alexdewar)
left a comment
There was a problem hiding this comment.
This is great. Thank you!
There are a few small tweaks needed, but it's mostly there.
Co-authored-by: Alex Dewar <alexdewar@users.noreply.github.com>
| def test_check_uv_installed_success(monkeypatch): | ||
| with patch("hooks.post_gen_project.subprocess.run") as mock_run: | ||
| post_gen_project.check_uv_installed() | ||
| mock_run.assert_called_once_with(["uv", "--version"], check=True, stdout=-3) |
Alex Dewar (alexdewar)
left a comment
There was a problem hiding this comment.
I think this is there except for the failing tests. There are just a few markdownlint issues in the readme file.
|
Copilot resolve the merge conflicts in this pull request |
… tests Co-authored-by: Sahil590 <56438860+Sahil590@users.noreply.github.com>
The merge conflicts have already been resolved (commit
Addressed in commit |
Alex is away on parental leave and we want to merge this. His requested changes have been addressed
Adrian D'Alessandro (AdrianDAlessandro)
left a comment
There was a problem hiding this comment.
Great, let's get this merged so we can move on to improving it! (Maybe using uv init instead of manually doing this?)
Description
I have removed all the refs to poetry and pip-tools in the template and this repo.
Close #507
Type of change
Key checklist
python -m pytest)pre-commit run --all-files)Further checks
(Indicate issue here: # (issue))