Migrate Pelican setup to Python 3.14 + uv#233
Conversation
Replace pip/requirements workflow with uv lock/sync, update GitHub Actions to Python 3.14, and remove requirements.txt as the dependency source. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Document uv installation, uv sync, and uv-run pelican commands across README and contribution guides in supported languages. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Migrates the Pelican site’s Python tooling from requirements.txt/pip to uv, updates CI workflows to use Python 3.14 + uv, and refreshes contributor docs to reflect the new setup.
Changes:
- Introduce
pyproject.toml+uv.lockand removerequirements.txt. - Update GitHub Actions build/publish workflows to use
actions/setup-python@v5, Python 3.14,astral-sh/setup-uv, anduv sync/uv run. - Update README/CONTRIBUTING guides (EN/ES/PT) with
uv-based install and Pelican commands.
Reviewed changes
Copilot reviewed 9 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| uv.lock | Adds uv lockfile pinning transitive dependencies and Python requirement. |
| requirements.txt | Removes legacy pip requirements file. |
| pyproject.toml | Defines project metadata + runtime dependencies and uv configuration. |
| README.md | Documents local development using uv sync --frozen and uv run pelican .... |
| README_es_MX.md | Updates setup instructions to use uv. |
| CONTRIBUTING.md | Updates setup instructions to use uv. |
| CONTRIBUTING_en_US.md | Updates setup instructions to use uv. |
| CONTRIBUTING_es_MX.md | Updates setup instructions to use uv. |
| CONTRIBUTING_pr_BR.md | Updates setup instructions to use uv. |
| .github/workflows/build.yml | CI build updated to Python 3.14 + uv. |
| .github/workflows/publish.yml | Publish workflow updated to Python 3.14 + uv for build/deploy steps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| pelican -l -r | ||
| uv run pelican -l -r | ||
|
|
||
| #press ctrl+c to exit the local server |
There was a problem hiding this comment.
Minor formatting in the shell comment: add a space after # so it renders/readability matches the other comments.
| #press ctrl+c to exit the local server | |
| # press ctrl+c to exit the local server |
| publish: | ||
| runs-on: ubuntu-latest | ||
| steps: |
There was a problem hiding this comment.
This workflow pushes back to the repo (git push -f origin master). To make that reliable across org/repo settings, explicitly set job/workflow permissions: contents: write (otherwise GITHUB_TOKEN is often read-only by default and the push can fail).
|
LGTM |
Summary
pyproject.toml+uv.lock)Validation
uv sync --frozenuv run pelican content -o output -s pelicanconf.pyuv run pelican --help