Skip to content

Update uv#557

Open
Sahil590 wants to merge 15 commits into
mainfrom
update-uv
Open

Update uv#557
Sahil590 wants to merge 15 commits into
mainfrom
update-uv

Conversation

@Sahil590
Copy link
Copy Markdown

@Sahil590 Sahil590 commented May 20, 2026

Description

I have removed all the refs to poetry and pip-tools in the template and this repo.

Close #507

Type of change

  • Documentation (non-breaking change that adds or improves the documentation)
  • New feature (non-breaking change which adds functionality)
  • Optimization (non-breaking, back-end change that speeds up the code)
  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (whatever its nature)

Key checklist

  • All tests pass (eg. python -m pytest)
  • Pre-commit hooks run successfully (eg. pre-commit run --all-files)

Further checks

  • Code is commented, particularly in hard-to-understand areas
  • Tests added or an issue has been opened to tackle that in the future.
    (Indicate issue here: # (issue))

Copilot AI review requested due to automatic review settings May 20, 2026 13:30
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread README.md
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread .github/workflows/ci-uv.yml Outdated
Comment thread hooks/post_gen_project.py
Comment on lines +1 to +3
from unittest.mock import patch

from hooks import post_gen_project
Copilot AI review requested due to automatic review settings May 20, 2026 14:11
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 17 out of 18 changed files in this pull request and generated 5 comments.

Comment thread .github/workflows/ci-uv.yml Outdated
- name: Create project from template
# Choose default options
run: cookiecutter . --no-input packaging=uv rse_team_as_coauthor=true use_bsd3_license=true
run: uv cookiecutter . --no-input packaging=uv rse_team_as_coauthor=true use_bsd3_license=true
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread hooks/post_gen_project.py
Comment thread cookiecutter.json
Sahil590 and others added 2 commits May 20, 2026 15:45
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 20, 2026 14:47
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 17 out of 18 changed files in this pull request and generated 3 comments.

Comment thread README.md Outdated
Comment thread cookiecutter.json
Comment on lines 7 to 12
"rse_team_as_coauthor": false,
"use_bsd3_license": false,
"packaging": [
"poetry",
"pip-tools",
"uv"
],
"packaging": "uv",
"mkdocs": true,
"add_precommit_workflows": true,
"automerge_bot_prs": false,
Comment thread hooks/post_gen_project.py
Comment on lines +44 to +48
def add_uv_dependencies():
subprocess.run(["git", "init"], check=True)
subprocess.run(["uv", "add", "--dev", *DEV_DEPS], check=True)
if MKDOCS_ENABLED:
subprocess.run(["uv", "add", "--group", "doc", *DOC_DEPS], check=True)
Copy link
Copy Markdown
Contributor

@dalonsoa dalonsoa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me. I've tested it and it works fine. Just a couple of minor comments.


- name: Run unit tests
run: pytest
run: uv run -m pytest
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you need -m for pytest but not for cookicutter?

Comment thread cookiecutter.json
"pip-tools",
"uv"
],
"packaging": "uv",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As now there's only one option, we do not need to ask about it.

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.

Drop packaging options other than uv

3 participants