Merged
Conversation
- Replace Poetry with hatchling build system - Replace [tool.poetry.group.dev.dependencies] with [dependency-groups] - Replace pre-commit with prek (priority-based execution) - Replace mypy with pyrefly for type checking - Add uv run commands for all hooks - Keep mkdocs, pytest-github-actions-annotate-failures, and kacl (optional) - Add Claude Code entries to .gitignore - Update tests for new tooling - Add test verifying dependencies install with uv sync
- Initialize git repo in generated project - Run uv sync to install dependencies - Run prek run --all-files to verify all hooks pass
- Add python-uv-env action for setting up uv environment - Update main workflow to use uv sync + pre-commit - Update generated project workflow to use uv and pre-commit - Keep pre-commit for backward compatibility instead of prek
- Update main workflow to install and run prek - Update generated project workflow to run prek - prek supports builtin hooks which pre-commit doesn't
- Add 3.14+ option to python_version choices - Update _python_version_specs to include 3.14 in all version ranges - Update test to expect 3.14 in GitHub Actions matrix
- Replace custom python-uv-env action with official astral-sh/setup-uv@v7 - Update test.yml, release.yml, draft_release.yml, cookiecutter.yml, dependencies.yml - Use uv for building, publishing, and running commands - Update actionlint version to 1.7.11 - Use prek for pre-commit checks (installed via pip) - Disable uv caching as requested
- Add --system flag for system-wide package installation - Fixes 'No virtual environment found' error in GitHub Actions
- GitHub Actions runners use PEP 668 which blocks system pip installs - Use activate-environment: true to create virtual environment automatically - Remove --system flag from uv pip install commands
- Root project doesn't have pyproject.toml configured for uv sync - Dependencies are already installed via uv pip install
- Replace deprecated set-output with $GITHUB_OUTPUT - Update peter-evans/create-pull-request from v3 to v5 - Add trailing newlines to workflow files
- Convert pyproject.toml from Poetry to PEP 621 format - Use hatchling as build backend - Add dependency-groups for dev dependencies - Fix trailing newlines in workflow templates
- Use {% endraw +%} to preserve trailing newlines in generated files
- Fixes end-of-file-fixer hook failures in CI
- Update peter-evans/create-pull-request from v5 to v6 - Add shellcheck disable=SC2086 comments to suppress info-level warnings - SC2086 warnings about unquoted variables are false positives in CI context
- Quote $GITHUB_OUTPUT variable in all workflow files - Remove unnecessary shellcheck disable comments - Simplest solution that satisfies shellcheck
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.
Summary
Upgrade the cookiecutter Python project template to modern tooling.
Changes
Kept
Added
Tests
All 8 tests pass: